选择范围
- 超参数的范围选择好像是一件很简单的事情,给定我一个参数的区间,对区间内的点挨个试不就知道了?
- 事实上,并不是这样的,对于不同的参数,上述措施,并不总是对的。
对于上面两个参数:隐藏单元的数量和层数,采用均匀取值的方法貌似是合理的。
但是对于另一些参数,上述策略是不合理的,例如学习率α
倘若学习率取值范围是0.0001到1,那么很显然,在这个区间上,有约90%的资源用在0.1到1这个区间上,只有约10%的资源在0.0001到0.1这个区间上。
但事实上,对于学习率这个特殊的参数来说,0.0001到0.1这个区间应该投入更大的资源去尝试,也就是说,它尽管取值范围是0.0001到1,但是其值得投入的区间是不均匀的。
解决措施
- 对于学习率α这类特殊的参数,我们可以用对数标尺来进行相对均匀的取值。
对区间两边取对数之后,区间变成了-4到0,在-4到0区间内均匀取值,就做到了对于上图第二个轴的均匀取值,此时0.1到1只占用约25%的资源,对于α这个参数来说是合适的,因为它的大部分合适的值都处0.0001到0.1之间。 - 另一个比较难处理的参数是β
如图所示,对于0.9到0.999的区间,有1-β处于0.1到0.001的范围,对这个范围,我们使用了对数标尺,从而使得在0.9到0.99和0.99到0.999区间投入的资源是一样的。
为什么要这样做呢?因为当β接近于1时,所得结果的灵敏度会变化,即便β有微小的变化,也能对于结果产生巨大的影响。为什么这么说呢?还记得β参数是干嘛的嘛,它是指数加权平均法中的参数,而1/(1-β)是其大约平均点的数量。那么我们看上图的左下方,当β从0.9000变化到0.9005时,其实对于结果的影响并不大,因为1/(1-β)仅仅是从10变化到了10.05,其平均的点的数量还基本是10,但是当β从0.999变化到0.9995的时候,它平均的点的数量,从1000变化到了2000,设想一下指数加权平均的图像变化该有多么大!你觉得如果用正常标尺来均匀取值的话,对于结果的影响是均匀的嘛?!(有关指数加权平均请移步:https://blog.csdn.net/qq_41076797/article/details/110768164),因此,不能使用平常尺度进行取值,而是需要在β接近于1的时候进行密集的取值!,只有这样才能使指数加权平均法平均的点的个数慢慢增加,而不是像刚才的例子一样,一下子从1000变化到2000。