變分自編碼器VAE細(xì)致推導(dǎo)(一)

參考:1.?CARL?DOERSCH,?Tutorial on Variational Autoencoders

? ? ? ? ? ? 2. Ian Goodfellow,《深度學(xué)習(xí)》

概述

? ? ? ? 我們想要構(gòu)建一個與我們的數(shù)據(jù)集\mathcal D相關(guān)的生成式模型冒滩,它能夠生成和數(shù)據(jù)集中的樣本相似但又有一些不同的新數(shù)據(jù)。按照慣例浪谴,我們引入 隱隨機(jī)向量Z?和對應(yīng)的概率分布P(Z)开睡,以表示數(shù)據(jù)的某種編碼表示因苹,設(shè)?可見隨機(jī)向量?X,我們想要構(gòu)建關(guān)于X的模型P(X)=\int P(X|Z)P(Z){\rm d}Z篇恒,就像 高斯混合模型?P(X)=\sum_{k} \pi_k  \mathcal N(X|\mu_k, \Sigma_k)一樣扶檐,在采樣的時候,我們可以先用邊緣分布P(Z)對隱向量進(jìn)行采樣婚度,再根據(jù)條件分布P(X|Z)對可見變量進(jìn)行采樣得到X樣本蘸秘。

? ? ? ? 在 VAE 中官卡,和 GMM 一樣蝗茁,我們也可以使用高斯分布作為混合分支,即:P(X|Z) = \mathcal N(X|f(Z;\theta), I*\sigma^2)寻咒,只不過這里用連續(xù)變量的混合分布P(Z)取代了離散變量的混合系數(shù)\pi_k,k=1,...,K哮翘;均值向量不再像 GMM 那樣可以解析地從數(shù)據(jù)中統(tǒng)計出來,在這里我們使用神經(jīng)網(wǎng)絡(luò)f(Z;\theta)來擬合均值向量毛秘;而協(xié)方差矩陣僅僅是 isotropic 的饭寺。使用單模的高斯分布作為生成分布意味著,一旦網(wǎng)絡(luò)f(Z;\theta)對某些Z的取值非常接近真實數(shù)據(jù)X叫挟,則生成分布在這些隱變量值下就會偏向于生成與真實數(shù)據(jù)X很相似的樣本艰匙,這的確就是我們所期望的結(jié)果。


問題的提出

為了求解P(X)=\int P(X|Z)P(Z){\rm d}Z抹恳,我們需要解決兩個問題:

????????第一個是問題是隱向量分布P(Z)的選擇员凝,咋一看似乎毫無頭緒,我們只是期望ZX的一種表示奋献,包含能夠描述如何生成X的信息健霹;拿生成圖像來說,我們既不知道如何去準(zhǔn)確地描述生存任何一張圖片需要的隱表示瓶蚂;即便知道糖埋,又無法將其與適當(dāng)?shù)南蛄?img class="math-inline" src="https://math.jianshu.com/math?formula=Z" alt="Z" mathimg="1">對應(yīng)起來。

????????在深度學(xué)習(xí)背景中窃这,我們按照深度學(xué)習(xí)的設(shè)計哲學(xué):“不要手動設(shè)計特征瞳别,讓機(jī)器自己去學(xué)“。所以我們考慮使用另外一個神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)這樣的隱表示Z=g(W;\phi)杭攻,其中W是我們待變換的可采樣隨機(jī)向量祟敛;并且為了不自找麻煩,我們使用一個可以很容易進(jìn)行抽樣的經(jīng)典分布朴上,例如 VAE 中就直接使用了多變量標(biāo)準(zhǔn)正態(tài)分布 \mathcal N(W|0, I)垒棋,再由神經(jīng)網(wǎng)絡(luò)的普適近似性,在給定充分大容量的神經(jīng)網(wǎng)絡(luò)g(W;\phi)后痪宰,我們認(rèn)為它可以逼近隱向量Z的分布叼架。

