deep learning toolbox学习5之SAE

来源:互联网 发布:idm mac版 知乎 编辑:程序博客网 时间:2024/05/29 16:15
总结一下SAE部分,整体来说十分简单,基本就是在NN基础上改了一点东西:
首先,原来的训练过程是一个监督过程,即最后计算loss的时候是有train_y与f(wx+b)的差值来进行判断,而深度学习本身自学习或非监督学习能力很强,这里就是采用的非监督学习,autoencoder就是要通过x训练一个网络最后输出还是x,即f(x)=x,在toolbox中,只是最简单的三层网络784-100-784,即hidden层有100的神经元,最后在hidden层基础上重构出x,这里的hidden层的部分作用相当于压缩数据维度,其效果和PCA很像。
整体过程和NN一样,实验效果是对比了AE训练的err和用训练完的W去初始化一个NN来进行训练,AE花费20s,err为10,而用w去初始化后的NN花费2s,err为0.15,效果提升很多。
这里加入几个trick项
1.denoising 项,在输入数据上加入噪声,具体实现很简单通过生成的随机矩阵和denoising阀值去决定输入x是否被置为0,这样训练的网络更加鲁棒
2.sparse约束,即限制神经元在大部分情况下不被激活,即隐含层节点输出的平均值应尽量为0,这里需要为损失函数添加sparse项,对应的bp过程的残差项也要加入sparse项,其数学变化主要由KL距离为展开进行计算,具体可参考博客http://www.cnblogs.com/tornadomeet/archive/2013/03/19/2970101.html
0 0
原创粉丝点击