如何解决Vowpal Wabbit:指定学习率时间表
我正在寻找update rule options的大众文档,而对于使用参数指定学习率时间表的方程式感到困惑
initial_t
,
power_t
,
和decay_learning_rate
。
基于文档中此行下方的方程式
指定学习率时间表的通用形式
如果initial_t
等于零(默认设置),则对于所有时间步长和历元,学习率似乎始终为零。是这样吗?
如果initial_t
和power_t
都设置为零,会发生什么?我尝试使用这些设置初始化大众汽车,但没有抱怨。
解决方法
如果initial_t等于零(默认情况下为设置),则对于所有时间步长和历元,学习率似乎始终为零。是这样吗?
initial_t
默认设置为零。默认情况下,初始学习率将不使用initial_t
来计算其值,而是从其默认值0.5
开始。
根据文档,标志adaptive
,normalized
和invariant
在默认情况下处于启用状态。如果指定了任何一个,则其他标志将关闭。在您打开invariant
标志的情况下(因此,在我们未使用归一化或自适应的情况下),初始学习率将使用initial_t
和power_t
值进行计算,并且默认的initial_t
设置为1而不是0。
如果将initial_t
显式设置为零并设置了invariant
标志,那么可以,学习率也将为零。
此外,如果将initial_t和power_t都设置为零,将会发生什么?我尝试使用这些设置初始化大众汽车,但没有抱怨。
如果初始学习率是使用initial_t
和power_t
计算的,并且两者都显式设置为零,则c ++应该将powf(0,0)
评估为1
,从而得出学习率集为其默认值,可以由--learning_rate
如果通过命令行运行vowpalwabbit,则应该能够看到将这些值设置为什么:
Num weight bits = 18
learning rate = 10
initial_t = 1
power_t = 0.5
decay_learning_rate = 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。