• <sub id="pqc61"><p id="pqc61"></p></sub><sub id="pqc61"></sub>
    在线精品视频一区二区,亚洲中文字幕无码一久久区,正在播放肥臀熟妇在线视频,国内精品视频一区二区三区八戒 ,国产毛片三区二区一区,国产精品一区中文字幕,丰满少妇被猛烈进出69影院,国产成人无码
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能 正文
    發私信給亞萌
    發送

    0

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    本文作者: 亞萌 2017-04-16 13:41
    導語:自然語言處理方面GAN的應用

    雷鋒網按:本文作者莫驚蟄,原文載于知乎,雷鋒網獲授權轉載。

    剛做完實驗,來答一答自然語言處理方面GAN的應用。

    直接把GAN應用到NLP領域(主要是生成序列),有兩方面的問題:

    1. GAN最開始是設計用于生成連續數據,但是自然語言處理中我們要用來生成離散tokens的序列。因為生成器(Generator,簡稱G)需要利用從判別器(Discriminator,簡稱D)得到的梯度進行訓練,而G和D都需要完全可微,碰到有離散變量的時候就會有問題,只用BP不能為G提供訓練的梯度。在GAN中我們通過對G的參數進行微小的改變,令其生成的數據更加“逼真”。若生成的數據是基于離散的tokens,D給出的信息很多時候都沒有意義,因為和圖像不同。圖像是連續的,微小的改變可以在像素點上面反應出來,但是你對tokens做微小的改變,在對應的dictionary space里面可能根本就沒有相應的tokens.

    2.GAN只可以對已經生成的完整序列進行打分,而對一部分生成的序列,如何判斷它現在生成的一部分的質量和之后生成整個序列的質量也是一個問題。

    近幾篇重要的工作:

    1. 為了解決這兩個問題,比較早的工作是上交的這篇發表在AAAI 2017的文章:SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient, 16年9月就放上了Arxiv上面了,而且也公布了源代碼。

    利用了強化學習的東西來解決以上問題。如圖,針對第一個問題,首先是將D的輸出作為Reward,然后用Policy Gradient Method來訓練G。針對第二個問題,通過蒙特卡羅搜索,針對部分生成的序列,用一個Roll-Out Policy(也是一個LSTM)來Sampling完整的序列,再交給D打分,最后對得到的Reward求平均值。

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    完整算法如圖:

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    原文鏈接:https://arxiv.org/pdf/1609.05473v5.pdf

    Github鏈接:LantaoYu/SeqGAN

    2. 第二篇是C.Manning組大神Li Jiwei的文章:Adversarial Learning for Neural Dialogue Generation,用GAN和強化學習來做對話系統,如果我沒有記錯,這篇paper是最早引用SeqGAN的,有同學還說這篇是最早將RL用到GAN上的,主要是Jiwei大神名氣太大,一放上Arxiv就引起無數關注。

    如圖,文章也是用了Policy Gradient Method來對GAN進行訓練,和SeqGAN的方法并沒有很大的區別,主要是用在了Dialogue Generation這樣困難的任務上面。還有兩點就是:第一點是除了用蒙特卡羅搜索來解決部分生成序列的問題之外,因為MC Search比較耗費時間,還可以訓練一個特殊的D去給部分生成的序列進行打分。但是從實驗效果來看,MC Search的表現要更好一點。

    第二點是在訓練G的時候同時還用了Teacher-Forcing(MLE)的方法,這點和后面的MaliGAN有異曲同工之處。

    為什么要這樣做的原因是在對抗性訓練的時候,G不會直接接觸到真實的目標序列(gold-standard target sequence),當G生成了質量很差的序列的時候(生成質量很好的序列其實相當困難),而D又訓練得很好,G就會通過得到的Reward知道自己生成的序列很糟糕,但卻又不知道怎么令自己生成更好的序列, 這樣就會導致訓練崩潰。所以通過對抗性訓練更新G的參數之后,還通過傳統的MLE就是用真實的序列來更新G的參數。類似于有一個“老師”來糾正G訓練過程中出現的偏差,類似于一個regularizer。

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    原文鏈接:https://arxiv.org/pdf/1701.06547.pdf

    Github鏈接:jiweil/Neural-Dialogue-Generation

    3. Yoshua Bengio組在二月底連續放了三篇和GAN有關的paper,其中我們最關心的是大神Tong Che和Li yanran的這篇:Maximum-Likelihood Augmented Discrete Generative Adversarial Networks(MaliGAN),簡稱讀起來怪怪的。。。

    這篇文章的工作主要是兩個方面:

    1.為G構造一個全新的目標函數,用到了Importance Sampling,將其與D的output結合起來,令訓練過程更加穩定同時梯度的方差更低。盡管這個目標函數和RL的方法類似,但是相比之下更能狗降低estimator的方差(強烈建議看原文的3.2 Analysis,分析了當D最優以及D經過訓練但并沒有到最優兩種情況下,這個新的目標函數仍然能發揮作用)

    2.生成較長序列的時候需要用到多次random sampling,所以文章還提出了兩個降低方差的技巧:第一個是蒙特卡羅樹搜索,這個大家都比較熟悉; 第二個文章稱之為Mixed MLE-Mali Training,就是從真實數據中進行抽樣,若序列長度大于N,則固定住前N個詞,然后基于前N個詞去freely run G產生M個樣本,一直run到序列結束。

    基于前N個詞生成后面的詞的原因在于條件分布Pd比完整分布要簡單,同時能夠從真實的樣本中得到較強的訓練信號。然后逐漸減少N(在實驗三中N=30, K=5, K為步長值,訓練的時候每次迭代N-K)

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    Mixed MLE訓練的MaliGAN完整算法如下:

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    在12,梯度更新的時候,第二項(highlight的部分)貌似應該是logP(我最崇拜的學長發郵件去問過一作) 。至于第一部分為什么梯度是近似于這種形式,可以參考Bengio組的另一篇文章:Boundary-Seeking Generative Adversarial Networks

    這個BGAN的Intuition就是:令G去學習如何生成在D決策邊界的樣本,所以才叫做boundary-seeking。作者有一個特別的技巧:如圖,當D達到最優的時候,滿足如下條件,Pdata是真實的分布,Pg是G生成的分布。

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    我們對它進行一點微小的變換:這個形式厲害之處在于,盡管我們沒有完美的G,但是仍然可以通過對Pg賦予權重來得到真實的分布,這個比例就是如圖所示,基于該G的最優D和(1-D)之比。當然我們很難得到最優的D,但我們訓練的D越接近最優D,bias越低。而訓練D(標準二分類器)要比G簡單得多,因為G的目標函數是一個會隨著D變動而變動的目標。

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    文章后面給出了如何求梯度的數學公式,這里就不貼了。

    回到MaliGAN,作者給出了實驗數據,比SeqGAN的效果要更好,看BLEU score.

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    原文鏈接:https://arxiv.org/pdf/1702.07983v1.pdf

    4. 用SeqGAN做機器翻譯,中科院自動化所在三月中旬放出了這篇文章:Improving Neural Machine Translation with Conditional Sequence Generative Adversarial Nets,這篇文章主要的貢獻就是第一次將GAN應用到了NLP的傳統任務上面,而且BLEU有2的提升。

    這個模型他們稱之為CSGAN-NMT,G用的是傳統的attention-based NMT模型,而D有兩種方案,一種是CNN based,另一種是RNN based,通過實驗比較發現CNN的效果更好。推測的原因是RNN的分類模型在訓練早期能夠有極高的分類準確率,導致總能識別出G生成的數據和真實的數據,G難以訓練(因為總是negative signal),

    這篇文章的重點我想是4.訓練策略,GAN極難訓練,他們首先是用MLE來pretrain G,然后再用G生成的樣本和真實樣本來pretrain D,當D達到某一個準確率的時候,進入對抗性訓練的環節,GAN的部分基本和SeqGAN一樣,用policy gradient method+MC search,上面已經講過了不再重復。但是由于在對抗性訓練的時候,G沒有直接接觸到golden target sentence,所以每用policy gradient更新一次G都跑一次professor forcing。這里我比較困惑,我覺得是不是像Jiwei那篇文章,是用D給出的Reward來更新G參數之后,又用MLE來更新一次G的參數(保證G能接觸到真實的樣本,這里就是目標語言的序列),但這個方法是teacher-forcing不是professor forcing。

    最后就是訓練Trick茫茫,這篇文章試了很多超參數,比如D要pretrain到f=0.82的時候效果最好,還有pretrain要用Adam,而對抗性訓練要用RMSProp,同時還要和WGAN一樣將每次更新D的權重固定在一個范圍之內。

    原文鏈接:https://arxiv.org/pdf/1703.04887.pdf

    5.最后3月31號放到Arxiv上的文章:Improved Training of Wasserstein GANs, WGAN發布之后就引起轟動,比如Ian在Reddit上就點評了這篇文章,NYU的又祭出了這篇,令WGAN在NLP上也能發揮威力。

    在WGAN中,他們給出的改進方案是:

    判別器最后一層去掉sigmoid

    生成器和判別器的loss不取log

    每次更新判別器的參數之后把它們的絕對值截斷到不超過一個固定常數c

    不要用基于動量的優化算法(包括momentum和Adam),推薦RMSProp,SGD也行

    這里引用自知乎專欄:令人拍案叫絕的Wasserstein GAN - 知乎專欄

    文章寫得深入淺出,強烈推薦。

    其中第三項就是機器翻譯文章中也用到的weight clipping,在本文中,他們發現通過weight clipping來對D實施Lipschitz限制(為了逼近難以直接計算的Wasserstein距離),是導致訓練不穩定,以及難以捕捉復雜概率分布的元兇。所以文章提出通過梯度懲罰來對Critic(也就是D,WGAN系列都將D稱之為Critic)試試Lipschitz限制。

    如圖:損失函數有原來的部分+梯度懲罰,現在不需要weight clipping以及基于動量的優化算法都可以使用了,他們在這里就用了Adam。同時可以拿掉Batch Normalization。

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    如圖所示,實驗結果很驚人,這種WGAN—GP的結構,訓練更加穩定,收斂更快,同時能夠生成更高質量的樣本,而且可以用于訓練不同的GAN架構,甚至是101層的深度殘差網絡。

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    同時也能用于NLP中的生成任務,而且是character-level 的language model,而MaliGAN的實驗是在Sentence-Level上面的。而且前面幾篇提到的文章2,3,4在對抗性訓練的時候或多或少都用到了MLE,令G更夠接觸到Ground Truth,但是WGAN-GP是完全不需要MLE的部分。

    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    原文鏈接:https://arxiv.org/pdf/1704.00028.pdf

    github地址:https://github.com/igul222/improved_wgan_training

    代碼一起放出簡直業界良心。

    6. 3月31號還谷歌還放出了一篇BEGAN: Boundary Equilibrium Generative Adversarial Networks,同時代碼也有了是carpedm20用pytorch寫的,他復現的速度真心快。。。

    最后GAN這一塊進展很多,同時以上提到的幾篇重要工作的一二作,貌似都在知乎上,對他們致以崇高的敬意。

    更多雷鋒網文章:

    蒙特利爾大學研究者改進Wasserstein GAN,極大提高GAN訓練穩定性

    到 200 行代碼,教你如何用 Keras 搭建生成對抗網絡(GAN)



    AI慕課學院近期推出了《NLP工程師入門實踐班:基于深度學習的自然語言處理》課程!

    三大模塊,五大應用,海外博士講師手把手教你入門NLP,更有豐富項目經驗相授;算法+實踐,搭配典型行業應用;隨到隨學,專業社群,講師在線答疑!

    課程地址:http://www.mooc.ai/course/427

    加入AI慕課學院人工智能學習交流QQ群:624413030,與AI同行一起交流成長


    生成式對抗網絡GAN最近在NLP領域有哪些應用?

    分享:
    相關文章

    編輯

    關注人工智能(AI)報道
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說
    主站蜘蛛池模板: 337p粉嫩大胆噜噜噜| 国产综合亚洲欧美日韩在线| 深夜在线观看免费av| 激情综合色综合久久综合| 欧美日韩一区免费高清| 青草青在线视频在线观看| 99精品久久久久中文字幕| 国产女人喷潮视频免费| 国产刺激爽爽在线视频| 免费不卡在线视频一区二区| 国产婷婷色综合AV蜜臀AV| 国产普通话对白刺激| 久草综合视频| 丁香婷婷六月天| 麻豆国产| 久久久精品2019中文字幕之3| 亚洲中文字幕无码一区二区三区 | 日韩精品有码中文字幕| 亚洲女人天堂| www.久久se精品一区二区.com| 国产裸舞福利在线视频合集| 中文字幕午夜福利片午夜福利片97| 国产激情艳情在线看视频| 越南毛茸茸的少妇| 亚洲人成网线在线播放不卡| 一区二区不卡99精品日韩| 久久熟| 日本一区二区不卡精品| 国产短视频一区二区三区| 东京热加勒比综合| 色综合天天综合网国产| 免费午夜无码18禁无码影院| 一级香蕉视频在线观看| 亚洲午夜爱爱香蕉片| 久久99日本免费国产精品| 亚洲色图自拍| 色一情一乱一伦麻豆| 亚洲va久久久噜噜噜久久不卡| 欧美成人精品高清视频在线| 亚洲精品综合久中文字幕| 久久国模|