首页 > 代码库 > 深度学习笔记(五) 栈式自编码器
深度学习笔记(五) 栈式自编码器
部分内容来自:http://ufldl.stanford.edu/wiki/index.php/%E6%A0%88%E5%BC%8F%E8%87%AA%E7%BC%96%E7%A0%81%E7%AE%97%E6%B3%95
栈式自编码神经网络是一个由多层稀疏自编码器组成的神经网络,其前一层自编码器的输出作为其后一层自编码器的输入。对于一个 层栈式自编码的编码过程就是,按照从前向后的顺序执行每一层自编码器的编码步骤。
自编码器的隐含层t会作为t+1层的输入层,第一个输入层就是整个神经网络的输入层,利用贪心算法训练每一层的步骤如下:
1)首先采用稀疏自编码网络,先训练从输入层到H1层的参数:
训练完毕后,我们去除解码层,只留下从输入层到隐藏层的编码阶段。
2)接着我们训练从H1到H2的参数
我们把无标签数据的H1层神经元的激活值,作为H2层的输入层,然后在进行自编码训练:
最后训练完毕后,再去除H2层的解码层。
3)对所有层重复1)和2),即移除前面自编码器的输出层,用另一个自编码器代替,再用反向传播进行训练。
4)以上步骤称为预训练,但是通过这个训练并没有得到一个从输入数据到输出标记的映射,通常的办法是在网络的最后一层增加一个或多个连接层,整个网络可以看做是一个多层感知机,并用反向传播的方式进行训练,这一步也被称为微调。
深度学习笔记(五) 栈式自编码器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。