? ? ? ? 事實上畔裕,我們可以將這兩個神經(jīng)網(wǎng)絡(luò)進(jìn)行函數(shù)復(fù)合,為了保持和論文的符號一致乖订,重新用Z來代替W的角色扮饶,并且簡記f(g(W;\phi); \theta)f(Z; \theta)。到此乍构,我們就把對人類來說很困難的特征工程轉(zhuǎn)嫁給了機(jī)器甜无,并且將采樣從網(wǎng)絡(luò)中游移到了網(wǎng)絡(luò)輸入端,這些操作都符合深度學(xué)習(xí)“端到端”的設(shè)計美學(xué)哥遮。

? ? ? ? 第二個問題是如何計算積分P(X)=\int P(X|Z)P(Z){\rm d}Z岂丘,一個顯然的方法就是 Monte Carlo 積分,即:P(X) \approx \frac{1}{N}\sum_{n=1}^{N} P(X|z_n)眠饮,其中:\{z_n\}_{n=1}^{N}Z按分布P(Z)的部分抽樣奥帘。我們當(dāng)然可以使用前面講過的 ancestral sampling 方法得到隱向量樣本,然后饋入網(wǎng)絡(luò)中得到變換后的樣本仪召,然后放到到輸出分布中計算出概率值寨蹋。但是由于我們在處理高維度的問題,要得到一個不錯的近似扔茅,需要非常大的樣本量已旧,所以不可取。

? ? ? ? 事實上召娜,我們不一定需要計算出P(X)才能進(jìn)行優(yōu)化运褪,我們?nèi)绻苡嬎?img class="math-inline" src="https://math.jianshu.com/math?formula=P(X)" alt="P(X)" mathimg="1">關(guān)于參數(shù)的梯度,或者是P(X)的某個變分下界關(guān)于參數(shù)的梯度萤晴,然后使用梯度上升進(jìn)行優(yōu)化即可吐句,下面我們將導(dǎo)出該目標(biāo)函數(shù)。


目標(biāo)函數(shù)的導(dǎo)出

回到?期望最大化EM?那里店读,我們曾經(jīng)得到過一個公式嗦枢,我們用積分代替求和重寫如下: {\rm ln} (P(X))  = \mathcal L(Q(Z)) + {\rm KL}(Q(Z)||P(Z|X)) \quad \cdots (0)

其中:

\mathcal L(Q(Z)) = \int Q(Z) {\rm ln} \{\frac{P(X, Z)}{Q(Z)}\} {\rm d} {Z} \quad \cdots (1)

{\rm KL}(Q(Z)||P(Z|X)) = -  \int Q(Z){\rm ln} \{\frac{P({ Z | X})}{Q(Z)} {\rm d} {Z} \} \quad \cdots (2)

????????在?GMM?或是?HMM?那里,我們可以解析地計算出完全數(shù)據(jù)(X,Z)的對數(shù)似然屯断,并且我們還有隱變量的后驗分布P(Z|X)可以直接計算文虏,我們可以直接令Q(Z) = P(Z|X)就能使 KL-散度 降為 0,從而抬高?證據(jù)下界ELBO殖演。但是在這里根據(jù)貝葉斯公式氧秘,有P(Z|X)= \frac{P(X|Z)P(Z)}{\int P(X|Z)P(Z){\rm d}Z},其中P(X|Z)包含我們的神經(jīng)網(wǎng)絡(luò)趴久,所以我們沒有關(guān)于后驗分布的解析表達(dá)式丸相,自然也不能直接令Q(Z) = P(Z|X)來抬高證據(jù)下界。所以我們考慮挑選一個變分分布族彼棍,在該分布族中找到最接近P(Z|X)Q(Z)灭忠,從而使得 KL-散度 降低到最小膳算,而這就是?變分自編碼器?名字中的“變分”的由來;事實上目前我們還沒有對該分布作出具體選擇弛作,下面將討論這部分涕蜂。

????????我們先對公式(1)進(jìn)行變換,構(gòu)造出P(Z|X)P(Z)兩項映琳,并經(jīng)過簡單的等式變換得:

