上周一開始閱讀了香港中文大學(xué)Bo Dai等人在ICCV 2017的文章,Towards Diverse and Natural?Image Descriptions via a Conditional GAN,號稱是第一個使用GAN處理Image Captioning的。巧的是,同期的會議上也出現(xiàn)了一篇同樣用GAN處理Image Captioning的論文,Rakshith Shetty等人的Speaking the Same Language:?Matching Machine to Human Captions by Adversarial Training。兩個工作的基本出發(fā)點(diǎn)大體相同,解決問題的思路有差異又有聯(lián)系,于是我把這兩篇論文一起總結(jié)了一下。
Towards Diverse and NaturalImage Descriptions via a Conditional GAN
問題背景
現(xiàn)有的Image Captioning技術(shù)主要通過MLE的思想來訓(xùn)練模型,即最大化訓(xùn)練樣本出現(xiàn)的可能性。然而這樣的做法有一個明顯的缺陷,模型產(chǎn)生的圖片描述會高度模仿ground truth,從而抑制多樣化的表達(dá),顯得非常單調(diào)生硬。于是作者提出利用Conditional GAN讓算法產(chǎn)生的圖片描述貼近人類的表達(dá),改善句子的naturalness和diversity。
模型設(shè)計(jì)

該論文提出的模型其實(shí)沒什么太新奇的,唯一有趣的地方是,在該論文里,作者始終把Discriminator命名為Evaluator,其中的原因是這里的Discriminator會在后續(xù)的模型評估環(huán)節(jié)被賦予“Evaluator”的角色,這一點(diǎn)在后面我們會看到。
Generator方面,以CNN提取的圖像特征及噪聲作為輸入,用LSTM生成句子,隨后通過Monte Carlo Rollout從Evaluator那里得到reward,并通過Policy Gradient算法來更新參數(shù)。
Evaluator方面,中規(guī)中矩地用LSTM對句子編碼,然后與圖像特征一起處理,得到一個概率值。在訓(xùn)練Evaluator時,作者注意到了要把對Naturalness的判別和對Relevance的判別區(qū)分開,也就是說,Evaluator既要判別句子是否像是人類生成的,又要判別句子和圖片是否相關(guān)。這個思想來源于Reed等人關(guān)于通過文本生成圖像的工作:Generative adversarial text to image synthesis,他在論文里稱這個trick為Matching Aware Discriminator。這個trick實(shí)現(xiàn)起來非常簡單,只需把錯誤匹配的真實(shí)樣本提供給Discriminator,令它把這樣的樣本也當(dāng)作假樣本,如下面算法的7-10行:

模型評估

傳統(tǒng)的評估指標(biāo)基本上都是在評估生成的句子與ground-truth句子的用詞重合度,所以傳統(tǒng)的MLE方法優(yōu)勢很大,而基于GAN的模型在這種評估指標(biāo)下則占據(jù)很大的劣勢,如上表的第3列至第8列。然而人類標(biāo)記員給出的句子是多樣化的,所以在這種評估體系下也是很吃虧的,這說明這種評估體系不能很好地體現(xiàn)算法的質(zhì)量。上表的最后兩列是GAN的Evaluator給出的分?jǐn)?shù),E-GAN指“通過對抗性訓(xùn)練得到Evaluator”,E-NGAN則是指“不更新Generator,單獨(dú)訓(xùn)練Evaluator”。在這種基于訓(xùn)練的Evaluator的評估體系下,人類的表現(xiàn)基本上是最好的,這更符合我們的認(rèn)知。同時,E-GAN指標(biāo)描繪出了算法與人類的差距,因此是比E-NGAN更靠譜的指標(biāo)。
上面的結(jié)果暗示了基于GAN的模型表現(xiàn)比基于MLE的模型更好,于是作者找了人類標(biāo)記員在直觀上比較這兩個模型。結(jié)果在意料之中,雖然GAN模型與人類相比還有不小的差距,然而明顯比MLE模型更讓人接受。
Speaking the Same Language: Matching Machine to Human Captions by Adversarial Training
Shetty等人的這個工作和上面Dai等人的工作基本出發(fā)點(diǎn)是一致的,都是旨在利用對抗性學(xué)習(xí)提高caption的多樣性。所以問題背景就不贅述了,兩者的差異僅在于模型設(shè)計(jì)和評估方法。
同樣是應(yīng)用了Conditional GAN,Shetty等人的模型設(shè)計(jì)略顯復(fù)雜。
Generator設(shè)計(jì)

上圖是Generator的結(jié)構(gòu),與Dai等人的Generator相比,主要有兩個差異:
1. 輸入項(xiàng)除了噪聲(圖上沒有標(biāo)識出來)和CNN特征外,還有一個目標(biāo)檢測的特征,通過常用的目標(biāo)檢測網(wǎng)絡(luò)Faster Region-Based Convolutional Neural Network (RCNN)得到,這是為了讓Generator捕捉到更清晰的目標(biāo)信息。
2. 為解決Generator的采樣過程不可微的問題,這里沒有選擇目前最常用的Policy Gradient算法,而是用Gumbel-Softmax的技巧把采樣過程近似成連續(xù)可微的操作。
關(guān)于Gumbel-Softmax,補(bǔ)充一些說明。
首先,對于從一個Categorical分布進(jìn)行采樣的過程,可用Gumbel-Max技巧進(jìn)行再參數(shù)化(re-parameterization)。假設(shè)一個categorical distribution的參數(shù)為

