본 스터디 내용은 luong 의 Effective Approaches to Attention-based Neural Machine Translation 논문리뷰 후 스터디 내용을 정리한 글입니다.
local attention에 대하여
단어 대응시킬때, align한 영역만 보면 되는거 아닌가? 에서 시작한 아이디어이다.
사실 local attention 은 이 논문에 대한 다른 논문과의 차별성 요소지 중요한 요소는 아니다.
(논문 저자도 그렇게 유의미한 결과물이 없었는지, 설명을 자세히 하고있지는 않다.)
실제로 논문은 평가 파트에서 전반적으로 global attention이 성능이 압도적으로 높고, 그 계산방법으로 기존의 Bahdanau 가 제시한 score 계산방식인 concatenation 방법보다, 이 논문에서 제시한 새로운 두가지 방식인 dot product, general product 방식이 성능이 좋았다는것을 밝히는것이 실제 의의이다. 여기서 사용된 dot product는 실제로 더 발전된 형태인 transformer에 활용되는 만큼 중요한 방식이다.
그리고 여기서 dot product, general product 방식은 cosine 유사도와 밀접한 관련이 있다.
여기서 코사인 유사도는 내적과 코사인곱 공식에서 유도된다.
아래는 간단한 내적 공식을 나타낸다. 고등학교 과정에서 한번쯤 증명한 경험이 있을 것이다.
이를 코사인을 기준으로 모두 이항시키면, 아래와 같은 식을 유도할 수 있다.
여기서 cosine 은 각도가 0에 가까울수록, 각도가 180도에 가까울수록 절댓값이 1값에 수렴하는데, 이는 두 벡터가 매우 유사하거나(similar with 0), 단어가 반의어 관계일 때(similar with 180) 값이 증가하는 지표라는데 있어 의의가 있다.
local-p 는 어떻게 추정되는 것인가?
=> 다차원 정규분포 계산식.
=> 여기서 standard deviation 인 σ는 경험적으로 (d/2)로 고정적으로 계산.
=> 우리는 결국 학습하고자 하는 local alignment function 의 정답 pt는 주어지지 않지만 ,loss 함수를 줄이는 방향으로 정규분포 평균값이 수렴하길 기대힌다.
=> 그리고 최종적으로 여기서 계산된 값을 바탕으로 확률값이 최대가 되는 pt 즉 소스문장의 alignment position 을 찾아간다고 이해할 수 있다.
여기서 의문이 든다.
그냥 pt 수렴값에 대해서 그대로 들고어면, 짧은 문장에서 사용했던 정규분포 식이 긴 문장에서도 확장이 가능한가?
답은 불가능하다 .
왜냐하면 짧은 길이에서 target 문장의 t 번째 단어가, 짧은 source 문장의 t’ 번째 단어와 대응된다고 해서, 긴 문장에서의 target 문장의 t 번째 단어와, 긴 소스 source 문장의 t’ 번째 단어와 대응된다고 확장하기 힘들것으로 예상되기 때문이다.
short sentence
< s—t’---m—----e->
long sentence
< s—t’-------------m----------------e->
그래서 문장 비율을 기준으로 적용시키는 알고리즘이 적용된다. 이는 짧은 문장의 ‘시작-중심-끝’ 을 기준으로 하여 pt를 계산해내고, 이 비율을 긴문장 기준에서도 적용하여 ‘시작-중심-끝’ 기준으로 그대로 유지되도록 하는 알고리즘이다.
실제로 어텐션 가중치는 어떻게 업데이트 되는 것인가
yt 를 추정해 내기 위해 다음과 같은 프로세스를 거친다
→ ht → at → ct → h˜t → yt
loss 함수 계산시, back propagation 을 통해서 가중치가 업데이트 돼 가는데, 이때 순서를 거꾸로 따라가보면, 소스단어에서의 히든스테이트인
보다, 어텐션 가중치 at의 연산이 훨씬 이전에 이뤄진다.
즉 오차에 대한 가중치 업데이트에서 at가 훨씬 영향을 많이 받는다는걸 알 수 있다. 여기에 대해서는, back propagation이 길어질수록 loss 정보 손실이 커진다는 사실이 동반된다.
<어텐션 가중치의 수렴결과>
서로다른 소스문장과 타겟문장의 word 에 대해서 서로 얼마나 관련있는지, 즉 어텐션 정보 학습한걸 시각화 한 그래프이다. 여기서 흰색값이 뚜렷할수록 alignment function 즉 대응이 정확하게 이루어졌음을 의미한다. 여기서 언급된 gold alignments는 가장 수렴이 잘된 attention으로 오른쪽 아래 그림과 같다.
unknown 토큰의 추정
unk -> 학습에 안된 단어 -> unk 토큰이 나오면 -> 비슷한 단어로 넣는알고리즘 적용
여기에 대해서는 정확하게 밝혀지지 않았지만 아마 임베딩 값을 고려해서, unknown이 아닌 가장 유의마한 단어를 탐색하는게 아닌가 예상된다.
PPL 지표
bleu 스코어와 함께 쓰인 보조 지표로 ppl 지표를 들 수 있다.
ppt 지표 => 혼란도 => 다음 나오는 단어에 대해서 모델이 얼마나 많은 단어군에 대해서 선택에 혼란을 겪고 있는지의 지표. 이는 즉슨 다음 단어 예측에 있어 정답 단어에 대한 구분이 잘 안된다는 것을 의미한다.
정확하게 알고싶다면 이와 관련된 논문을 참고하자.
Attention is all you need 에 대한 시사점
luong 은 직접적으로 언급하고 있지 않지만, 이미 이 논문의 아키텍쳐에서 transformer의 핵심적인 요소인 key, query, value의 개념이 간접적으로 확립되었다. transformer는 키 쿼리 밸류 세가지를 통해 모든 source에 대한 global attention을 고려한다.
참고적으로 rnn의 한계 (여전히 순서대로 input을 받으므로, 문장이 길어질 수록 근본적으로 오래걸림, lstm은 특히), 이를 Attention is all you need 논문에서는 self-attention을 통해 기존의 rnn 연산을 행렬연산으로 대체하여 한방에 원본 문장의 정보들을 key, query, value로 요약해낸다.
'딥러닝 논문 > 논문 읽기 스터디' 카테고리의 다른 글
[논문리뷰] 3.AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE (0) | 2023.09.01 |
---|---|
[논문리뷰] 2. Attention is all you need (0) | 2023.09.01 |
[논문리뷰] 1. Effective Approaches to Attention-based Neural Machine Translation (0) | 2023.09.01 |
[논문 스터디] Seq2Seq 스터디 내용 (활성화 함수를 왜 쓰는가 등) (0) | 2023.09.01 |
[논문리뷰] 0. Sequence To Sequence Learning With Neural Networks (Seq2Seq) (0) | 2023.04.24 |