如何讓對抗網絡GAN生成更高質量的文本?LeakGAN現身說法:「對抗中...

2021-01-05 雷鋒網

雷鋒網 AI 科技評論按:自生成式對抗性網絡 GANs 出現以來,它和它的變體已經無數次在圖像生成任務中證明了自己的有效性,也不斷地吸引著越來越多的研究人員加入到提高GANs訓練的可控性和穩定性的研究中。

最初,由於其中的一個缺陷,GANs在文本生成方面無法得到有效的應用。得益於該團隊之前發表的SeqGAN,GANs在文本生成上有了可能,不過表現並沒有圖像生成任務中那麼突出。主要問題之一就是,生成器 G 從鑑別器 D 獲得的反饋中含有的信息量太少,不足以有效地引導 G 更新、提升文本生成質量,尤其是當文本長度較長的時候。

這就引出了下面這個問題:如果讓鑑別器反饋更多信息給生成器,是否能夠有效地改善生成器在長句生成任務中的表現呢?上海交通大學俞勇教授、張偉楠助理教授及學生郭家賢、盧思迪、蔡涵聯合UCL計算機系汪軍教授共同完成的論文「Long Text Generation via Adversarial Training with Leaked Information」(通過有信息洩露的對抗性訓練生成長文本)中,他們就對長句子的文本生成這個問題進行了研究,找到了答案,提出了行之有效的方法,為對抗網絡廣泛用在機器人問答,自動生成新聞,和機器翻譯等應用中提供了可能性。

生成式對抗性網絡(GANs)最初是為生成圖像之類的連續數據設計的。之前該小組提出的 SeqGAN 等模型可以處理分段的序列離散數據,這樣就可以為對抗網絡文本生成提供了可能,展現出了一些有潛力的成果。由於英文文本是天然地分為一個一個詞的,逐詞的文本生成任務可以被建模為一個序列決策過程,對於其中的每一步,當前狀態是已經生成的詞,行為是即將要生成的詞,生成式網絡 G 就是一個把當前狀態映射到行為空間分布的隨機策略。當整句文本生成結束之後,生成的這個句子就會被送入鑑別器 D,它經過訓練之後能夠把真實的文本和生成的文本區分開,區分的結果就會作為 G 的得到的回報,引導它更新。

SeqGAN之後,研究人員們提出了許多把 GANs 及其變體用於文本生成的方法。然而,這些研究結果往往局限於生成的文本較短的情況(比如20個詞以內),更困難的長文本生成方面則沒有看到多少研究。在新聞報導、產品說明的自動生成這種實際任務中,長文本生成能力是不可或缺的。目前基於序列決策的文本生成方法中有一個很大的不足,那就是來自鑑別器 D 的概率標量反饋信號是稀疏的,因為文本雖然是由 G 在多輪行動中逐個詞生成的,但只有當整個句子都生成完畢後 G 才能收到來自 D 的反饋信號。而且,G 本應是在 D 的指導下更新自己的策略的,但 D 對這整段文字的反饋是一個標量,信息量極為有限,不足以保留過程中的句法結構和文本語意,也就無法有效地幫助 G 學習更新。

一方面,為了增加來自鑑別器 D 的信息量,它應當在最終的判別反饋值之外提供更多的指導信息,畢竟 D 是一個結構已知的、經過訓練的 CNN網絡,而不是一個黑箱子,完全有可能讓 D 提供更多的信息。另一方面,來自 D 的指導信息仍然是稀疏的,為了緩解這個問題,作者們想到了利用文本生成中的層次性,即:真實的文本樣本都是遵照語意結構和詞性之類的語言層次而寫出的。通過把整個文本生成任務按照層次結構分解成多個子任務,模型就能夠更輕鬆地進行學習。

在這篇論文中,作者們就沿著以上的思路,提出了名為 LeakGAN 的模型結構,同時處理 D 反饋信息量不足和反饋稀疏的兩個問題。LeakGAN 就是一種讓鑑別器 D 提供更多信息給生成器 G 的新方式。

