1. 前言

    1. 完成VAE剩余的PPT
    2. 进入流模型的学习
  2. 自编码器总结

    1. 上方结构体展示了VAE的两大核心模块即编码器和解码器;
    2. 编码器将输入图像x映射到隐变量分布q_{\phi }(z|x),输出这个分布的均值\mu和方差\sigma
    3. 解码器就从q分布采样得到的z重构回原始数据空间即重建数据\tilde{x},对应分布p_{\theta }(x|z);
    4. 损失函数L能够被分成了自编码误差项和正则项KL散度,自编码误差项可以理解为是给定隐变量z的条件下能够复现为x的可能性有多大,当然是越大越好,但是当q和p偏移太大,KL散度则会修正这个偏移度;
    5. 为什么让E_{q_{\phi }(z|x)}[logp(x|z;\theta )]作为误差项?我们假设p(x|z;\theta )符合高斯分布N(x;\mu _{\theta}(z),\sigma ^{2}I),那么logp(x|z;\theta ) = -\frac{1}{2\sigma ^{2}}||x-\mu _{\theta }(z)||_{2}^{2}+ 常数,可以看出来最大化logp(x|z;\theta ),就是最小化||x-\mu _{\theta }(z)||_{2}^{2}||x-\mu _{\theta }(z)||_{2}^{2}就是我们熟悉的均方误差(MSE)重建损失!
  3. VAE模型举例

    1. 宇航员Alice得到一项任务需要将一幅图传给Bob,但是要尽可能的简便,于是Alice就只传了一些关键字过去,Bob通过概率分布重组图像,其实就是从某个概率分布里面抽样形成了一幅图,这个图就是Bob觉得Alice要传给他的图像;
  4. 引入新模型,能够绕过难以处理的边缘概率的方法

    1. 之前已经学习了自回归模型和VAE,自回归模型就是用前一个像素去估计后面像素,缺点就是慢并且无法学到结构化的显示特征,而VAE能学到这些特征,但是VAE只能似然近似的,自回归模型是可计算的,然后我们想搞一个两者兼备的模型出来;
  5. 流模型

    1. 不用z去表示μ等参数,而是用f_{\theta }(z)作为z到x的映射,如果还可逆,那x到z的映射也有了,这样也能规避连续分布的积分不可计算的问题,可用f_{\theta }(z)的逆矩阵来表示p_{\theta }(x)
    2. 但是这样做了后,x和z就是相同维度了,就没有了压缩这一概念了;
    3. 那么这个f_{\theta }(z)怎么求呢
  6. 假设是一维

    1. f^{-1}_{\theta }(X) = h(X) = Z,通过Z变量的分布以及和变量X之间的函数关系可以得到X的概率分布,公式就是p_{X}(x)=p_{Z}(h(x))|h^{'}(x)|
    2. 根据反函数求导定理可得h^{'}(x) = [f^{-1}](x) = \frac{1}{f^{'}(f^{-1}(x))},结合第一点,可得p_{X}(x)=p_{Z}(z)\frac{1}{f^{'}(z)}
  7. 转为向量形式

    1. f_{\theta }(x)变为了矩阵A,f^{-1}_{\theta }(x)变为了W;
    2. 矩阵乘法实际就是对随机变量Z进行拉升等线性操作得到X;
    3. 提一个行列式的几何意义:二维空间里,单位正方形的面积是 1,经过矩阵 A=(ab​cd​) 变换后,变成了平行四边形,它的面积就是 ∣det(A)∣=∣ad−bc∣;
    4. 概率的 “总质量” 是守恒的:原来的 1 份概率,现在被摊到了 ∣det(A)∣ 倍的体积/面积里,密度就必须除以 ∣det(A)∣ 才能保证积分仍然是 1,上面\frac{1}{f^{'}(z)}也是为了让概率积分为1,因此得到了p_{X}(x) = p_{Z}(Wx)/|det(A)| = p_{Z}(Wx)|det(W)|
  8. 对于非线性变换呢?

    1. 对于线性变化,可以用一个矩阵A转换,如果Z和X的关系存在非线性,就得用矩阵函数f来表示,公式也转为使用f的样式,其中|det(\frac{\partial f^{-1}(x)}{\partial x})|其实就是一个雅可比行列式;
    2. x的概率密度就是等于z的概率密度乘以它们的映射关系f的雅可比行列式的倒数。
  9. 2维随机变量的情况

     
    1. 这是一个双输入双输出的模型,u1和u2是u的两个分量,X1和X2分别都可由Z1和Z2表示,然后就能得到最后的公式形式,如果前面搞懂了,这里自己也能推的出来;
    2. 你可以把X1和X2理解为图像X的两个分量,从下一节课中的流模型的NICE算法中能够看到应用方法。
  10. 总结一下

    1. 讲了一下VAE的总体运作方式;
    2. 结合VAE和自回归的优点,提出有没有一种模型能够兼容,因此引入了流模型;
    3. 从易到难先讲解了一维流模型的f函数;
    4. 又进一步讲解了当f是一个矩阵时的情况;
    5. 进一步通过讲解两维场景的f函数让大家大致能想到多维即图像的应用场景应该是什么样的。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