論文筆記:Towards Diverse and Natural Image Descriptions via a Conditional GAN


論文筆記:Towards Diverse and Natural Image Descriptions via a Conditional GAN
ICCV 2017

 

Paper: http://openaccess.thecvf.com/content_ICCV_2017/papers/Dai_Towards_Diverse_and_ICCV_2017_paper.pdf 

Implementation(Torch): https://github.com/doubledaibo/gancaption_iccv2017 

 

本文的目標是想產生高質量的圖像描述語句:more Natural and Diverse

所以本文采用了 Conditional GAN 來實現這一想法,通過控制 random noise vector Z 來生成具有多樣性的語句。

其實模型的整體思路和 seqGAN 是一致的,就是利用 Generator 來產生一個句子,然后交給 Discriminator 來進行判斷。

不同之處在於,與 NLP 中的文本生成不同,Image Caption 需要根據圖像的內容進行句子的產生,然后就變成了 Conditional GAN 了。文章的寫作也是重點體現 CGAN 的作用。

如上圖所示,作者也將 random noise Z 添加進去,以控制產生文本的多樣性,基於這兩個條件,提取特征,輸入給 LSTM,每一個時刻輸出一個單詞,直到遇到表示句子停止的單詞符號為止(例如,[End])。這樣就生成了一個句子。

 

然后作者用 LSTM 提取生成的句子和 Ground Truth 句子的向量,然后塞給 Discriminator,進行判斷。

重點來了,因為文本的生成是離散的符號生成問題,原本用於圖像生成的 CGAN 並不能直接用於此任務。因為梯度的些許改變,也許並不能改變其輸出。

所以,這里需要強化學習技術 Policy Gradient 來進行轉換,將判別器的得分輸出,轉變為 智能體的獎賞 r,優化產生器的參數,使其輸出的句子能夠獲得最大的獎勵,從而使得最終獲得較好的文本生成效果。這樣就把文本的生成問題,看做是強化學習中的動作選擇問題(Action Selection)。

 

如上圖所示,當給你某一段生成的部分句子,由於交給判別器進行打分,需要完成的一句話。所以,文章采用蒙特卡洛 Rollout 的方法,將句子進行補充完整。然后才交給判別器進行打分,獲得獎勵信號。根據得到的獎勵信號,再進行梯度的調整,進而完成產生器 G 的優化。

所以,期望累積獎賞為:

其梯度為:

其中,$\pi$ 那一項是強化學習中的策略(Policy),將條件 f(I), Z 以及接下來的單詞 $S_{1:t-1}$ 作為輸入,並且產生一個在拓展詞匯表中的條件分布(a conditional distribution over the extended vocabulary),即:產生的所有單詞加一個表示語句結束的符號,記為 e。獎勵是 ,該得分是由判別器 E 給出的。

 

 

 

此外,作者也將該模型拓展到產生段落文字的應用場景(利用 Hierarchical LSTM design)。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM