17-11-22 Deep Reinforcement Learning-based Image Captioning with Embedding Reward論文隨筆
image captioning 之所以是一個很具有挑戰性的課題,一是因為理解文章內容很難,而是因為自然語言的描述具有多樣性。最近深度神經網路的進步基本提高了這項任務的表現,大多數方法遵循的是編解碼的框架,用一系列迴圈預測模型生成描述。然而,在這篇論文中,我們介紹的是一種新的“決策框架”。我們利用了一個“策略網路(policy network)”和一個“價值網路(value network)”,來協同生成描述。政策網路通過提供基於當前狀態預測下一個單詞的自信度作為一個本地的嚮導。價值網路通過評估當前狀態的所有可能的擴充套件來充當全域性性和前瞻性的嚮導。實質上,它調整了預測正確的單詞的目標,以生成接近ground truth的描述。我們用actor-ctitic強化學習模型訓練了這兩個網路,用了一種由視覺語義嵌入的新的reward,在coco資料集上的實驗表明我們提出的框架比現在的方法好。
1.Introduction
image captioning是一項讓計算機自動理解圖片內容並用自然語言描述的任務,在計算機視覺中引起了越來越多的關注,這項課題很有趣,因為他的目標是使計算機擁有人類天賦之一——理解大量視覺資訊並用自然語言描述出來。
目前比較流行的方法採取的是編解碼框架來生成圖片的描述,他們基本上是適用卷積神經網路來編碼視覺資訊並使用迴圈神經網路來解碼資訊。在訓練和推理中,他們試圖基於迴圈隱層狀態中最大化下一個單詞的可能性.
在本論文中,我們介紹一種新的決策框架。我們不是學習順序迴圈模型來貪婪地尋找下一個正確的單詞,而是利用“策略網路”和“價值網路”共同確定每個時間步驟的下一個最佳單詞。我們的框架可以通過單獨使用策略網路包含低概率的好詞彙。圖一是解釋本模型的一個例子。
在當前時間步中,單詞“holding”不在策略網路前幾名的選擇中。但是價值網路向前走了一步,假設“holding”已經生成了,並且評估這樣的狀態對於生成一個好的描述有沒有幫助。兩個網路這樣互相補充,最終選擇了單詞“holding”。
為了學習策略和價值網路,我們使用了帶嵌入獎勵的深度強化學習。我們從用交叉熵損失的標準監督學習預訓練一個策略網路,並用均方損失預訓練一個價值網路開始,然後,我們通過深度強化學習提高策略網路和價值網路。強化學習在遊戲和控制理論中被廣泛使用。控制或遊戲中的問題具有實質優化的具體目標,而定義合適的優化目標對於影象描述是不重要的。在本文中,我們建議用帶視覺語義嵌入獎勵的actor-critic模型訓練。視覺語義嵌入,提供了圖片和語句之間的相似度,可以衡量生成的描述的正確性,在強化學習中作為優化圖片描述的全域性目標。
3.Deep Reinforcement Learning-based Image Captioning
3.1 Problem formulation
我們把影象描述問題看成是一個做決策的過程。在做決策時,有一個“中間人”和“環境”互動,並作出一系列行為,來優化一個目標。在影象描述中,目標是,給定圖片I,要生成一個句子S={w1,w2,...wT},這個句子正確地描述圖片內容,wi是S中的一個單詞,T是句子長度。我們的模型,包括決策網路pπ和價值網路vθ,可以被看成是“中間人”;環境是已給的圖片I和目前為止已經預測的單詞{w1,...,wt};行為是預測下一個單詞wt+1。
3.1.1 State and action space
一個做決策的過程包含一系列行為。在每一個行為a之後,我們可以觀察到一個狀態s。在我們的問題中,時間步t的狀態st包含圖片I和此時預測到的所有單詞{w1,...,wt}。行動空間是單詞的來源字典Y。i.e.,at屬於Y。
3.1.2 policy network
策略網路提供中間人在每個狀態採取行動的概率pπ(at|st),其中當前狀態st={I,w1,...,wt},行為at=wt+1。在本文中,我們使用了一個CNN和一個RNN來建立決策網路,表示為CNNp和RNNp。這類似於基本的用編解碼框架的影象描述模型。如圖2,首先我們用CNNp來編碼圖片I的視覺資訊。然後視覺資訊被輸入RNNp的初始輸入節點x0∈Rn。隨著RNNP的隱藏狀態ht∈Rm隨時間步t進化,提供了每一步採取的行為at。時間步t生成的單詞wt在下一個時間步會被反饋回RNNp,此時神經網路輸入xt+1,使RNNp的狀態從ht轉換到ht+1。特別的,pπ的主要工作流程由以下等式來控制:
其中Wx,v是視覺資訊的線性嵌入模型的權重,是RNNp的輸入和輸出模型。
3.1.3 Value network
在介紹價值網路vθ之前,我們首先定義決策p的價值方程vp。vp被定義為假設決策過程遵循策略P,從觀察到的狀態St對總獎勵r(將在3.2節中定義)的預測。
我們用價值網路來近似價值方程。它作為狀態st={I,w1,...,wt}的評估。如圖3,我們的價值網路由一個CNN,一個RNN,和一個多層感知機組成,分別表示為CNNv,RNNv,和MLPv。我們的價值網路將原始圖片和語句作為輸入。CNNv被用來編碼圖片I的視覺資訊。RNNvv被設計為編碼部分生成的句子{w1,...,wt}的語義資訊。所有組成部分被同時訓練以迴歸st的標量獎勵。