티스토리 뷰
본 포스팅은 "Attention is all you need" 논문의 주요 내용을 정리하였습니다.
[논문 링크] https://arxiv.org/abs/1706.03762
1. 트랜스 포머 모델이란?
- 문장 속 단어와 같은 순차 데이터 내의 관계를 추적해 맥락과 의미를 학습하는 신경망
- 어텐션(attention) 또는 셀프 어텐션(self-attention)이라 말함
- 주요 논문 키워드 : 인코더/디코더, 어텐션, Multi-head 어텐션
2. 무엇을 해결하려고 하는가 ?
- 병럴 처리
- 계산복잡도
- seq2seq 모델의 한계점
- 계산 복잡도
- RNN 모델에서 병렬 처리가 불가능
- 장기의존성 문제 : 압력과 출력 사이의 거리가 멀어질 수록, 연관관계가 적어지는 문제
- Context 벡터(고정 크기의 벡터)에 모든 문장 정보를 압축해서 표현하다보니, 정보 손실로 인한 성능 저하 발생'
- RNN 또는 CNN 알고리즘 사용
- RNN with attention Model
- 입력 단어와 연관성이 있는 단어에 가중치를 주어 output word를 출력하는 것
- 병렬 처리가 불가능하며, attention 계산까지 더해져 계산 복잡도가 높아진다는 단점
- attention을 통해 참조해야할 word의 위치 정보를 얻음으로써, RNN with attention 모델의 단점을 극복하고자 함
- RNN 또는 CNN 아키텍쳐 없이 오직 Attention에 전적으로 의존한 첫번재 변환 모델
3. 모델 구성 (Model Architecture)
트랜스 포머- 모델 아키텍쳐
- 크게 인코더와 디코더로 구성
- 인코더
- 6개의 동일한 레이어로 구성, 각 레잉어는 아래 두개의 sub-layer로 구성
- 2개의 Sub-layer는 Self-Attention Layer와 Feed Forward network로 구성
- Self-attention layer
- Query, Key, Value의 3개의 벡터로 구성되며, 출력값은 Value들의 가중합으로 계산
- Query : 영향을 받는 단어
- Key : 영향을 주는 단어
- Value : 영향에 대한 가중치
[예시] "Anthony Hopkins admired Michael Bay as a great director."
Q : Michael
K : "Anthony", "Hopkins", "admired", "Michael", "Bay", "as", "a", " great', 'director'
V : 0.06, 0.09, 0.05, 0.25, 0.18, 0.06, 0.09, 0.06, 0.1
Values (가중합) → (0.06 * "Anthony") + (0.09*"Hopkins") + (0.05*"admired")+(0.25*"Michael")
+ (0.18* "Bay") + (0.06*"as")+(0.09*"a")+(0.06*"great")+(0.1*"director")
- Scaled Dot-Product Attention
- Multi-head attention
- Self-attention layer를 다중 구현한 것을 의미
- Self-attention의 경우,자기 자신의 단어에 더 많은 영향을 받음
- 여러개의 attention을 가진 Head는 각각 무작위로 Query, Key, vlaue가 초기화되므로 각기 다른 표현 가능
- Positional Encoding
- positional encoding 기법으로 각 단어의 상대적인 위치 정보 포함
- time signal을 가진 embedding을 인풋으로 받음
- [0,1] 사이로 각 time-step을 할당
- 디코더
- 인코더의 key, value 벡터가 decoder의 encoder-decoder attention layer에 사용
4. 왜 Self-attention이 좋은가?
- layer당 전체 계산량이 적음 (복잡도 해결)
- 병렬 계산이 가능, 순차적으로 계산이 필요한 RNN과 비교하여 병렬적으로 한번에 많은 계산을 할 수 있음
- 장기의존성 문제 해결
- 장거리 의존성, 학습 속도 면에서 self-attention이 가장 좋음
5. 모델 학습
6. 결과
- Machine Translation, Model Variations, English Constituency Parsing에 대한 실험 결과
- Base 모델만 해도, 최고의 성능을 보이며, big-model의 경우 SOTA를 상당 수준 경신함
7. attention 시각화
- Making이라는 단어가 making..more difficult라는 구를 만드는데 중요한 역할을 하는 것을 보여줌
8. 결론
- RNN과 CNN 없이 오직 Attention에만 의존한 새로운 종류의 모델
- 계산량을 줄이고, 병렬화를 적용해 학습 속도가 빠르고, 성능도 SOTA 수준
- attention 모델은 자연어 뿐만 아니라 이미지, 오디오, 비디오 등 상대적으로 큰 입력-출력을 요구하는 태스크들에 효과적으로 사용
- 이후 BERT 모델 개발
'TIL' 카테고리의 다른 글
Airflow개념 및 DAG 코드 구현 (0) | 2022.05.29 |
---|---|
# [다짐] 글또 7기를 시작하며. (0) | 2022.05.15 |
댓글