日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Tutorial on Variational AutoEncoders

發(fā)布時間:2025/3/15 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tutorial on Variational AutoEncoders 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文是《Tutorial on Variational AutoEncoders》一文部分翻譯的內容。

1.介紹

generative model,學習高維數據的概率分布P(X)P(X)。學習到不同維度之間的相互依賴關系,比如手寫數字的生成模型如果生成了8的左邊一半像素,那么剩下的像素也就能夠隨之確定。

latent variable,給予生成模型一些信息用來生成數據。比如一個生成手寫數字的生成模型,隱變量z就可以是從[0,…,9]中隨機采樣的整型,確定了隱變量模型才能生成像素點。

但是隱變量又不可能那么簡單,因為對于一個能夠表達出數據集特性的生成模型,對于每個數據點,生成模型都要能夠產生出一個隱變量來生成一個非常相似的東西。對手寫數字數據集來說,同樣的一個8,可能大一點或者小一點,往左歪一點或者往右歪一點,字跡是粗一點還是細一點。所以,生成模型中隱變量需要表達更多的信息,需要一個高維度的向量來表示隱變量zRZz∈RZ,隱變量要能夠自動的學習到這些信息的表示,而且這些影響手寫數字生成的信息之間的相互影響和依賴,即隱變量的latent structure,也應該自動的學習。

2.目標函數

VAE的過程是:從概率密度函數P(z)中采樣隱變量z之后,從確定性函數f(z;θ)f(z;θ)得到的值,這個值要大概率和數據集中的數據很相似。

所以我們的目標是對數據集中的所有數據x,最大化:

P(X)=P(X|z;θ)P(z)dzP(X)=∫P(X|z;θ)P(z)dz

其中的條件概率P(X|z;θ)P(X|z;θ)等于N(X|f(z;θ),σI)N(X|f(z;θ),σI),也就是在標準VAE中,如果輸出是實數向量,通常輸出的分布是均值為f(z;θ)f(z;θ)方差為σIσI的高斯分布。

VAE要最大化P(x),就要解決兩個問題:

  • 隱變量z如何表示?

使用標準正態(tài)分布N(0,I)N(0,I),因為只要有一個n維標準正態(tài)分布的z,再找到一個足夠復雜的函數g,那么g(z)就可以表示任意一個n維分布。

對上面的公式而言,f(z;θ)f(z;θ)就是一個多層神經網絡組成的函數逼近器。可以將將隱變量映射到最后的輸出。

  • P(X)P(X)的積分如何計算?

現(xiàn)在我們得到了P(z)=N(0,I)P(z)=N(0,I),可以直接計算P(X)P(X)了嗎?還是不行,假如采用抽樣的方式抽樣出很多z來計算P(X)P(X)的話就會發(fā)現(xiàn),對于絕大多數z來說,P(X|z)P(X|z)都接近于0(因為z是標準正態(tài)分布的采樣),這種方式非常低效。

VAE的解決這個問題的核心思想就是,試圖抽樣出有更大可能性產生X的z。而做到這一點是通過另一個分布Q(z|X)Q(z|X)來實現(xiàn)的,這個分布產生的Q能夠以較大的可能產生X。

但是我們使用了Q分布后,P(X)P(X)積分公式就變成了EzQP(X|z)Ez~QP(X|z),我們要找到后者和P(X)P(X)之間的關系。根據P(z|X)Q(z|X)P(z|X)和Q(z|X)的KL散度的公式進行推導,可以推出:

其中左側的部分就是目標函數,我們要最大化這個目標函數就是在最大化對數似然概率的同時,最小化我們預測的分布Q和真實分布P之間的差異。

3.目標函數優(yōu)化

那么Q(z|X)Q(z|X)是一個什么分布呢?通常的選擇是,也是一個多元高斯分布N(z|μ(X),σ(X))N(z|μ(X),σ(X)),其中的μσμ和σ都是由神經網絡學習到的映射。

所以目標函數等號右側的最后一項就變成了兩個多元高斯分布的KL散度,因為我們假定P(z)P(z)是標準多元高斯分布。在得到了Q分布之后,這一項是能夠計算出來的(當然也能夠利用梯度下降來優(yōu)化)。

而右側的第一項,也就是EzQ[logP(X|z)]Ez~Q[logP(X|z)],通過當前時刻的Q分布,從中采樣出若干個z,然后從這若干個z中計算出P(X|z)P(X|z)作為期望的逼近值。

但是這樣做的話,由于采樣操作對μμσσ不可導,反向傳播無法進行,因此,實際的VAE中使用了一個叫做reparameterization的改進,以從N(0,I)N(0,I)中抽樣出數值??后,用??乘以方差再加上均值的結果代替從N(z|μ(X),σ(X))N(z|μ(X),σ(X))中抽樣,如下圖。

所以最終,VAE的優(yōu)化目標就是,讓最終的輸出f(z)f(z)與目標xx足夠接近的同時,隱變量的分布QN(μ,σ2)Q~N(μ,σ2)接近真實先驗分布PN(0,I2)P~N(0,I2)

4.條件變分自編碼器

為了解決某種問題,比如說給定某個人的手跡,要求生成另一些與他的手跡很像的手跡。這時候需要制定輸入計算輸出P(Y|X)P(Y|X),為了解決這類問題,從變分自編碼器衍生出條件變分自編碼器。

模型在Encoder和Decoder的輸入中,增加了條件輸入X,如上圖。當然這張圖只是一個簡化版本,實際的CVAE有很多論文提出了很多不同的版本。

原文地址:?http://cairohy.github.io/2017/11/17/deeplearning/Tutorial%20on%20Variational%20AutoEncoders/

總結

以上是生活随笔為你收集整理的Tutorial on Variational AutoEncoders的全部內容,希望文章能夠幫你解決所遇到的問題。

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