圖片翻譯——讓機(jī)器告訴你圖片內(nèi)容

本文主要基于論文
Vinyals O, Toshev A, Bengio S, et al. Show and tell: A neural image caption generator[C]// Computer Vision and Pattern Recognition. IEEE, 2015:3156-3164.

溫馨提示:要看懂本文,必須先熟悉CNN痪蝇、RNN和單詞嵌入模型等知識聂示。

簡單來說扇住,就是輸入一張圖片暖侨,讓機(jī)器給出圖片信息的描述克蚂。


由于卷積神經(jīng)網(wǎng)絡(luò)在圖片識別上表現(xiàn)很好集绰,循環(huán)神經(jīng)網(wǎng)絡(luò)在自然語言處理領(lǐng)域表現(xiàn)突出十电,所以我們將兩者結(jié)合起來,得到一個能用自然語言描述圖片內(nèi)容的模型肥橙。

模型

統(tǒng)計(jì)機(jī)器翻譯的最新進(jìn)展表明涌矢,給定一個強(qiáng)大的序列模型,通過以“端到端”的形式(包含訓(xùn)練和推斷過程)給出輸入句子的情況下快骗,直接最大化正確翻譯的概率娜庇,可以實(shí)現(xiàn)最先進(jìn)的結(jié)果。這些模型利用遞歸神經(jīng)網(wǎng)絡(luò)將可變長度的輸入方篮,編碼為固定維度向量名秀,并使用該表示將其“解碼”為期望的輸出句子。同理藕溅,我們輸入一張圖片(而不是句子)匕得,采用同樣的原則,輸出圖片的描述巾表,這就是我們的目的汁掠。

因此,我們建議通過使用以下公式集币,直接最大化給定圖像的正確描述的概率:


其中θ是模型的參數(shù)考阱,I代表一張圖片,S是對該圖片正確的描述鞠苟,然后對概率p取對數(shù)乞榨。因?yàn)椋琒可以代表任意一個句子当娱,長度不定吃既。所以,經(jīng)常使用鏈規(guī)則來模擬S0......SN的聯(lián)合分布跨细,其中N是這個特定例子的長度:

概率論中鹦倚,鏈規(guī)則(也稱為通用乘積規(guī)則)允許僅使用條件概率來計(jì)算一組隨機(jī)變量聯(lián)合分布的任何成員。該規(guī)則在貝葉斯網(wǎng)絡(luò)的研究中是有用的冀惭,貝葉斯網(wǎng)絡(luò)根據(jù)條件概率描述概率分布震叙。
考慮隨機(jī)變量的索引集合A1......AN愤诱, 為了找到聯(lián)合分布的值,我們可以應(yīng)用條件概率的定義來獲得:


例如捐友,求四個變量的聯(lián)合分布

在上式中,為方便起見溃槐,我們放棄了對θ的依賴匣砖。在訓(xùn)練階段,(S, I)是成對出現(xiàn)的昏滴,我們在整個訓(xùn)練集上使用隨機(jī)梯度下降猴鲫,來使(2)式中的對數(shù)概率之和最優(yōu)化。

很自然的谣殊,我們使用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)對p(St | I, S0......St-1)進(jìn)行建模拂共,其中我們在t-1(包括t-1)之前的可變數(shù)量的單詞,是由固定長度的隱藏狀態(tài)或“記憶”ht表示的姻几。這個記憶單元在看到一個新的輸入xt之后宜狐,通過一個非線性函 f 數(shù)來更新:


為了使上述RNN更具體,需要做出兩個關(guān)鍵的設(shè)計(jì):函數(shù) f 的形式到底是什么蛇捌?以及圖片和詞匯是如何作為xt輸入的抚恒?對于 f,我們使用長短期記憶(LSTM)網(wǎng)絡(luò)络拌,其在序列任務(wù)(例如翻譯)上表現(xiàn)出很先進(jìn)的性能俭驮,該模型將在下一節(jié)中介紹。

對于圖像的表示春贸,我們使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)混萝。它已被廣泛用于圖像處理任務(wù),并且目前是用于物體識別和檢測的最先進(jìn)技術(shù)萍恕。我們對CNN使用了一種新穎的批量標(biāo)準(zhǔn)化方法逸嘀,此外,它們已被證明可以通過轉(zhuǎn)移學(xué)習(xí)來推廣到其他任務(wù)允粤,例如場景分類厘熟。單詞用嵌入模型表示。

基于LSTM的句子生成器

上式(3)中 f 的選擇取決于其處理消失和爆炸梯度的能力维哈,這是設(shè)計(jì)和訓(xùn)練RNN的最常見挑戰(zhàn)绳姨。為了應(yīng)對這一挑戰(zhàn),人們引入了一種特殊形式的循環(huán)網(wǎng)絡(luò)阔挠,稱為LSTM飘庄,并成功應(yīng)用于翻譯和序列生成。

LSTM模型的核心是一個存儲器單元c购撼,如果觀察到有什么輸入跪削,它就編碼知識(參見下圖)谴仙。


LSTM:存儲器塊包含由三個門控制的單元c。在藍(lán)色標(biāo)示中我們顯示了循環(huán)連接 - 時間t-1的輸出m在時間t通過三個門反饋到存儲器;

單元的行為由“門”控制 - 這些層(門)是乘法運(yùn)算的碾盐,因此如果門為1晃跺,則可以保持門控層的值,如果門為0則可以保持0毫玖。特別地掀虎,使用三個門,用來控制是否忘記當(dāng)前單元值(忘記門f)付枫,是否應(yīng)該讀取其輸入(輸入門i)以及是否輸出新單元值(輸出門o)烹玉。門和單元的更新和輸出的定義如下:


