當前位置:
首頁 > 新聞 > 阿里提出新圖像描述框架,解決梯度消失難題

阿里提出新圖像描述框架,解決梯度消失難題

新智元推薦

來源:阿里巴巴AI Labs

編輯:克雷格

【新智元導讀】阿里AI Labs在最近的論文中提出了一種粗略到精細的多級圖像描述預測框架,該框架由多個解碼器構成,其中每一個都基於前一級的輸出而工作,從而能得到越來越精細的圖像描述。通過提供一個實施中間監督的學習目標函數,其學習方法能在訓練過程中解決梯度消失的難題。

現有的圖像描述方法通常都是訓練一個單級句子解碼器,這難以生成豐富的細粒度的描述。另一方面,由於梯度消失問題,多級圖像描述模型又難以訓練。我們在本論文中提出了一種粗略到精細的多級圖像描述預測框架,該框架由多個解碼器構成,其中每一個都基於前一級的輸出而工作,從而能得到越來越精細的圖像描述。通過提供一個實施中間監督的學習目標函數,我們提出的學習方法能在訓練過程中解決梯度消失的難題。

尤其需要指出,我們使用了一種強化學習方法對我們的模型進行優化,該方法能夠利用每個中間解碼器的測試時間推理演算法的輸出及其前一個解碼器的輸出來對獎勵進行歸一化,這能一併解決眾所周知的曝光偏差問題(exposure bias problem)和損失-評估不匹配問題(loss-evaluation mismatch problem)。我們在 MSCOCO 上進行了大量實驗來評估我們提出的方法,結果表明我們的方法可以實現當前最佳的表現。

從粗略到精細的多級預測框架

圖像描述的困難之處是讓設計的模型能有效地利用圖像信息和生成更接近人類的豐富的圖像描述。在自然語言處理近期進展的推動下,當前的圖像描述方法一般遵循編碼-解碼框架。這種框架由一個基於卷積神經網路(CNN)的圖像編碼器和基於循環神經網路(RNN)的句子解碼器構成,有多種用於圖像描述的變體。這些已有的圖像描述方法的訓練方式大都是根據之前的基本真值詞(ground-truth words)和圖像,使用反向傳播,最大化每個基本真值詞的可能性。

這些已有的圖像描述方法存在三個主要問題。第一,它們很難生成豐富的細粒度的描述。第二,在訓練和測試之間存在曝光偏差。第三,存在損失與評估的不匹配問題。

考慮到使用單級模型生成豐富的圖像描述的巨大挑戰性,我們在本論文中提出了一種粗略到精細的多級預測框架。我們的模型由一個圖像編碼器和一系列句子解碼器構成,可以重複地生成細節越來越精細的圖像描述。但是,直接在圖像描述模型中構建這樣的多級解碼器面臨著梯度消失問題的風險。Zhang, Lee, and Lee 2016; Fu, Zheng, and Mei 2017 等在圖像識別上的研究工作表明監督非常深度的網路的中間層有助於學習,受這些研究的啟發,我們也為每級解碼器實施了中間監督。

此外,Rennie et al. 2017 這項近期的圖像描述研究使用了強化學習(RL)來解決損失-評估不匹配問題,並且還在訓練中包含推理過程作為基準來解決曝光偏差問題;我們也設計了一種類似的基於強化學習的訓練方法,但是將其從單級擴展成了我們的多級框架,其中每級都引入了作為中間監督的獎勵。尤其需要指出,我們使用了一種強化學習方法對我們的模型進行優化,該方法能夠利用每個中間解碼器的測試時間推理演算法的輸出及其前一個解碼器的輸出來對獎勵進行歸一化。

此外,為了應對我們的粗略到精細學習框架,我們採用了一種層疊式注意模型來為每個階段的詞預測提取更細粒度的視覺注意信息。圖 1 給出了我們提出的粗略到精細框架的示意圖,它由三個層疊的長短期記憶(LSTM)網路構成。第一個 LSTM 生成粗尺度的圖像描述,後面的 LSTM 網路用作精細尺度的解碼器。我們模型中每一級的輸入都是前一級所得到的注意權重和隱藏向量,這些被用作後一級的消岐線索。由此,每一級解碼器就會生成注意權重和詞越來越精細的句子。

圖 1:我們提出的粗略到精細框架示意圖。我們的模型由一個圖像編碼器(CNN)和一系列句子解碼器(基於注意的 LSTM 網路)構成。該模型以圖像為輸入,能夠從粗略到精細不斷細化圖像描述。這裡我們展示了兩級式的圖像描述漸進提升(灰色和深灰色)。

