多层感知器训练过程导论

摘自《机器学习导论》

训练过程

改善收敛性

  梯度下降具有多种优点。它简单,它是局部的,即权重的改变只是用前后突出单元和误差(适合向后传播)的值。当使用在线训练时,它不需要存储训练集,并且可以自适应学习任务的变化。但是,就自身而言,梯度下降收敛很慢。当学习时间很重要时,可以使用更复杂的优化方法。有两种频繁使用的优化技术,可以显著改善梯度下降的性能。

动量

  令 wi w i 为多层感知器任意层中的权重,包括偏倚。在每次参数更新时,连续的 Δwti Δ w i t 可能很不相同以致出现摆动,减缓收敛。t为时间指数,是批量学习的周期数和在线学习的迭代次数。基本想法是在当前的改变中考虑上一次的更新,去移动平均,好像因上次更新而存在的动量(momentum):

Δwti=ηEtwi+αΔwt1i Δ w i t = − η ∂ E t ∂ w i + α Δ w i t − 1
  通常,a在0.5-1.0之间取值。当时用在线学习时,这种方法特别有用。我们将得到平均和光滑收敛轨迹的效果。缺点是需要额外存储过去的权重。

自适应学习率

  在梯度下降中,学习因子 η η 决定参数的该变量。它通常在0.0-1.0之间取值,大部分情况小雨或等于0.2。为了更快收敛,可以让它自适应。学习开始时它保持较大,学习减慢时它也减小:

Δη={+αbη           ifEt+τ<Etelse Δ η = { + α                       i f E t + τ < E t − b η e l s e
这样,如果训练集上的误差减小,则 η η 增加一个常量;如果误差增大,则 η η 减小。由于E可能从一个周期到另一个周期震荡,所以最好用过去几个周期的平均值作为 Et E t

过分训练

  随着训练周期的增加,训练机上的误差降低,但是当超过某一点时,验证集上的误差开始增加。
  由于非线性,误差函数可能有多个极小,而梯度下降收敛于最近的极小。为了能够评估期望的误差,通常以不同的初始权重开始。

构造网络

  在某些应用中,我们可能相信输入具有局部结构。此时,再设计MLP时,并不是将隐层单元连接到所有输入单元,因为并非所有的输入都是相关的。另外,我们定义隐藏单元,它在输入空间上定义一个输入窗口,并且仅与输入的一个小的局部子集相连接。这样做减少了连接数,从而减少了自有参数的数目。
  同时,我们可以通过圈中共享(weight sharing)进一步减少参数的数目。

线索

局部结构的只是可以使得我们预先构造多层网络,并且使用权重共享使得他具有较少的参数。具有全连接层的MLP不具有这种结构,并且更难训练。如果将与应用相关的任何类型的知识都用与网络结构的构建中,那么这些知识称作线索(hint)。它们是我们知道的目标函数的性质,独立于训练实例。

  1. 可以使用线索创建虚拟实例。如图像的伸缩变换。
  2. 不变形可以作为预处理阶段实现。例如,光学字符阅读器可以有一个预处理步骤。将输入字符的图像关于尺寸和倾斜进行中心化和规范化。
  3. 线索可以纳入网络结构中。
  4. 也可以通过修改误差函数纳入线索。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值