Search
Duplicate
🌍

a9_2. [info] title: 비전 Transformer 의 K, Q, V 가 가지는 의미

생성
🚀 prev note
🚀 next note
♻️ next note
14 more properties
테슬라의 비전팀 리드 안드레 (Andrej) 은 V (Value) 은 K (Key) 와 Q (Query) 의 상호작용 결과물이라고 하며, 이미지의 특정 패치의 정보를 K 가 담고 있고, 패치의 픽셀들과 다른 패치의 픽셀들 사이의 관계에 반응하는 것이 Q 라고 보았다 (참고2, 9). 반면 조금 다른 표현을 빌리면 V 는 이미지가 보존하고 있는 특징이며, K 가 픽셀들과 다른 픽셀들 사이의 관계를 정의하며, Q 가 해당 패치의 정보를 담고 있다고 보기도 한다 (참고1).
이 둘은 서로 모순된 것처럼 보인다. 이러한 두 입장이 담고 있는 표현에 담긴 뜻을 정확히 이해하기 위해서는 Attention mechanism 을 처음으로 제안했던 Seq2Seq 에서 어떻게 K, Q 를 정의했는지 들여다보면 된다 (참고7:Seq2Seq 모델의 Attention 이해). 이를 이해하면 K, Q 는 물론이고 왜 안드레가 output 2D raster 을 언급 (참고8) 했는지 이해할 수 있게 된다 (참고9). 그런데 디코더에서 나오는 정보를 쿼리라고 정의했던 바닐라 어텐션과 다르게, Transformer 의 Self Attention 에서는 키도 쿼리도 입력 데이터로부터 나온다 (참고10).
이렇듯 잘 생각해 보면, 둘은 같은 말이다. 그런데 이런 표현의 차이가 생기는 이유를 고민해 보게 되었다. 내가 추측하건데 이를 설명하기 위해서는 MSA 의 한 단계 더 저수준의 building block 인 SA (self-attention) 만 이해하면 된다 (참고3:이해).
SA 내부에는 attention weights matrix AA 가 등장하는데, 이것은 단지 키 벡터와 쿼리 벡터의 내적값의 일종이다 (참고5). 그런데 여기서 키가 어떤 역할을 할 것인지, 쿼리가 어떤 역할을 할 것인지는 정해져 있지 않다. 당연히 뉴럴 네트워크의 관점에서도 그냥 dot product 피연산자가 각각 어떤 역할을 하는지 알 리가 없다.
만약 사람이 키에 특정한 의미를 부여한다면, 쿼리는 키의 반대 의미로 자동으로 정해진다. 따라서 사람이 특정한 연결에 기능을 추가하지 않는 한 두 관점 모두가 훌륭한 정답이 될 수 있다 (참고6).
수정이력
@11/7/2021, 4:55:00 PM 처음에는 둘이 다른 말인 줄 알았다. 하지만 알고보니 같은 말이었다.
참고
3.
5.