則從這個分布中采樣的隨機(jī)變量r可以表示為:

這個再參數(shù)化把?r?表達(dá)成了一個關(guān)于原類別概率的函數(shù),其中
是服從標(biāo)準(zhǔn)Gumbel分布的隨機(jī)變量,使r的結(jié)果具備一定的隨機(jī)性,模擬采樣過程。
在上面的公式中,唯一不可導(dǎo)的部分是argmax,因此用softmax來進(jìn)行連續(xù)化的近似,得到:

其中,是用來控制?r'?與?r?近似程度的參數(shù),當(dāng)
越接近0,r'?與?r?越近似。
這樣一來,采樣過程就完全連續(xù)化了,可以用一般的BP算法來傳播梯度。同時,如果設(shè)置得當(dāng),Gumbel-Softmax分布與原Categorical分布的誤差很小,如下圖:

跟Policy Gradient相比,Gumbel-Softmax的優(yōu)勢在于計(jì)算效率上。
Discriminator設(shè)計(jì)

這個工作的Discriminator結(jié)構(gòu)顯得復(fù)雜許多。
最大的特點(diǎn)是,這里的Discriminator以一張圖像和與之對應(yīng)的一組句子作為輸入,為的是有效評估一組caption內(nèi)部的多樣性,例如,如果Generator對同一個圖像多次生成的caption都趨于一致,Discriminator應(yīng)當(dāng)對這種缺乏多樣性的表現(xiàn)給出低分。
為了對一組句子編碼,這里借鑒了Salimans等人在Improved Techniques for Training GANs中提出的minibatch discrimination技巧,用Distance Kernel衡量一組句子內(nèi)部的距離,具體的計(jì)算過程是:

具體的直觀解釋可參考Salimans等人的論文。
用同樣的方法,可以對一張圖像和一組句子進(jìn)行編碼,得到圖像與句子的距離,這個距離用于判別句子和圖像是否相關(guān)。
訓(xùn)練過程
與一般的GAN訓(xùn)練相比,這個模型的訓(xùn)練有兩個特別之處:
1. 和Dai等人模型的訓(xùn)練一樣,這里Discriminator的訓(xùn)練同樣考慮了要訓(xùn)練Discriminator判別錯誤匹配的真實(shí)樣本能力,具體而言就是應(yīng)用Reed等人的matching aware discrimination技巧。
2. 借鑒了Salimans等人的feature matching loss技巧:Generator生成的樣本在Discriminator中間層的特征應(yīng)該要盡量與真實(shí)樣本的一致。于是Generator的loss變成了

評估方法
在評估方法上,傳統(tǒng)的指標(biāo)很難反映多樣性,而與Dai等人的工作依賴人類標(biāo)記員的主觀評價(jià)不同,這個工作使用了一些客觀的指標(biāo)來評估多樣性。
在全局的語料庫層面,有Vocabulary Size(所用到的詞匯表大小)、% Novel Sentences(在訓(xùn)練集中沒有出現(xiàn)過的句子占比);對于單張圖像的一組caption,有Div-1(unique unigram的占比)、Div-2(unique bigram的占比)、mBleu(其中一個句子與同組其余句子之間的Bleu均值,數(shù)值低表示一組句子的內(nèi)部重合度低,多樣性強(qiáng))。

自動化測試的結(jié)果表明,對抗性的模型(Adv-bs和Adv-samp)在多樣性上明顯好于傳統(tǒng)的模型(Base-bs和Base-samp),同時,算法與人類還是存在較大的差距。
小結(jié)
總結(jié)一下,兩個工作的共同點(diǎn)有:
1. 在大局上,都注意到Image Captioning傳統(tǒng)方法對多樣性的忽視,以此作為切入點(diǎn),然后都通過GAN來實(shí)現(xiàn)多樣性。
2. 在具體的方法上,訓(xùn)練Discriminator時都考慮了分別判斷文本和圖片是否匹配以及文本是否像人工標(biāo)記的那樣具備多樣性。結(jié)合其他的文獻(xiàn)來看,訓(xùn)練這種雙層次的Discriminator似乎已成為把GAN應(yīng)用到多模態(tài)問題時的主流做法。
值得一提的還有兩個模型在實(shí)現(xiàn)多樣性上的差異:Dai等人的模型主要依靠Generator的隨機(jī)噪聲輸入產(chǎn)生多樣性;但在Shetty等人的工作中,Discriminator以一張圖像和與之對應(yīng)的一組caption作為輸入,以此引導(dǎo)Generator對同一張圖像產(chǎn)生多樣化的caption,同時作者發(fā)現(xiàn)Generator的隨機(jī)噪聲在這里作用不大,因?yàn)槠鋝ampling過程已經(jīng)有充足的隨機(jī)性。