自编码器(Autoencoder)介绍
从上图可以看出,自编码器模型主要有编码器(encoder)和解码器(decoder)组成,其主要目的是将输入x转换成中间变量y,然后再将y转换成 ,然后对比输入x和输出 使得他们两个无限接近
神经网络自编码模型
神经网络自编码器的三大特点
- 自编码器是数据相关的,这意味着自动编码器只能压缩那些与训练数据类似的数据,比如,使用人脸训练出来的自动编码器在压缩别的别的图片,比如树木,时性能很差,因为它学习到的特征是与人脸相关的
- 自动编码器是有损的,意思是解压缩的输出与原来的输入相比是退化的
- 自编码器是从数据样本中自动学习的,这意味着很容易对指定类的输入训练出一种特定的编码器,而不需要完成任何新工作
自编码器(Autoencode)搭建
三洋工作:搭建编码器,搭建解码器,设定一个损失函数(用以衡量由于压缩而损失掉的信息)
编码器和解码器一般都是参数化的方程,并关于损失函数可导,典型的情况是使用神经网络。编码器和解码器的参数可以通过最小化损失函数而优化,根据上面介绍,自动编码器可看做由两个级联网络组成
-
第一个网络是编码器,负责接收输入x,并将输入通过函数h变换为信号y:
-
第二个网络将编码的信号y作为输入,通过函数f得到重构的信号r:
-
定义误差e为原始输入x与重构信号r之差,即,网络训练的目标是减少均方误差(MSE),误差被反向传播回隐藏层