Self Attention
- Self Attention Mechanism은 Input Embedding에 대해 Linear 연산을 수행해 Q(Query), K(Key), V(Value)를 생성 합니다.
- Q와 K의 행렬 곱으로 각 Token 마다 어떤 연관성이 있는지에 대한 Score를 담은 Matrix를 얻습니다.
- Score Matrix와 V를 행렬 곱으로 해서 결과적으로 각 Token들과의 연관성 정도의 정보가 추가되어 새로운 Embedding을 만들어냅니다. 이를 Attention Feature Matrix라고 하겠습니다.
Multi-head Attention
- Multi-head Attention은 위의 Self-Attention을 여러번, 임의의 h 번을 수행한 것들에 대한 결과를 취합한 것입니다.
- Self Attention 을 통해 h 개의 서로 다른 Attention feature matrix를 얻어낸 후 concat 합니다.
- concat을 했을 경우 Input embedding과 같은 차원이 되도록 합니다.
- 따라서, Self Attention 시 정해져야하는 차원을 Attention dimension라 하는데, 이는 Input embedding dimension // num of heads 로 정해집니다. 몇 개의 Self Attention을 수행할지만 정해지면, Attention dimension 도 정해지는 것입니다.
- 여러 Feature를 취합하는 것은 CNN 처럼 Transformer 에서도 마찬가지인 것 같습니다.
'Transformer' 카테고리의 다른 글
Transformer (2) - Self Attention (0) | 2024.02.19 |
---|---|
Transformer (1) - Word Embedding (2) | 2024.02.15 |