首页 > 其他 > 详细

SIGAI深度学习第五讲 自动编码器

时间:2019-10-21 11:44:50      阅读:79      评论:0      收藏:0      [点我收藏+]

深度学习模型-自动编码器(AE),就是一个神经网络的映射函数,f(x)——>y,把输入的一个原始信号,如图像、声音转换为特征。

大纲:

自动编码器的基本思想

网络结构

损失函数与训练算法

实际使用

去燥自动编码器

稀疏编码

收缩自动编码器

多层编码器

本集总结

自动编码器的基本思想:

人工神经网络实现的是一个向量X映射为另一个向量Y(Rn——>Rm,m<<n),通过多层复合函数来实现,Y一般设置为样本标签向量label。AE把Y设置为从原始数据X提取出的特征向量,如X是一个高维的图像或声音。而Y是自动训练出来的,不需要人工指定,因此需考虑怎么设置训练目标函数。

直接用一个单层或者多层神经网络对输入数据进行映射,得到输出向量,作为从输入数据提取出的特征。核心问题:怎么设置训练目标?解决思想:编码器+解码器框架。

网络结构:

编码器-将输入数据映射为特征向量,解码器-将特征向量映射回输入向量重构。

类似于PCA,不过PCA直接计算目标函数L,不用训练。

技术分享图片

 

 损失函数与训练算法:

损失函数定义为重构误差,类似PCA的做法。损失函数:技术分享图片,h是编码器的映射函数,g是解码器的映射函数。xi编码之后再解码和原始数据xi尽可能的接近。训练好之后只需要编码器,即h(Xi)——>Yi

训练算法和普通的神经网络相同,用BP算法训练+随机梯度下降法SGD、GD。

实际使用:

实际使用时,只需要编码器网络,解码器只用于训练阶段。输入一个数据向量,即可得到特征向量。也可以用多个隐含层。

去噪自动编码器:

Denoising Autoencoder,简称DAE。为了增强模型的鲁棒性,对训练样本X做一个随机扰动如(加噪声,X中随机挑几维数据设置为0,其他维数据不变),得到X‘向量,再用X‘去训练,训练出的模型更具有鲁棒性、泛化性能更好,因为模型能够抵抗这些噪声。 

这样,输入数据变为X‘,重构值为X,即输入输出为(X‘,X),而标准自动编码器输入输出为(X,X)。DAE把从有污染的数据中把原始数据重构出来,则编码器那一块从有污染的数据中把没有污染的数据代表的向量的有效特征向量Y提出来。

在训练样本中加入随机噪声,重构的目标是不带噪声的样本数据。用自动编码器学习得到的模型重构出来的数据可以去除这些噪声,获得没有被噪声污染过的数据。

对于每个样本向量X随机选择其中的一部分分量,将它们值置为0,其他分量保持不变,得到的带噪声向量为x~技术分享图片

 

SIGAI深度学习第五讲 自动编码器

原文:https://www.cnblogs.com/wisir/p/11712311.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!