日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RSGAN:对抗模型中的“图灵测试”思想

發布時間:2024/10/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RSGAN:对抗模型中的“图灵测试”思想 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


作者丨蘇劍林

單位丨廣州火焰信息科技有限公司

研究方向丨NLP,神經網絡

個人主頁丨kexue.fm


這兩天無意間發現一個非常有意義的工作,稱為“相對GAN”,簡稱 RSGAN,來自文章 The relativistic discriminator: a key element missing from standard GAN,據說該文章還得到了 GAN 創始人 Goodfellow 的點贊。這篇文章提出了用相對的判別器來取代標準 GAN 原有的判別器,使得生成器的收斂更為迅速,訓練更為穩定。?




可惜的是,這篇文章僅僅從訓練和實驗角度對結果進行了論述,并沒有進行更深入的分析,以至于不少人覺得這只是 GAN 訓練的一個 trick。但是在筆者看來,RSGAN 具有更為深刻的含義,甚至可以看成它已經開創了一個新的 GAN 流派。所以,筆者決定對 RSGAN 模型及其背后的內涵做一個基本的介紹。不過需要指出的是,除了結果一樣之外,本文的介紹過程跟原論文相比幾乎沒有重合之處。


“圖靈測試”思想


SGAN


SGAN 就是標準的 GAN(Standard GAN)。就算沒有做過 GAN 研究的讀者,相信也從各種渠道了解到 GAN 的大概原理:“造假者”不斷地進行造假,試圖愚弄“鑒別者”;“鑒別者”不斷提高鑒別技術,以分辨出真品和贗品。兩者相互競爭,共同進步,直到“鑒別者”無法分辨出真、贗品了,“造假者”就功成身退了。?


在建模時,通過交替訓練實現這個過程:固定生成器,訓練一個判別器(二分類模型),將真實樣本輸出 1,將偽造樣本輸出 0;然后固定判別器,訓練生成器讓偽造樣本盡可能輸出 1,后面這一步不需要真實樣本參與。


問題所在


然而,這個建模過程似乎對判別器的要求過于苛刻了,因為判別器是孤立運作的:訓練生成器時,真實樣本沒有參與,所以判別器必須把關于真實樣本的所有屬性記住,這樣才能指導生成器生成更真實的樣本。


在生活實際中,我們并不是這樣做的,所謂“沒有對比就沒有傷害,沒有傷害就沒有進步”,我們很多時候是根據真、贗品的對比來分辨的。比如識別一張假幣,可能需要把它跟一張真幣對比一下;識別山寨手機,只需要將它跟正版手機對比一下就行了;等等。類似地,如果要想把贗品造得更真,那么需要把真品放在一旁不斷地進行對比改進,而不是單單憑借“記憶”中的真品來改進。


“對比”能讓我們更容易識別出真、贗品出來,從而更好地制造贗品。而在人工智能領域,我們知道有非常著名的“圖靈測試”,指的是測試者在無法預知的情況下同時跟機器人和人進行交流,如果測試者無法成功分別出人和機器人,那么說明這個機器人已經(在某個方面)具有人的智能了。“圖靈測試”也強調了對比的重要性,如果機器人和人混合起來后就無法分辨了,那么說明機器人已經成功了。


接下來我們將會看到,RSGAN 就是基于“圖靈測試”的思想的:如果鑒別器無法鑒別出混合的真假圖片,那么生成器就成功了;而為了生成更好的圖片,生成器也需要直接借助于真實圖片。


RSGAN基本框架


SGAN分析


首先,我們來回顧一下標準 GAN 的流程。設真實樣本分布為 p?(x),偽造樣本分布為 q(x),那么固定生成器后,我們來優化判別器 T(x):



這里的 σ 就是 sigmoid 激活函數。然后固定判別器,我們優化生成器 G(z):?



注意這里我們有個不確定 h,我們馬上就來分析它。從 (1) 我們可以解出判別器的最優解滿足(后面有補充證明):



代入 (2),可以發現結果為:



寫成最后一個等式,是因為只需要設 f(t)=h(log(t)),就能夠看出它具有 f 散度的形式。也就是說,最小化 (2) 就是在最小化對應的 f 散度。關于 f 散度,可以參數我之前寫的?f-GAN 簡介:GAN 模型的生產車間 [1]


f 散度中的 f 的本質要求是 f 是一個凸函數,所以只需要選擇 h 使得 h(log(t)) 為凸函數就行。最簡單的情況是 h(t)=?t,對應 h(log(t))=?logt 為凸函數,這時候 (2) 為:



類似的選擇有很多,比如當 h(t)=?logσ(t) 時,也是凸函數(t>0 時),所以:



也是一個合理的選擇,它便是 GAN 常用的生成器 loss 之一。類似地還有 h(t)=log(1?σ(t)),這些選擇就不枚舉了。


RSGAN目標


這里,我們先直接給出 RSGAN 的優化目標:固定生成器后,我們來優化判別器 T(x):



這里的 σ 就是 sigmoid 激活函數。然后固定判別器,我們優化生成器 G(z):



跟 SGAN 一樣,我們這里保留了一般的 h,h 的要求跟前面的 SGAN 的討論一致。而 RSGAN 原論文的選擇是:



看上去就是把 SGAN 的判別器的兩項換成一個相對判別器了,相關的分析結果有什么變化呢?


理論結果


通過變分法(后面有補充證明)可以得到,(7) 的最優解為:



代入到 (8),結果是:



這個結果便是整個 RSGAN 的精華所在了,它優化的是 p?(Xr)q(Xf) 與 p?(Xf)q(Xr) 的 f 散度!?


