当前位置:   article > 正文

encoder decoder模型_机器学习11 -- 无监督学习之Auto-Encoder

模型 encoder的作用

1 什么是Auto-Encoder

自编码器Auto-Encoder是无监督学习的一种方式,可以用来做降维、特征提取等。它包括两部分

  1. Encoder:对原始样本进行编码
  2. Decoder:对经过编码后的向量,进行解码,从而还原原始样本

如下图所示,对原始图片,先经过Encoder,编码为一个低维向量。然后利用这个低维向量,经过decoder,还原为原始图片。单独训练encoder和decoder,都是无法做到的。但把它们联合起来训练,是可以得到encoder和decoder的。

eac42ac522bcdfcd0b2cc3ff4f7bb9ed.png

1.1 deep Auto-Encoder架构

9e9eb2a0afd9dc6d0ee5f240143d176c.png

Deep Auto-Encoder架构如上图,来自Hinton 2006发表在Science上的文章,“Reducing the Dimensionality of Data with Neural Networks”。架构步骤如下

  1. 原始输入X,经过多层DNN layer,编码得到Code。它的维度一般比原始输入低很多,起到特征提取作用
  2. 编码得到的Code,经过多层DNN layer,解码得到输出X'
  3. 训练Encoder和Decoder,使得X'和X越接近越好。

Encoder和Decoder的各层参数,可以互为转置。这样就可以少一半参数,防止过拟合。但实际应用中,我们不必这样设置,Encoder和Decoder结构可以随意设置,只要二者联合训练就好了。这个架构和PCA有异曲同工之妙。区别在于PCA采用的是线性模型,而不是多层DNN。所以它的特征提取和样本重建能力都要差一些。

如下图所示,Deep Auto-Encoder的样本重建效果,明显比基于线性模型的PCA要好很多。主要原因还是采用了多层DNN的Encoder和Decoder,模型编码和解码能力,比线性模型要强很多。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号