本工作的主要貢獻包括:(a)一種用於圖像描述的粗略到精細框架,可以使用越來越細化的注意權重逐漸增大模型複雜度;(b)一種使用歸一化後的中間獎勵直接優化模型的強化學習方法。實驗表明我們的方法在 MSCOCO 上表現出色。

方法

在本論文中,我們考慮了學習生成圖像描述的問題。我們的演算法構建了一個粗略到精細模型,它具有與單級模型一樣的目標,但在輸出層和輸入層之間具有額外的中間層。我們首先根據輸入圖像和目標詞的黃金歷史,通過最大化每個連續目標詞的對數似然而對該模型進行訓練,然後再使用句子層面的評估指標對模型進行優化。結果,每個中間句子解碼器會預測得到越來越細化的圖像描述,最後一個解碼器的預測結果用作最終的圖像描述。

圖像編碼

我們首先將給定圖像編碼成空間圖像特徵。具體來說,我們從 CNN 的最後卷積層提取圖像特徵,然後使用空間自適應平均池化將這些特徵的尺寸調整成固定尺寸的空間表示。

粗略到精細解碼

整體的粗略到精細句子解碼器由一個粗略解碼器和一系列基於注意的精細解碼器構成,這些解碼器可以根據來自前一個解碼器的線索來得到每個詞預測的細化後的注意圖(attention map)。我們模型的第一級是一個粗略解碼器,能根據全局圖像特徵預測得到粗略的描述。在後續階段,每一級都是一個精細解碼器,可以基於圖像特徵和前一級的輸出而預測得到更好的圖像描述。尤其需要指出,我們使用了前一級的注意權重來提供後一級詞預測的區域信念。也就是說,我們以多級方式解碼圖像特徵,其中每級的預測結果都是對前一級預測結果的精細化。

圖 2 給出了我們提出的粗略到精細解碼架構,其中每一級之後都使用了中間監督(獎勵)。上面一行(灰色)包含一個粗略解碼器(左)和兩個層疊的基於注意的精細解碼器(處於訓練模式下);下面一行給出了處於推理模式(貪婪解碼)下的精細解碼器,用於計算獎勵以將中間監督整合進來。

粗略解碼器。我們首先在第一級的粗略搜索空間中解碼,我們在這裡使用一個 LSTM 網路學習一個粗略解碼器,稱為。在每個時間步驟的輸入都由前一個目標詞(連接著全局圖像特徵)和之前的隱藏狀態構成。

精細解碼器。在後續的多級中,每個精細解碼器都會再次基於圖像特徵以及來自前一個 LSTM 的注意權重和隱藏狀態來預測詞。每個精細解碼器都由一個網路和一個注意模型構成。在每個時間步驟的輸入都包含已出現的圖像特徵、前一個詞嵌入及其隱藏狀態、來自前一個 LSTM 的更新後的隱藏狀態。

層疊式注意模型。如前所述,我們的粗略解碼器基於全局圖像特徵生成詞。但是在很多情況下,每個詞都只與圖像中的很小一部分有關。由於每次預測時圖像中的無關區域會引入雜訊,所以為詞預測使用全局圖像特徵會得到次優的結果。因此,我們引入了注意機制,這能顯著提升圖像描述的表現。注意機制通常會得到一個空間圖(spatial map),其中突出顯示了與每個預測詞相關的圖像區域。為了為詞預測提取更細粒度的視覺信息,我們在本研究中採用了一種層疊式注意模型來逐漸濾除雜訊和定位與詞預測高度相關的區域。在每個精細處理級中,我們的注意模型都會對圖像特徵和來自前一級的注意權重進行操作。

學習

上面描述的粗略到精細方法能得到一種深度架構。訓練這樣一種深度網路可能很容易出現梯度消失問題,即梯度的幅度會在反向傳播通過多個中間層時強度減小。解決這種問題的一種自然方法是將監督訓練目標整合到中間層中。每一級粗略到精細句子解碼器的訓練目標都是重複地預測詞。我們首先通過為每一級定義一個最小化交叉熵損失的損失函數來訓練網路。

但是,只使用這裡的損失函數進行訓練是不夠的。

