从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算法

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 01),事实上就是相当于对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}
  1. Maximum Likelihood Estimation求解参数
    1. 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)=Zp(x,Z)=k=1Kp(x,z=Ck)=k=1Kp(z=Ck)p(xz=Ck)=k=1KpkN(xμk,Σk)(2.1)
      对比公式(11.1.1)可见几何角度的结果中的 α k \\alpha_k αk就是混合模型中的 p k p_k pk,权重即概率。

    2. 尝试使用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的主要内容,如果未能解决你的问题,请参考以下文章

      5G低延时的误区和机会——从理论到工程落地的数据差异

      魔众企业VI系统 v2.0.0 全新可视化编辑页面,落地页的最佳选择

      跨越DDD从理论到工程落地的鸿沟

      DDD 领域驱动设计落地实践系列:工程结构分层设计

      Identity Server 4 从入门到落地—— 创建Web Api

      从1到2000个微服务,史上最落地的实践云原生25个步骤