\begin{aligned}\mathcal L(Q(Z)) &= \int Q(Z) {\rm ln} \{\frac{P(X| Z)P(Z)}{Q(Z)}\} {\rm d} {Z} \\& = \int Q(Z) \ {\rm ln} P(X| Z) {\rm d} {Z} + \int Q(Z) {\rm ln} \{\frac{P(Z)}{Q(Z)}\} {\rm d} {Z} \\&=  {\mathbb E}_{Q(Z)}[ {\rm ln} P(X| Z)]  - {\rm KL}(Q(Z)||P(Z))\end{aligned}

代入(0)式中得:

 {\rm ln} (P(X)) - {\rm KL}(Q(Z)||P(Z|X))  =  {\mathbb E}_{Q(Z)}[ {\rm ln} P(X| Z)]  - {\rm KL}(Q(Z)||P(Z)) \quad \cdots (3)

? ? ? ? 到此机隙,我們得到一個重要的方程式,左邊是我們想要最大化的量萨西,而右邊是我們期望可以通過基于梯度的優(yōu)化算法來優(yōu)化的量有鹿。由于P(X|Z)對大部分的Z都接近為 0,因此我們無需考慮這樣的區(qū)域原杂,現(xiàn)在對Q(Z)提出限制印颤,我們有理由認(rèn)為應(yīng)該將分布Q限制在有高概率的這些地方您机,即使得編碼Z能夠可靠地重構(gòu)出X的那些分布穿肄,所以應(yīng)該把Q(Z)X關(guān)聯(lián)起來,即Q(Z|X)际看,顯然作為任意分布族Q(Z)的一個子集咸产,Q(Z|X)當(dāng)然也滿足方程式(3),我們把它寫出來如下:

 {\rm ln} (P(X)) - {\rm KL}(Q(Z|X)||P(Z|X))  =  {\mathbb E}_{Q(Z|X)}[ {\rm ln} P(X| Z)]  - {\rm KL}(Q(Z|X)||P(Z)) \quad \cdots (4)

? ? ? ? 我們一直說變分自編碼器仲闽,說到現(xiàn)在好像只在討論生成分布脑溢,即解碼器;那么編碼器在哪呢赖欣?現(xiàn)在仔細(xì)看一下我們的目標(biāo)函數(shù)(4)屑彻,發(fā)現(xiàn)公式右邊的確包含一個解碼器P(X|Z)和編碼器Q(Z|X),下面我們將引入編碼器的形式顶吮。


優(yōu)化目標(biāo)

??????如果我們能夠選擇適當(dāng)?shù)姆植?img class="math-inline" src="https://math.jianshu.com/math?formula=Q(Z%7CX)" alt="Q(Z|X)" mathimg="1">社牲,則我們可以通過隨機(jī)梯度上升來進(jìn)行優(yōu)化方程(4)的右邊,再次我們選擇使用Z的分布為:Q(Z|X) = \mathcal N(Z; \mu(X), \Sigma(X))悴了,其中:\mu(X), \Sigma(X)均為神經(jīng)網(wǎng)絡(luò)實現(xiàn)搏恤,且協(xié)方差矩陣\Sigma(X)限制為對角線的,我們?nèi)匀挥欣碛烧J(rèn)為湃交,當(dāng)給到足夠大的網(wǎng)絡(luò)容量時熟空,Q(Z|X)可以逼近P(Z|X),當(dāng)這兩個分布的距離很小時搞莺,我們優(yōu)化方程(4)的右邊就相當(dāng)于直接優(yōu)化最終目標(biāo)似然{\rm ln}P(X)了息罗。

? ? ? ? 我們之所以選擇這樣的近似分布,是因為可以得到好的解析結(jié)果才沧,我們先來推導(dǎo)一下方程(4)右邊的第二項 KL-散度迈喉,為此我們先來推導(dǎo)兩個多變量高斯分布的 KL-散度:

\begin{aligned} {\rm KL} \left[{\mathcal N}(Z|\mu_0,\Sigma_0)\rVert {\mathcal N}(Z|\mu_1,\Sigma_1)\right] =\large{\int_{{\mathbb R}^K}}f(z)\left[\log{f(z)} - \log{g(z)}\right]{\rm d}\Omega \quad \cdots (5)\end{aligned}

