평소에 전공관련 서적이 나오면 도서관에서라도 꼭 찾아보는 편인데,
이번에 내가 관심있게 강의를 찾아 봐오던 강사님이 딥러닝 책을 내셨다!
석사학위논문을 쓸 때 혁펜하임님의 강의 TTT를 들으며 트랜스포머 개념을 다잡았던 기억이 새록새록...
석사 학위를 위해 딥러닝을 공부해 가면서 내가 제일 막막했던 것은
너무 딱딱하게 느껴지던 교과서적인 개념들,
용어도 어렵고 머리 깨지게 몇 번을 읽어도 이해되지 않았던 수식들...
그리고 결국엔 빡빡한 논문을 찾아보고 스스로 정리해야 했던 내용들 ㅠㅠ
졸업과 동시에 급격하게 까먹고 있는 이론들을 제대로 복습할 겸 혁펜하임 강사님의 딥러닝 책을 찾게 되었다.
이 책은 제목에서부터 알 수 있듯이 딥러닝의 구조와 작동방식을 다루고 있다.
이 책에서는 인공신경망의 기본 개념들부터 깊은 인공신경망의 한계점과 그 해결방안, CNN이 이미지를 어떤 메커니즘으로 분류하는지 상세히 설명해준다. 또, "딥러닝"의 전반적인 개념과 흐름을 짚어가면서 기존의 RNN 방식의 구조적한계에 대해 설명한 후 트랜스포머의 셀프어텐션에 대해 개념을 잡아준다. 가독성이 좋아서 읽기 편안했다ㅎㅎ
내가 가장 도움을 받았던 부분은 챕터 8(왜 RNN보다 트랜스포머가 더 좋다는 걸까?)에 있는 RNN의 한계점과 셀프어텐션이 설명된 부분이다.
RNN은 Recurrent Neural Network, 순환신경망이다.
기존의 MLP나 CNN같은 신경망은 입력 데이터가 독립적으로 처리되지만,
RNN은 이전 단계의 정보를 기억하면서 다음 단계로 전달하는 순환 구조를 가지기 때문에 순환신경망이라는 이름이 붙었다.
딥러닝을 조금이라도 공부해 본 사람이라면 RNN이 다음과 같은 장점을 가지고 있다는 것을 알고 있을 것이다.
1. 다양한 길이의 시퀀스를 처리할 수 있다.
- 일반적인 신경망은 고정된 길이의 입력을 필요로 한다.
2. 이전 정보를 기억할 수 있어 문맥을 고려한 예측이 가능하다.
3. 시간의 흐름이 중요한 데이터(시계열 데이터, 자연어 등)를 다룰 수 있다.
내가 예전에 RNN에 대해 공부했을 때에는 아래와 같은 문장으로 이해를 하고 넘어갔었다. 아하 그렇구나~ 하고.
"RNN은 기울기 소실 문제, 병렬 처리 어려움, 장기 의존성 문제 등의 단점 때문에 트랜스포머가 등장하면서 점점 대체되고 있다."
BERT나 GPT같은 트랜스포머 기반 모델들을 사용하는 것에 익숙해지다보니 트랜스포머의 등장배경이나 메커니즘에 대해 깊이 고민할 필요성은 적어지긴 했다. 하지만 그럼에도 불구하고 트랜스포머 모델들이 어떻게 작동하는지에 대한 이해는 매우 중요하다고 생각한다. 트랜스포머 모델이 처음 등장했을 때는 Attention is All You Need라는 논문에서 소개되었다. 이 모델은 그 당시 주로 사용되던 RNN 기반 모델들보다 월등히 성능이 좋았고, 그 이후로 다양한 변형 모델들이 등장하며 NLP에서 큰 혁신을 일으켰다.
이 챕터에서는 RNN의 동작방식과 구조적인 문제점을 설명하고 있다. 간단히 요약하자면
1. 멀수록 잊혀진다.
2. 갈수록 뭉개진다.
이 두가지 한계점이 긴 시퀀스를 다루는 작업에서 방해가 된다. RNN은 이런 문제를 극복하기 위해 다양한 형태로 발전하였다. 하지만 두개의 RNN을 연결한 SeqSeq 구조에서도 여전히 그 한계점이 남아있었다. 이런 한계를 극복하기 위한 새로운 attention 접근방식이 등장하게 되는데 이를 기반으로 한 메커니즘이 바로 트랜스포머이다! 이 흐름이 책에 너무 자연스럽게 서술되어있다.
attention 메커니즘은 시점마다 다른 context vector를 사용한다. 이는 입력 문장의 전체 맥락을 압축한 벡터인데, attention 메커니즘에서는 이 컨텍스트 벡터를 매 시점마다 생성한다는 것이 핵심이다. 이 부분에 대해 깊이있게 설명되어있기 때문에 책을 읽어보면 attention 매커니즘이 각 출력 시점에 입력문장의 어떤 부분에 주목해야 할 지 어떻게 학습하는지 이해할 수 있게 된다.
RNN과 다른 트랜스포머의 장점은 다음과 같다.
1. 갈수록 뭉개지는 현상 완화
2. 멀수록 잊혀지는 현상으로 어려웠던 디코더 파라미터 학습 해결
3. 인코더의 셀프어텐션으로 정말 중요한 의미에 집중
기존에 들었던 TTT 강의에서도 다뤘던 내용이기도 하고, 공부했던 내용들이라 한 번에 정리하기가 너무 수월했다. 그냥 읽어내려가기만 해도 방대한 시간의 강의를 들은 듯한 느낌? 난 강의를 들어도 꼭 내가 정리해서 읽어야 하는데, 이 책은 내용이 잘 정리되어 있어서 훨씬 이해가 쉬웠다.
트랜스포머 모델이 다양한 자연어처리 작업 등에서 기존 RNN 기반 모델보다 훨씬 좋은 성능을 보이고 있는 만큼, 딥러닝을 공부하고자 하는 사람들, 딥러닝을 어렵게 생각하는 사람들에게 추천할 만한 책이다. 나도 최근에 대학원에 입학한 동생에게 한 권 선물해주었다 ㅎㅎ 어려운 메커니즘도 첨부된 도식과 그림들로 이해가 편하니 한번 술술 읽어보시길.
다만 딥러닝을 입문하고자 하는 완전한 입문자에게는 조금 어려울 것 같다. 그래도 딥러닝의 여러 개념들을 포괄하고 있는 만큼, 자신이 부족한 부분은 찾아가면서 읽는 재미가 있을 것이다. 유튜브로 강의영상을 제공하고 있으니 추천!
https://youtube.com/playlist?list=PL_iJu012NOxdw1jc3KEo8Mq5oD5SXKhLu&si=7LBkz8YPlxzwsUc9
LEVEL 1: Easy! 딥러닝
세상에서 가장 이해하기 쉬운 딥러닝 강의
www.youtube.com
+
아 그리고 뒷부분에 딥러닝을 이해하는데 필요한 수학 개념들이 첨부되어있다. 기초적인 내용들이라 책 내용 이해에 더 도움이 될 것 같다.
본 게시글은 혁펜하임의 <Easy! 딥러닝> 책의 리뷰어 활동으로 작성되었습니다.
도서 구매 링크 1 (교보문고): https://product.kyobobook.co.kr/detail/S000214848175
도서 구매 링크 2 (출판사 자사몰): https://shorturl.at/yqZpW
'🤖 Data Study > ML-DL' 카테고리의 다른 글
비전 트랜스포머(Vision Transformer, ViT) (0) | 2024.08.13 |
---|---|
트랜스포머(Transformer) (0) | 2024.08.08 |
어텐션 메커니즘(Attention Mechanism) (0) | 2024.08.06 |
합성곱 신경망 기반 이미지 분류 모델 : ResNet, EfficientNet (0) | 2024.08.03 |
머신러닝과 딥러닝 BASIC(김성훈 교수님) (0) | 2023.01.30 |