如圖所示,為了利用從D中洩露出的高維信息,作者們參考DeepMind在ICML2017中發表的FeUdal Network設計了一個層次化的生成器 G,其中包含了一個高階的 Manager 模塊和低階的 Worker 模塊。Manager 模塊是一個 LSTM 網絡,它起到的作用是信息中介。在每一輪生成新一個單詞的過程中,Manager 模塊都會從鑑別器 D 接收到高維特徵表徵,比如 D 的CNN網絡中的feature map,然後 Manager 模塊就會利用這些信息形成指導目標(goal),作用於當前的 Worker 模塊。由於 D 和 G 的角色本來是對抗性的,D 中的信息只應當保留在自己內部;但現在有一些 D 中的信息被「洩露」給 G 了,好像間諜一樣,所以作者們把它命名為 LeakGAN。

接著,當 Manager 模塊生成了目標嵌入(goal embedding)之後,Worker 模塊會把當前已生成的單詞用另一個 LSTM 網絡編碼,然後把 LSTM 的輸出和目標嵌入結合起來,以確保能夠綜合依據 Manager 的指導和當前狀態生成一個合適的新單詞。通過這樣的過程,來自 D 的反饋信息就不僅僅表現為整句話生成完成後的判別結果的那個標量,更在這句話的生成過程中就通過目標嵌入向量的方式提供了許多信息,指導 G 提升自己的表現。

據作者們介紹,這是首個GAN框架中通過洩露信息的方式來更好地訓練生成器,並且結合了層次化強化學習來解決長文本生成問題的研究。

根據作者們的設計,生成器中 Manager 模塊接收來自 D 的特徵向量、生成目標嵌入以及 Worker 模塊結合當前句子和目標生成新單詞的整個過程都是可微的,所以REINFROCE這樣的策略梯度算法可以被直接端到端地(end to end)用於訓練 G。但是,由於Manager 模塊和Worker模塊被期望能專注於各自的任務以識別到有意義的特徵,所以正如FeUdal Network中的做法,Manager 模塊和 Worker 模塊是被單獨訓練的,其中 Manager 模塊要能從鑑別器的特徵空間中預測到更有價值的方向,而 Worker 模塊沿著這個方向做出行動的話就會收到獎勵。訓練時, Manager 模塊和 Worker 模塊也是交替更新的,每次都是固定一個、更新另一個。

並且,作者們也仔細設計了訓練方法來應對一般的 GAN 訓練中容易出現的問題,比如當 D 比 G 強很多的時候會出現梯度消失的問題。受到 RankGAN 中排序方法的啟發,他們提出了一個簡單高效、基於排名的方法「自舉再激活」(Bootstrapped Rescaled Activation)來調整 D 的反饋大小。經過這個轉換後,每個mini-batch得到的反饋的期望和差值會成為常數,這個方法就相當於是一個值穩定器,當算法對數值大小很敏感的時候能夠起到很大幫助;而且,作為排序方法,它也能避免梯度消失的問題,這加速了模型的收斂。

作者們還採取了交替訓練(Interleaved Training)的方法來避免模式崩潰(mode collapse)的問題,即,在預訓練之後,不是像以往一樣全部由對抗式訓練直到收斂,而是讓監督學習訓練和對抗式訓練交替進行。這種做法的意義是能夠幫助模型避開不好的局部最小值,並避免模式崩潰。另一方面,加入的監督學習訓練也是對生成模型的一種隱式正則化,避免模型行為偏離監督學習的結果太遠。

訓練曲線如圖,可以看到,LeakGAN 的負對數似然下降得比以往的方法都要快得多;在文本長度為40的狀況下,以往的方法甚至很難收斂。

作者們基於生成的數據和真實數據做了許多的實驗。在基於生成的數據的實驗中,LeakGAN 在20到40詞長度的文本序列中取得了比以往模型明顯更低的負對數似然。(表1)

在基於真實數據的實驗中,作者們選用了 EMNLP 2017 WMT新聞、COCO圖像標註和中文詩詞分別作為長、中、短的文本語料,LeakGAN也取得了最高了BLEU分數。(表2、3、4)

在人類圖靈測試中,LeakGAN也比以往模型取得了明顯提高。(表5)

作者們還對 Manager 模塊和 Worker 模塊之間的互動行為做了深入的研究,結果表明 LeakGAN 在沒有顯式給出句子結構的情況下可以隱式地學到句子結構,比如標點符號、時態和長後綴。

下面是一個該模型生成文本例子與之前工作的對比:

