새소식

Interview

Attention에 대해 설명해주세요

  • -

Seq2Seq는 인코더가 마지막 timestep에서 나오는 hidden state vector를 Context Vector로 사용하여, 디코더가 이 Context Vector를 통해 출력 시퀀스를 생성합니다. 그러나 이렇게 고정된 크기의 Context Vector에 모든 정보를 압축하므로 정보 손실이 발생할 수 있습니다.

 

따라서 이런 문제점을 위해 제안된 기법이 Attention 입니다.

 

Attention 기법은 Encoder의 마지막 timestep에서 나오는 hidden state vector 하나에만 의존하는 것이 아니라 매 timestep 마다의 hidden state vector들과 Decoder의 hidden state vector들간 내적을 통해 구해진 값에 softmax를 취해 Encoder의 각각의 hidden state vector들의 가중치를 얻고 이를 가중 평균하여 Context Vector를 얻어냅니다.

 

이렇게 만들어진 Context Vector는 Decoder의 hidden state vector와 concat되어 output layer에 입력되게 됩니다.

즉, Decoder에서는 각 timestep에서 단어를 생성할 때 그때그때 필요한 Encoder hidden state vector를 선별적으로 가져가서 예측에 도움을 주는 형태로 활용합니다.

 

 

728x90
Contents