其中:\begin{aligned}f(z)\;=\;\frac{1}{\sqrt{(2\pi)^K|\Sigma_0|}}exp\left\{-\frac{1}{2}(z-\mu_0)^T\Sigma_0^{-1}(z-\mu_0)\right\} \\ g(z)\;=\;\frac{1}{\sqrt{(2\pi)^K|\Sigma_1|}}exp\left\{-\frac{1}{2}(z-\mu_1)^T\Sigma_1^{-1}(z-\mu_1)\right\}\end{aligned}代入(5)式得:

\frac{1}{2}\int_{{\mathbb R}^K}f(z)\left[\underbrace{\log{\frac{|\Sigma_1|}{|\Sigma_0|}}}_{第一項} - \underbrace{(z-\mu_0)^T\Sigma_0^{-1}(z-\mu_0)}_{第二項} + \underbrace{(z-\mu_1)^T\Sigma_1^{-1}(z-\mu_1)}_{第三項}\right]{\rm d}\Omega \quad \cdots (6)

下面依次處理這三項:

\begin{aligned}第一項積分&=\large\frac{1}{2}\int_{{{\mathbb R}^K}}f(z)\log{\frac{|\Sigma_1|}{|\Sigma_0|}}{\rm d}\Omega\\&=\large\frac{1}{2}\log{\frac{|\Sigma_1|}{|\Sigma_0|}} \int_{{{\mathbb R}^K}}f(z) {\rm d}\Omega\\& = \large\frac{1}{2}\log{\frac{|\Sigma_1|}{|\Sigma_0|}}\end{aligned}

\begin{aligned}第二項積分&=\large-\frac{1}{2}\int f(z)(z-\mu)^T\Sigma^{-1}(z-\mu){\rm d}\Omega \\&= \large-\frac{1}{2}\int f(z)\sum_{i=1}^K\sum_{j=1}^K\Sigma_{ij}^{-1}(z_i-\mu_i)(z_j-\mu_j){\rm d}\Omega\;\;\;(二次型展開) \\&= \large-\frac{1}{2}\sum_{i=1}^K\sum_{j=1}^K\Sigma_{ij}^{-1}\int (z_i-\mu_i)(z_j-\mu_j)f(z){\rm d}\Omega\;\;\;(交換積分求和)\\&= \large-\frac{1}{2}\sum_{i=1}^K\sum_{j=1}^K\Sigma_{ij}^{-1}\Sigma_{ij}\\&= \large-\frac{1}{2}trace(\Sigma^T\Sigma^{-1}) \\&= \large-\frac{1}{2}trace(\Sigma\Sigma^{-1}) \;\;\;(協(xié)方差矩陣的對稱性)\\&= \large-\frac{1}{2}trace(I) \;\;\;(I為K階單位矩陣)\\&= \large-\frac{K}{2}\end{aligned}

\begin{aligned}&第三項積分 =\large\frac{1}{2}\int_{\Omega}f(z)(z-\mu_1)^T\Sigma_1^{-1}(z-\mu_1)d\small\Omega \\&=\large\frac{1}{2}\int_{\Omega}f(z)(z-\mu_0+\mu_0-\mu_1)^T\Sigma_1^{-1}(z-\mu_0+\mu_0-\mu_1) \\&=\large\frac{1}{2}\int_{\Omega}f(z)\left[\underbrace{(z-\mu_0)^T\Sigma_1^{-1}(z-\mu_0)}_{A}+\underbrace{2(z-\mu_0)^T\Sigma_1^{-1}(\mu_0-\mu_1)}_{B}+\underbrace{(\mu_0-\mu_1)^T\Sigma_1^{-1}(\mu_0-\mu_1)}_{C}\right]d\small\Omega\end{aligned}

上式第三項積分 再次分成三部分俏扩,其中:

