본문 바로가기

미분류

어텐션 메커니즘 대충

LSTM으로 이루어진 인코더-디코더 네트워크가 있다고 하자.

입력 문장이 4개의 벡터로 토크나이징되었다고 하면, 인코더는.. 아마 4개겠지?

그리고 <sos> 토큰으로 기계번역된 문장이 시작된다.

2번째 벡터까지 잘 예측했다고 가정하고,

3번째 벡터예측을 한다.

 

어텐션 메커니즘의 핵심은 기존 문장을 다시 보는 것이다.

 

인코더에서 사용된 은닉층과 현재 3번째 은닉층의 벡터를 곱하여 어텐션 스코어를 산출하고,

어텐션 스코어에 소프트맥스를 취해 어텐션 분포를 구한다.

이 어텐션 분포는 인코더에 입력된 각 토큰과 디코더에서 예측하고자 하는 토큰의 관계를 확률 분포로 표현한다.

그리고 어텐션 분포와 인코더의 은닉층을 곱하여 더하면 이것이 컨텍스트 벡터가 된다.

 

이 컨텍스트 벡터와 예측하고자 하는 토큰에 해당하는 디코더의 은닉층을 합치고(concatenate) 

이를 활용하여 토큰을 예측하는 것이다.

'미분류' 카테고리의 다른 글