Attention Method:
어텐션 메소드는 머신러닝 모델의 한 종류로, 주로 시퀀셜 데이터에 사용된다. 중요한 특징은 방금 예측한 time step의 output을 input으로 사용하는데, 이 input과 전체 context의 연관성을 반영해 next time step의 output을 계산하는 알고리즘이다.
예)
딥러닝: 현재 주어진 input값을 가지고 계산함.
어텐션 메소드: 그간 받아온 모든 input을 참고하여 계산함.
과정:
- 디코더의 hidden state s(t)와 인코더의 hidden state 간의 dot product를 구하여 attention score를 구한다.
- attention score 모두를 soft max함수를 통해 정규화 시킨다.
- 정규화 된 값과 encoder hidden state를 곱해서 모두 더하여 attention value를 구한다.
*attention value는 현재 output hidden state와 input hidden state간의 연관성을 나타내므로 context vector 불림
- 해당 attention value와 기존의 decoder hidden state s를 결합하여 새로운 벡터 v를 만든다.
- 이 값을 매트릭스 W와 연산하여 새로운 decoder의 새로운 input s'를 만든다.
기타:
- attention score를 계산하는 식은 여러개가 존재함.
- 트랜스포머는 어텐션 메소드를 인코더에서 self로, 디코더에서 self, encoder input vectors, decoder input vectors간의 어텐션 메소드 적용하는 알고리즘.