保留初心勉抓,砥礪前行
最近看了Adversarial Autoencoders(以下簡稱AAE)這篇paper贾漏,就隨便寫幾句筆記。
1. 概述:
GAN和VAE是近年來很火的生成模型(關(guān)于GAN纵散,我之前寫過幾篇了,需要的話點擊文末的相關(guān)鏈接即可)隐圾,對于這兩個模型的研究層出不窮伍掀,變體無數(shù),而將這兩者結(jié)合也是一種優(yōu)秀的思路暇藏。GAN說白了就是對抗蜜笤,VAE就是一種Autoencoders,而本文的AAE就是將對抗的思想融入到Autoencoders中來盐碱。如下圖所示:
這個圖大概的意思是:上半部分就是AE把兔,我們都知道AE需要把一個真實分布映射成隱層的z啊胶,AAE就是在z這里動手腳,(如圖下半部分所示)在此加上對抗思想來優(yōu)化這個z垛贤。
2. 優(yōu)勢:
知道了大概的思路焰坪,在具體理解一個事情前,我們先來進(jìn)行一些思考:
從上圖中可以明確地看出聘惦,這個模型不像原來的GAN一樣生成出一些樣本某饰,然后和真實數(shù)據(jù)比較,梯度反向傳播從而漸漸優(yōu)化模型善绎;這個模型操作的是隱層的z黔漂,通過調(diào)整z來達(dá)到得到想要的生成的效果。真實樣本可以是不連續(xù)的(普通GAN無法訓(xùn)練優(yōu)化)禀酱,但是z卻是連續(xù)的炬守,我們可以做到通過微調(diào)z來生成更加真實的樣本。也就是說AAE完美避開了GAN無法生成離散樣本的問題剂跟。
3. Adversarial Autoencoders:
首先來展示一些下文有關(guān)的符號:
p(z) 任意的先驗分布
q(z) 聚合后驗分布
q(z | x) encoding分布
p(x | z) decoding分布
pd(x) 真實數(shù)據(jù)分布
p(x) 模型分布
The adversarial autoencoder is an autoencoder that is regularized by matching the aggregated posterior, q(z), to an arbitrary prior, p(z).
公式(1)是paper中給出的q(z)的表達(dá)式减途。
AAE就是一種讓 q(z)去匹配p(z)的AE,配合最上邊的符號解釋和“AE簡易說明圖”曹洽,我們可以理解這句話鳍置,也可以理解這個模型。通過圖可以看出這是一個AE框架送淆,包括encoder税产、中間編碼層和decoder。我們讓中間編碼層的q(z)去匹配一個p(z)偷崩,怎么做到呢辟拷?此時對抗思想就出場了,見下圖:
紅框中與“AE簡易說明圖”中的內(nèi)容類似阐斜,就是一個AE衫冻,對抗思想的引入在于黃框中的內(nèi)容,AE的encoder部分智听,作為GAN中的generator羽杰,生成樣本渡紫,也就是編碼層中的編碼到推,與黃框左邊部分的真實樣本,一個符合p(z)分布的樣本混在一起讓discriminator進(jìn)行辨別惕澎,從而使discriminator與作為generator的encoder部分不斷優(yōu)化莉测,并且在對抗的同時,AE也在最小化reconstruction error唧喉,最終可以生成更好的樣本捣卤。
文中列出了三種q(z | x)的選擇忍抽,包括確定性函數(shù),高斯后驗和通用近似后驗董朝,其中使用確定性函數(shù)鸠项,它的q(z)只是和真實數(shù)據(jù)分布有關(guān),其他兩種的q(z)除了與真實分布有關(guān)子姜,還與這兩種方式中的某些隨機性有關(guān)祟绊。不同的選擇在訓(xùn)練過程中會有細(xì)微的差別,但是文中提到哥捕,他們使用不同的方式會得到類似的結(jié)果牧抽。
文中圖片部分來自網(wǎng)絡(luò),部分本人繪制