深度学习简明教程 课件 第6章 自编码网络_第1页
深度学习简明教程 课件 第6章 自编码网络_第2页
深度学习简明教程 课件 第6章 自编码网络_第3页
深度学习简明教程 课件 第6章 自编码网络_第4页
深度学习简明教程 课件 第6章 自编码网络_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章自编码网络6.1自编码网络的结构6.2自编码网络的原理

6.3几种经典的自编码网络6.4案例与实践

6.1自编码网络的结构

自动编码器是Rumelhart于1986年提出来的[1],它是一种典型的三层神经网络,包括输入层、隐藏层和输出层,其中输入层和输出层有相同的维度,都为n维,隐藏层的维度为m维。自动编码器的网络结构如图6.1所示。图6.1自动编码器的网络结构示意图

从输入层到隐藏层是编码过程,从隐藏层到输出层是解码过程,设f和g分别表示编码函数和解码函数,则

式中:sf

为编码器激活函数,通常取Sigmoid函数,即

;

sg

为解码器激活函数,通常取Sigmoid函数或者恒等函数;w

为输入层和隐藏层之间的权值矩阵,

为隐藏层与输出层之间的权值矩阵。自动编码器的参数θ={w,

,p,q}。

输出层的输出数据Y

可以看作对输入层的输入数据X

的预测,自动编码器可以利用反向传播算法调整神经网络的参数,当输出层的输出数据Y

与输入层的输入数据X

的接近程度可以接受时,该自动编码器就保留了原始输入数据的大部分信息,此时自动编码器神经网络就训练完成了。下面定义重构误差函数L(x,y)来刻画Y与X

的接近程度。

6.2自编码网络的原理

自动编码器的向前计算过程为

网络的训练采用反向传播算法,该算法包含向前阶段和向后阶段两个过程。在向前阶段可使用式(6.6)、式(6.7)计算出预测值。在向后阶段利用误差向后传播的思想计算梯度,即先计算l+1层的梯度,再计算l层的梯度。每个单元的输入用向量v表示,则每个参数的梯度为

采用梯度下降更新策略对参数进行如下更新:

6.3几种经典的自编码网络

6.3.1稀疏自编码(SAE)当隐藏层神经元个数较多时,要得到输入信号的压缩表示,可以对该层的神经元加入稀疏性限制,即隐藏层的神经元激活值尽可能多地为0,这里默认使用的激活函数是Sigmoid函数,若激活函数为tanh函数,我们希望神经元激活值尽可能多地为-1。简单来说,在网络的损失函数中加入正则化约束项进行稀疏约束,就可以得到稀疏自编码(sparseauto-encoders,SAE)。自动编码器的目标是使得输入和输出尽可能一致。三层自动编码器原理如图6.2所示,从图中可以看出,自动编码器的损失函数可以表示为

式中:m为训练样本的个数;W和b为网络的权值与偏置;

为网络输出信号,即重建的信号;x为网络输入信号;r为训练样本的索引。图6.2三层自动编码器原理图

这里,我们用表示对输入的隐藏层神经元j

的激活度,那么隐藏层平均激活度为

为了约束稀疏性,使隐藏层神经元的平均激活度较小,令p

为稀疏性参数,一般令其为接近0的较小的正值。当使用BP算法时,稀疏性约束能够加速训练的收敛,这项约束具体表现为在优化目标函数中加入一个额外的惩罚项,用于惩罚

和p

明显不同的情况,从而保证隐藏层神经元的平均激活度较小,该惩罚因子的形式有很多,一般为KL散度:

6.3.2收缩自编码(CAE)

收缩自编码(contractiveauto-encoders,CAE)相当于在自动编码器的损失函数中加入收缩惩罚项。简单来说就是添加正则约束项,使得学习到的模型对输入的微小变化不敏感,从而更好地反映训练数据分布的特征。

常规的加入正则项约束的自编码损失函数为

而收缩自编码的损失函数为

6.3.3栈式自编码(SA)

自编码网络与受限玻耳兹曼机可以用来预训练网络,因此栈式自动编码器(stackedauto-encoders,SAE)与深度置信网络一样,都是利用逐层学习的思想,模拟人脑的多层结构,对输入数据逐级进行从底层到高层的特征提取,因为更上层的自动编码器能够捕捉更高层次的特征组合刻画,所以最终可形成适合模式分类的较理想特征。通常,自动编码器有多种用途,不仅可以作为无监督学习的特征提取器,还可以用于降噪以及神经网络的参数初始值预训练。栈式自编码由多层稀疏自动编码器堆叠而成,前一层自动编码器的输出作为后一层自动编码器的输入,因为该网络每一层都单独地进行贪婪训练,相当于对整个网络进行预训练,所以该网络具有易训练、收敛快、准确度高等特点。

具体来说,存在一个n

层栈式自动编码器,其中W(k,1),W(k,2),b(k,1),b(k,2)分别为第k

个自动编码器对应的权重和偏置,f为激活函数,则栈式自动编码器的信息处理过程可分为以下两个阶段。

(1)按照信息从前向后的顺序逐层堆叠每个自动编码器的编码部分:

(2)按照信息从后向前的顺序逐层堆叠每个自动编码器的解码部分:

栈式自动编码器在训练过程中,首先用原始输入来训练网络的第一层,得到其参数W

(1,1)、W

(1,2)、b(1,1)、b(1,2);然后将隐藏层单元激活值作为第二层的输入,继续训练得到第二层的参数W

