1、8.1欠完备自编码器 概述第八章自编码器8.2正则自编码器8.3随机自编码器of4618.4深度自编码器8.5变分自编码器概述第八章 自编码器of462自动编码器就是一种尽可能复现输入信号的神经网络;自动编码器必须捕捉可以代表输入数据的最重要的因素;类似 PCA,找到可以代表原信息的主要成分。Input:数据的输入;Encoder:编码器;Code:输入的一个表示;Decoder:解码器;Reconstruction:input的重建;Error:重建数据和input的误差。什么是自编码器?概述第八章 自编码器of463什么是自编码器?自编码器是一种用来实现数据编码和解码的神经网络,通过编码器
2、对输入进行编码,通过解码器还原输入。x f h=f(x)g r=g(h)输入隐含层构成的编码函数编码隐含层构成的解码函数解码编码器解码器概述第八章 自编码器of464什么是自编码器?自编码 设法学习到一个函数,使得:即:xx概述第八章 自编码器of4651 很强的数据相关性,即自编码器只能编码与训练数据类似的数据。2 自编码器是有损编码,通过解码器解码无法准确还原原始编码。3 自编码器是一种自我监督学习算法,其输入即是网络的监督信息,因此在编码设计和训练过程中,要尽量避免简单的恒等映射。自编码器的三个特性主要分类深度自编码器变分自编码器欠完备自编码器随机自编码器第八章 自编码器of466概述正
3、则自编码器8.1欠完备自编码器 概述第八章自编码器8.2正则自编码器8.3随机自编码器of4678.4深度自编码器8.5变分自编码器第八章 自编码器of4688.1 欠完备自编码器定义:限制自编码器的编码 h 的维度比输入 x 的小编码器:可看作数据降维或数据压缩解码器:数据还原和数据解压特例:解码器执行线性变换,损失函数设定为均方误差,则编码器相当于PCA编码解码欠完备自编码器的训练将强制自编码器捕捉数据空间最显著的特征。第八章 自编码器of4698.1 欠完备自编码器欠完备自编码器与PCA比较自编码器能够学习数据的非线性分布,而PCA只能学习线性分布。第八章 自编码器of46108.1 欠
4、完备自编码器编码器降维8.1欠完备自编码器 概述第八章自编码器8.2正则自编码器8.3随机自编码器of46118.4深度自编码器8.5变分自编码器第八章 自编码器of46128.2 正则自编码器自编码器会简单的将输入映射为输出,无法学习任何与数据分布有关的信息自编码器中隐藏层输出的维度大于等于输入x的维度不对自编码器的参数做任何约束正则自编码器:给损失函数添加适当的正则项,避免简单的恒等映射。第八章 自编码器of46138.2 正则自编码器1.稀疏自编码器 自动编码器中当隐层节点数过少,隐层节点则需要对原始输入进行压缩,当输入为随机高斯序列的时候,对原始输入提取特征则会变得困难。如果隐藏层节点
5、数量很大,甚至比输入层节点数量还要多时,我们仍然可以使用自编码算法,但是这时需要加入稀疏性限制。这就是稀疏自编码器。核心思想:将隐层进行约束,使其变得稀疏。第八章 自编码器of46148.2 正则自编码器 在正则自编码器中,给损失函数添加稀疏正则项,起到约束模型参数稀疏性的作用。损失函数构造方式自码器的解码损失稀疏正则项 稀疏自编码器通过特征空间转化的方式,来学习训练数据集的数据分布与统计特征。第八章 自编码器of46158.2 正则自编码器是一个稀疏参数,一般取接近于0的值,比如0.05;也就是说,每个隐藏单元 j 的平均激活值接近于0.05。第八章 自编码器of46168.2 正则自编码器
6、即:第八章 自编码器of46178.2 正则自编码器如何对j偏离其中,KL散度公式:的程度进行惩罚?左图中,=0.2当=0.2j时,KL散度值达到最小,其值为0。当j趋于0或1时,KL散度值趋于无穷大。因此,为了使以上惩罚项最小,必须使得:j第八章 自编码器of46188.2 正则自编码器因此,全局损失函数为:其中:第八章 自编码器of46198.2 正则自编码器 在逆向算法更新权值时,假设有一共m个训练样本。对于第一项称为平均平方和误差,第二项为调整项。第二项是为了减少权值的量级以及防止过度拟合。为了使J(w,b)这个包含W和b的函数最小化(误差最小),我们使用梯度下降法来进行求解。第八章
7、自编码器of46208.2 正则自编码器对于每一次迭代其中第八章 自编码器of46218.2 正则自编码器定义:为第 L 层的第i个节点对最终输出值的残差贡献值,称之为残差。计算方法:1.计算前向过程中的节点激活量2.计算最终层的残差,此时 为输出。(L)ilnia第八章 自编码器of46228.2 正则自编码器3.根据上面的算式,让这个式子可以这么理解,对比最终层的节点误差,当 括弧里的算子实际上是逆向算法,是最终层的残差与权重的乘积和即上图中的这个节点产生的总残差.1,.,2,1llnnl1lnl第八章 自编码器of46238.2 正则自编码器4.通过梯度下降法,求得第八章 自编码器of4
8、6248.2 正则自编码器最终层的残差)第八章 自编码器of46258.2 正则自编码器第八章 自编码器of46268.2 正则自编码器为什么能稀疏?1、减小编码后隐藏层神经元个数。比如,后一层比前一层神经元个数少。如果激活函数不使用sigmoid函数,而 使用线性函数,就是PCA模型。2、隐藏层的任何一个神经元不应该总是高度激活。通过设置j的值充分小,一般接近于0,比如0.01等。为使KL散度尽可能小,则:(2)1a从而使得类似于右图中的神经元激活值较小,处于抑制状态。(2)2a(2)3a小第八章 自编码器of46278.2 正则自编码器2.去噪自编码器 将训练数据添加噪声后作为自编码器的输
9、入,原始数据作为监督信息,则自编码器起到的作用就是数据去噪。优点:鲁棒性更好第八章 自编码器of46288.2 正则自编码器去噪自编码器结构损失函数:1L(x,z)=-log(1)log(1)dHkkkkkxzxz第八章 自编码器of46298.2 正则自编码器流形学习观点重建干净的数据x DAE用于从破损的x:破损处理,灰色的圈代表等概率的破损C(x|x)x:图中的红十字,分布在低维流 形附近。DAE 训练最小化均方误差:学习一个向量场(绿色的箭头)2g()f xxg()f xx向量场用于估计一个梯度场(log()Q xx(x)Q其中,是未知的数据分布第八章 自编码器of46308.2 正则
10、自编码器学习一个向量场用于估计梯度场这个属性在以下前提条件下已被证明(Alain and Bengio,2012,2013)g()f x用于估计梯度场(log()Q xx x是连续值,损坏(添加噪声)和重建分布都服从高斯分布 均方误差:2g()f xx 破损处理服从以下分布:2(|)(;,)C Xx xN xxI 更准确地说,(log()Q xx2g()f xx是一个相容估计,即:2g()(log()f xxQ xx第八章 自编码器of46318.2 正则自编码器1、图中每个箭头长度正比于:重建值减去自编码的输入矢量;2、方向:根据隐含估计的概率分布指向更高的概率值;3、注意:估计密度函数的顶
11、峰(数据流形上)和低谷(局部最小)向量场为零值。第八章 自编码器of46328.2 正则自编码器将梯度场变成一个生成模型 编码-解码对的应用可以给我们生成一个大概的结构,如果我们考虑蒙特卡罗马尔科夫链算法(MCMC),两方面需要注意:1、从低概率结构转移到高概率结构2、加入随机性,使得链可到处转移(不至于在一些概率或模型的顶峰被困住,陷入局部最优?),并且有机会遍历整个空间,使得概率等于潜在模型的概率 从概念上的理解,我们在做编码解码操作时,需要加入噪声,但加入多少?怎么加合适呢?(But how much and how?)第八章 自编码器具体实现方案of46338.2 正则编码器添加噪声第
12、八章 自编码器of46348.2 正则编码器3.压缩自编码器(Contrative Autoencoder)普通自编码:压缩自编码:其中,雅克比矩阵:When Sigmoid,8.1欠完备自编码器 概述第八章自编码器8.2正则自编码器8.3随机自编码器of46358.4深度自编码器8.5变分自编码器第八章 自编码器of46368.3 随机自编码器随机自编码器结构随机自编码器8.1欠完备自编码器 概述第八章自编码器8.2正则自编码器8.3随机自编码器of46378.4深度自编码器8.5变分自编码器第八章 自编码器of46388.4 深度自编码器深度自编码器(Deep Autoencoder,DA
13、E)深度自编码器结构图输入层和输出层维度相同第八章 自编码器of46398.4 深度自编码器DAE输入层和输出层的维度相同,是一种结构特殊的网络。编码器和解码器是由多个受约束的波尔兹曼(RBM,Restricted Boltzmann Machine)构成,也可以由自编码器堆叠构成,或卷积网络等其他神经网络构成。8.1欠完备自编码器 概述第八章自编码器8.2正则自编码器8.3随机自编码器of46408.4深度自编码器8.5变分自编码器第八章 自编码器of46418.5 变分自编码器将原始数据转换到符合指定概率分布(如常见的均匀分布、高斯分布等)数据的模型。变分自编码器第八章 自编码器of464
14、28.5 变分自编码器不同:对于训练集的数据分布,GAN是未知的;而在训练VAE时,必须提前指定生成的数据的分布模型VAE与GAN的对比第八章 自编码器of46438.5 变分自编码器 由于直接优化上述目标很困难,于是利用了变分推导,将优化问题转化为所谓的ELBO(Evidence Lower Bound,证据下界)问题来求解。第八章 自编码器of46448.5 变分自编码器即第八章 自编码器of46458.5 变分自编码器由第八章 自编码器of46468.5 变分自编码器我们还需要另外一个深度函数decoder,帮助z再变回x。网络的整个训练可采用蒙特卡洛(Monte Carlo)法进行感谢聆听