自编码器(Auto-encoder,AE)

自编码器

 

自编码器是一种无监督学习技术,利用 反向传播算法 使得输出值(输入数据的高效表示)等于输入值的人工神经网络,它先将输入压缩成潜在空间表征,然后通过这种表征来重构输出。

自编码是一种数据压缩算法,其中压缩和解压功能是:1)数据特定的,2)有损的,3)从例子中自动学习而不是由人工设计。此外,在几乎所有使用术语“自动编码器”的情况下,压缩和解压缩功能都是由神经网络来实现的。

自编码器的结构如下图:

开发者自述:我是这样学习 GAN 的

自编码器由编码器和解码器两部分组成。其中,编码器能将输入压缩成潜在空间表征,用编码函数h=f(x)表示;解码器能够重构来自潜在空间表征的输入,用加码函数r=g(h)来表示。所以,整个自编码器可以用函数g(f(x))=r来描述,其中输入r与原始输入x相近。

 

用处:

1) 可用来降维,通过设置合适的维度和稀疏约束,它可以学习到比PCA等更有意思的数据投影。原因:输入数据的这一高效表示成为编码,编码的维度一般远小于输入数据。限制h的维度使其小于输入x,这种情况下称作有损自编码器。通过训练有损表征,使得自编码器能学习到数据中最重要的特征。

2) 可以用作强大的特征检测器,应用于深度神经网络的预训练。原因:自编码器能从数据样本中进行无监督学习,意味着可以将这个算法用于某个数据集中,不需要任何新的特征工程,只需要适当地训练数据,就能取得良好的性能。当处理一个复杂的有监督学习问题又没有足够的标注数据,解决办法之一是找到一个解决类似任务的训练好的模型,复用低层。类似的,如果有一个很大的数据集但是绝大部分都是未标注数据,可以使用所有的数据先训练一个栈式自编码器,然后复用低层来完成真正的任务。

3) 可以用作生成模型,随机生成与训练数据类似(维度一般变小)的数据。比如,图像修复,也可以用人脸图片训练一个自编码器,它可以生成新的图片。对于数据好,但是它在图像压缩方面表现不如JPEG、GAN好,因为数据会有损。

4) 数据去噪,如数据样本、图像、音频等,去噪自编码器

5) 信息检索

6) 异常检测

分类:

如果一个自编码器只是简单地学会将自编码器设置成g(f(x))=x,即输入与输出完全相等,那就没什么用处。所以通常需要给自编码器强加一些约束,强制模型考虑输入数据的哪部分需要被优先复制,这使得他只能近似地复制与训练数据相似的输入,通过训练输出值等于输入值的自编码器,让潜在表征h将具有价值属性,这在重构任务中构建约束来实现。

香草自编码器

多层自编码器

卷积自编码器

欠完备线性自编码器

稀疏自编码器

正则自编码器

去噪自编码器

压缩自编码器

栈式自编码器

 

构建的实现:

构建需要三件事情:编码函数、解码函数和数据压缩表示与解压缩表示(即“丢失”函数)之间的信息损失量之间的距离函数。

编码器和解码器作为参数函数(通常是神经网络),相对于距离函数是可微分的,所以可以使用随机梯度下降,通过优化编码/解码函数的参数以最小化重构损失。

使用Keras建立简单的自编码器

1.单隐含层自编码器

 

 

分类从:https://zhuanlan.zhihu.com/p/51960803学习到

http://www.atyun.com/17888.html

还有这个写的不错https://blog.csdn.net/qq_19707521/article/details/78740986

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值