研究的具體細節可以參見原論文 https://arxiv.org/abs/1709.08624 ,論文中有豐富的附錄介紹了訓練過程中的數據,提供了不少生成的句子,並且提供了模型代碼。

此外,我們也邀請到了論文作者之一的張偉楠到雷鋒網做公開課,講解這篇論文的成果以及用GANs做文本生成相關研究的更多狀況。

張偉楠現於上海交通大學計算機系和約翰·霍普克羅夫特研究中心擔任助理教授,研究方向為機器學習及其在數據挖掘問題中的應用。他於2011年畢業於上海交通大學計算機系ACM班,於2016年獲得英國倫敦大學學院計算機系博士學位,研究成果在國際一流學術會議和期刊上發表50篇論文,其中5次以第一作者身份在ACM國際數據科學會議KDD上發表;2016年獲得由微軟研究院評選的「全球SIGKDD Top 20科研新星」稱號;2017年獲得ACM國際信息檢索會議SIGIR的最佳論文提名獎。他曾在KDD-Cup用戶個性化推薦大賽獲得全球季軍,在全球大數據實時競價展示廣告出價算法大賽獲得最終冠軍。個人研究主頁:http://wnzhang.net/ 

公開課時間為9月28日周四晚20:00,感興趣的讀者可以掃碼報名,到時不要錯過哦!

