内容来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习所用。
超参数调试
调试
目前学习的一些超参数有学习率 α \alpha α(最重要)、动量梯度下降法 β \beta β(次重要)、Adam优化算法 β 1 \beta_1 β1、 β 2 \beta_2 β2、 ϵ \epsilon ϵ(这三个参数一般默认)、层数layers(次次重要)、不同层中的隐藏单元数量hidden units(次重要)、学习率衰减learning rate decay(次次重要)、小批量大小mini-batch size(次重要)。
对于超参数的取值,如果有两个超参数,可以画一个网格,然后随机取值;如果有三个超参数,画一个立方体随机取值。
另外,可以从粗到细取值。在某个范围内取的超参数明显比周围的效果要好,那么可以在这个范围内细分取值。


选择范围

假设学习率在0.0001~1之间,那么不应该随机均匀取值,否则大部分数据落在0.1~1上,因此,使用对数标尺搜索超参数。 0.0001 = 1 0 − 4 , 1 = 1 0 0 , r ∈ [ − 4 , 0 ] 0.0001=10^{-4},1=10^0,r\in[-4,0] 0.0001=10−4,1=100,r∈[−4,0]。在 r r r的范围内随机取值,然后使用对数重新映射到对数标尺上。
Batch归一化

对于单层神经网络,对参数 x x x归一化,可以方便算法优化。

对于多层神经网络比如 w [ 3 ] w^{[3]} w[3],是否可以对参数 a [ 2 ] a^{[2]} a[2]归一化? a [ 2 ] a^{[2]} a[2]来自于 z [ 2 ] z^{[2]} z[2],所以对 z [ 2 ] z^{[2]} z[2]进行归一化,称为Batch归一化。
公式
- 计算均值:对于给定的mini - batch数据(以神经网络某层输入 z ( 1 ) , z ( 2 ) , ⋯ , z ( m ) z^{(1)}, z^{(2)}, \cdots, z^{(m)} z(1),z(2),⋯,z(m)为例, m m m是mini - batch大小),计算其均值 μ \mu μ: μ = 1 m ∑ i = 1 m z ( i ) \mu=\frac{1}{m}\sum_{i = 1}^{m}z^{(i)} μ=

最低0.47元/天 解锁文章
2988

被折叠的 条评论
为什么被折叠?



