AutoEncoder详解
Posted klausage
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AutoEncoder详解相关的知识,希望对你有一定的参考价值。
前言
AutoEncoder是深度学习的另外一个重要内容,并且非常有意思,神经网络通过大量数据集,进行end-to-end的训练,不断提高其准确率,而AutoEncoder通过设计encode和decode过程使输入和输出越来越接近,是一种无监督学习过程。
AutoEncoder
Introduction
AutoEncoder包括两个过程:encode和decode,输入图片通过encode进行处理,得到code,再经过decode处理得到输出,有趣的是,我们控制encode的输出维数,就相当于强迫encode过程以低维参数学习高维特征,这导致的结果和PCA类似。
AutoEncoder的目的是使下图中的输入x和输出x_head越相似越好,这就需要在每次输出之后,进行误差反向传播,不断优化。
高维数据对于我们的感官体验总是不友好,如果我们将输入降低至二维,放在二维平面中就会更加直观,下图是MNIST数据集做AutoEncoder:
上面是PCA的结果,下面是AutoEncoder的结果,在二维中结果很清晰。
encode和decode两个过程可以理解成互为反函数,在encode过程不断降维,在decode过程提高维度。当AutoEncoder过程中用卷积操作提取特征,相当于encode过程为一个深度卷积神经网络,好多层的卷积池化,那么decode过程就需要进行反卷积和反池化,那么,反卷积和反池化如何定义呢?
Unpooling
Deconvolution
De-noising AutoEncoder
算法推导
参考资料
以上是关于AutoEncoder详解的主要内容,如果未能解决你的问题,请参考以下文章
[Python人工智能] 三十八.Keras构建无监督学习Autoencoder模型及MNIST聚类可视化详解
[Python人工智能] 三十七.Keras构建无监督学习Autoencoder模型及MNIST聚类可视化详解
Pytorch Note43 自动编码器(Autoencoder)
什么是自动编码器(Autoencoder)?如何评估自动编码器(Autoencoder)的性能?如果一个自动编码器可以完美地重现输入它一定是一个好的编码器吗?