TensorFlow实现自编码器 学习笔记
1. 了解概念
自编码器(AutoEncoder)
:可以使用自身的高阶特征编码自己。 自编码器其实也是一种神经网络,它的输入和输出是一致的,它借助稀疏编码的思想,目标是使用稀疏的一些高阶特征重新组合来重构自己。
特征的稀疏表达(Sparse Coding)
: 使用少量的基本特征组合拼装得到更高层抽象的特征。
特点:
- 期望输入/输出一致
- 希望用高阶特征来重构自己,而不只是复制像素点
2. 作用
自编码器的作用不仅局限于给监督训练做预训练,也可以直接使用自编码器进行特征提取和分析。
3. 对数据进行降维
自编码器的输入节点和输出节点是一致的,但如果只是单纯的复制节点则没有意义。自编码器通常使用少量稀疏的高阶特征来重构输入。所以可以加入以下限制:
- 限制中间隐含层节点的数量。如果再给中间隐含层的权重加一个L1的正则,那就可以根据惩罚系数控制隐含节点的稀疏程度。
- 给数据加入噪声,即 去躁自编码器(Denoising AutoEncoder),从噪声中学习出数据的特征。最常使用的是
加性高斯噪声(Additive Gaussian Noise, AGN)
.