超参数的设定

欢迎关注

超参数的设定

1.权重初始化。

  • 创建神经网络之后,我们需要进行权重和偏置的初始化。之前的方式就是根据独立高斯随机变量来选择权重和偏置,其被归一化为均值为0,标准差1。
  • 上种方式获得了不错的效果。但有没有更好的方式。我们会使用均值为0,方差为 1 n i n \frac{1}{\sqrt{n_{in}}} nin 1的高斯随机分布初始化这些权重。其中 n i n {n_{in}} nin表示有 n i n {n_{in}} nin个输入权重的神经元。此种方法可以加快网络的训练,有时在准确率性能上有很大的提升。而偏置可以继续使用均值为0,标准差为1的高斯分布进行初始化。

2. η \eta η 值的选取

  • η \eta η:我们选择在训练数据上的代价立即开始下降的 η \eta η 作为估计的阈值。如果代价 η = 0.01 \eta=0.01 η=0.01 时就开始震荡或者增加,那就尝试 η = 0.01 , 0.0001 \eta=0.01,0.0001 η=0.01,0.0001 ,直到你找到代价在开始回合就下降的设定。这种方法可以对 η \eta η量级进行估计。毫无疑问 η \eta η 取值要小于阈值,如果 η \eta η 的值重复使用很多回合的话,你应该使用稍微小一点的值,例如阈值一半的的选择。这样的选择能够允许你训练更多的回合,不会减慢学习速度。
  • 我们⼀直都将学习速率设置为常量。但是,通常采用可变的学习速率更加有效。在学习的前期,权重可能非常糟糕。所以最好是使用⼀个较大的学习速率让权重变化得更快。越往后,我们可以降低学习速率,这样可以作出更加精良的调整。

3.规范化参数

  • 建议开始时不包含规范化( λ = 0.0 \lambda=0.0 λ=0.0)确定 η \eta η 的值。使用确定出来的 η \eta η ,我们可以使用验证数据来选择好的 λ \lambda λ 。从尝试 λ = 1.0 \lambda = 1.0 λ=1.0 开始,然后根据验证集上的性能按照因子10增加或减少其值。⼀旦我已经找到⼀个好的量级,你可以改进 λ \lambda λ 的值。这⾥搞定后,你就可以返回再重新优化 η \eta η

4.小批量数据大小(minibatch)

  • 小批量数据大小的选择其实是相对独立的⼀个超参数(网络整体架构外的参数),所以你不需要优化那些参数来寻找好的小批量数据大小。因此,可以选择的方式就是使用某些可以接受的值(不需要是最优的)作为其他参数的选择,然后进行不同小批量数据大小的尝试,像上面那样调整 η \eta η 。画出验证准确率的值随时间(非回合)变化的图,选择那个得到最快性能的提升的小批量数据大小。得到了小批量数据大小,也就可以对其他的超参数进行优化了。

5.总结

跟随上面的经验并不能帮助你的网络给出绝对最优的结果。实践中,超参数之间存在着很多关系。你可能使用 η \eta η 进行试验,发现效果不错,然后去优化 λ \lambda λ ,发现这里又对 η \eta η 混在⼀起了。在实践中,⼀般是来回往复进行的,最终逐步地选择到好的值。总之,启发式规则其实都是经验,不是金规玉律。你应该注意那些没有效果的尝试的信号,然后乐于尝试更多试验。特别地,这意味着需要更加细致地监控神经网络行为,特别是验证集上的准确率。在你读这些文章时,特别是进行试验时,会更加清楚的是超参数优化就不是⼀个已经被完全解决的问题。总有⼀些技巧能够尝试着来提升性能。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值