自编码器

阿里云双11来了!从本博客参与阿里云,服务器最低只要86元/年!

简介

       自编码器(autoencoder)是神经网络的一种,经过训练后能尝试将输入复制到输出。自编码器内部有一个隐藏层h,可以产生编码表示输入。该网络可以看作由两部分组成: 一个由函数h=f(x)表示的编码器和一个生成重构的解码器r=g(h)。如下图所示:


图-自动编码器示例

    自编码器需要加入一些约束,使它只能近似地复制,并只能复制与训练数据相似的输入。这些约束强制模型考虑输入数据的哪些部分需要被优先复制,因此,它往往能学习到数据的有用特征。

模型说明

    自编码器可以被看作是前馈神经网络的一个特例,可以使用与传统前馈网络相同的损失函数和输出单元,并且可以使用完全相同的技术进行训练,通常使用小批量梯度下降法。

    在自编码器中,x一般既是输入也是目标。自编码器大致有以下几种类型:

    欠完备自编码器:限制隐藏层h的维度比输入层x小,学习欠完备的表示将强制自编码器捕捉训练数据中最显著的特征。用于学习获得有用特征

    正则自编码器:如果隐藏编码的维数与输入相等,或大于输入(过完备)。编码器和解码器可以学会将输入复制到输入,而学不到任何有关数据分布的有用信息。正则自编码器使用合适的损失函数,鼓励模型学习其他特性(除了将输入复制到输出),这些特性包括稀疏表示、表示的小导数、对噪声或输入确实的鲁棒性。

    去噪声自编码器(denoising autoencoder,DAE):是一类接受损坏数据作为输入,并训练来预测原始未损坏数据作为输出的自编码器。去噪声自编码器必须学会撤销这些损坏,而不是简单地复制输入。

应用

    传统自编码器被用于降维特征学习。近年来,自编码器与潜变量模型理论的联系将自编码器带到了生成式建模的前沿。

参考资料

1、《DEEP LEARNING》(第十四章)-Lan Goodfellow

2、Keras自编码器介绍与实现:https://keras-cn.readthedocs.io/en/latest/legacy/blog/autoencoder/

https://www.jianshu.com/p/956742a64a53

Python量化投资网携手4326手游为资深游戏玩家推荐:《《茜色世界中与君咏唱》8月21日11:00安卓正式上线!FAQ参上!

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
pandas
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论