自编码器神经网络(自编码器原理)

作者:电脑培训网 2024-04-30 20:51:12 697

自动编码器一、自编码器原理

自动编码器算法属于自监督学习的范畴。如果算法使用x作为监督信号来学习,这里的算法称为自监督学习。

自编码器神经网络(自编码器原理)

监督学习中神经网络的功能:是输入特征向量的长度,是网络输出向量的长度。对于分类问题,网络模型将长度为的输入特征向量转换为长度为的输出向量。这个过程可以看作是特征降维的过程,将原始高维输入向量转化为低维变量。

特征降维广泛应用于机器学习中,例如文件压缩、数据预处理等。最常见的降维算法是主成分分析,它获取特征的主要成分通过对协方差矩阵执行特征分解来对数据进行处理。然而,PCA本质上是一种线性变换,其提取特征的能力极其有限。有限的

利用神经网络强大的非线性表达能力来学习低维数据表示,但是训练神经网络一般需要一个显式的标签数据,而无监督数据没有额外的标签信息,只有数据本身

数据本身作为监督信号来指导神经网络的训练,即希望神经网络能够学习到:的映射。

将网络分为两部分。前一个子网络尝试学习映射关系:,后一个子网络尝试学习映射关系:。把它看成是一个数据编码过程,将高维输入编码为低维潜变量,称为编码器网络;将其视为数据解码过程,将编码输入解码为高维,称为解码器网络

编码器和解码器共同完成输入数据的编码和解码过程,整个网络模型称为自动编码器,简称自动编码器。如果使用深度神经网络来参数化求和函数,则称为深度自动编码器

自动编码器能够将输入转换为隐藏向量并通过解码器重建。解码器的输出可以完美或者近似地恢复原始输入,即,自编码器:的优化目标,dist(,)表示之和的距离度量,称为重构误差函数。常见的测量方法是欧式距离的平方,计算方法如下:=(-)2

原则上它等同于均方误差。自编码器网络与普通神经网络没有本质区别,只是训练监督信号从标签变为自身。借助深度神经网络的非线性特征提取能力,自动编码器可以获得良好的数据表示。与PCA等线性方法相比,自动编码器具有更好的性能,甚至可以更完美地恢复输入。

2.各种自动编码器

自编码器网络的训练相对稳定,但由于损失函数直接衡量重建样本与真实样本底层特征的距离,而不是评估重建样本的保真度、多样性等抽象指标,因此不适合某些任务。效果一般,比如图像重建,重建图像的边缘容易模糊,保真度仍远远落后于真实图像。为了尝试让自编码器学习数据的真实分布,生成了一系列自编码器变体网络。

1.DenoisingAuto-Encoder

为了防止神经网络记住输入数据的底层特征,去噪自动编码器向输入数据添加随机噪声扰动,例如将从高斯分布采样的噪声添加到输入:添加噪声后,网络需要学习数据的真实隐藏变量z,并恢复原始输入

2.DropoutAuto-Encoder

DropoutAuto-Encoder降低网络的表达能力,并通过随机断开网络来防止过度拟合。通过在网络层插入Dropout层可以实现网络连接的随机断开。

3.AdversarialAuto-Encoder

为了方便地从已知先验分布()中采样隐藏变量,使用()来重构输入,AdversarialAuto-Encoder使用额外的判别器网络网络)来确定降维隐藏变量是否是从先验分布中采样的。判别器网络的输出是属于区间[0,1]的变量,表示隐藏向量是否从先验分布()中采样:所有从先验分布()中采样的都被标记为true,并且从自动编码器采样的条件概率(|)的被标记为false。通过这种方式训练,除了重构样本之外,还可以约束条件概率分布(|)逼近先验分布()。

对抗性自动编码器源自生成对抗性网络算法

4.VariationalAutoEncoders

基本自动编码器本质上是学习输入和隐藏变量之间的映射关系。它是一个判别模型,而不是生成模型。

变分自动编码器:给定隐藏变量P()的分布,如果可以学习条件概率分布P(|),则通过配对联合概率分布P(,)=P(|)对)P()进行采样,生成不同的样本

从神经网络的角度来看,与自动编码器模型相比,VAE还具有编码器和解码器两个子网络。解码器接受输入,输出是潜变量;解码器负责将潜在变量解码为重构的。不同的是,VAE模型显式约束潜变量的分布,并希望潜变量符合预设的先验分布P()。在损失函数的设计中,除了原来的重构误差项外,还增加了隐变量分布的约束项。

从概率的角度来看,假设数据集都是从某个分布(|)中采样出来的,是一个隐藏变量,代表一些内部特征,比如一张手写数字的,可以代表字体大小、书写风格、粗体、斜体等设置,符合一定的先验分布()。给定一个特定的隐藏变量,可以从学习到的分布(|)中采样生成一系列样本,这些样本都具有表示的共性

通常假设()遵循已知分布(0,1)。在已知()的情况下,我们希望学习生成概率模型(|)。这里可以使用最大似然估计方法:一个好的模型应该有很高的概率生成真实样本。如果生成模型(|)由参数化,那么神经网络的优化目标是:由于z是连续变量,因此这个积分无法转换为离散形式,无法直接优化。

利用变分推理,进而通过一系列简化的VAE模型优化目标:编码器网络可以用来参数化(|)函数,解码器网络可以用来参数化(|)函数。通过计算解码器的输出分布(|)与先验分布()之间的KL散度,以及解码器的似然概率对数(|)组成的损失函数,可以优化(,)目标。

优化函数转换为:和,可以基于自编码器中的重构误差函数来实现

其中,当假设(z|igh)和(z)均服从正态分布时:

当(|igh)为正态分布(1,1)时,()为正态分布(0,1),即2=0,2=1,此时

第一个优化目标可以理解为约束隐变量的分布,第二个优化目标可以理解为提高网络的重构效果

潜在变量是从编码器(|)的输出中采样的。当假设(z|)和(z)都服从正态分布时,编码器输出正态分布的均值和方差2,解码器的输入从(,2)中采样。由于采样操作的存在,梯度传播是不连续的,VAE网络无法通过梯度下降算法进行端到端的训练。

ReparameterizationTrick:

它通过手段对潜变量z进行采样,并且是连续可微的,从而连接了梯度传播

相关推荐