摘要:相比于,它將也作為隱變量納入到變分推斷中。結(jié)論綜述本文的結(jié)果表明了變分推斷確實(shí)是一個(gè)推導(dǎo)和解釋生成模型的統(tǒng)一框架,包括和。
作者丨蘇劍林
單位丨廣州火焰信息科技有限公司
研究方向丨NLP,神經(jīng)網(wǎng)絡(luò)
個(gè)人主頁丨kexue.fm
前言
我小學(xué)開始就喜歡純數(shù)學(xué),后來也喜歡上物理,還學(xué)習(xí)過一段時(shí)間的理論物理,直到本科畢業(yè)時(shí),我才慢慢進(jìn)入機(jī)器學(xué)習(xí)領(lǐng)域。所以,哪怕在機(jī)器學(xué)習(xí)領(lǐng)域中,我的研究習(xí)慣還保留著數(shù)學(xué)和物理的風(fēng)格:企圖從最少的原理出發(fā),理解、推導(dǎo)盡可能多的東西。這篇文章是我這個(gè)理念的結(jié)果之一,試圖以變分推斷作為出發(fā)點(diǎn),來統(tǒng)一地理解深度學(xué)習(xí)中的各種模型,尤其是各種讓人眼花繚亂的 GAN。
本文已經(jīng)掛到 arXiv 上,需要讀英文原稿的可以訪問下方鏈接下載論文 Variational Inference: A Unified Framework of Generative Models and Some Revelations。?
■ 論文 | Variational Inference: A Unified Framework of Generative Models and Some Revelations
■ 鏈接 | https://www.paperweekly.site/papers/2117
■ 作者 | Jianlin Su
下面是文章的介紹。其實(shí),中文版的信息可能還比英文版要稍微豐富一些,原諒我這蹩腳的英語。
近年來,深度生成模型,尤其是 GAN,取得了巨大的成功?,F(xiàn)在我們已經(jīng)可以找到數(shù)十個(gè)乃至上百個(gè) GAN 的變種。然而,其中的大部分都是憑著經(jīng)驗(yàn)改進(jìn)的,鮮有比較完備的理論指導(dǎo)。
本文的目標(biāo)是通過變分推斷來給這些生成模型建立一個(gè)統(tǒng)一的框架。首先,本文先介紹了變分推斷的一個(gè)新形式,這個(gè)新形式其實(shí)在本人以前的文章中就已經(jīng)介紹過,它可以讓我們?cè)趲仔凶种畠?nèi)導(dǎo)出變分自編碼器(VAE)和 EM 算法。然后,利用這個(gè)新形式,我們能直接導(dǎo)出 GAN,并且發(fā)現(xiàn)標(biāo)準(zhǔn) GAN 的 loss 實(shí)則是不完備的,缺少了一個(gè)正則項(xiàng)。如果沒有這個(gè)正則項(xiàng),我們就需要謹(jǐn)慎地調(diào)整超參數(shù),才能使得模型收斂。
實(shí)際上,本文這個(gè)工作的初衷,就是要將 GAN 納入到變分推斷的框架下。目前看來,最初的意圖已經(jīng)達(dá)到了,結(jié)果讓人欣慰。新導(dǎo)出的正則項(xiàng)實(shí)際上是一個(gè)副產(chǎn)品,并且幸運(yùn)的是,在我們的實(shí)驗(yàn)中這個(gè)副產(chǎn)品生效了。
變分推斷新解
假設(shè) x 為顯變量,z 為隱變量,p?(x) 為 x 的證據(jù)分布,并且有:
但是由于積分可能難以計(jì)算,因此大多數(shù)情況下都難以直接優(yōu)化。?
變分推斷中,首先引入聯(lián)合分布 p(x,z) 使得p?(x)=∫p(x,z)dz,而變分推斷的本質(zhì),就是將邊際分布的 KL 散度 KL(p?(x)‖q(x)) 改為聯(lián)合分布的 KL 散度 KL(p(x,z)‖q(x,z)) 或 KL(q(x,z)‖p(x,z)),而:
意味著聯(lián)合分布的 KL 散度是一個(gè)更強(qiáng)的條件(上界)。所以一旦優(yōu)化成功,那么我們就得到 q(x,z)→p(x,z),從而 ∫q(x,z)dz→∫p(x,z)dz=p? (x),即 ∫q(x,z)dz 成為了真實(shí)分布 p?(x) 的一個(gè)近似。
當(dāng)然,我們本身不是為了加強(qiáng)條件而加強(qiáng),而是因?yàn)樵诤芏嗲闆r下,KL(p(x,z)‖q(x,z)) 或 KL(q(x,z)‖p(x,z)) 往往比 KL(p?(x)‖q(x)) 更加容易計(jì)算。所以變分推斷是提供了一個(gè)可計(jì)算的方案。
VAE和EM算法
由上述關(guān)于變分推斷的新理解,我們可以在幾句話內(nèi)導(dǎo)出兩個(gè)基本結(jié)果:變分自編碼器和 EM 算法。這部分內(nèi)容,實(shí)際上在從較大似然到EM算法:一致的理解方式和變分自編碼器(二):從貝葉斯觀點(diǎn)出發(fā)已經(jīng)詳細(xì)介紹過了。這里用簡(jiǎn)單幾句話重提一下。
VAE
在 VAE 中,我們?cè)O(shè) q(x,z)=q(x|z)q(z),p(x,z)=p?(x)p(z|x),其中 q(x|z),p(z|x) 帶有未知參數(shù)的高斯分布而 q(z) 是標(biāo)準(zhǔn)高斯分布。最小化的目標(biāo)是:
EM算法
在 VAE 中我們對(duì)后驗(yàn)分布做了約束,僅假設(shè)它是高斯分布,所以我們優(yōu)化的是高斯分布的參數(shù)。如果不作此假設(shè),那么直接優(yōu)化原始目標(biāo) (5),在某些情況下也是可操作的,但這時(shí)候只能采用交替優(yōu)化的方式:先固定 p(z|x),優(yōu)化 q(x|z),那么就有:
由于現(xiàn)在對(duì) p(z|x) 沒有約束,因此可以直接讓 p(z|x)=q(z|x) 使得 loss 等于 0。也就是說,p(z|x) 有理論最優(yōu)解:
(8),(11) 的交替執(zhí)行,構(gòu)成了 EM 算法的求解步驟。這樣,我們從變分推斷框架中快速得到了 EM 算法。
變分推斷下的GAN
在這部分內(nèi)容中,我們介紹了一般化的將 GAN 納入到變分推斷中的方法,這將引導(dǎo)我們得到 GAN 的新理解,以及一個(gè)有效的正則項(xiàng)。?
一般框架
同 VAE 一樣,GAN 也希望能訓(xùn)練一個(gè)生成模型 q(x|z),來將 q(z)=N(z;0,I) 映射為數(shù)據(jù)集分布 p?(x),不同于 VAE 中將 q(x|z) 選擇為高斯分布,GAN 的選擇是:
這里 p1=1?p0 描述了一個(gè)二元概率分布,我們直接取 p1=p0=1/2。另一方面,我們?cè)O(shè) p(x,y)=p(y|x)p?(x),p(y|x) 是一個(gè)條件伯努利分布。而優(yōu)化目標(biāo)是另一方向的 KL(q(x,y)‖p(x,y)):
這里包含了我們不知道的 p?(x),但是假如 D(x) 模型具有足夠的擬合能力,那么跟 (11) 式同理,D(x) 的最優(yōu)解應(yīng)該是:
基本分析
可以看到,第一項(xiàng)就是標(biāo)準(zhǔn)的 GAN 生成器所采用的 loss 之一。
多出來的第二項(xiàng),描述了新分布與舊分布之間的距離。這兩項(xiàng) loss 是對(duì)抗的,因?yàn)橄M屡f分布盡量一致,但是如果判別器充分優(yōu)化的話,對(duì)于舊分布
也就是說,假設(shè)當(dāng)前模型的參數(shù)改變量為 Δθ,那么展開到二階得到:
而我們用的是基于梯度下降的優(yōu)化算法,所以 Δθ 正比于梯度,因此標(biāo)準(zhǔn) GAN 訓(xùn)練時(shí)的很多 trick,比如梯度裁剪、用 adam 優(yōu)化器、用 BN,都可以解釋得通了,它們都是為了穩(wěn)定梯度,使得 θ 不至于過大,同時(shí),G(z) 的迭代次數(shù)也不能過多,因?yàn)檫^多同樣會(huì)導(dǎo)致 Δθ 過大。
還有,這部分的分析只適用于生成器,而判別器本身并不受約束,因此判別器可以訓(xùn)練到最優(yōu)。
正則項(xiàng)
所以可以將 δ(x) 看成是小方差的高斯分布,代入算得也就是我們有:
也就是說,可以用新舊生成樣本的距離作為正則項(xiàng),正則項(xiàng)保證模型不會(huì)過于偏離舊分布。
下面的兩個(gè)在人臉數(shù)據(jù) CelebA 上的實(shí)驗(yàn)表明這個(gè)正則項(xiàng)是生效的。實(shí)驗(yàn)代碼修改自:
https://github.com/LynnHo/DCGAN-LSGAN-WGAN-WGAN-GP-Tensorflow
實(shí)驗(yàn)一:普通的 DCGAN 網(wǎng)絡(luò),每次迭代生成器和判別器各訓(xùn)練一個(gè) batch。
不帶正則項(xiàng),在25個(gè)epoch之后模型開始坍縮
帶有正則項(xiàng),模型能一直穩(wěn)定訓(xùn)練
實(shí)驗(yàn)二:普通的 DCGAN 網(wǎng)絡(luò),但去掉 BN,每次迭代生成器和判別器各訓(xùn)練五個(gè) batch。
不帶正則項(xiàng),模型收斂速度比較慢
帶有正則項(xiàng),模型更快“步入正軌”
GAN相關(guān)模型
對(duì)抗自編碼器(Adversarial Autoencoders,AAE)和對(duì)抗推斷學(xué)習(xí)(Adversarially Learned Inference,ALI)這兩個(gè)模型是 GAN 的變種之一,也可以被納入到變分推斷中。當(dāng)然,有了前述準(zhǔn)備后,這僅僅就像兩道作業(yè)題罷了。?
有意思的是,在 ALI 之中,我們有一些反直覺的結(jié)果。
GAN視角下的AAE
事實(shí)上,只需要在 GAN 的論述中,將 x,z 的位置交換,就得到了 AAE 的框架。?
具體來說,AAE 希望能訓(xùn)練一個(gè)編碼模型 p(z|x),來將真實(shí)分布 q?(x) 映射為標(biāo)準(zhǔn)高斯分布 q(z)=N(z;0,I),而:
同樣直接取 p1=p0=1/2。另一方面,我們?cè)O(shè) q(z,y)=q(y|z)q(z),這里的后驗(yàn)分布 p(y|z) 是一個(gè)輸入為 z 的二元分布,然后去優(yōu)化 KL(p(z,y)‖q(z,y)):
現(xiàn)在我們優(yōu)化對(duì)象有 q(y|z) 和 E(x),記 q(0|z)=D(z),依然交替優(yōu)化:先固定 E(x),這也意味著 p(z) 固定了,然后優(yōu)化 q(y|z),這時(shí)候略去常量,得到優(yōu)化目標(biāo)為:
一方面,同標(biāo)準(zhǔn) GAN 一樣,謹(jǐn)慎地訓(xùn)練,我們可以去掉第二項(xiàng),得到:
反直覺的ALI版本
ALI 像是 GAN 和 AAE 的融合,另一個(gè)幾乎一樣的工作是 Bidirectional GAN (BiGAN)。相比于 GAN,它將 z 也作為隱變量納入到變分推斷中。具體來說,在 ALI 中有:
等價(jià)于最小化:
跟 VAE 一樣,對(duì) p(z|x) 和 q(x|z) 的期望可以通過“重參數(shù)”技巧完成。接著固定 D 來優(yōu)化 G,E,因?yàn)檫@時(shí)候有 E 又有 G,整個(gè) loss 沒得化簡(jiǎn),還是 (37) 那樣。但利用 D 的最優(yōu)解:
由于 q(x|z),p(x|z) 都是高斯分布,事實(shí)上后兩項(xiàng)我們可以具體地算出來(配合重參數(shù)技巧),但同標(biāo)準(zhǔn) GAN 一樣,謹(jǐn)慎地訓(xùn)練,我們可以簡(jiǎn)單地去掉后面兩項(xiàng),得到:
它們都不等價(jià)于 (41)。針對(duì)這個(gè)差異,事實(shí)上筆者也做了實(shí)驗(yàn),結(jié)果表明這里的 ALI 有著和標(biāo)準(zhǔn)的 ALI 同樣的表現(xiàn),甚至可能稍好一些(可能是我的自我良好的錯(cuò)覺,所以就沒有放圖了)。這說明,將對(duì)抗網(wǎng)絡(luò)視為一個(gè)極大極小問題僅僅是一個(gè)直覺行為,并非總應(yīng)該如此。
結(jié)論綜述
本文的結(jié)果表明了變分推斷確實(shí)是一個(gè)推導(dǎo)和解釋生成模型的統(tǒng)一框架,包括 VAE 和 GAN。通過變分推斷的新詮釋,我們介紹了變分推斷是如何達(dá)到這個(gè)目的的。?
當(dāng)然,本文不是第一篇提出用變分推斷研究 GAN 這個(gè)想法的文章。在《On Unifying Deep Generative Models》一文中,其作者也試圖用變分推斷統(tǒng)一 VAE 和 GAN,也得到了一些啟發(fā)性的結(jié)果。但筆者覺得那不夠清晰。事實(shí)上,我并沒有完全讀懂這篇文章,我不大確定,這篇文章究竟是將 GAN 納入到了變分推斷中了,還是將 VAE 納入到了 GAN 中。相對(duì)而言,我覺得本文的論述更加清晰、明確一些。?
看起來變分推斷還有很大的挖掘空間,等待著我們?nèi)ヌ剿鳌?/p>
聲明:文章收集于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系小編及時(shí)處理,謝謝!
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識(shí)
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/4814.html
摘要:本文將討論兩種可用于解決貝葉斯推理問題的主要方法基于采樣的馬爾可夫鏈蒙特卡羅,簡(jiǎn)稱方法和基于近似的變分推理,簡(jiǎn)稱方法。而貝葉斯推理則是從貝葉斯的角度產(chǎn)生統(tǒng)計(jì)推斷的過程。貝葉斯推理問題還可能會(huì)產(chǎn)生一些其他的計(jì)算困難。 全文共6415字,預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng)20分鐘或更長(zhǎng) showImg(https://segmentfault.com/img/bVbvFZZ?w=1280&h=853); 圖片來...
摘要:例如,即插即用生成網(wǎng)絡(luò)通過優(yōu)化結(jié)合了自動(dòng)編碼器損失,損失,和通過與訓(xùn)練的分類器定于的分類損失的目標(biāo)函數(shù),得到了較高水平的樣本。該論文中,作者提出了結(jié)合的原則性方法。 在機(jī)器學(xué)習(xí)研究領(lǐng)域,生成式對(duì)抗網(wǎng)絡(luò)(GAN)在學(xué)習(xí)生成模型方面占據(jù)著統(tǒng)治性的地位,在使用圖像數(shù)據(jù)進(jìn)行訓(xùn)練的時(shí)候,GAN能夠生成視覺上以假亂真的圖像樣本。但是這種靈活的算法也伴隨著優(yōu)化的不穩(wěn)定性,導(dǎo)致模式崩潰(mode colla...
摘要:老顧受邀在一些大學(xué)和科研機(jī)構(gòu)做了題為深度學(xué)習(xí)的幾何觀點(diǎn)的報(bào)告,匯報(bào)了這方面的進(jìn)展情況。昨天年月日,嚴(yán)東輝教授邀請(qǐng)老顧在泛華統(tǒng)計(jì)協(xié)會(huì)舉辦的應(yīng)用統(tǒng)計(jì)會(huì)議上做了深度學(xué)習(xí)的幾何觀點(diǎn)的報(bào)告。小結(jié)最優(yōu)傳輸理論可以用于解釋深度學(xué)習(xí)中的概率分布變換。 (最近,哈佛大學(xué)丘成桐先生領(lǐng)導(dǎo)的團(tuán)隊(duì),大連理工大學(xué)羅鐘鉉教授、雷娜教授領(lǐng)導(dǎo)的團(tuán)隊(duì)?wèi)?yīng)用幾何方法研究深度學(xué)習(xí)。老顧受邀在一些大學(xué)和科研機(jī)構(gòu)做了題為深度學(xué)習(xí)的幾何觀...
摘要:自年提出生成對(duì)抗網(wǎng)絡(luò)的概念后,生成對(duì)抗網(wǎng)絡(luò)變成為了學(xué)術(shù)界的一個(gè)火熱的研究熱點(diǎn),更是稱之為過去十年間機(jī)器學(xué)習(xí)領(lǐng)域最讓人激動(dòng)的點(diǎn)子。 自2014年Ian Goodfellow提出生成對(duì)抗網(wǎng)絡(luò)(GAN)的概念后,生成對(duì)抗網(wǎng)絡(luò)變成為了學(xué)術(shù)界的一個(gè)火熱的研究熱點(diǎn),Yann LeCun更是稱之為過去十年間機(jī)器學(xué)習(xí)領(lǐng)域最讓人激動(dòng)的點(diǎn)子。生成對(duì)抗網(wǎng)絡(luò)的簡(jiǎn)單介紹如下,訓(xùn)練一個(gè)生成器(Generator,簡(jiǎn)稱G...
摘要:百度網(wǎng)盤提取碼最近一直關(guān)注貪心學(xué)院的機(jī)器學(xué)習(xí)訓(xùn)練營(yíng),發(fā)現(xiàn)這門課講的很有深度,不僅適合職場(chǎng)也適合科研人員,加入行業(yè)拿到高薪僅僅是職業(yè)生涯的開始。 ??百度網(wǎng)盤??提取碼:u6C4最近一直關(guān)注貪心學(xué)院的機(jī)器學(xué)習(xí)訓(xùn)練營(yíng),發(fā)現(xiàn)這門課講的很有深度,不僅適合職場(chǎng)也適合科研人員,加入AI行業(yè)拿到高薪僅僅是職業(yè)生涯的開始?,F(xiàn)階段AI人才結(jié)...
閱讀 3396·2023-04-25 14:07
閱讀 3466·2021-09-28 09:35
閱讀 2097·2019-08-30 15:55
閱讀 1412·2019-08-30 13:48
閱讀 2505·2019-08-30 13:16
閱讀 3206·2019-08-30 12:54
閱讀 3241·2019-08-30 11:19
閱讀 1881·2019-08-29 17:17