스케일드 닷-프로덕트 어텐션(Scaled Dot-Product Attention)

작동 원리

  1. 쿼리(Q), 키(K), 값(V) 생성: 입력 데이터로부터 Q, K, V 행렬을 생성합니다.
  2. 어텐션 스코어 계산: Q와 K의 전치행렬을 곱하여 어텐션 스코어를 계산합니다.
  3. 스케일링: 어텐션 스코어를 키 벡터의 차원 수의 제곱근(√dk)으로 나눕니다.
  4. 소프트맥스 적용: 스케일링된 스코어에 소프트맥스 함수를 적용하여 어텐션 가중치를 얻습니다.
  5. 가중합 계산: 어텐션 가중치와 V를 곱하여 최종 출력을 생성합니다.

수식

스케일드 닷-프로덕트 어텐션의 수식은 다음과 같습니다:

$$Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$$

여기서 dk는 키 벡터의 차원 수입니다.

특징

  • 계산 효율성: 내적 연산을 사용하여 빠른 계산이 가능합니다.
  • 병렬 처리: 행렬 연산을 통해 효율적인 병렬 처리가 가능합니다.
  • 스케일링 효과: √dk로 나누는 스케일링 과정은 그래디언트 소실 문제를 완화합니다.

장점

  • 다양한 입력 시퀀스 길이를 처리할 수 있습니다.
  • 학습 안정성을 향상시키고 모델의 성능을 개선합니다.
  • 복잡한 문맥 관계를 효과적으로 포착할 수 있습니다.

스케일드 닷-프로덕트 어텐션은 트랜스포머 모델의 핵심 요소로, 자연어 처리 작업에서 높은 성능을 달성하는 데 중요한 역할을 합니다.

Citations:
[1] https://ko.wikipedia.org/wiki/%EC%8A%A4%EC%B9%BC%EB%9D%BC%EA%B3%B1
[2] https://velog.io/@glad415/Transformer-3.-%EC%8A%A4%EC%BC%80%EC%9D%BC%EB%93%9C-%EB%8B%B7-%ED%94%84%EB%A1%9C%EB%8D%95%ED%8A%B8-%EC%96%B4%ED%85%90%EC%85%98-by-WikiDocs
[3] https://velog.io/@cha-suyeon/%EC%8A%A4%EC%BC%80%EC%9D%BC%EB%93%9C-%EB%8B%B7-%ED%94%84%EB%A1%9C%EB%8D%95%ED%8A%B8-%EC%96%B4%ED%85%90%EC%85%98Scaled-dot-product-Attention
[4] https://shyu0522.tistory.com/26
[5] https://ctkim.tistory.com/entry/Attention-Mechanism
[6] https://wikidocs.net/22893
[7] https://docs.unity3d.com/kr/560/Manual/UnderstandingVectorArithmetic.html
[8] https://welcome-to-dewy-world.tistory.com/108
[9] https://wikidocs.net/219431

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다