\begin{aligned}A&=\large\frac{1}{2}\int f(z)(z-\mu_0)^T\Sigma_1^{-1}(z-\mu_0){\rm d}\Omega\\&=\large\frac{1}{2}\int f(z)\sum_{i=1}^K\sum_{j=1}^K\Sigma_{1(ij)}^{-1}(z_i-\mu_{0(i)})(z_j-\mu_{0(j)}) {\rm d}\Omega\\&=\large\frac{1}{2}\sum_{i=1}^K\sum_{j=1}^K\Sigma_{1(ij)}^{-1}\int (z_i-\mu_{0(i)})(z_j-\mu_{0(j)})f(z){\rm d}\Omega\\&=\large\frac{1}{2}\sum_{i=1}^K\sum_{j=1}^K\Sigma_{1(ij)}^{-1}\Sigma_{0(ij)}\\&=\large\frac{1}{2}trace(\Sigma_0^T\Sigma_1^{-1}) \\&=\large\frac{1}{2}trace(\Sigma_1^{-1}\Sigma_0) \\\end{aligned}

\begin{aligned}B&=\large\frac{1}{2}\int f(z)(z-\mu_0)^T\Sigma_1^{-1}(\mu_0-\mu_1){\rm d}\Omega\\&= \large\frac{1}{2}\sum_{i=1}^K\sum_{j=1}^K\Sigma_{1(ij)}^{-1}(\mu_{0(j)}-\mu_{1(j)})\int (z_i-\mu_{0(i)})f(z) {\rm d} \Omega\\&=0\end{aligned}

\begin{aligned}C&=\large\frac{1}{2}\int_{\Omega}f(z)(\mu_0-\mu_1)^T\Sigma_1^{-1}(\mu_0-\mu_1)d\small\Omega\\&=\large\frac{1}{2}(\mu_0-\mu_1)^T\Sigma_1^{-1}(\mu_0-\mu_1)\end{aligned}

將以上全部結(jié)果代入(6)式得:

