본문 바로가기
Machine Learning/Statistics

Self-Attention과 Bilinear function

by 187cm 2023. 10. 2.
반응형

우선 Bilinear form의 정의는 다음과 같다. Real-vector공간 V의 bilinear form은 함수 f: V x V → ℝ로 이 함수는 각각 입력 변수에 대해 선형적인 특징을 가진다고 정의한다. 

⇒ 즉, 각 V에 대해 모두 선형적인 f는, 하나의 V가 변하면, f또한 선형적으로 변한다는 뜻이다. 더 나아가 하나의 입력 V가 변할 때 마다 f는 그에 따라 선형적으로 변한다는 것이며, 따라서 한 변수의 변화를 통해 f의 변화량을 알 수 있다.

 

그리고 우리가 조금 더 중점적으로 볼 부분은 아래의 <x,y> = x^t ⋅ A ⋅ y 부분이다. 이 부분이 Self attention의 수식과 유사하다는 것인데, Self-Attention의 수식은 QK^T이다. 

 

이렇게 되면, V와 같이 변수로 취급되는  x^t 는 Q와 같다고 정의할 수 있고, 우리의 A  y부분은, K^T로 생각할 수 있다. 그리고 위에서 설명한 것 처럼, 우리의 Self-Attention을 통해 Q 또는 K의 변화를 통해 우리의 토큰의 변화량을 확인할 수 있다.

 

Self-Attention mechanism은 입력 시퀀스의 각 토큰이 다른 모든 토큰과 얼마나 밀접하게 관련되어 있는지를 측정. 이를 위해 각 토큰에 대해 Query(Q), Key(K), 및 Value(V) 세 가지 벡터를 생성.

1. Attention Score: 각 토큰의 Query(Q)는 다른 모든 토큰의 Key(K)와의 내적(dot product)을 통해 attention score를 계산. 이 score는 특정 토큰이 다른 토큰들과 얼마나 밀접하게 관련되어 있는지에 대한 정보.
2. Attention Score Normalize: 계산된 attention scores는 softmax 함수를 통해 정규화되어, 모든 scores의 합이 1이 되도록 
3. 토큰의 새로운 표현 생성: 마지막으로, 정규화된 attention scores는 각 토큰의 Value(V) 벡터와 곱해져서 가중합(weighted sum)을 형성. 이 결과물은 해당 토큰의 새로운 표현이 된다.

이러한 과정을 통해 Self-Attention mechanism이 동작하며, 입력 시퀀스의 각 토큰은 다른 모든 토큰의 정보를 통합한 새로운 표현을 얻게 된다. 따라서, 특정 토큰의 Query나 Key 값이 변하면, 그 토큰의 새로운 표현도 영향을 받게 된다. 이는 Self-Attention mechanism이 입력 시퀀스의 전체적인 Context 및 내용을 감지하고 반영할 수 있게 한다.

반응형