VAE是一種隱變量模型
隱變量模型
廣義上的隱變量主要就是指“不能被直接觀察到,但是對系統的狀態和能觀察到的輸出存在影響的一種東西”。
隱變量(latent variable)代表了隱因子(latent factor)的組合關係。
已知: 數據集DX,其中每個點都屬於空間XS。隱變量Z∈ZS。
假設: 有兩個變量,z∈ZS和x∈XS。存在一個確定性函數族f(z;θ),族中的每個函數由θ∈Θ唯一確定,f:ZS×Θ→XS。當θ固定、z是一個概率密度函數爲Pz(z)的隨機變量時,f(z;θ)就是定義在XS上的隨機變量x,對應的概率密度函數可以寫成g(x)。
目標: 優化θ,從而尋找到一個f,它是隨機變量x的採樣、和X非常的像。
注意:
(1) x是一個變量,DX是已知的數據集,x∈/DX。
(2) f把隱變量z映射成x變量,而x變量就是與數據集DX具有直接關係的隨機變量,這個直接關係可以表示成Px(DX∣x)。則數據集爲DX存在的概率Pt(DX)=∫Px(DX∣x)g(x)dx。
根據貝葉斯公式:
(1) Pt(DX)=∫Pxz(DX∣z;θ)Pz(z)dz
其中,Pxz(DX∣z;θ)是新定義的概率密度函數,替換Pt(DX)中的Px(DX∣x)g(x),從而表示 z與DX的關係。
假定Pxz是服從高斯分佈的概率密度函數,即Pxz(DX∣z;θ)=N(DX∣f(x;θ),σ2I)
注意,z的分佈是未知的。
由於隱變量Z的分佈是未知的,因此VAE首先假設其服從高斯分佈,然後使用多層神經網絡來進行逼近Z(即f(z;θ)是一個多層神經網絡)。因此,多層的神經網絡前些層是逼近Z,後些層是Z→X映射。
上述內容整理自ran337287的博客,可點擊進入文章
高斯混合模型(GMM)
GMM是傳統的隱變量模型,爲多個高斯分佈的混合,其密度函數爲多個高斯密度函數的加權組合,用EM算法求解。
隱變量Z表示樣本屬於哪個高斯分佈,Z爲離散的隨機變量Z∼Categorical distribution
求解GMM的EM算法過程:
logP(x)=ELBO+KL(qϕ(Z∣X)∣∣Pθ(Z∣X))
E-step:
當q=Pθ(Z∣X)時,KL=0
則argθmaxP(x)=argmaxELBO
∴Expectation是ELBO
M-step:
θ=argθmaxELBO =argθmaxEPθ(Z∣X)[logθP(X,Z)]
這一步留坑,下次完善
VAE概述
VAE是無限個高斯分佈的混合。
示意圖
模型描述
假設Z是連續、高維的屬於高斯分佈的隨機變量,則:
(2){Z∼N(0,I) X∣Z∼N(μθ(Z),Σθ(Z))
上式假設Z服從標準的高斯分佈。類似先驗。但是我們更關注的是後驗Pθ(Z∣X)以輔助建模。
上式假設X∣Z爲連續變量,將要用多層神經網絡去逼近得到。如果假設爲離散變量,則X∣Z∼Categorical distribution。
模型:
(3)Pθ(X)=∫ZPθ(X,Z)dZ =∫ZPθ(Z)Pθ(X∣Z)dZ
∵Z是高維的
∴無法通過積分得到結果
∴P(X)是intractable
∴後驗概率Pθ(Z∣X)=Pθ(X)Pθ(Z)Pθ(X∣Z)是intractable
∴求θ要先解決後驗概率Pθ(Z∣X)
模型求解
假設{P(Z)=N(0,I)Pθ(X∣Z)=N(μθ∣Z,Σθ(Z))∵Pθ(Z∣X) is intractable∴qΦ(Z∣X)逼近Pθ(Z∣X)
Pθ(Z∣X) is intractable,因此不能用EM算法求解。因爲EM算法的先決條件是q=Pθ(Z∣X)
假設θ已經求出來了,即Model已經訓練好了。生成樣本過程:
Z∼P(Z)→Z(i)→X(i)∼Pθ(X∣Z(i))逼近NN
目標:
<θ^,ϕ^>=argminKL(qϕ(Z∣X)∣∣Pθ(Z∣X))=argmaxELBO=argmaxEqϕ(Z∣X)[logPθ(X,Z)]+H[qϕ(Z∣X)]=argmaxEqϕ(Z∣X)[logPθ(X∣Z)+logP(Z)]+H[qϕ(Z∣X)]=argmaxEqϕ(Z∣X)[logPθ(X∣Z)]−KL(qϕ(Z∣X)∣∣P(Z))
上式的最後一行,
(1)argmax項即爲損失函數。
(2)KL項即爲正則化項,意在使得qϕ更接近P(Z),使得qϕ更接近高斯分佈,防止其坍縮到一個點。
使用梯度下降法θ^和ϕ^。採用重參數化技巧+神經網絡(如SGVI, SGVB, SVI, Amortized Inference等)來解決該優化問題,即求近似後驗。
SGVI爲例:假設q(Z∣X)
注意: 初始是從P(Z)中採樣Z(i),訓練時是從qϕ(Z∣X)中採樣Z(i)。