\begin{aligned} {\rm KL} &(\mathcal{N}(Z|\mu_0,\Sigma_0)\rVert \mathcal{N}(Z|\mu_1,\Sigma_1)  = \\ &\frac{1}{2}\left(trace(\Sigma_1^{-1}\Sigma_0) + (\mu_0-\mu_1)^T\Sigma_1^{-1}(\mu_0-\mu_1) - K + \log{\frac{|\Sigma_1|}{|\Sigma_0|}}\right)\quad \cdots (7)\end{aligned}

最后,在我們討論的限制下有:

\begin{aligned} {\rm KL} &(\mathcal {N}(Z|\mu(X),\Sigma(X))\rVert \mathcal {N}(Z|0,I) )= \\ &\frac{1}{2}\left(trace(\Sigma(X)) + (\mu(X))^T(\mu(X)) - K - \log{|\Sigma(X)|}\right) \quad \cdots (8)\end{aligned}


????????接下來還要解決方程(4)右邊的第一項弊添,可以通過抽樣來估計E_{Z\sim Q}\left[\log{P(X|Z)}\right]录淡,但是要得到一個好的估計,需要使用大量的Z饋入到f(Z;\theta)形成大量的樣本油坝,這非常耗時嫉戚。因此,作為隨機(jī)梯度下降優(yōu)化中的慣用做法澈圈,我們直接使用一個樣本z彬檀,并使用這個樣本的P(X|z)來近似E_{Z\sim Q}\left[\log{P(X|Z)}\right];畢竟瞬女,我們已經(jīng)打算在數(shù)據(jù)集中的每個樣本X上做隨機(jī)梯度下降了窍帝。按照這樣的討論,我們的優(yōu)化目標(biāo)是對(4)式兩邊在數(shù)據(jù)分布上的期望:

\begin{aligned} E_{X\sim D} & \left[\log{P(X)}-  {\rm KL}(Q(Z|X)\rVert P(Z|X))\right]= \\ &E_{X\sim D}\left[E_{Z\sim Q}\left[\log{P(X|Z)}\right]- {\rm KL} (Q(Z|X)\rVert P(Z))\right]\end{aligned}

????????對上式兩邊求導(dǎo)诽偷,求導(dǎo)運算可與期望(積分)運算互換(在這里我們忽視積分和求導(dǎo)的可交換性)坤学,進(jìn)而 求導(dǎo)運算 可以直接作用于下面的公式:

 \log{P(X|Z)} -  {\rm KL}(Q(Z|X)\rVert P(Z))  \quad \cdots (9)

????????當(dāng)然實際中可以用小批量的平均梯度。為了看的更清楚报慕,簡單分析一下:上面(9)式的第二項的解析式為公式(8)深浮,由于我們對高斯分布作出的 isotropic 假設(shè),因此可以進(jìn)一步將(8)式展開為下面的:

\begin{aligned} {\rm KL} &(\mathcal {N}(\mu(X),\Sigma(X))\rVert \mathcal {N}(0,I) ) \\ & = \frac{1}{2}\left( \sum_{k=1}^{K} \sigma_k^2+ \sum_{k=}^{K} \mu_k^2 - \sum_{k=1}^{K}1 - \sum_{k=}^{K}{\rm log}(\sigma_k^2) \right)\\& = \frac{1}{2}\sum_{k=1}^{K} \left( \sigma_k^2+  \mu_k^2 -1 -{\rm log}(\sigma_k^2) \right) \end{aligned}

????????這顯然是很好求導(dǎo)的眠冈,但是在實際中飞苇,我們不直接對\sigma_k建模,因為那樣的話蜗顽,在損失函數(shù)中取對數(shù)后會壓縮誤差布卡,從而迫使網(wǎng)絡(luò)學(xué)習(xí)指數(shù)尺度的參數(shù),這樣使得網(wǎng)絡(luò)很不穩(wěn)定雇盖;我們可以直接對{\rm log}(\sigma_k)進(jìn)行建模忿等,即令log\_var_k = \log(\sigma_k^2),因此上式就變成:

\begin{aligned} {\rm KL} &(\mathcal {N}(\mu(X),\Sigma(X))\rVert \mathcal {N}(0,I) )  = \frac{1}{2}\sum_{k=1}^{K} \left(e^{(log\_var_k)} +  \mu_k^2 -1 - log\_var_k\right) \end{aligned}

? ? ? ? 再來分析(9)式第一項刊懈,因為取了對數(shù)把高斯密度中的指數(shù)消掉了这弧,這相當(dāng)于直接對高斯分布中的二次型進(jìn)行求導(dǎo),而我們又假設(shè)了輸出分布是 isotropic gaussian 的虚汛,顯然我們可以很方便地進(jìn)行求導(dǎo)匾浪,結(jié)合我們對模型的輸出高斯分布的 isotropic 假設(shè)(\Sigma = \lambda * I_{K\times K}),可繼續(xù)化簡為:

\begin{aligned} \log{P(X|Z)} &= \log \{ \frac{1}{\sqrt{(2\pi)^K|\Sigma|}} \exp((f(z)-x)^T\Sigma^{-1}(f(z)-x)) \}\\&= -\frac{1}{2}\log |\Sigma| + (f(z)-x)^T \Sigma^{-1}(f(z)-x) + {\rm Constant} \\&= -\frac{K}{2}\log \lambda + \frac{1}{\lambda} {\rm MSE}(f(z), x) + {\rm Constant}\end{aligned}

? ? ? ? 顯然卷哩,我們對上式關(guān)于參數(shù)求導(dǎo)時蛋辈,只有中間一項會產(chǎn)生梯度,而這里的超參數(shù)?\lambda?就可以視為權(quán)重因子,用來平衡(9)式中兩項的損失值冷溶。


重參數(shù)化

????????很愉快地渐白,我們終于將模型和損失函數(shù),以及梯度計算全部搞出來了逞频。但是這就結(jié)束了嗎纯衍?然并沒有,我們忽略了一個嚴(yán)重的問題苗胀,就是我們的編碼器和解碼器之間存在一個隨機(jī)采樣步驟:{\rm sample}\  z \ {\rm from } \ {\mathcal N}(\mu(X), \Sigma(X))襟诸,見下圖左邊。

從CARL?DOERSCH論文中截取

? ? ? ? 采樣操作是一個不可以求導(dǎo)的過程基协,所以{\rm log}P(X|Z)的梯度無法后向傳播到編碼器部分歌亲;因此作者提出了“重參數(shù)化”技巧,將無法傳播梯度的步驟挪到輸入端即可澜驮。如上圖右邊陷揪,由于多元正態(tài)隨機(jī)變量的仿射變換仍然時多元正態(tài)隨機(jī)變量,因此我們可以先從標(biāo)準(zhǔn)多元正態(tài)分布{\mathcal N}(0, I)中采樣\epsilon杂穷,然后通過變換z= \Sigma^{1/2}(X)\  \epsilon + \mu(X)悍缠,其中\Sigma^{1/2}(X) 為矩陣\Sigma(X)的平方根,容易驗證z\sim{\mathcal N}(\mu(X), \Sigma(X))亭畜。這一步轉(zhuǎn)換后多出來的矩陣乘法和向量加法扮休,顯然是可求導(dǎo)的。因此拴鸵,最終我們的目標(biāo)函數(shù)是:

E_{\epsilon \sim {\mathcal N(0,I)}} [\log P(X|z = μ(X) + Σ^{1/2}(X) \ ε)] ? {\rm KL}(Q(z|X)||P(z))


測試階段

????????在測試階段,我們直接將編碼器部分丟棄蜗搔,僅僅使用解碼器部分劲藐,當(dāng)然“重采樣部分”屬于編碼器當(dāng)然也要丟掉;最后我們進(jìn)行采樣的模型如下圖所示:

從CARL?DOERSCH論文中截取

? ? ? ? 這個采樣過程非常簡單樟凄;另一方面假設(shè)我們希望計算給定的測試樣本在模型下的概率如何聘芜?也就是計算P(X),根據(jù)之前全部的討論缝龄,我們有如下兩種方式:

1)\log P(X)  \approx E_{Z\sim Q}\left[\log{P(X|Z)}\right]- {\rm KL} (Q(Z|X)\rVert P(Z))

