Course 2-Improving Deep Neural Networks--Week 3

超参数调试 、batch normalization 、deep learning framework

3.1 tuning process

在调参时,有些参数会比其他参数重要的多,以下列出一些调参的guidelines:

1、最重要的参数:学习率 α
2、次重要的参数:momentum中的 β (0.9就不错)、#hidden units、mini-batch size
3、再次重要的参数:#layers、learning rate decay、Adam中的 β1 β2 ε (事实上Ng从来不调Adam中的参数,总是让他们等于0.9、0.99、1e-8)

如何系统的组织超参数搜索过程?
1、在参数空间随机选取参数,这样可以尝试不同的参数,从而确定哪一组参数最好。
2、由粗到细的搜索参数。首先在参数空间随机粗略的选取,确定哪一组性能好,然后再最优参数的周围,更密集的采样,选取参数。

3.2 using an appropriate scale to pick hyperparameters

随机采样,并不意味着随机均匀采样,而是选取合适的尺度或标尺来采样,本小节将讨论这个问题。
对于有些参数,如#hidden units、layers,它们用随机均匀采样是可以的。
但是,对于学习率 α ,若我们想在0.0001~1这个区间取值,如果我们随机均匀采样,那么我们将投入90%的资源在0.1~1这个区间内搜索,仅剩10%的资源在0.0001~0.1的区间内搜索,这样显然不太合理。这时,我们考虑用对数坐标,将0.0001~1转化为-4~0,对于0.0001~0.001就有了更多的搜索资源可用。在-4~0之间随机平均采样,然后得到 α 的值,该计算在Python中可以这样实现:

r=-4*np.random.rand()
learning_rate = 10**r ##learning_rate = np.power(10,r)

3.3 调参实践

如果计算资源比较紧张,就用方法一;如果计算资源丰富,就用方法二。
方法一:每次只训练一个模型,不断地调试。
方法二:每次训练多个模型,设置不同的参数,看那个参数集合效果好。

3.4 normalizing activations in a network

batch normalization 使得参数搜索问题更简单,也使得模型更鲁棒,还会使你更容易的训练深层次网络。
batch normalization 原理:
在logistics regression中,介绍了标准化输入可以加速模型训练。那么,在深层次的网络中,我们除了标准化输入 X 外,是否还可以标准化隐含层的输入A呢?这就是batch normalization的思想。实际中,我们标准化的是激活函数的输入Z。关于到底标准化A还是Z,在学术界还是有争论的,但Ng推荐标准化Z。有时,我们希望Z的分布不全是0均值、1方差,Z若有其他的分布,可能会具有更好的效果。实现如下:
这里写图片描述
上图左边的四个公式就是batch normalization的具体实现,这里的 γ β 是模型要学习的参数,它们分别控制了新分布的标准差和均值。因此,batch normalization不光可以标准化输入X,还可以标准化或者改变隐藏层中的Z,使每层的输入是我们想要的分布。

3.5 fitting batch norm into a neural network

本小节描述在神经网络中怎么实现batch normalization。如下图所示,在每一个隐层中,当计算得到Z后,我们先不直接计算A,而是使用batch normalization,通过参数 β γ ,计算得到 Z~ ,然后将 Z~ 作为激活函数的输入得到A。
这里写图片描述
当使用了batch normalization后,我们算法的参数有W、b、 β γ 。这里的参数 β 和momentum中的超参数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值