论文链接:Image Captioning with Semantic Attention
与普通的image Caption框架相比,论文从图片中提取了visual attribute(实际上就是一些单词),并把这些attribute结合进了input跟output attention model里面。
整个框架的公式如下:
x0=ϕ0(v)=Wx,vv x 0 = ϕ 0 ( v ) = W x , v v
ht=RNN(ht−1,xt) h t = R N N ( h t − 1 , x t )
Yt∼pt=φ(ht,{Ai}) Y t ∼ p t = φ ( h t , { A i } )
xt=ϕ(Yt−1,{Ai}), t>0 x t = ϕ ( Y t − 1 , { A i } ) , t > 0
v v : CNN中间层的响应 (global visual description), 只在initial input x0 x 0 中被使用。
{Ai} { A i } : a set of visual attributes or concepts
对于这个attributes, 文章提出了三种方法来提取,分别是:
1. 用图像的caption在数据库以最近邻方法查找相近的图片,并选择其标签
2. 使用多标签的分类器
3. 使用全卷积网络(FCN)
而文章重点并不在这里,就不详细介绍了
ϕ,φ ϕ , φ : input and output models
文章把自己的做法和Show Attend and Tell的做法进行了对比,得出了几点主要的区别:
input attention model主要就是计算权重 αit α t i :
αit∝exp(yTt−1U~yi) α t i ∝ e x p ( y t − 1 T U ~ y i )
αit∝exp(yTt−1ETUEyi) α t i ∝ e x p ( y t − 1 T E T U E y i )
xt=Wx,Y(Eyt−1+diag(wx,A)∑iαitEyi) x t = W x , Y ( E y t − 1 + d i a g ( w x , A ) ∑ i α t i E y i )
output attention model基本跟前面input attention model类似。
原文对 βit β t i 的解释:
a different set of attention scores are calculated since visual concepts may be attended in different orders during the analysis and synthesis processes of a single sentence.
βit∝exp(hTtVσ(Eyi)) β t i ∝ e x p ( h t T V σ ( E y i ) )
pt∝exp(ETWY,h(ht+diag(wY,A)∑iβitσ(Eyi))) p t ∝ e x p ( E T W Y , h ( h t + d i a g ( w Y , A ) ∑ i β t i σ ( E y i ) ) )
minΘA,ΘR−∑tlog p(Yt)+g(α)+g(β) m i n Θ A , Θ R − ∑ t l o g p ( Y t ) + g ( α ) + g ( β )
g(α)=∥α∥1,p+∥αT∥q,1=[∑i[∑tαit]p]1/p+∑i[∑t(αit)q]1/q g ( α ) = ‖ α ‖ 1 , p + ‖ α T ‖ q , 1 = [ ∑ i [ ∑ t α t i ] p ] 1 / p + ∑ i [ ∑ t ( α t i ) q ] 1 / q
文章是当时state-of-the-art的结果。
作者测试了单独使用input或者output attention的效果,发现只使用一个的话只对模型只有少量的提升,但同时使用则有较大提升,说明两个具有比较强的协同作用。
而对于attributes的提取,作者发现使用FCN的效果是最好的。
对于attributes的使用,除了前面介绍的attention方法ATT,作者还测试了MAX和CON(concatenate),效果都没有ATT好。
文章提出了新的attention模型,结合了top-down和bottom-up的机制,在利用image的overview的同时也利用了丰富的visual semantic aspects。模型的真正威力在于对这些aspects的关注,以及把全局和局部信息利用起来生成更好的captioin。
参考:
https://lisabug.github.io/2016/03/17/image-captioning-with-semantic-attention/