从EM到VI,最后落地VAE
Posted Paul-Huang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从EM到VI,最后落地VAE相关的知识,希望对你有一定的参考价值。
1. 初识EM、VI与VAE
1.1. EM算法
- EM是一种从频率角度解决优化问题(常见的频率角度模型有:回归模型、SVM等)。
- EM常与MLE进行对比。
- MLE(极大似然估计)
- EM算法
- MLE(极大似然估计)
1.2 VI算法
- 变分推断(Variational Inference)解决的是贝叶斯角度的积分问题,是贝叶斯推断的确定性近似推断。
- 利用EM的思路,把 log p ( x ) \\log p(x) logp(x)堪称 E L B O ELBO ELBO和 K L KL KL散度的结合。再把 E L B O ELBO ELBO看成泛函,利用平均场理论进行求解。
1.3 VAE
- VAE可以看成是从
变
分
和
贝
叶
斯
的
角
度
来
解
决
A
u
t
o
E
n
c
o
d
e
r
问
题
\\color{red}变分和贝叶斯的角度来解决AutoEncoder问题
变分和贝叶斯的角度来解决AutoEncoder问题。
因为用到了变分,所以常常是先看VI,再看VAE。
- VAE本质上就是:
- 常规的自编码器的基础上,对encoder的结果(在VAE中对应着计算均值的网络)加上了 “ 高 斯 噪 声 ” \\color{red}“高斯噪声” “高斯噪声”,使得结果decoder能够对噪声有鲁棒性;
- 而那个额外的KL loss( 目 的 是 让 均 值 为 0 , 方 差 为 1 \\color{red}目的是让均值为0,方差为1 目的是让均值为0,方差为1),事实上就是相当于对encoder的一个正则项,希望encoder出来的东西均有零均值。
2. EM与VI的异同
2.1 相同点
2.1.1 都是处理具有隐变量的问题
都 是 对 M L E 无 法 处 理 的 情 况 进 行 处 理 \\color{red}都是对MLE无法处理的情况进行处理 都是对MLE无法处理的情况进行处理。明确参数的意义:
- X X X:Observed data, X = ( x 1 , x 2 , ⋯ , x N ) X = (x_1, x_2, \\cdots, x_N) X=(x1,x2,⋯,xN)。
- ( X , Z ) (X,Z) (X,Z):Complete data, ( X , Z ) = { ( x 1 , z 1 ) , ( x 2 , z 2 ) , ⋯ , ( x N , z N ) } (X,Z) = \\{ (x_1,z_1),(x_2,z_2),\\cdots,(x_N,z_N) \\} (X,Z)={(x1,z1),(x2,z2),⋯,(xN,zN)}。
- θ \\theta θ:parameter, θ = { P 1 , ⋯ , P k , μ 1 , ⋯ , μ k , Σ 1 , ⋯ , Σ k } \\theta=\\{ P_1, \\cdots, P_k, \\mu_1, \\cdots, \\mu_k,\\Sigma_1,\\cdots,\\Sigma_k \\} θ={P1,⋯,Pk,μ1,⋯,μk,Σ1,⋯,Σk}。
- Maximum Likelihood Estimation求解参数
-
P ( x ) P(x) P(x)可以表示为:
p ( x ) = ∑ Z p ( x , Z ) = ∑ k = 1 K p ( x , z = C k ) = ∑ k = 1 K p ( z = C k ) ⋅ p ( x ∣ z = C k ) = ∑ k = 1 K p k ⋅ N ( x ∣ μ k , Σ k ) (2.1) \\begin{aligned}p(x)&= \\sum_Z p(x,Z) \\\\ & = \\sum_{k=1}^K p(x,z = C_k) \\\\ & = \\sum_{k=1}^K p(z = C_k)\\cdot p(x|z=C_k) \\\\ & = \\sum_{k=1}^K p_k \\cdot \\mathcal{N}(x|\\mu_k,\\Sigma_k)\\end{aligned}\\tag{2.1} p(x)=Z∑p(x,Z)=k=1∑Kp(x,z=Ck)=k=1∑Kp(z=Ck)⋅p(x∣z=Ck)=k=1∑Kpk⋅N(x∣μk,Σk)(2.1)
对比公式(11.1.1)可见几何角度的结果中的 α k \\alpha_k αk就是混合模型中的 p k p_k pk,权重即概率。 -
尝试使用MLE求解GMM参数
尝试使用MLE求解GMM参数的解析解。实际上GMM一般使用EM算法求解, 因 为 使 用 M L E 求 导 后 , 无 法 求 出 具 体 解 析 解 \\color{blue}因为使用MLE求导后,无法求出具体解析解 因为使用MLE求导后,无法求出具体解析解。所以接下来我们来看看为什么MLE无法求出解析解。
θ ^ M L E = a r g m a x θ l o g p ( X ) = a r g m a x θ l o g ∏ i = 1 N p ( x i ) = a r g m a x θ ∑ i = 1 N l o g p ( x i ) = a r g m a x θ ∑ i = 1 N l o g ∑ k = 1 K p k ⋅ N ( x i ∣ μ k , Σ k ) (2.2) \\begin{aligned}\\hat{\\theta }_{MLE}&=\\underset{\\theta }{argmax}\\; log\\; p(X)\\\\ &=\\underset{\\theta }{argmax}\\; log\\prod_{i=1}^{N}p(x_{i})\\\\ &=\\underset{\\theta }{argmax}\\sum_{i=1}^{N}log\\; p(x_{i})\\\\ &=\\underset{\\theta }{argmax}\\sum_{i=1}^{N}{\\color{Red}{log\\sum _{k=1}^{K}}}p_{k}\\cdot N(x_{i}|\\mu _{k},\\Sigma _{k})\\end{aligned}\\tag{2.2}
以上是关于从EM到VI,最后落地VAE的主要内容,如果未能解决你的问题,请参考以下文章 魔众企业VI系统 v2.0.0 全新可视化编辑页面,落地页的最佳选择
-