DL之AE:自编码器AutoEncoder的简介、应用、经典案例之详细攻略-阿里云开发者社区

开发者社区> 人工智能> 正文
登录阅读全文

DL之AE:自编码器AutoEncoder的简介、应用、经典案例之详细攻略

简介: 自编码器(autoencoder, AE)是一类在半监督学习和非监督学习中使用的人工神经网络ANN,其功能是通过将输入信息作为学习目标,对输入信息进行表征学习(representation learning) 。

 DL之AE:自编码器AutoEncoder的简介、应用、经典案例之详细攻略

目录

自编码器AutoEncoder的简介

1、AutoEncoder发展史

1.1、RBM

1.2、稀疏AutoEncoder、噪音容忍AutoEncoder、卷积AutoEncoder、变分AutoEncoder→对抗AutoEncoder

自编码器AutoEncoder的经典案例

1、基础案例


自编码器AutoEncoder的简介

       自编码器(autoencoder, AE)是一类在半监督学习和非监督学习中使用的人工神经网络ANN,其功能是通过将输入信息作为学习目标,对输入信息进行表征学习(representation learning) 。

       自编码器包含编码器(encoder)和解码器(decoder)两部分。按学习范式,自编码器可以被分为收缩自编码器(undercomplete autoencoder)、正则自编码器(regularized autoencoder)和变分自编码器(Variational AutoEncoder, VAE),其中前两者是判别模型、后者是生成模型。按构筑类型,自编码器可以是前馈结构或递归结构的神经网络。

       自编码器具有一般意义上表征学习算法的功能,被应用于降维(dimensionality reduction)和异常值检测(anomaly detection)。包含卷积层构筑的自编码器可被应用于计算机视觉问题,包括图像降噪(image denoising)、神经风格迁移(neural style transfer)等。

1、AutoEncoder发展史

image.gif

1.1、1986年RBM

        AutoEncoder的基本思想是利用神经网络来做无监督学习,就是把样本的输入同时作为神经网络的输入和输出。本质上是希望学习到输入样本的表示(encoding)。早期AutoEncoder的研究主要是数据过于稀疏、数据高维导致计算复杂度高。比较早用神经网络做AutoEncoder的可以追溯到80年代的BPNN和MLP以及当时Hinton推崇的RBM。后来到了2000年以后还坚持在做的只剩下Hinton的RBM了。

1.2、稀疏AutoEncoder、噪音容忍AutoEncoder、卷积AutoEncoder、变分AutoEncoder→对抗AutoEncoder

        从2000年以后,随着神经网络的快速兴起,AutoEncoder也得到快速发展,基本上有几条线:稀疏AutoEncoder、噪音容忍AutoEncoder、卷积AutoEncoder、变分AutoEncoder。最新的进展是结合对抗思想的对抗AutoEncoder

    • 稀疏AutoEncoder,在学习输入样本表示的时候可以学习到相对比较稀疏的表示结果,这在Overcomplete AutoEncoder(就是学习得到高维表示)方法中尤为重要。代表性人物包括斯坦福大学的Andrew Ng和蒙特利尔的Yoshua Bengio教授。具体方法就是在原来的损失函数中加一个控制稀疏化的正则化项,通过控制优化过程来实现。
    • Denoising AutoEncoder的核心思想就是提高Encoder的鲁棒性,本质上就是避免可能的overfitting。一个办法是在输入中加入随机噪音(比如随机置0一些输入,或者随机把部分输入变为marked),这些思想后来在BERT等模型中也有广泛使用;另一个办法就是结合正则化的思想,比如在目标函数中加上eEncoder的Jacobian范数。Jacobian范数可以让学习到的特征表示更具有差异性。
    • 著名研究者Jurgen Schmidhuber提出了基于卷积网络的AutoEncoder以及后来的LSTM AutoEncoder。Max Welling基于变分思想提出变分AutoEncoder方法VAE,这也是一个里程碑式的研究成果。后面很多研究者在这个工作上进行了扩展,包括info-VAE、beta-VAE和factorVAE等。

            最近还有人借鉴Ian Goodfellow等人提出的对抗建模思想提出Adversarial AutoEncoder,也取得了很好的效果。这和之前的噪音容忍的AE学习也有一定呼应。除了上面的思想,就是可以把上面的各种方法stacking起来。

    自编码器AutoEncoder的经典案例

    1、基础案例

    TF之AE:AE实现TF自带数据集AE的encoder之后decoder之前的非监督学习分类

    TF之AE:AE实现TF自带数据集数字真实值对比AE先encoder后decoder预测数字的精确对比

     


    版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

    分享:
    人工智能
    使用钉钉扫一扫加入圈子
    + 订阅

    了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

    其他文章
    最新文章
    相关文章