栈式自编码算法
From Ufldl
(→概述) |
(→训练) |
||
Line 32: | Line 32: | ||
==训练== | ==训练== | ||
+ | |||
一种比较好的获取栈式自编码神经网络参数的方法是采用逐层贪婪训练法进行训练。即先利用原始输入来训练网络的第一层,得到其参数 <math>\textstyle W^{(1,1)}, W^{(1,2)}, b^{(1,1)}, b^{(1,2)}</math>;然后网络第一层将原始输入转化成为由隐藏单元激活值组成的向量(假设该向量为A),接着把A作为第二层的输入,继续训练得到第二层的参数 <math>\textstyle W^{(2,1)}, W^{(2,2)}, b^{(2,1)}, b^{(2,2)}</math>;最后,对后面的各层同样采用的策略,即将前层的输出作为下一层输入的方式依次训练。 | 一种比较好的获取栈式自编码神经网络参数的方法是采用逐层贪婪训练法进行训练。即先利用原始输入来训练网络的第一层,得到其参数 <math>\textstyle W^{(1,1)}, W^{(1,2)}, b^{(1,1)}, b^{(1,2)}</math>;然后网络第一层将原始输入转化成为由隐藏单元激活值组成的向量(假设该向量为A),接着把A作为第二层的输入,继续训练得到第二层的参数 <math>\textstyle W^{(2,1)}, W^{(2,2)}, b^{(2,1)}, b^{(2,2)}</math>;最后,对后面的各层同样采用的策略,即将前层的输出作为下一层输入的方式依次训练。 | ||
Line 43: | Line 44: | ||
如果你只对以分类为目的的微调感兴趣,那么惯用的做法是丢掉栈式自编码网络的“解码”层,直接把最后一个隐藏层的 <math>\textstyle a^{(n)}</math> 作为特征输入到softmax分类器进行分类,这样,分类器(softmax)的分类错误的梯度值就可以直接反向传播给编码层了。 | 如果你只对以分类为目的的微调感兴趣,那么惯用的做法是丢掉栈式自编码网络的“解码”层,直接把最后一个隐藏层的 <math>\textstyle a^{(n)}</math> 作为特征输入到softmax分类器进行分类,这样,分类器(softmax)的分类错误的梯度值就可以直接反向传播给编码层了。 | ||
- | |||
==具体实例== | ==具体实例== |