這是什么意思呢?它就是說,假如我從真實樣本采樣一個 Xr 出來,從偽造樣本采樣一個 Xf 出來,然后將它們交換一下,把假的當成真,真的當成假,那么還能分辨出來嗎?換言之:p?(Xf)q(Xr) 有大變化嗎??


假如沒有什么變化,那就說明真假樣本已經無法分辨了,訓練成功,假如還能分辨出來,說明還需要借助真實樣本來改善偽造樣本。所以,式 (11) 就是 RSGAN 中的“圖靈測試”思想的體現:打亂了數據,是否還能分辨出來?


模型效果分析


作者在原論文中還提出了一個 RaSGAN,a 是 average 的意思,就是用整個 batch 的平均來代替單一的真/偽樣本。但我覺得這不是一個特別優雅的做法,而且論文也表明 RaSGAN 的效果并非總是比 RSGAN 要好,所以這就不介紹了,有興趣的讀者看看原論文即可。?


至于效果,論文中的效果列表顯示,RSGAN 在不少任務上都提升了模型的生成質量,但這并非總是這樣,平均而言有輕微的提升吧。作者特別指出的是 RSGAN 能夠加快生成器的訓練速度,我個人也實驗了一下,比 SGAN、SNGAN 都要快一些。


我的參考代碼:


https://github.com/bojone/gan/blob/master/keras/rsgan_sn_celeba.py


借用 MingtaoGuo [2] 的一張圖來對比 RSGAN 的收斂速度:


?RSGAN收斂速度對比


從直觀來看,RSGAN 更快是因為在訓練生成器時也借用了真實樣本的信息,而不僅僅通過判別器的“記憶”;從理論上看,通過 T(Xr)、T(Xf) 作差的方式,使得判別器只依賴于它們的相對值,從而簡單地改善了判別器 T 可能存在的偏置情況,使得梯度更加穩定。甚至我覺得,把真實樣本也引入到生成器的訓練中,有可能(沒仔細證明)提升偽造樣本的多樣性,因為有了各種真實樣本來對比,模型如果只生成單一樣本,也很難滿足判別器的對比判別標準。


相關話題討論


簡單總結


總的來說,我覺得 RSGAN 是對 GAN 的改進是從思想上做了改變的,也許 RSGAN 的作者也沒有留意到這一點。?


我們經常說,WGAN 是 GAN 之后的一大突破,這沒錯,但這個突破是理論上的,而在思想上還是一樣,都是在減少兩個分布的距離,只不過以前用 JS 散度可能有各種問題,而 WGAN 換用了 Wasserstein 距離。


我覺得 RSGAN 更像是一種思想上的突破——轉化為真假樣本混淆之后的分辨——盡管效果未必有大的進步。(當然你要是說大家最終的效果都是拉近了分布距離,那我也沒話說)。?


RSGAN 的一些提升是容易重現的,當然由于不是各種任務都有提升,所以也有人詬病這不過是 GAN 訓練的一個 trick。這些評論見仁見智吧,不妨礙我對這篇論文的贊賞和研究。?


對了,順便說一下,作者 Alexia Jolicoeur-Martineau [3] 是猶太人總醫院(Jewish General Hospital)的一名女生物統計學家,論文中的結果是她只用一顆 1060 跑出來的 [4]。我突然也為我只有一顆 1060 感到自豪了,然而我有 1060 但我并沒有 paper。


延伸討論


最后胡扯一些延伸的話題。?


首先,可以留意到,WGAN 的判別器 loss 本身就是兩項的差的形式,也就是說 WGAN 的判別器就是一個相對判別器,作者認為這是 WGAN 效果好的重要原因。?


這樣看上去 WGAN 跟 RSGAN 本身就有一些交集,但我有個更進一步的想法,就是基于 p?(xr)q(xf) 與p?(xf)q(xr) 的比較能否完全換用 Wasserstein 距離來進行?我們知道 WGAN 的生成器訓練目標也是跟真實樣本沒關系的,怎么更好地將真實樣本的信息引入到 WGAN 的生成器中去??


還有一個問題,就是目前作差僅僅是判別器最后輸出的標量作差,那么能不能是判別器的某個隱藏層作差,然后算個 mse 或者再接幾層神經網絡?總之,我覺得這個模型的事情應該還沒完。


補充證明


(1) 的最優解



變分用 δ 表示,跟微分基本一樣:



極值在變分為 0 時取到,而 δσ(T(x)) 代表任意增量,所以如果上式恒為 0,意味著括號內的部分恒為 0,即:



(7) 的最優解



變分上式:



極值在變分為 0 時取到,所以方括號內的部分恒為 0,即:



相關鏈接


[1].?https://kexue.fm/archives/6016

[2].?https://github.com/MingtaoGuo/DCGAN_WGAN_WGAN-GP_LSGAN_SNGAN_RSGAN_RaSGAN_TensorFlow

[3].?https://scholar.google.com/citations?user=0qytQ1oAAAAJ&hl=en

[4].?https://www.reddit.com/r/MachineLearning/comments/8vr9am/r_the_relativistic_discriminator_a_key_element/e1ru76p




點擊以下標題查看作者其他文章:?


  • 變分自編碼器VAE:原來是這么一回事 | 附開源代碼

  • 再談變分自編碼器VAE:從貝葉斯觀點出發

  • 變分自編碼器VAE:這樣做為什么能成?

  • 深度學習中的互信息:無監督提取特征

  • 全新視角:用變分推斷統一理解生成模型

  • 細水長flow之NICE:流模型的基本概念與實現

  • 細水長flow之f-VAEs:Glow與VAEs的聯姻

  • 深度學習中的Lipschitz約束:泛化與生成模型


關于PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。


▽ 點擊 |?閱讀原文?| 查看作者博客

總結

以上是生活随笔為你收集整理的RSGAN:对抗模型中的“图灵测试”思想的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。