深度学习笔记(九)AutoEncoder自动编码器

前面的神经网络都是是基于监督的网络,这一章节主要是介绍非监督学习网络,原理很简单, 自己学习,然后将学习的内容反过来生存初始状态,然后对比,

×自动编码器是一种尽可能复现输入信号的神经网络
×自动编码器必须获取到代码输入数据的最主要的因素,
类似于PCA,尽量找到主要成分

基于监督的学习
 监督学习会有target,通过对比prediction和target 调整参数。如果没有target将无法进行。
深度学习笔记(九)AutoEncoder自动编码器_第1张图片
非监督学习
深度学习笔记(九)AutoEncoder自动编码器_第2张图片
我们将input输入一个encoder编码器,就会得到一个code,这个code也就是输入的一个表示,那么我们怎么知道这个code表示的就是input呢?我们加一个decoder解码器,这时候decoder就会输出一个信息,那么如果输出的这个信息和一开始的输入信号input是很像的(理想情况下就是一样的),那很明显,我们就有理由相信这个code是靠谱的。所以,我们就通过调整encoder和decoder的参数,使得重构误差最小,这时候我们就得到了输入input信号的第一个表示了,也就是编码code了。因为是无标签数据,所以误差的来源就是直接重构后与原输入相比得到。

对比的特征:

深度学习笔记(九)AutoEncoder自动编码器_第3张图片
当第一层训练完成后,可以依次训练下一层:
深度学习笔记(九)AutoEncoder自动编码器_第4张图片


当然我们也可以加入一些target微调参数。结构图如下:


深度学习笔记(九)AutoEncoder自动编码器_第5张图片

具体分析:

深度学习笔记(九)AutoEncoder自动编码器_第6张图片

目标函数:
 损失函数:

如果输入值是实数值,无界值,损失函数采用平方差,如果输入是时位矢量,采用交叉熵。


参考:
http://www.jianshu.com/p/8d0a7509b030




 

你可能感兴趣的:(深度学习)