Calixto, I., Liu, Q., & Campbell, N. (2017). Incorporating global visual features into attention-based neural machine translation. arXiv preprint arXiv:1701.06521.
마지막 annotation vector, forward annotation vector과 backward annotation vector을 통합한 형태 hi=[hi,hi]
→ 결과적으로 각 src sentence, annotation vector의 sequence h=(h1,h2,...,hN)로 encoded
decoder ; 기존에 산출된 target word와 src sentence 기반, attention mechanism으로 계산
각 time step t에 대해 time-dependent context vector ct 계산
: annotation vectors h, decoder의 이전 hidden state st−1, 이전 time step에서 산출된 target word y~t−1 기반으로 계산
alignment model : single-layer feed-forward network으로 decoder의 time t에서의 정보가 encoder time i에서의 정보와 얼마나 연관성이 있는지 score을 계산
encoder time step i에서의 source annotation vector hi과 decoder의 이전 hidden state st−1을 활용, expected alignment et,i 계산
et,i=vaTtanh(Uast−1+Wahi)
아래 수식을 거쳐 alignment score이 정규화되고 확률화 됨
αt,i=∑j=1Nexp(et,j)exp(et,i)
( αt,i = 모델의 attention weights )
time-dependent context vector ct 계산
ct=i=1∑Nαt,ihi
ct 활용, decoder의 hidden state st 계산
st=Φdec(st−1,Wy[y~t−1],ct)
(st−1 = decoder의 이전 hidden state, Wy[y~t−1] = 이전 time step에 산출된 word embedding, ct = updated time-dependent context vector)
single-layer feed-forward network으로 decoder의 hidden state s0 초기화 + encoder의 forward RNN(Φenc)과 backward RNN(Φenc)의 마지막 hidden state를 융합한 값을 feed
s0=tanh(Wdi[h1;hN]+bdi)
(Wdi,bdi 모두 model parameters)
RNN, 고질적인 장기의존성 문제 → decoder hidden state 초기화할 때 첫번째-마지막 토큰 representation을 강하게 강조하는 등의 방법을 쓰려고 한다 ~
Multi-modal NMT (MMT)
attention-based NMT framework의 연장선 + image feature을 통합하기 위해 visual component 추가
incorporating images into the attentive NMT framework ; 3 methods
images as source words : IMGW
: using an image as words in the source sentence
image를 문장의 첫번째 및/혹은 마지막 단어처럼 취급하여 model에 feed하고 attention model로 하여금 언제 image를 참고해야하는지 학습하도록 함
global image feature q∈R4096에 대해,
d=WI2﹒(WI1﹒q+bI1)+bI2
( WI1∈R4096x4096,WI2∈R4096x4096 = image transformation matrices, bI1∈R4096,bI2∈R4096 = bias vectors, dx = source words vector space dimensionality)
그렇게 산출된 d를 src word로 사용
첫번째 단어로만 취급하여 학습시키는 경우 IMG1W
첫번째, 그리고 마지막 단어로 취급하여 학습시키는 경우 IMG2W
intuition
이미지를 첫번째 단어 취급 → forward RNN을 적용시켰을 때 source sentence와 이미지 융합
이미지를 마지막 단어 취급 → backward RNN을 적용시켰을 때 source sentence와 이미지 융합
images for encoder initialization : IMGE
: using an image to initialize the source language encoder
기존의 NMT model, encoder의 hidden state, zero vector로 초기화
→ 이 대신 두개의 새로운 single-layer feed-forward neural network로 forward RNN과 back RNN의 initial hidden state 계산하고자 함
global image feature q∈R4096에 대해,
d=WI2﹒(WI1﹒q+bI1)+bI2
( WI1∈R4096x4096,WI2 = image transformation matrices, bI1∈R4096,bI2 = bias vectors, dx = source words vector space dimensionality)
→ 단, 이 때 WI2,bI2는 d를 encoder의 hidden state 차원과 맞춰줌
그렇게 계산된 d를 기반으로, 두 개의 새로운 single-layer feed-forward neural network로 forward RNN과 back RNN의 initial hidden state 계산
( WI1∈R4096x4096,WI2 = image transformation matrices, bI1∈R4096,bI2 = bias vectors, dx = source words vector space dimensionality)
→ 단, 이 때도 WI2,bI2는 d를 decoder의 hidden state 차원과 맞춰줌
Dataset
Flickr30K dataset → 30K images과 각 이미지 별 5개의 영문 description으로 이루어져 있음
image split
( train : val : test = 29K : 1014 : 1K )
영문 description 변역한 dataset : M30KT,M30KC
M30KT
: 한 개의 영문 description을 전문 번역가가 독일어로 번역. 이미지 당 한 개의 EN:GR pair로 구성
M30KC
: 영문 description과 독립적인 독일어 description 수집. 이미지 당 5개의 EN:GR pair로 구성
Train 시 전체 M30KT training set 사용
+ 여분의 데이터가 모델에게 미치는 영향 연구하기 위해 NMT baseline model에 M30KT text 데이터만 feed해 번역기 학습 → 이를 back-translation에 활용 → M30KC text 데이터를 back-translation하여 데이터 증강 ( en → gr → en )
Experimental Setup
Setup
model architecture
encoder
bidirectional RNN with GRU
( one 1024D single-layer forward RNN + one 1024D single-layer backward RNN )