其中(圓圈中間一點(diǎn))表示和門值的乘積,并且各種W矩陣是訓(xùn)練的參數(shù)阐滩。這樣的乘法門使得可以穩(wěn)健地訓(xùn)練LSTM二打,因?yàn)檫@些門很好地處理梯度爆炸和消失的問題。非線性處理函數(shù)是S形σ(·)和雙曲正切h(·)掂榔。最后一個等式mt是用于輸入到Softmax函數(shù)的继效,它將在所有單詞上產(chǎn)生概率分布pt

訓(xùn)練模型

我們訓(xùn)練一個LSTM模型装获,當(dāng)它看到圖片和由p(St | I, S0......St-1)預(yù)定義的所有單詞之后莲趣,預(yù)測句子中的每個單詞。為此饱溢,以展開形式考慮LSTM是有益的 - 為圖像和每個句子中的詞創(chuàng)建LSTM存儲器的副本喧伞,使得所有LSTM共享相同的參數(shù)。LSTM在t - 1時刻的輸出mt-1绩郎, 在時間 t 輸入到LSTM(參見下圖3)潘鲫。

圖3,LSTM模型與CNN圖像嵌入器和詞嵌入相結(jié)合肋杖。

所有重復(fù)連接都轉(zhuǎn)換為展開版本中的前饋連接溉仑。說的更詳細(xì)點(diǎn),如果用 I 表示輸入的圖片状植,用S = (S0浊竟,......,SN)表示對圖片的真實(shí)描述津畸,則展開過程如下:


其中我們將每個單詞表示為one-hot矢量St振定,St來自于一個足夠描述圖片的字典,其維數(shù)等于字典的大小肉拓。注意后频,我們用S0表示一個特殊的起始單詞,用SN表示一個特殊結(jié)束的單詞,它表示句子的開頭和結(jié)尾卑惜。特別是LSTM通過發(fā)出停止字膏执,通知已生成完整的句子。圖像和單詞都映射到同一個空間露久,圖像通過使用視覺CNN更米,單詞通過使用單詞嵌入We。圖像 I 僅僅在 t = -1 時輸入一次毫痕,告訴LSTM圖像的內(nèi)容征峦。憑我們的經(jīng)驗(yàn),如果每一步都將圖像作為額外的輸入镇草,效果是比較差的,因?yàn)榫W(wǎng)絡(luò)會利用圖像中的噪聲瘤旨,更容易產(chǎn)生過擬合梯啤。

我們的損失是每個步驟中正確單詞的負(fù)對數(shù)概率的總和,如下:


補(bǔ)充

BLEU

BLEU的全名為:bilingual evaluation understudy存哲,即:雙語互譯質(zhì)量評估輔助工具因宇。它是用來評估機(jī)器翻譯質(zhì)量的工具。

BLEU算法實(shí)際上在做的事:判斷兩個句子的相似程度祟偷。我想知道一個句子翻譯前后的表示是否意思一致察滑,顯然沒法直接比較,那我就拿這個句子的標(biāo)準(zhǔn)人工翻譯與我的機(jī)器翻譯的結(jié)果作比較修肠,如果它們是很相似的贺辰,說明我的翻譯很成功。因此嵌施,BLUE去做判斷:一句機(jī)器翻譯的話與其相對應(yīng)的幾個參考翻譯作比較饲化,算出一個綜合分?jǐn)?shù)。這個分?jǐn)?shù)越高說明機(jī)器翻譯得越好吗伤。(注:BLEU算法是句子之間的比較吃靠,不是詞組,也不是段落)

BLEU實(shí)質(zhì)是對兩個句子的共現(xiàn)詞頻率計(jì)算足淆,但計(jì)算過程中使用好些技巧巢块,追求計(jì)算的數(shù)值可以衡量這兩句話的一致程度。 BLEU容易陷入常用詞和短譯句的陷阱中巧号,而給出較高的評分值族奢。

參考資料:
https://blog.csdn.net/qq_31584157/article/details/77709454

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市丹鸿,隨后出現(xiàn)的幾起案子歹鱼,更是在濱河造成了極大的恐慌,老刑警劉巖卜高,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弥姻,死亡現(xiàn)場離奇詭異南片,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)庭敦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門疼进,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秧廉,你說我怎么就攤上這事伞广。” “怎么了疼电?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵嚼锄,是天一觀的道長。 經(jīng)常有香客問我蔽豺,道長区丑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任修陡,我火速辦了婚禮沧侥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘魄鸦。我一直安慰自己宴杀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布拾因。 她就那樣靜靜地躺著旺罢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绢记。 梳的紋絲不亂的頭發(fā)上主经,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機(jī)與錄音庭惜,去河邊找鬼罩驻。 笑死,一個胖子當(dāng)著我的面吹牛护赊,可吹牛的內(nèi)容都是我干的惠遏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼骏啰,長吁一口氣:“原來是場噩夢啊……” “哼节吮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起判耕,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤透绩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帚豪,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碳竟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了狸臣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片莹桅。...
    茶點(diǎn)故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖烛亦,靈堂內(nèi)的尸體忽然破棺而出诈泼,到底是詐尸還是另有隱情,我是刑警寧澤煤禽,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布铐达,位于F島的核電站,受9級特大地震影響檬果,放射性物質(zhì)發(fā)生泄漏瓮孙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一汁汗、第九天 我趴在偏房一處隱蔽的房頂上張望衷畦。 院中可真熱鬧栗涂,春花似錦知牌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至忿墅,卻和暖如春扁藕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疚脐。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工亿柑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棍弄。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓望薄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呼畸。 傳聞我的和親對象是個殘疾皇子痕支,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容