들어가기 전에
지난 시간에는 NLP를 관통하는 중요한 개념중 하나인, 어텐션이 동작하는 원리에 대해서 배웠습니다. 이번 시간에는 내적뿐 아니라 다양한 어텐션 메카니즘에 대해 알아보고, 어텐션의 장점을 Seq2Seq와 비교하며 학습합니다.
학습 목표
다양한 어텐션 메카니즘의 수학적 동작원리와 어텐션의 장점에 대해 이해하고 설명할 수 있습니다.
핵심 단어
- Luong - dot, general, concat
- bottleneck problem
- gradient vanishing
강의 듣기
이번 강의에서는 어텐션의 다양한 메카니즘과 장점에 대해서 학습하게 됩니다.
특히, 어텐션의 장점은 기존 RNN기반 Seq2Seq 구조의 단점과 함께 다뤄지기에 꼭 기억해주시길 당부드립니다.
다양한 어텐션 메카니즘

- Luong - dot : 간단한 내적을 통한 유사도(어텐션) 측정하는 기법으로, 학습가능한 파라미터가 존재하지는 않습니다.
- Luong - general : 유사도를 구하고자하는 두 벡터 사이에, 학습가능한 파라미터로 구성된 행렬을 사용합니다.
- Luong - concat : 유사도를 구하고자하는 두 벡터를 concat하여 선형변환(비선형성(선형변환(x)))으로 감싸서 계산을 진행합니다.
** x : 두벡터를 concat한 벡터
어텐션의 장점

- 처음 시도했던 분야인 기계번역(NMT)에서 성능 향상을 이뤘습니다. 성능향상 이유에 대해선, 각 디코더 스텝마다 인코더의 어떤 스텝에 더 집중(어텐션)해야할 지 알려줬기 때문이라고 할 수 있습니다.
- 기존 Seq2Seq구조에서는 인코더에서 디코더로 정보를 넘길 때에는 인코더의 마지막 타임스텝의 hidden state vector를 통해서 넘겼었는데, 여기서 병목현상(bottleneck problem)이 발생합니다. 어텐션은 한번에 정보를 전달하는 것이 아니기 때문에 이 문제를 해결해줍니다.
- RNN의 한계로 지적됐던 오차역전파 과정에서의 그레디언트 베니싱(gradient vanishing)문제를 해결해줍니다. 역전파 과정에서 서로 멀리 있어도 여러 스텝을 거쳐 역전파 되지 않고, 어텐션 구조를 통해 한번에 역전파될 수 있기 때문입니다.
** 여기서 역전파는 가중치를 업데이트하는 것을 말합니다.
생각해보기
1) 어텐션 스코어를 구하는 방식은 어떤 것들이 있나요?
2) 어텐션의 장점은 무엇인가요?
참고자료
comment
와 드디어 Attention을 제대로 이해한 것 같아요 🥹