【deep learning学习笔记】Greedy Layer-Wise Training of Deep Networks
标题:Greedy Layer-Wise Training of Deep Networks作者:Yoshua Bengio发表于:NIPS’2006主要内容:很经典的文章了。在Hinton提出 stack RBM 组成的DBN之后,Bengio这篇文章一方面验证DBN模型,另一方面讨论可能的扩展。对于shallow architecture模型,如SVM,
标题:Greedy Layer-Wise Training of Deep Networks
作者:Yoshua Bengio
发表于:NIPS’2006
主要内容:
很经典的文章了。在Hinton提出 stack RBM 组成的DBN之后,Bengio这篇文章一方面验证DBN模型,另一方面讨论可能的扩展。
对于shallow architecture模型,如SVM,对于d个输入,要有2^d个样本,才足够训练模型。当d增大的时候,这就产生了维数灾难问题。而多层神经网络能够避免这个问题:
boolean functions (such as the function that computes the multiplication of two numbers from their d-bit representation) expressible by O(logd) layers of combinatorial logic with O(d) elements in eachlayer may require O(2^d)elements when expressed with only 2 layers。
但是对于深层神经网络,用梯度下降方法来训练,通常会陷入局部最优解。
文章接下来介绍deep belief network。
1. 扩展到连续输入
一种直观的方法,是将输入的实属向量进行归一化, 转成(0, 1)区间的数。然后用正常的RBM的CD-k来训练就行。
作者从RBM的能量函数入手,将输入转成高斯unit,然后用CD-k算法就可以训练。具体怎么操作的,作者没细说,我也没看懂。
2. 将隐含层扩展成连续值的形式
上述方法也可以用到隐含层。
3. Understanding why the layer-wise strategy works
作者用autoencoder来替换DBN中的RBM,得到了comparable的实验结果。作者用surperwised训练算法来代替RBM的unsurpervised训练算法,发现结果略差,作者的解释是:surperwised的方法过于“贪心”,在训练过程中丢掉了部分信息。
作者在文章之后附上了实验的所有算法的伪代码,值得借鉴。
更多推荐
所有评论(0)