為了優化每一級的評估指標,我們將圖像描述生成過程看作是一個強化學習問題,即給定一個環境(之前的狀態),我們想要智能體(比如 RNN、LSTM 或 GRU)查看環境(圖像特徵、隱藏狀態和之前的詞)並做出動作(預測下一個詞)。在生成了一個完整句子之後,該智能體將觀察句子層面的獎勵並更新自己的內部狀態。

實驗

數據集和設置

我們在 MSCOCO 數據集上評估了我們提出的方法。

用於比較的基準方法

為了了解我們提出的方法的有效性,我們對以下模型進行了相互比較:

LSTM 和。我們根據 Vinyals et al. 2015 提出的框架實現了一個基於單層 LSTM 的圖像描述模型。我們還在該單層 LSTM 模型之後增加了另外兩個 LSTM 網路,我們將其稱為。

。我們實現了兩種基於視覺注意的圖像描述模型:Xu et al. 2015 提出的軟注意模型(

)和 Anderson et al. 2017 提出的自上而下注意模型(

)。

Stack-Cap 和 Stack-Cap*。Stack-Cap 是我們提出的方法,Stack-Cap* 是一種簡化版本。Stack-Cap 和 Stack-Cap* 的架構相似,只是 Stack-Cap 應用了我們提出的層疊式注意模型而不是獨立的注意模型。

定量分析

在實驗中,我們首先使用標準的交叉熵損失對模型進行了優化。我們報告了我們的模型和基準模型在 Karpathy test split 上的表現,如表 1 所示。注意這裡報告的所有結果都沒有使用 ResNet-101 的微調。

表 1:在 MSCOCO 上的表現比較,其中 B@n 是指 BLEU-n,M 指 METEOR,C 指 CIDEr。這裡所有的值都是百分數(加粗數字是最佳結果)。

在使用交叉熵損失優化了模型之後,我們又使用基於強化學習的演算法針對 CIDEr 指標對它們進行了優化。表 2 給出了使用 SCST(Rennie et al. 2017)為 CIDEr 指標優化的 4 種模型的表現以及使用我們提出的粗略到精細(C2F)學習方法優化的 2 種模型的表現。可以看到我們的 Stack-Cap 模型在所有指標上都有顯著的優勢。

表 3 比較了我們的 Stack-Cap(C2F)模型與其它已有方法在 MSCOCO Karpathy test split 上的結果。Stack-Cap 在所有指標上都表現最佳。

在線評估。表 4 報告了我們提出的使用粗略到精細學習訓練的 Stack-Cap 模型在官方 MSCOCO 評估伺服器上的表現。可以看到,與當前最佳的方法相比,我們的方法非常有競爭力。注意,SCST:Att2in (Ens. 4) 的結果是使用 4 個模型聯合實現的,而我們的結果是使用單個模型生成的。

定性分析

為了表明我們提出的粗略到精細方法可以逐級生成越來越好的圖像描述,並且這些圖像描述與自適應關注的區域有良好的關聯,我們對生成的描述中詞的空間注意權重進行了可視化。我們以 16 的採樣係數對注意權重進行了上採樣,並使用了一個高斯過濾器使之與輸入圖像一樣大小,並將所有上採樣後的空間注意圖疊加到了原始輸入圖像上。

圖 3 給出了一些生成的描述。通過多個注意層逐步進行推理,Stack-Cap 模型可以逐漸濾除雜訊和定位與當前詞預測高度相關的區域。可以發現,我們的 Stack-Cap 模型可以學習到與人類直覺高度對應的對齊方式。以第一張圖像為例,對比粗略級生成的描述,由第一個精細解碼器生成的首次細化後的描述中包含「dog」,第二個精細解碼器不僅得到了「dog」,還識別出了「umbrella」。

此外,我們的方法還能生成更為描述性的句子。比如,噴氣機圖像的注意可視化表明 Stack-Cap 模型可以查詢這些噴氣機的關係以及它們身後長長的煙霧尾跡,因為這些突出區域有很高的關注權重。這個例子以及其它案例說明層疊式注意可以為序列預測更有效地探索視覺信息。也就是說,我們使用層疊式注意的方法可以從粗略到精細地考慮圖像中的視覺信息,這與通常通過粗略到精細流程理解圖像的人類視覺系統很相似。

https://102.alibaba.com/downloadFile.do?file=1518074198430/AAAI2018Stack-Captioning_Coarse-to-Fine%20Learning%20for%20Image%20Captioning_12213(1).pdf

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

微軟沈向洋:你即你所寫,AI時代寫作才是科技創新致勝法寶
「Geoffrey Hinton傳奇」你我都是機器人

TAG:新智元 |