어텐션(Attention)
어텐션 메커니즘은 신경망이 입력 데이터의 특정 부분에 집중하도록 도와주는 기법이다.
원래는 머신 번역에서 등장했지만, 지금은 자연어 처리(NLP)뿐만 아니라 컴퓨터 비전 등 다양한 분야에서 사용된다.
어텐션의 주요 원리
- 쿼리(Query), 키(Key), 밸류(Value)
- 입력 단어들은 각각 Key(K), Value(V), Query(Q)로 변환
- Query는 현재 출력 단어를 예측할 때 "어떤 입력을 참고해야 할까?"를 결정하는 요소
- Key는 입력 단어들의 특징을 나타내고, Query와 비교해서 연관성을 계산.
- Value는 최종적으로 참고할 입력 데이터
- 어텐션 가중치 계산
- Query와 Key의 유사도를 계산해서 어텐션 가중치를 만든 후, Softmax를 적용해 확률 값으로 변환
- 가중치가 높은 입력 단어일수록 더 많이 참고
- 가중합하여 최종 출력 생성
- 각 Value에 어텐션 가중치를 곱해서 더한 값을 최종 결과로 사용
대표적인 어텐션 종류
- Bahdanau 어텐션 (Additive Attention)
- RNN 기반 번역 모델에서 사용된 초기 어텐션 메커니즘
- Query와 Key를 합친 후, MLP(신경망)를 통과시켜 가중치를 계산
- Luong 어텐션 (Multiplicative Attention)
- Bahdanau 어텐션과 달리 Query와 Key의 내적(Dot Product)으로 유사도를 계산
- 계산이 간단해서 속도가 빠른 장점이 있다
- 스케일드 닷 프로덕트 어텐션 (Scaled Dot-Product Attention)
- Query · Key^T / sqrt(d_k) 형태로 계산해서 더 안정적인 결과를 얻는다
- 이 방법이 현재 Transformer 모델에서 쓰이는 어텐션 방식
Transformer에서의 어텐션
어텐션은 Transformer 모델에서 핵심적인 역할을 한다.
Transformer는 기존의 RNN을 대체하며 BERT, GPT 같은 모델의 기반이 되었다.
- 멀티 헤드 어텐션 (Multi-Head Attention)
- Multi-Head Attention은 여러 개의 Self-Attention을 병렬로 수행하는 메커니즘
- 각 헤드는 서로 다른 부분의 정보를 학습하며, 이를 통해 모델이 다양한 관점에서 데이터를 처리할 수 있습니다.
- 셀프 어텐션 (Self-Attention)
- Self-Attention은 시퀀스 내의 각 요소가 서로를 참조하는 메커니즘. 입력 시퀀스의 모든 요소가 Query, Key, Value로 사용
- 이를 통해 각 요소가 시퀀스 내 다른 요소들과의 관계를 학습할 수 있다.
- 예를 들어, 문장 내에서 단어 간의 관계를 학습하여 번역이나 요약에 활용할 수 있다.
'AI > DL' 카테고리의 다른 글
[DL] 신경망 (ANN, DNN, RNN, CNN) (0) | 2025.02.12 |
---|---|
[DL] 신경망의 동작원리 (0) | 2025.02.06 |
[DL] 신경망의 기본원리 (0) | 2025.01.24 |
[DL] 딥러닝이란? (0) | 2025.01.09 |