自编码器

自编码器是一种无监督学习方法,通过神经网络进行数据编码和解码,实现特征提取。文章介绍了不同类型的自编码器,包括不完整的自编码机用于执行PCA,栈式自编码器用于逐层学习,降噪编码器增强模型鲁棒性,稀疏自编码器减少神经元相关性,以及变分自编码器用于数据生成和增强。

自编码机可以认为是一种无监督学习方式,它的神奇之处在于,通过自编码机,我们可以自动地从数据所有输入特征中,精炼特征。

预测模型

自编码机的精髓在于,它将同样的数据作为神经网络的两端,进行训练,使得原始数据能够经过神经网络进行编码,然后再解码,恢复到原来的模样。如下图结构所示:

输入在最中间的一层获得编码。

在大体上,损失模型和训练方法与普通神经网络类似。但是下面讲一些具体的自编码机,他们都具有这种基础结构,但是在细节上又有所不同。

不完整的自编码机(用于执行PCA)

当自编码机最中间的编码层神经元数量少于输入时,我们称其为不完整的。在这个时候,我们可以从高维输入特征中提取出低维特征。

一般而言,自编码机采用线性激活,并且使用均方误差作为损失函数,便可以执行PCA分析。

栈式自编码器

栈式自编码器如图所示,它两侧对称,逐层递进,相对称的两层采用相同的权值。

对于栈式自编码器的训练,我们一般逐层进行,一般有如下两种方式

(将整个自编码器分为多个神经网络)

(作为一个神经网络进行训练)

当我们手里没有足够的标注数据时,我们可以可以先采用栈式自编码器训练出底层网络,然后再用标注数据进行进一步学习。

降噪编码器

通过对输入数据加入高斯噪音,或者进行适当的dropout,我们可以得到适应性更强的降噪编码器。

稀疏自编码器

稀疏自编码器的目的在于,使得最终的编码层的激活神经元尽量少,这样可以尽量去除神经元之间的相关效果,使最终的编码效果类似于热度变量的样子。

这样的结果是通过向损失函数中加r入额外的惩罚项来达到的。一种惩罚项是平方误差,一种是KL散度。

变分自编码器

同样是通过将损失函数加入惩罚项,我们可以让编码层成为高斯分布(正态分布),这种编码器的优点在于,我们只需要在编码层提供高斯分布中的一个点,我们便能够解码生成一个类似的新实例。可以用来进行数据增强。

其他编码器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值