2)P(X) = \int P(X|Z)P(Z){\rm d}Z=   E_{z\sim P(Z)}[P(X|z)]

? ? ? ? 無論哪種方式汰现,我們都要對隱向量Z進(jìn)行采樣;但是我們是用下面兩個方法中的那個呢叔壤?雖然方法(1)是近似的瞎饲,方法(2)為精確的。但是根據(jù)之前的討論炼绘,由于從Q(Z|X)可以采樣處使得X出現(xiàn)高概率的樣本嗅战,因此從Q(Z|X)分布中采樣會比從P(Z)采樣收斂的更快。


我們在下篇繼續(xù)討論:變分自編碼器VAE細(xì)致推導(dǎo)(二)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市驮捍,隨后出現(xiàn)的幾起案子疟呐,更是在濱河造成了極大的恐慌,老刑警劉巖东且,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件启具,死亡現(xiàn)場離奇詭異,居然都是意外死亡珊泳,警方通過查閱死者的電腦和手機(jī)富纸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旨椒,“玉大人晓褪,你說我怎么就攤上這事∽凵鳎” “怎么了涣仿?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長示惊。 經(jīng)常有香客問我好港,道長,這世上最難降的妖魔是什么米罚? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任钧汹,我火速辦了婚禮,結(jié)果婚禮上录择,老公的妹妹穿的比我還像新娘拔莱。我一直安慰自己,他們只是感情好隘竭,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布塘秦。 她就那樣靜靜地躺著,像睡著了一般动看。 火紅的嫁衣襯著肌膚如雪尊剔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天菱皆,我揣著相機(jī)與錄音须误,去河邊找鬼。 笑死仇轻,一個胖子當(dāng)著我的面吹牛京痢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拯田,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼历造,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吭产,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤侣监,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后臣淤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體橄霉,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年邑蒋,在試婚紗的時候發(fā)現(xiàn)自己被綠了姓蜂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡医吊,死狀恐怖钱慢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卿堂,我是刑警寧澤束莫,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站草描,受9級特大地震影響览绿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜穗慕,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一饿敲、第九天 我趴在偏房一處隱蔽的房頂上張望糕珊。 院中可真熱鬧现横,春花似錦、人聲如沸恳谎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至添吗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間份名,已是汗流浹背碟联。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留僵腺,地道東北人鲤孵。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像辰如,于是被迫代替她去往敵國和親普监。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容