总览-对CS236课程Lecture 7的整理
·

-
前言
- 完成VAE剩余的PPT
- 进入流模型的学习
-
自编码器总结

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

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

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

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

,通过Z变量的分布以及和变量X之间的函数关系可以得到X的概率分布,公式就是
;
- 根据反函数求导定理可得
,结合第一点,可得
。
-
转为向量形式

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

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

- 这是一个双输入双输出的模型,u1和u2是u的两个分量,X1和X2分别都可由Z1和Z2表示,然后就能得到最后的公式形式,如果前面搞懂了,这里自己也能推的出来;
- 你可以把X1和X2理解为图像X的两个分量,从下一节课中的流模型的NICE算法中能够看到应用方法。
-
总结一下
- 讲了一下VAE的总体运作方式;
- 结合VAE和自回归的优点,提出有没有一种模型能够兼容,因此引入了流模型;
- 从易到难先讲解了一维流模型的f函数;
- 又进一步讲解了当f是一个矩阵时的情况;
- 进一步通过讲解两维场景的f函数让大家大致能想到多维即图像的应用场景应该是什么样的。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)