AI/DL

[DL] 어텐션 (Attention)

죵욜이 2025. 2. 16. 16:21

어텐션(Attention)

어텐션 메커니즘은 신경망이 입력 데이터의 특정 부분에 집중하도록 도와주는 기법이다.

원래는 머신 번역에서 등장했지만, 지금은 자연어 처리(NLP)뿐만 아니라 컴퓨터 비전 등 다양한 분야에서 사용된다.


어텐션의 주요 원리

 

  • 쿼리(Query), 키(Key), 밸류(Value)
    • 입력 단어들은 각각 Key(K), Value(V), Query(Q)로 변환
    • Query는 현재 출력 단어를 예측할 때 "어떤 입력을 참고해야 할까?"를 결정하는 요소
    • Key는 입력 단어들의 특징을 나타내고, Query와 비교해서 연관성을 계산.
    • Value는 최종적으로 참고할 입력 데이터
  • 어텐션 가중치 계산
    • Query와 Key의 유사도를 계산해서 어텐션 가중치를 만든 후, Softmax를 적용해 확률 값으로 변환
    • 가중치가 높은 입력 단어일수록 더 많이 참고
  • 가중합하여 최종 출력 생성
    • 각 Value에 어텐션 가중치를 곱해서 더한 값을 최종 결과로 사용

 

 

대표적인 어텐션 종류

  1. Bahdanau 어텐션 (Additive Attention)
    • RNN 기반 번역 모델에서 사용된 초기 어텐션 메커니즘
    • Query와 Key를 합친 후, MLP(신경망)를 통과시켜 가중치를 계산
  2. Luong 어텐션 (Multiplicative Attention)
    • Bahdanau 어텐션과 달리 Query와 Key의 내적(Dot Product)으로 유사도를 계산
    • 계산이 간단해서 속도가 빠른 장점이 있다
  3. 스케일드 닷 프로덕트 어텐션 (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