1. 程式人生 > >Multi-modal Sentence Summarization with Modality Attention and Image Filtering 論文筆記

Multi-modal Sentence Summarization with Modality Attention and Image Filtering 論文筆記

五個月沒寫部落格了,不熟悉我的人大概以為我掛了……

總之呢這段時間還是成長了很多,在加拿大實習的兩個多月來,我在編碼能力和眼界上都有了極大長進。當然,我也點上了烹飪技能點。

廢話不多說,我們來看一篇論文,就是標題所說的使用模態注意力和影象過濾機制的多模態句子摘要。

====================

個人見解

宗成慶老師的這篇文章發表於ACL'18,同時獲得了國家自然科學基金的支援。文章著眼於利用圖片資訊提升摘要與原文字的相關性。

在處理圖片資訊的時候,這個模型使用了VGG-19,提取特徵的能力上沒有什麼問題。

亮點

這篇文章的思路與一般的額外資訊有一些區別,同是用額外資訊干涉指導文字生成,這個模型同時使用了兩個attention,並提出了一種加權機制將兩個attention組合起來。在我讀過的另一篇文章《Diversity driven Attention Model for Query-based Abstractive Summarization》中,作者試圖用query的context干涉document的context,而不直接顯性參與decoder的過程。

文中計算權值的時候,充分考慮了各種可能性;在Image Attention Filter那一塊,將數個特徵非線性組合起來,雖然顯得引數有點多,好在不無道理。

貢獻了一個全新的資料集(動用了10個研究生,真有錢),脫胎於Gigawords,對這個領域做出了基礎性貢獻。

想法

首先,對於資料集,我認為可以選擇替代的資料集,可能是我之前做過中文摘要,我很自然地就想到了LCSTS,可以用同樣的方法構建資料集,但是這個很費時間精力,而且並不是什麼突出的想法貢獻。

其次,為什麼用VGG提取特徵?在這個框架裡,VGG提取特徵取到的效果我持保留態度。即使有了圖片特徵又能怎麼樣呢?到底是一個怎樣的機制讓VGG的圖片特徵與關鍵字對上的?我認為這樣的attention拼湊框架思路時非常棒的,但是圖片特徵與文字的多模態對映我始終不明白how it works. 作為替代方法,我很自然地想到了CV裡的目標檢測,使用選擇性搜尋,SVM判斷影象中的實體,再作為特徵送進模型,我認為這是一個更接近直覺的做法。

再次,Image Filtering這個做法我認為需要改進為更加reasonable的做法。我們完全可以做一個key-word版本的Filter。Filter有兩個版本,Image Attention Filter的係數Ia是根據影象與文字的相關性來控制影象干預的程度;而Image Context Filter的係數Tc是用來突出影象特徵的。這個想法理應可以遷移到word的使用上。

最後,文中用到的小trick,texrual coverage mechanism,為了解決結巴問題,我們可以考慮其他的機制,比如將context vector做軟正交化處理。

====================

摘要

本文介紹了一種多模態句子摘要任務,輸入為一張圖片和一對句子,輸出為摘要。作者稱其為MMSS任務。任務的難點在於怎麼將視覺資訊輸入到框架裡,以及怎麼減小噪音。針對這兩個問題,作者分別提出了兩個方法:同時施加不同的注意力到文字和圖片上;使用影象過濾Image Filter來降噪。

介紹主要是講了文字摘要的歷史,以及多模態方法最早應用在翻譯領域,表現特別好,但是作者認為在摘要上表現得應該更好。

在解決MMSS任務的時候,作者準備使用分層注意力機制,底層分別關注圖片和文字的內部,而上層對兩個模態進行平衡。因為圖片不能表現很多抽象內容,所以圖片特徵需要過濾去噪;為了解決生成句子結巴的問題,使用了coverage方法。

順便他們做了一個數據集,真是讓人肝疼的工作量。

圖片展示了多模態模型的實際效果要好於文字模型。

模型

 模型簡圖如下:

模型可見由句子編碼器,圖片編碼器,摘要解碼器和圖片過濾器四個部分組成。

Encoder

句子編碼器使用的是雙向GRU,這個沒什麼好說的。

圖片編碼器使用了VGG19,抽取了兩種特徵:7x7x512的區域性特徵(flatten之後成為了49x512),和4096維的全域性特徵。其中區域性特徵表示為

Decoder

單元使用單向的GRU:

初始狀態$s_0$進行了改進。

其中,q為全域性特徵,a為各個區域性特徵,如上文所說。

影象和兩邊的context使用下述公式進行平衡和維度統一:

兩個β都是係數:

而對於context的計算與原先的attention沒有兩樣。

對於文字attention:

 

但是對於圖片attention有一些不同的地方在於,圖片類似於文字的序列輸入,所以對每個圖片進行注意力加權:

文章也提到了coverage model,但是我在這裡略過。

Image Filter

文章提到了兩種filter:Image Attention Filter和Image Context Filter。

Image Attention Filter的目的在於“directly applied to change the attention scale between image and text”,即根據圖片相關性進行數值控制。

其中$s_0$是decoder的初始狀態,q是圖片全域性特徵,這兩個引數用來表示圖片相關性;$s_{t-1}$是decoder上一個time step的狀態,用來表示與下一個單詞的聯絡。

對於Image Context Vector,作者解釋是脫胎於以前的思路(“Image context filter is partially inspired by gating mechanism which has gained great popularity in neural network models”),但是應用在多模態方法上仍屬創新。

資料集

資料集的文字部分來源於Gigaword Corpus,作者使用Yahoo,以摘要為關鍵詞搜尋了top 5的圖片,最後由真人選出最適合的,還做了交叉驗證,最後剩下66000左右的資料。

評測結果

 

進步是顯著的,但作者的很多結論還是進行了實驗,然後反推進行最後的選擇。這也是一個做選擇的思路——都試試看就行了。