另一方面,关于自动编码器(也称为自编码器)网络上的自动编码器的资料各不相同,许多基本概念和原理尚不明确。 现在,我们来谈谈比较系统
介绍了自动编码器的一些概念和原理。 最后,附加python实现代码。
自动编码器是神经网络的一种,经过训练后,可以在尝试将输入复制到输出,换句话说,就是使输出的内容和输入的
内容一样自动编码器内部的隐含层h,其可以产生编码以表示输入。 可以认为这个网络由两部分组成:一篇
编码器h=f(x )和生成重构的解码器r=g (h )。 最后使x等于约g(f ) x ) )。 通过设计网络,x=g(f ) x )、
理论上很好,但通常不这样做。 自动编码器设计为无法掌握完美的副本,通过施加某些限制,可以实现自动
编码器只能近似地复制。 因为我们可以学习数据的有用特性。
二、稀疏自编码从自动编码器获得有用特征的一种方式是,通过限制h的维数小于x,自动编码器被强制捕获到训练数据中
最明显的特征是,这种自动编码器被称为稀疏自编码。 学习过程可以简单地描述为使损失函数最小化
L(x,g ) L(x ) ) )),) )是惩罚项
如果解码器是线性的并且l是均方误差,那么可以学习到以与PCA方法一样的方式产生子空间。 (PCA请参考以前写的博客)
该图是稀疏自编码器的例子,第一层是输入层,第三层是输出层,第二层是隐藏层。
下一节将介绍稀疏自编码的前向传播和后向传播,敬请期待。