深层网络的贪婪逐层预训练方法(greedy layer-wise pre-training)

1. 深层网络的贪婪逐层预训练方法由Bengio等人在2007年提出,是一种重要的深度神经网络参数初始化和预训练方法。

 

2. 同时它也是一种堆叠自编码器,对于很多数据来说,仅使用两层神经网络的自编码器还不足以获取一种好的数据表示。为了获取更好的数据表示,我们可以使用更深层的神经网络。

层神经网络作为自编码器提取的数据表示一般会更加抽象,能够更好地捕捉到数据的语义信息。 在实践中经常使用逐层堆叠的方式来训练一个深层的自编码器,

称为堆叠自编码器Stacked Auto-EncoderSAE)。堆叠自编码一般可以采用逐层训练layer-wise training)来学习网络参数 [Bengio et al., 2007]。 

Bengio, Y., Lamblin, P., Popovici, D., & Larochelle, H. (2007). Greedy layer-wise training of deep networks. In Advances in neural information processing systems (pp. 153-160).

 

对于深层模型的训练,通常采用BP算法来更新网络参数。但是需要对网络参数进行很小心的初始化,以免网络陷入局部最小点。

当然,现在已经有了很多网络参数初始化的办法,或者其他的深度网络处理技巧,可以很好的避免网络陷入局部最小点,

但鉴于无监督逐层贪婪预训练在深度网络优化中不可磨灭的影响,我们还是有必要了解这一方法。

 

考虑一个神经网络,如下图所示。它的输入是6维向量,输出是3维向量,代表输入样本属于三个类别的概率。

最开始我们通过高斯分布随机初始化网络参数,然后逐层地优化网络参数。首先第一层。如下图,我们只保留输入层Input和第一个隐藏层Features I,其余层去掉。

之后,加入一个输出层,该输出层的输出向量维度和输入层一样,从而构成一个自编码器。我们训练这个自编码器,便可以得到第一层的网络参数,即绿线部分。

然后是第二层的网络参数。如下图,我们只保留原始神经网络中的第一个隐藏层和第二个隐藏层,其余层去掉。

之后添加一个输出层,其输出向量维度和第一个隐藏层维度一样,从而构成一个自编码器,自编码器的输入是第一个隐藏层。

优化这个自编码器,我们就可以得到第二层网络参数,即红线部分。

优化这两个自编码器的过程就是逐层贪婪预训练。由于每个自编码器都只是优化了一层隐藏层,所以每个隐藏层的参数都只是局部最优的。

优化完这两个自编码器之后,我们把优化后的网络参数作为神经网络的初始值,之后微调(fine tune)整个网络,直到网络收敛。

 

参考资料
[1] UFLDL栈式自编码器
[2] Autoencoder



作者:JiaxYau
链接:https://www.jianshu.com/p/7cd769bbb3e6
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/jiangkejie/p/10720227.html

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Complexity theory of circuits strongly suggests that deep architectures can be much more efcient sometimes exponentially than shallow architectures in terms of computational elements required to represent some functions Deep multi layer neural networks have many levels of non linearities allowing them to compactly represent highly non linear and highly varying functions However until recently it was not clear how to train such deep networks since gradient based optimization starting from random initialization appears to often get stuck in poor solutions Hinton et al recently introduced a greedy layer wise unsupervised learning algorithm for Deep Belief Networks DBN a generative model with many layers of hidden causal variables In the context of the above optimization problem we study this algorithm empirically and explore variants to better understand its success and extend it to cases where the inputs are continuous or where the structure of the input distribution is not revealing enough about the variable to be predicted in a supervised task Our experiments also conrm the hypothesis that the greedy layer wise unsupervised training strategy mostly helps the optimization by initializing weights in a region near a good local minimum giving rise to internal distributed representations that are high level abstractions of the input bringing better generalization ">Complexity theory of circuits strongly suggests that deep architectures can be much more efcient sometimes exponentially than shallow architectures in terms of computational elements required to represent some functions Deep multi layer neural networks have many levels of non linearities allowin [更多]
### 回答1: 贪心最佳优先搜索(Greedy Best-First Search)是一种启发式搜索算法,它通过在每个搜索步骤中优先考虑最有可能导致解决方案的节点,来寻找最优解。与广度优先搜索不同,贪心最佳优先搜索使用一个评估函数来衡量搜索状态的好坏,然后按照评估函数的值来选择下一个要扩展的节点。贪心最佳优先搜索通常用于解决状态空间较大,但具有良好的启发信息的问题。 ### 回答2: 贪婪最优先搜索(GBFS)是一种启发式搜索算法,其基本思想是根据一定的启发函数,尽可能快地向目标状态方向搜索。它的搜索过程类似于最优先搜索,但是它不使用精确的代价函数,而是使用启发函数来估计从当前状态到目标状态的代价。 GBFS通过选择启发函数中具有最小估计代价的节点来扩展搜索树,因此它可能会快速地向目标状态移动。然而,由于它只考虑了估计代价,而没有考虑实际代价,因此它有可能陷入死胡同或者过早的终止搜索。 与最优先搜索类似,GBFS也具有一个开放列表,其中包含了待搜索的节点。通过比较启发函数的值,GBFS选择启发值最小的节点进行扩展。当搜索到达目标状态时,GBFS停止搜索。 与其他搜索算法相比,GBFS具有以下优缺点: 优点: 1. 它可以快速地向目标状态移动。 2. 它在内存和计算资源上比A*搜索更加高效。 缺点: 1. 它可能陷入局部最优解并忽略其他有可能更优的解。 2. 它无法保证找到最优解。 3. 它存在一个问题,即当启发函数不准确时,可能会浪费大量的时间和计算资源搜索不必要的节点。 总的来说,GBFS对于大多数问题而言是一个高效的搜索算法,但是它的表现取决于使用的启发函数的准确性。 ### 回答3: 贪婪最佳优先搜索(Greedy Best-First Search)是一种启发式搜索算法,它选取可行节点中最有希望的节点作为下一个扩展节点。在贪婪最佳优先搜索中,每个节点都被赋予一个估价函数的值,估价函数用于估计从当前节点到目标节点的最小代价或距离,该算法通常用于解决单目标问题,如路径规划或机器人导航。 贪婪最佳优先搜索过程中,节点状态用一个优先队列来维护。节点的优先级由估价函数的值决定,即节点的估价函数值越小,则节点的优先级越高,队列中位置越靠前。这种贪心策略导致该算法的效率很高,但是不能保证它能找到全局最优解,它只能找到靠近目标的局部最优解。 贪婪最佳优先搜索的优点是速度快,但是它有缺陷。该算法只能找到越来越接近终点的节点,但是它不能保证一些没有被考虑的位于路径上的节点,这些节点可能会导致更短或更优的路径。因此,该算法只适用于简单问题,但是在复杂问题上找到最优解的准确性不可靠。 在实际问题中,我们通常使用A*算法代替贪婪最佳优先搜索。A*算法既具备贪婪最佳优先搜索的速度和效率,又能优化贪婪算法的不足之处,它能确保找到最优解,并取得了广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值