Publicidad
Publicidad

Más contenido relacionado

Publicidad

Último(20)

Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Captioning

  1. Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning 참고자료 “Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning”, Jiasen Lu, Caiming Xiong, Devi Parikh, Richard Socher 2017. 1. 김홍배 한국항공우주연구원
  2. Image Captioning  1장의 스틸사진으로 부터 설명문(Caption)을 생성  자동번역등에 사용되는 Recurrent Neural Networks (RNN)에 Deep Convolutional Neural Networks에서 생성한 이미지의 특징벡터를 입력  Neural Image Caption (NIC)
  3. Example : Neural Image Caption (NIC)
  4. 4 기존 기술과의 차이  일반적으로 생성된 각각의 단어와 연결된 이미지 영역의 공간지도를 만드는 Attention Mechanism을 사용  따라서 시각신호의 중요성에 관련없이 Attention model이 매번 각 이미지에 적용됨  이는 자원의 낭비뿐만 아니라 비시각적 단어(a, of, on, and top, etc) 를 사용한 훈련은 설명문 생성에서 성능저하를 유발  본 연구에서는 Hidden layer 위에 추가적인 시각중지 벡터 (visual sentinel vector)를 갖는 LSTM의 확장형을 사용.  시각신호로부터 필요시 언어모델로 전환이 가능한 Adaptive attention encoder-decoder framework  이모델은 “white”, “bird”, “stop,”과 같은 시각적 단어에 대해서는 좀 더 이미지에 집중하고, “top”, “of”, “on.”의 경우에는 시각중지를 사용
  5. 5 기존 기술과의 차이 Atten : 새로 추가된 모듈 vi : spatial image features St : visual sentinel vector
  6. 6 Encoder-Decoder for Image Captioning  사진(I)를 입력으로 주었을 때  정답 “설명문“, y를 만들어 낼 가능성을 최대가 되도록  학습데이터(I, y)를 이용하여  넷의 변수(ϴ)들을 찾아내는 과정 설명문 ϴ∗ = argmin 𝐼,𝑦 log ‫(݌‬y|I;ϴ) ϴ 사진, 변수 확률 손실함수 전체 학습데이터 셋에 대한 손실함수 손실함수를 최소화 시키는 변수, ϴ*를 구하는 작업
  7. 7 log 𝑝 𝑦 𝐼; ϴ = 𝑡=0 𝑁 log 𝑝 𝑦𝑡 𝐼, 𝑦0, 𝑦1,···, 𝑦𝑡−1; ϴ 학습 데이터 셋(I,y)로 부터 훈련을 통해 찾아내는 변수 log likelihood of the joint probability distribution Encoder-Decoder for Image Captioning Recurrent neural network (RNN)을 사용한 encoder-decoder framework에서는 개개 conditional probability는 다음과 같이 정의 log 𝑝 𝑦𝑡 𝐼, 𝑦0, 𝑦1,···, 𝑦𝑡−1 = 𝑓 ℎ 𝑡, 𝑐𝑡
  8. 8 log 𝑝 𝑦𝑡 𝐼, 𝑦0, 𝑦1,···, 𝑦𝑡−1 = 𝑓 ℎ 𝑡, 𝑐𝑡 Encoder-Decoder for Image Captioning Visual context vector @ time tHidden state @ time t 𝑦𝑡의 확률을 출력하는 비선형 함수(eg. Softmax) ℎ 𝑡 : Long-Short Term Memory (LSTM)인 경우 ℎ 𝑡 = LSTM(𝑥 𝑡; ℎ 𝑡−1; 𝑚 𝑡−1) 𝑚 𝑡 ∶ memory cell vector at time t-1
  9. 9 Encoder-Decoder for Image Captioning Spatial Attention Model 최종 목표인 Adaptive Attention Model에 들어가기 전 Spatial Attention Model에 대해 간단하게 알아봅시다. 1. Vanilla encoder-decoder frameworks - 𝑐𝑡 는 encoder인 CNN에만 의존 - 입력 이미지, I가 CNN에 들어가서 마지막 FCL에서 global image feature 를 뽑아냄. - 단어생성과정에서 𝑐𝑡는 decoder의 hidden state에 상관없이 일정함 2. Attention based encoder-decoder frameworks - 𝑐𝑡 는 encoder & decoder모두에 의존 - 시간 t에서 hidden state의 상태에 따라 decoder가 이미지의 특정 영역으로 부터의 spatial image features를 이용하여 𝑐𝑡를 계산 context vector 𝑐𝑡 를 계산할 때, 다음과 같이 두개의 접근방법이 있음.
  10. 10 Encoder-Decoder for Image Captioning 𝑐𝑡 = g(V; ℎ 𝑡) context vector 𝑐𝑡는 𝑒𝑛𝑐𝑜𝑑𝑒𝑟출력 image features 과 𝑑𝑒𝑐𝑜𝑑𝑒𝑟출력 (𝐻𝑖𝑑𝑑𝑒𝑛 𝑠𝑡𝑎𝑡𝑒)의 함수 attention function 𝑉 = 𝑣1 … 𝑣 𝑘 , 𝑣 𝑘 ∈ 𝑅 𝑑 , V ∈ 𝑅 𝑑𝑥𝑘 , ℎ 𝑡∈ 𝑅 𝑑 𝑣 𝑘 는 the spatial image features ℎ 𝑡 는 LSTM의 hidden state @ time t 𝑣 𝑘 구하는 방법은 뒤에 계산방법이 자세히 나옴 Spatial Attention Model
  11. 11 Encoder-Decoder for Image Captioning Spatial Attention Model 우선 이미지상의 k개의 영역에 대한 attention분포, α 𝑡를 계산 𝑧𝑡=𝑤ℎ 𝑇 𝑡𝑎𝑛ℎ 𝑊𝑣 𝑉 + (𝑊𝑔ℎ 𝑡)ℾ 𝑇 α 𝑡=softmax (𝑧𝑡) ℾ ∈ 𝑅 𝑘 is a vector with all elements set to 1 𝑊𝑣, 𝑊𝑔 ∈ 𝑅 𝑘𝑥𝑑 and 𝑊ℎ ∈ 𝑅 𝑘 context vector 𝑐𝑡는 다음과 같이 정의 𝑐𝑡 = 𝑖=1 𝑘 𝛼 𝑡𝑖 𝑣 𝑡𝑖
  12. 12 Adaptive Attention Model  spatial attention 기반의 decoders가 image captioning에 효과적이긴 하나, 시각적 신호와 언어모델 중 어느 쪽을 선택하여야 하는지는 결정 하지 못함.  Visual sentinel gate(시각중지 게이트), β𝑖라는 새로운 게이트를 도입 vi : spatial image features St : visual sentinel vector Encoder-Decoder for Image Captioning
  13. 13 β 𝑡를 이용하여 새로운 Adaptive context vector, 𝑐𝑡를 정의 vi : spatial image features St : visual sentinel vector 𝑐𝑡= β 𝑡 𝑠𝑡+(1-β 𝑡)𝑐𝑡 β 𝑡 는 0 ~ 1 사이의 상수를 생성 β 𝑡≈1 : 시각중지 정보만 사용  언어모델만 사용 β 𝑡≈0 : 공간영상 정보만 사용  시각정보만 사용 Adaptive Attention Model Encoder-Decoder for Image Captioning
  14. 14 앞에서 언급한 이미지 상의 attention 분포, 𝛼 𝑡를 다음과 같이 수정 α 𝑡=softmax ( 𝑧𝑡; 𝑤ℎ 𝑇 𝑡𝑎𝑛ℎ 𝑊𝑠 𝑠𝑡 + 𝑊𝑔ℎ 𝑡 ) α 𝑡 ∈ 𝑅 𝑘+1로 spatial image feature(𝑅 𝑘)와 visual sentinel vector 에 대한 attention 분포를 나타냄. 여기서는 𝜶 𝒕 𝒌 + 𝟏 , 즉 𝜶 𝒕의 마지막 값을 𝜷 𝒕값으로 정의 함. 시간 t에서 가능한 단어들의 어휘에 대한 선택 확률은 다음과 같이 계산 𝑝𝑡=softmax (𝑊𝑝 𝑐𝑡 + ℎ 𝑡 ) Adaptive Attention Model Encoder-Decoder for Image Captioning
  15. 15 Image Encoding CNN출력으로부터 image feature vector 구하기 • 이미지에 대한 Encoding은 ResNet의 마지막 convolutional layer 의 spatial feature 출력(2,048x7x7)을 사용 • 이미지상의 k개 영역의 CNN의 spatial feature와의 관계(?) Encoder-Decoder for Image Captioning 𝐴 = 𝑎1 … 𝑎 𝑘 , 𝑎𝑖 ∈ 𝑅2,048 Global image feature, 𝑎 𝑔는 다음과 같이 평균값으로 정의 𝑎 𝑔 = 1 𝑘 𝑖=1 𝑘 𝑎𝑖
  16. 16 Image Encoding CNN출력으로부터 image feature vector 구하기 Encoder-Decoder for Image Captioning 𝑣𝑖=ReLU (𝑊𝑎 𝑎𝑖) 𝑎𝑖 로 부터 d차원의 𝑣𝑖로 변환하기 𝑣𝑔=ReLU ( 𝑊𝑏 𝑎 𝑔 ) 입력벡터, 𝒙 𝒕 𝑥 𝑡 = 𝑤𝑡;𝑣𝑔 𝑤𝑡는 “word embedding vector”, 𝑣𝑔는 "global image feature vector”
  17. 실험결과
  18. 실험결과
Publicidad