這篇文章是2015年ICML上的一篇文章京景,把a(bǔ)ttention機(jī)制引入到圖像領(lǐng)域的文章怎诫,作者Kelvin Xu 虐唠、Yoshua Bengio等人善延,來自多倫多大學(xué)和蒙特利爾大學(xué)少态。
Image caption是計算機(jī)視覺的最初始任務(wù),不僅要獲得圖片里的物體易遣,還要表達(dá)他們之間的關(guān)系彼妻。目前現(xiàn)存的方法大都是encoder?— decoder架構(gòu),利用CNN豆茫、RNN侨歉、LSTM等神經(jīng)網(wǎng)絡(luò)完成caption工作,比如說只使用CNN對圖像進(jìn)行特征提取揩魂,然后利用提取的特征生成caption幽邓,還有結(jié)合CNN和RNN的,使用CNN提取圖像特征火脉,將Softmax層之前的那一層vector作為encoder端的輸出并送入decoder中牵舵,使用LSTM對其解碼并生成句子柒啤,這種方法也是本文所采取的方法,只是在此基礎(chǔ)上嵌入了soft和hard attention機(jī)制畸颅。
除了神經(jīng)網(wǎng)絡(luò)之外担巩,caption還有兩種典型的方法:
1、使用模板的方法没炒,填入一些圖像中的物體涛癌;
2、使用檢索的方法送火,尋找相似描述拳话。
這兩種方法都使用了一種泛化的手段,使得描述跟圖片很接近漾脂,但又不是很準(zhǔn)確假颇。所以作者在此基礎(chǔ)上提出了自己的模型架構(gòu),將soft 和hard attention引入到caption骨稿,并利用可視化手段理解attention機(jī)制的效果笨鸡。
模型:
模型的總體架構(gòu)如上圖所示,也是由encoder和decoder組成坦冠。
Encoder形耗,模型使用CNN來提取 L 個 D 維的特征vector作為注釋向量,每一個都對應(yīng)圖像的一個區(qū)域辙浑,如下式激涤。
?? 與此前的工作使用Softmax層之前的全連接層提取圖像特征不同,本文所提取的這些vector來自于?low-level 的卷積層判呕,這使得decoder可以通過選擇所有特征向量的子集來選擇性地聚焦于圖像的某些部分倦踢,也就是將attention機(jī)制嵌入。
Decoder侠草,解碼階段用LSTM網(wǎng)絡(luò)生成caption辱挥,集合為下式,其中C是句子長度边涕,K是詞表大小晤碘,y是各個詞的one-hot編碼所構(gòu)成的集合。
LSTM模型結(jié)構(gòu)如下功蜓,對應(yīng)輸入門园爷、輸出門、忘記門數(shù)學(xué)公式如下:
輸入式撼、遺忘和輸出門由sigmod激活童社,所以得到的值在0—1之間,可以直接作為概率值著隆,候選向量ct 和ht由tanh激活扰楼,值在-1—1之間甘改。三個輸入量分別是,Eyt?1是look-up得到詞 yt?1的 m 維詞向量灭抑;ht?1是上一時刻的隱狀態(tài)十艾;z^t∈RD是LSTM真正意義上的“輸入”,代表的是捕捉了特定區(qū)域視覺信息的上下文向量腾节。
針對最后一個式子的隱含變量值忘嫉,作者給出了隱狀態(tài)和細(xì)胞狀態(tài)的初始值的計算方式,使用兩個獨(dú)立的多層感知機(jī)案腺,感知機(jī)的輸入是各個圖像區(qū)域特征的平均:
根據(jù)以上庆冕,我們就可以通過最大概率求得當(dāng)前時刻輸出的詞,并作為下一時刻的輸入劈榨,從而獲得caption結(jié)果访递,如下式。
Attention同辣,上文說到zt是LSTM真正的輸入拷姿,是一個和時間相關(guān)的動態(tài)變量,不同時間關(guān)注在不同的圖像區(qū)域內(nèi)旱函,那么這里就可以和attention結(jié)合起來响巢,規(guī)定特定時間內(nèi)關(guān)注某個區(qū)域。實(shí)現(xiàn)attention的方式棒妨,就是:zt由時間和位置區(qū)域決定踪古,對于每個時間的每個區(qū)域都定義一個權(quán)重值ati。為了滿足權(quán)重的歸一化券腔,我們通過softmax函數(shù)實(shí)現(xiàn)伏穆,如下式,Softmax的輸入需要包含位置信息和前一時刻隱層值:
zt就可以表示出來纷纫,而φ函數(shù)怎么定義使得hard attention和soft attention的產(chǎn)生:
? ? Hard attention枕扫,這里權(quán)重ati所起的作用的是否被選中,只有0.1兩個選項涛酗,所以引入了變量st,i铡原,當(dāng)區(qū)域i被選中時為1偷厦,否則為0商叹。
那么問題就是st,i什么時候是1,什么時候為0只泼。在文章里剖笙,作者將st視作隱變量,為參數(shù)是位置信息的多元伯努利分布请唱,公式如下:
針對多元伯努利分布弥咪,利用最大似然估計过蹂,求得變分下限,類似于EM的思想聚至,下式通過杰森不等式求得酷勺。
然后對參數(shù)矩陣求梯度進(jìn)行優(yōu)化,
用 N 次蒙特卡洛采樣來近似:
在蒙特卡洛方法估計梯度時扳躬,可以使用滑動平均來減小梯度的方差:
為進(jìn)一步減小方差脆诉,引入多元貝努利分布的熵H(s),而且對于一張給定圖片贷币,50%的概率將s設(shè)置為它的期望值α击胜。這兩個技術(shù)提升了隨機(jī)算法的魯棒性,最終的結(jié)果是:
?λr和λe是交叉驗證設(shè)置的兩個超參數(shù)役纹,這個學(xué)習(xí)規(guī)則類似于強(qiáng)化學(xué)習(xí)偶摔。
Soft attention,在這里促脉,不像hard對特定時間特定區(qū)域只有關(guān)注和不關(guān)注辰斋,soft里對每個區(qū)域都關(guān)注,只是關(guān)注的重要程度不一樣瘸味,所以此處的權(quán)重ati就對應(yīng)著此區(qū)域所占比重亡呵,那么zt就可以直接通過比重加權(quán)求和得到。
現(xiàn)在的模型為光滑的硫戈,可以使用BP算法通過梯度進(jìn)行學(xué)習(xí)锰什。文章定義了歸一化加權(quán)幾何平均值(NWGM)
該式表示caption的結(jié)果可以通過文本向量很好近似,也就是caption結(jié)果有效丁逝。也表示soft attention是關(guān)于attention位置的邊緣似然的近似汁胆。在訓(xùn)練soft attention時,文章引入了一個雙向隨機(jī)正則霜幼,目的是為了讓attention平等的對待圖片的每一區(qū)域嫩码。另外,還定義了閾值β
罪既,目的是讓解碼器決定是把重點(diǎn)放在語言建模還是在每個時間步驟的上下文中铸题。
Soft attention最終是通過最小化下式進(jìn)行訓(xùn)練。
實(shí)驗:
???作者用了三個數(shù)據(jù)集進(jìn)行實(shí)驗琢感,F(xiàn)lickr8k采用RMSProp優(yōu)化方法丢间, Flickr30k和COCO采用Adam進(jìn)行優(yōu)化,用vgg在ImageNet上進(jìn)行預(yù)訓(xùn)練驹针,采取64的mini-batch烘挫,用bleu和meteor作為指標(biāo)進(jìn)行評分,下表是實(shí)驗結(jié)果柬甥,可以看出本文所提出的方法取得了很好的結(jié)果饮六。
可視化其垄,為了更好地了解attention的效果,我們對模型進(jìn)行了可視化卤橄,如下圖所示绿满,可以看出attention機(jī)制可以學(xué)習(xí)到類似于人注意力一樣的信息。
結(jié)論:
本文作者經(jīng)機(jī)器翻譯的attention機(jī)制啟發(fā)窟扑,將其應(yīng)用到image caption領(lǐng)域棒口,并提出了hard 和 soft 兩種attention機(jī)制,相比較來說辜膝,hard attention更難訓(xùn)練无牵,所以他的效果也更好。這篇文章無疑是打開了attention圖像領(lǐng)域的先河厂抖。