热门问题
时间线
聊天
视角
變分自編碼器
来自维基百科,自由的百科全书
Remove ads
機器學習中,變分自編碼器(Variational Autoencoder,VAE)是由Diederik P. Kingma和Max Welling提出的一種人工神經網絡結構,屬於概率圖模式和變分貝葉斯方法。[1]
VAE與自編碼器模型有關,因為兩者在結構上有一定親和力,但在目標和數學表述上有很大區別。VAE屬於概率生成模型(Probabilistic Generative Model),神經網絡僅是其中的一個組件,依照功能的不同又可分為編碼器和解碼器。編碼器可將輸入變量映射到與變分分布的參數相對應的潛空間(Latent Space),這樣便可以產生多個遵循同一分布的不同樣本。解碼器的功能基本相反,是從潛空間映射回輸入空間,以生成數據點。雖然噪聲模型的方差可以單獨學習而來,但它們通常都是用重參數化技巧(Reparameterization Trick)來訓練的。
Remove ads
結構與操作概述
VAE是一個分別具有先驗和噪聲分布的生成模型,一般用最大期望算法(Expectation-Maximization meta-algorithm)來訓練。這樣可以優化數據似然的下限,用其它方法很難實現這點,且需要q分布或變分後驗。這些q分布通常在一個單獨的優化過程中為每個單獨數據點設定參數;而VAE則用神經網絡作為一種攤銷手段來聯合優化各個數據點,將數據點本身作為輸入,輸出變分分布的參數。從一個已知的輸入空間映射到低維潛空間,這是一種編碼過程,因此這張神經網絡也叫「編碼器」。
解碼器則從潛空間映射回輸入空間,如作為噪聲分布的平均值。也可以用另一個映射到方差的神經網絡,為簡單起見一般都省略掉了。這時,方差可以用梯度下降法進行優化。
優化模型常用的兩個術語是「重構誤差(reconstruction error)」和「KL散度」。它們都來自概率模型的自由能表達式(Free Energy Expression ),因而根據噪聲分布和數據的假定先驗而有所不同。例如,像IMAGENET這樣的標準VAE任務一般都假設具有高斯分布噪聲,但二值化的MNIST這樣的任務則需要伯努利噪聲。自由能表達式中的KL散度使得與p分布重疊的q分布的概率質量最大化,但這樣可能導致出現搜尋模態(Mode-Seeking Behaviour)。自由能表達式的剩餘部分是「重構」項,需要用採樣逼近來計算其期望。[7]
Remove ads
系統闡述

從建立概率模型的角度來看,人們希望用他們選擇的參數化概率分布使數據的概率最大化。這一分布常是高斯分布,分別參數化為和,作為指數族的一員很容易作為噪聲分布來處理。簡單的分布很容易最大化,但如果假設了潛質(latent)的先驗分布,可能會產生難以解決的積分。讓我們通過對的邊緣化找到。
其中,表示可觀測數據於下的聯合分布,和在潛空間中的形式(也就是編碼後的)。根據連鎖法則,方程可以改寫為
在原始的VAE中,通常認為是實數的有限維向量,則是高斯分布。那麼便是高斯分布的混合物。
現在,可將輸入數據和其在潛空間中的表示的映射定義為
- 先驗
- 似然值
- 後驗
不幸的是,對的計算十分困難。為了加快計算速度,有必要再引入一個函數,將後驗分布近似為
其中是參數化的的實值集合。這有時也被稱為「攤銷推理」(amortized inference),因為可以通過「投資」找到好的,之後不用積分便可以從快速推斷出。
這樣,問題就變成了找到一個好的概率自編碼器,其中條件似然分布由概率解碼器(probabilistic decoder)計算得到,後驗分布近似由概率編碼器(probabilistic encoder)計算得到。
下面將編碼器參數化為,將解碼器參數化為。
Remove ads
證據下界(Evidence lower bound,ELBO)
如同每個深度學習問題,為了通過反向傳播算法更新神經網絡的權重,需要定義一個可微損失函數。
對於VAE,這一思想可以實現為聯合優化生成模型參數和,以減少輸入輸出間的重構誤差,並使儘可能接近。重構損失常用均方誤差和交叉熵。
作為兩個分布之間的距離損失,反向KL散度可以很有效地將擠壓到之下。[8][9]
剛剛定義的距離損失可擴展為
現在定義證據下界(Evidence lower bound,ELBO):使ELBO最大化等於同時最大化、最小化。即,最大化觀測數據似然的對數值,同時最小化近似後驗與精確後驗的差值。
給出的形式不大方便進行最大化,可以用下面的等價形式:其中實現為,因為這是在加性常數的前提下得到的東西。也就是說,我們把在上的條件分布建模為以為中心的高斯分布。和的分布通常也被選為高斯分布,因為和可以通過高斯分布的KL散度公式得到:
Remove ads
重參數化

有效搜索到的典型方法是梯度下降法。
它可以很直接地找到但是,不允許將置於期望中,因為出現在概率分布本身之中。重參數化技巧(也被稱為隨機反向傳播[10])則繞過了這個難點。[8][11][12]
最重要的例子是當遵循正態分布時,如。
可以通過讓構成「標準隨機數生成器」來實現重參數化,並將構建為。這裡,通過科列斯基分解得到:接着我們有由此,我們得到了梯度的無偏估計,這就可以應用隨機梯度下降法了。
由於我們重參數化了,所以需要找到。令為的概率密度函數,那麼,其中是相對於的雅可比矩陣。由於,這就是
Remove ads
變體
許多VAE的應用和擴展已被用來使其適應其他領域,並提升性能。
-VAE是帶加權KL散度的實現,用於自動發現並解釋因子化的潛空間形式。這種實現可以對大於1的值強制進行流形分解。這個架構可以在無監督下發現解耦的潛因子。[13][14]
條件性VAE(CVAE)在潛空間中插入標籤信息,強制對所學數據進行確定性約束表示(Deterministic Constrained Representation)。[15]
Remove ads
另見
參考
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads