0%

自编码器

自编码器(Autoencoder)介绍

img

从上图可以看出,自编码器模型主要有编码器(encoder)和解码器(decoder)组成,其主要目的是将输入x转换成中间变量y,然后再将y转换成 x~\widetilde x,然后对比输入x和输出 x~\widetilde x 使得他们两个无限接近

神经网络自编码模型

img

神经网络自编码器的三大特点

  • 自编码器是数据相关的,这意味着自动编码器只能压缩那些与训练数据类似的数据,比如,使用人脸训练出来的自动编码器在压缩别的别的图片,比如树木,时性能很差,因为它学习到的特征是与人脸相关的
  • 自动编码器是有损的,意思是解压缩的输出与原来的输入相比是退化的
  • 自编码器是从数据样本中自动学习的,这意味着很容易对指定类的输入训练出一种特定的编码器,而不需要完成任何新工作

自编码器(Autoencode)搭建

三洋工作:搭建编码器,搭建解码器,设定一个损失函数(用以衡量由于压缩而损失掉的信息)

编码器和解码器一般都是参数化的方程,并关于损失函数可导,典型的情况是使用神经网络。编码器和解码器的参数可以通过最小化损失函数而优化,根据上面介绍,自动编码器可看做由两个级联网络组成

  • 第一个网络是编码器,负责接收输入x,并将输入通过函数h变换为信号y:

    y=h(x)y = h(x)

  • 第二个网络将编码的信号y作为输入,通过函数f得到重构的信号r:

    r=f(y)=f(h(x))r = f(y) = f(h(x))

  • 定义误差e为原始输入x与重构信号r之差,即e=xre = x - r,网络训练的目标是减少均方误差(MSE),误差被反向传播回隐藏层