(2,1)、W

(2,2)、b(2,1)、b(2,2);最后对后面各层采用同样的策略,即将上一隐藏层的输出作为下一层的输入。

在训练栈式自动编码器时,每个自动编码器都是单独进行训练的,即训练每一层参数的时候,固定其他层的参数不变,然后将其堆叠起来,其间可以通过BP算法微调所有层的参数。若要将栈式自动编码器用于分类任务,则需在编码器后接softmax分类器,进行无监督的预训练和有监督的微调;若要将其用于语义分割等任务,则可以进行无监督的预训练和无监督的微调。

6.4案例与实践

6.4.1图像分类栈式去噪自动编码器(stackeddenoisingauto-encoder,SDAE)是去噪自动编码器的改进模型,它的核心思想是通过对每层编码器的输入加入噪声来进行训练,从而学习到更强健的特征表达。

栈式去噪自动编码器由多层无监督的去噪自动编码器网络以及一层有监督的BP神经网络组成,图6.3所示为SDAE流程,首先经过去噪自动编码器训练第一层后得到的编码函数

(见图6.3(a)),并将结果表示用于训练第二级去噪自动编码器(见图6.3(b)),从而学习得到第二级编码函数。最后可以通过重复叠加去噪自动编码器得到最终的栈式去噪自动编码器(见图6.3(c))。

图6.3SDAE流程图

SDAE的学习过程分为无监督学习和有监督学习两步。首先使用无标记样本对去噪自动编码器进行贪婪逐层学习(greedylayer-wisetraining),把各层训练得到的权重堆叠起

来,作为初始化网络的权重;然后采用有监督的方式通过BP算法微调所有层的参数,得到更加稳定的参数收敛位置。

遥感图像分类也就是逐像素的分类过程,文献的输入样本的格式是以待分类的点为中心的3×3大小的图像块,由于邻域像素具有上下文(光谱、纹理等)一致性,因此采用图像块的输入方式能够避免斑点噪声的干扰。将输入样本4个波段灰度值送入SDAE进行训练分类,输出向量为one-hot形式,其处理流程如图6.4所示。

图6.4基于SDAE的遥感图像分类方法流程

图6.5所示为采用不同方法对测试区域分类的结果,SDAE相比其他方法能够更好地保留地物细节。

图6.5不同方法对测试区域的分类结果

6.4.2目标检测

文献[6]采用深度自编码网络(deepauto-encodernetwork)对运动目标进行检测,能够从动态背景中提取前景目标,主要包括以下两个子网络:

(1)背景提取网络:采用三层的深度自编码网络,从有运动目标的图像中提取出干净的背景图像。

(2)背景学习网络:将干净的背景作为输入数据送入另一个三层的深度自编码网络,训练得到学习的背景。

由这两个子网络组成的运动目标检测的网络结构如图6.6所示。其中

为背景提取网络的输入,共有D个视频图像,实际操作中将其转换为一维向量,并将灰度

值归一化到0到1之间,B

为通过背景提取网络得到的背景图像。H1

为编码层,

是输入x

的重构。为分离函数,其中k=1,2,…,N,N

为每个视频图像的维数,分离函数能从

中分离出背景学习网络的输入,H2

为背景学习网络的编码层,

为背景学习网络的输出。背景提取网络的代价函数为

图6.6运动目标检测的深度自编码网络结构

式(6.28)中背景图像B0

通常会有一定的变化,因此本文采用背景学习网络对背景变化进行建模,该子网络的输入是经过阈值参数筛选过的背景图像集B,且B={B1,B2,…,BD},背景学习网络的代价函数为

式中

表示背景学习网络的重构输出。

背景提取网络与背景学习网络的参数均采用梯度下降算法进行训练,在测试过程中,输入的视频帧转换为一维向量,记为y,经过背景提取网络的输出为,经过背景学习网络的输出为

,则检测出的目标前景可表示为

6.4.3目标跟踪

文献[7]首次使用深度模型对单目标进行跟踪。该算法先用SDAE对输入数据进行离线训练得到特征,训练数据集为TinyImagesDataset,然后使用粒子滤波进行在线跟踪。

关于SDAE的网络原理请读者参考6.4.1节,跟踪网络模型如图6.7所示,其中图6.7(a)为去噪自动编码器,图6.7(b)为SDAE预训练的网络结构,通过对SDAE进行无监督的训练,获得了更加鲁棒通用的目标特征。从图6.7(b)中可以看出,通过堆叠4个降噪自动编码器,且每个编码器的特征维数依次递减,能够获得对目标更加紧致的特征表示。

图6.7跟踪网络模型

图6.7(c)所示的在线跟踪网络是将离线训练好的堆叠去噪自动编码器与Sigmoid分类层叠加,再对该分类网络进行微调,使得该网络对跟踪目标更加敏感,在实际跟踪中,采用粒子滤波从当前帧获取目标的候选块,并将这些块输入分类网络,得到的置信度最高的块即为预测目标块。若最高置信度的值小于规定的阈值,则表示目标已经发生了较大的变化,此时模型需要更新。

该算法的优点是采用预训练与微调相结合的方式,解决了训练数据不足的问题,但训练集包含的图片大小为32×32,分辨率较低且4层的网络特征表达能力不足,其效果要低于人工提取特征的跟踪方法,如Struck方法。

粒子滤波方法通常用于视觉跟踪。从统计的角度来看,它是一种基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论