改善深层神经网络:超参数调整、正则化以及优化 —— 3.2 为超范围

上一节已经看到,在超参数范围内,随机取值可以提升搜索效率,但随机取值并不是在有效范围内的随机均匀取值,而是选择合适的标尺用于探究超参数。

假设要选取隐藏单元的数量 n [ l ] n^{[l]} n[l],对于给定层,假设选择的取值范围是从50到100中某点,这种情况下,对于50-100的数轴,可以随机在其上取点,这是一个搜索特定超参数的很直观的方式。

或者如果要选取神经网络的层数,称之为字母L,也许会选择层数为2到4中的某个值,接着顺着2,3,4随机均匀取样才比较合理,还可以应用网格搜索。这是集合随机均匀取值的例子。

但这对于某些超参数是不适用的,假设在搜索超参数 α \alpha α学习速率,假设其值最小是0.0001,或者最大值是1,如果画一条从0.0001到1的数轴,沿其随机均匀取值,那么90%的数值将会落在0.1到1之间,结果就是在0.1到1之间应用了90%的资源,而在0.0001到0.1之间只有10%的搜索资源,这看上去不太对,反而用对数标尺搜索超参数的方式会更合理,因此这里不使用线性轴,分别依次取0.0001,0.001,0.01,1,在对数轴上均匀随机取点,这样在0.0001到0.001之间就会有更多的搜索资源可,还有在0.001到0.01之间等等。分别取对数可以得到0.0001-1之间的对数范围是-4-0,然后可以设置 α \alpha α的值,基于随机取样的超参数值 α = 1 0 r \alpha=10^r α=10r。所以总结一下,在对数坐标上取值,取最小值的对数得到a值,取最大值的对数得到b值,所以现在在对数轴上的 1 0 a 10^a 10a 1 0 b 10^b 10b区间取值,在a和b之间随机均匀的选取r值,将超参数设置为 1 0 r 10^r 10r,这就是在对数轴上取值的过程。

最后,另一个棘手的例子是给 β \beta β取值,用于计算指数的加权平均值,假设 β \beta β是从0.9到0.999之间的某个值。请记住这一点,当计算指数的加权平均值时,取0.9就像在10个值中计算平均值,有点类似于计算10天的温度平均值,而取0.999就是在1000个值中取平均。如果想在0.9到0.999区间搜索,就不能用线性轴取值,所以考虑这个问题最好的方法就是探究 1 − β 1-\beta 1β,此值在0.1到0.001区间内,所以我们会给 1 − β 1-\beta 1β取值,采用对数轴,0.1的对数取值为-1,0.001的对数取值为-1。这里设定了 1 − β = 1 0 r 1-\beta=10^r 1β=10r,所以 β = 1 − 1 0 r \beta=1-10^r β=110r,然后这就变成了超参数随机取值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值