【读书笔记】基于Autoencoder 网络的数据降维和重构
分类:DL2013-07-20 18:181655人阅读评论(1)收藏举报
是一篇学术文章,我在学习autoencoder的时候找到的,看了看。主要是想弄清楚两个问题:1. autoencoder与RBM的区别;2. autoencoder最后训练出的结果怎么用。
文章基本信息:
题目:基于Autoencoder 网络的数据降维和重构
作者:胡昭华
单位:南京理工大学电子工程与光电技术学院
时间:2009,发表于《电子与信息学报》
笔记如下:
1. autoencoder是用来降维的
2. 现在的降维方法
线性降维方法如主成分分析(principal component analysis) 、独立分量分析和因子分析(factor analysis) 。在高维数据集具有线性结构和高斯分布时能有好的效果。当数据集在高维空间呈现高度扭曲时,这些方法则难以发现嵌入在数据集中的非线性结构以及恢复内在的结构。autoencoder能处理好以上问题。
3. autoencoder原理
编码网络属于降维部分,作用是将高维原始数据降到具有一定维数的低维嵌套结构上;解码网络属于重构部分,可视为编码网络的逆过程,作用是将低维嵌套上的点还原成高维数据。编码网络与解码网络之间还存在一个交叉部分,称之为“码字层”(code layer) ,是整个自编码网络的核心,能够反映具有嵌套结构的高维数据集的本质规律,并确定高维数据集的本质维数。
自编码网络的工作原理如下:首先初始化编码和解码两个网络的权值,然后按照原始训练数据与重构数据之间误差最小化的原则对自编码网络进行训练。如果自编码网络的初始权值接近最优解,运用梯度下降法则能达到很好的训练结果。Hinton 和Salakhutdinov使用了一种称为限制玻耳兹曼机(Restricted Boltzmann Machine, RBM)的两层网络来求取自编码网络的适当初始权值,然后用BP来训练autoencoder。对于输入是实数向量的情况来说,需要用CRBM (continous RBM)。
4. 实验
用图像数据来做的试验。主要是看哪个模型对数据还原的好。没看懂。
5. 其他
这篇文章回答了我第一个问题“autoencoder与RBM的区别”,但第二个问题没有答案。