論文相關內容雷鋒網(公眾號:雷鋒網) AI 科技評論編譯,感謝張偉楠助理教授、汪軍教授對本文的補充指正。

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 輕鬆構建 PyTorch 生成對抗網絡(GAN)
    主要內容課題及方案概覽模型的開發環境生成對抗網絡模型模型的訓練和驗證結論與總結課題及方案概覽下面顯示的兩組手寫體數字圖片,您是否能從中夠辨認出由計算機生成的『手寫』字體是其中哪一組?『模仿手寫字體』與人像生成的基本原理和工程流程基本是一致的,雖然它們的複雜性和精度要求有一定差距,但是通過解決『模仿手寫字體』問題,可以為生成對抗網絡的原理和工程實踐打下基礎,進而可以逐步嘗試和探索更加複雜先進的網絡架構和應用場景。《生成對抗網絡》(GAN)由 Ian Goodfellow 等人在 2014年提出,它是一種深度神經網絡架構,由一個生成網絡和一個判別網絡組成。
  • 萬字綜述之生成對抗網絡(GAN)
    文章目錄如下:GAN的基本介紹生成對抗網絡(GAN,Generative Adversarial Networks)作為一種優秀的生成式模型,引爆了許多圖像生成的有趣應用。GAN 相比於其他生成式模型,有兩大特點: 1. 不依賴任何先驗假設。傳統的許多方法會假設數據服從某一分布,然後使用極大似然去估計數據分布。 2.
  • GAN(生成對抗網絡)的最新應用狀況
    G 的 loss 包含 content loss 部分,因此 G 並非完全的非監督,它也用到了監督信息:它強制要求生成圖像提取的特徵與真實圖像提取的特徵要匹配,文中用到的特徵提取網絡為 VGG,content loss 定義如下:
  • 生成對抗網絡(GAN)的半監督學習
    它通過從沒有標籤的數據中提取有用的信息來彌補標籤損失帶來的不足,進一步提高了模型的整體性能。半監督的分類器需要一小部分標記數據和大量未標記數據(來自同一域)。其目標是結合這些數據源來訓練模型,比如深度卷積神經網絡(DCNN),以學習這些數據中的類別信息。在此領域中,我們學者提出一個GAN模型,該模型使用一個非常小的標籤訓練集對街景門牌號進行分類。
  • 資源|帶自注意力機制的生成對抗網絡,實現效果怎樣?
    在前一段時間,Han Zhang 和 Goodfellow 等研究者提出添加了自注意力機制的生成對抗網絡,這種網絡可使用全局特徵線索來生成高解析度細節。本文介紹了自注意力生成對抗網絡的 PyTorch 實現,讀者也可以嘗試這一新型生成對抗網絡。
  • 超全的GAN PyTorch+Keras實現集合
    作者們提出了「對抗自編碼器」(AAE),它是一種概率自編碼器,且通過最近提出的生成對抗網絡實現變分推斷。匹配聚合後驗分布和先驗分布確保了從任意先驗空間中的採樣都能生成有意義的樣本。最後,對抗自編碼器的解碼器將學習一個深度生成模型以將先驗分布映射到數據分布中。作者們展示了對抗自編碼器如何應用於半監督分類、圖像內容和風格解析、無監督聚類、降維算法和數據可視化等內容。作者還實現了一些實驗,並在生成建模和半監督分類任務中取得了很好的性能。
  • 不到200 行代碼,教你如何用 Keras 搭建生成對抗網絡(GAN)
    它的核心思想是:同時訓練兩個相互協作、同時又相互競爭的深度神經網絡(一個稱為生成器 Generator,另一個稱為判別器 Discriminator)來處理無監督學習的相關問題。在訓練過程中,兩個網絡最終都要學習如何處理任務。通常,我們會用下面這個例子來說明 GAN 的原理:將警察視為判別器,製造假幣的犯罪分子視為生成器。一開始,犯罪分子會首先向警察展示一張假幣。
  • 生成對抗網絡的最新研究進展
    生成對抗網絡的工作原理給定一組目標樣本,生成器試圖生成一些能夠欺騙判別器、使判別器相信它們是真實的樣本。判別器試圖從假(生成)樣本中解析真實(目標)樣本。3.質量與前面的問題一樣,很難定量地判斷生成器何時會生成高質量的樣本。在損失函數中加入額外的感知正則化可以在一定程度上緩解這種情況。4.度量GAN 的目標函數解釋了和其對手相比,它的生成器或者判別器表現如何。然而,它並不代表輸出的質量或多樣性。
  • 雲計算必備知識-基於PyTorch機器學習構建生成對抗網絡
    主要內容 課題及方案概覽 模型的開發環境 生成對抗網絡模型 模型的訓練和驗證 結論與總結 課題及方案概覽下面顯示的兩組手寫體數字圖片,您是否能從中夠辨認出由計算機生成的『手寫』字體是其中哪一組?  『模仿手寫字體』與人像生成的基本原理和工程流程基本是一致的,雖然它們的複雜性和精度要求有一定差距,但是通過解決『模仿手寫字體』問題,可以為生成對抗網絡的原理和工程實踐打下基礎,進而可以逐步嘗試和探索更加複雜先進的網絡架構和應用場景。《生成對抗網絡》(GAN)由 Ian Goodfellow 等人在 2014年提出,它是一種深度神經網絡架構,由一個生成網絡和一個判別網絡組成。
  • 深度學習界明星:生成對抗網絡與Improving GAN
    2016年12月NIPS大會上,Goodfellow做了關於GANs的專題報告,使得GANs成為了當今最熱門的研究領域之一,本文將介紹如今深度學習界的明星——生成對抗網絡。1何為生成對抗網絡生成對抗網絡,根據它的名字,可以推斷這個網絡由兩部分組成:第一部分是生成,第二部分是對抗。
  • 使用GAN生成時間序列數據,DoppelGANger論文詳解
    在本文中,我們描述並應用了一種最新的強大方法的擴展版本,以生成合成順序數據DoppelGANger。 它是基於生成對抗網絡(GAN)的框架,具有一些創新,使生成複雜順序數據集的合成版本成為可能。我們通過引入兩項創新來構建這項工作:1. 一種學習策略,可加快GAN的收斂速度並避免模式崩潰。1.
  • 如何使用GAN做一個禿頭生產器
    看過這部劇後,我突然很想知道自己禿頭是什麼樣子,於是查了一下飛槳官網,果然它有圖片生成的模型庫。那麼,我們如何使用PaddlePaddle做出一個禿頭生成器呢。  生成對抗網絡介紹  說到圖像生成,就必須說到GAN,它是一種非監督學習的方式,通過讓兩個神經網絡相互博弈的方法進行學習,該方法由lan Goodfellow等人在2014年提出。生成對抗網絡由一個生成網絡和一個判別網絡組成,生成網絡從潛在的空間(latent space)中隨機採樣作為輸入,其輸出結果需要儘量模仿訓練集中的真實樣本。
  • 入門級介紹生成對抗網絡(GAN)
    在過去的幾十年中,由於強大的處理器和大量數據,深度學習算法已經走了很長一段路。區分模型在所有AI任務中都表現出色。另一方面,在對抗型生成網絡出現之前,生成型模型無法留下深刻的印象。在2014年,伊恩·古德費洛(Ian Goodfellow)發表了一篇名為《生成對抗網絡》的論文,從那以後就再也沒有回頭路了。
  • 揭秘騰訊變臉魔法,生成對抗網絡GAN的威力是什麼?
    揭秘騰訊變臉魔法,生成對抗網絡GAN的威力是什麼?不管是創造了微視視頻特效製作量新紀錄的王者臉,還是在QQ上線的全球首創光頭特效,都是騰訊光影研究室利用生成式對抗網絡 GAN所製造的魔法。隨著GAN網絡在生成質量上的不斷提高,它越來越頻繁地落地到社交娛樂場景中,給用戶帶去最直觀、新鮮的AI體驗。左右互搏生成完美圖片,AI界的"網紅"技術那麼使得新型變臉特效得以實現的生成式對抗網絡 GAN,究竟是什麼?它是由美國科學家Ian Goodfellow發明,試圖讓計算機自己生成逼真圖片的AI技術。
  • 生成對抗網絡(GAN)是幹什麼用的?
    什麼是生成對抗網絡?生成式對抗網絡(GAN, Generative Adversarial Networks )是一種深度學習模型,是近年來複雜分布上無監督學習最具前景的方法之一。模型通過框架中(至少)兩個模塊:生成模型(Generative Model)和判別模型(Discriminative Model)的互相博弈學習產生相當好的輸出。原始 GAN 理論中,並不要求 G 和 D 都是神經網絡,只需要是能擬合相應生成和判別的函數即可。但實用中一般均使用深度神經網絡作為 G 和 D 。
  • GAN快速入門資料推薦:17種變體的Keras開原始碼,附相關論文
    夏乙 編譯整理量子位 出品 | 公眾號 QbitAI圖片來源:Kaggle blog從2014年誕生至今,生成對抗網絡(GAN)始終廣受關注,已經出現了200多種有名有姓的變體。這項「造假神技」的創作範圍,已經從最初的手寫數字和幾百像素小渣圖,拓展到了壁紙級高清照片、明星臉,甚至藝術畫作。
  • 生成對抗網絡(GAN)的數學原理全解
    、情緒對抗樣本生成GAN 的原論文中的證明會有一些不嚴謹的地方,並且在算法中為了訓練效率更高,也有很多簡化,其實這也是這個領域的一個常見現象,在北大的深度學習的數學原理的暑期課上,老師就提到過 GAN 的目標是解決以下問題:假設有一組對象數據集,例如,一組貓的圖像,或者手寫的漢字,或者梵谷的繪畫等等,GAN 可以通過噪聲生成相似的對象,原理是神經網絡通過使用訓練數據集對網絡參數進行適當調整,並且深度神經網絡可以用來近似任何函數
  • 典型的深度學習算法(三):生成對抗網絡(GAN)
    ,今天的文章將為大家介紹第三種典型的深度學習算法—生成對抗網絡(GAN)。 生成對抗網絡(GAN, Generative Adversarial Networks )作為深度學習模型的一種,是近年來複雜分布上無監督學習中最具前景的方法之一。 GAN的初衷就是生成不存在於真實世界的數據,可以理解為類似於使得 AI具有創造力或者想像力。
  • 要讓GAN生成想要的樣本,可控生成對抗網絡可能會成為你的好幫手
    韓國大學電子工程學院Minhyeok Lee和Junhee Seok近期發表論文,就生成對抗網絡的控制問題給出了自己的辦法,雷鋒網 AI 科技評論根據原文進行如下編輯,原文連結簡介生成對抗網絡(GANs)是最近幾年提出的新方法,在其問世之後的短短時間內,生成對抗網絡已經在生成真實的樣本上表現出很多有前途的結果了。然
  • 吳恩達Deeplearning.ai國慶節上新:生成對抗網絡(GAN)專項課程
    作者:蛋醬生成對抗網絡(Generative Adversarial Network,GAN)是當前功能最強大的機器學習模型之一,其能夠生成逼真的圖像、視頻和語音輸出結果。基於 GAN 的應用十分廣泛,比如防禦對抗攻擊和數據匿名化來保護隱私,以提升網絡安全性,再比如生成新圖像,為黑白圖像著色、提高圖像解析度、2D 圖像轉 3D 等技術。