Scaled dot-product Attention


Scaled dot-product Attention

이번 글에서는 내적 기반 어텐션을 수행하는 방법을 계산하는 방법과, 그 값을 보정하는 scaled dot-product 어텐션에 대해 알아보겠습니다. attention key들의 행렬인 K와 value들의 행렬인 V, 해당 스텝에서의 쿼리인 q를 입력으로 받아 어텐션을 계산하는 과정을 수식으로 표현하면 아래와 같습니다. 정리하면 Q와 K의 내적을 소프트맥스한 값과 V를 가중평균하는 것입니다. 이 수식을 단일 쿼리 q가 아닌 다수의 쿼리 V 행렬로 확장하면 다음과 같이 나타낼 수 있습니다. σ는 softmax 함수이고 row-wise 소프트맥스 연산을 수행합니다. 이때 쿼리와 키는 서로 행렬곱을 하기 때문에 임베딩 차원 크기는 d_k로 같아야합니다. 하지만 value의 임베딩 차원 크기는 달라도 됩니다. 왜 그럴까요? 이전 글의 self-attention 모듈을 떠올린다면 쉽게 알 수 있을 것입니다. 결과적으로 value의 임베딩 차원의 크기 d_v를 가지는 인코딩 히든 벡터가 나오게...


#attention #쿼리 #어텐션 #값 #value #scaled #query #NLP #key #dotproduct #키

원문링크 : Scaled dot-product Attention