번역할 때 transformer network의 작동
encoder: 문장의 성질 파악
decoder: 번역 결과의 다음 단어가 뭐가 되어야 하는지 알려줌
encoder는 multi head attention이 1개, decoder는 2개가 연결되어 있는데 encoder의 결과 중 v와 k가 decoder의 두 번째 multi head attention에 전달된다. q는 decoder의 첫 번째 multi head attention에서 전달된다.
+positinal vector
이유: 문장에서 단어의 위치는 중요한 정보
방법: sin함수와 cos함수를 이용한다. 이 때 sin kx, cos kx에서 다양한 k 값을 두고 단어의 위치 값 i를 x에 집어넣어 각 사인, 코사인 함수에서 나온 결과를 벡터에 쌓는다. 이 때 sin과 cos 함수는 번갈아 두고, k 값은 1씩 증가시킨다.
+mask
mask의 종류는 두 개로 padding_ask와 look_ahead_mask가 있다.
padding_mask는 문장 길이를 같게 하기 위해 padding된 영역을 처리하지 않게 해주고, look_ahead_mask는 뒤에 나오는 단어 정보를 활용하지 못하게 하기 위함이다.
때문에 decoder와 encoder 모두에서 padding_mask는 사용되지만 look_ahead_mask의 경우 decoder에서만 활용된다. encoder는 문장 전체를 보기 때문에 look_ahead_mask를 적용하면 안 된다.