Vowpal Wabbit:指定学习率计划
Vowpal Wabbit: specifying the learning rate schedule
我正在查看 VW 的 update rule options 文档,我对使用参数指定学习率计划的方程式感到困惑
initial_t
,
power_t
,
和 decay_learning_rate
.
基于文档中这一行下方的等式
specify the learning rate schedule whose generic form
如果 initial_t
等于零(这是默认设置),似乎学习率将始终为零,对于所有时间步长和时期。这样对吗?
此外,如果 initial_t
和 power_t
都设置为零会怎样?我尝试使用这些设置初始化 VW,它没有抱怨。
if initial_t is equal to zero (which is the setting by default), it seems that the learning rate will always be zero, for all timesteps and epochs. Is this right?
initial_t
默认设置为零。默认情况下,初始学习率不会使用 initial_t
来计算其值,而是会从其默认值开始,即 0.5
.
根据文档,标志 adaptive
、normalized
和 invariant
默认处于启用状态。如果指定了其中任何一个,则其他标志将被关闭。如果您打开 invariant
标志(因此在我们不使用归一化或自适应的情况下),将使用 initial_t
和 power_t
值计算初始学习率,并且默认 initial_t
设置为一而不是零。
如果 initial_t
明确设置为零并设置 invariant
标志,那么是的,学习率也将为零。
Also, what would happen if both initial_t and power_t are set to zero? I tried initializing a VW with those settings and it didn't complain.
如果初始学习率是使用 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
我正在查看 VW 的 update rule options 文档,我对使用参数指定学习率计划的方程式感到困惑
initial_t
,
power_t
,
和 decay_learning_rate
.
基于文档中这一行下方的等式
specify the learning rate schedule whose generic form
如果 initial_t
等于零(这是默认设置),似乎学习率将始终为零,对于所有时间步长和时期。这样对吗?
此外,如果 initial_t
和 power_t
都设置为零会怎样?我尝试使用这些设置初始化 VW,它没有抱怨。
if initial_t is equal to zero (which is the setting by default), it seems that the learning rate will always be zero, for all timesteps and epochs. Is this right?
initial_t
默认设置为零。默认情况下,初始学习率不会使用 initial_t
来计算其值,而是会从其默认值开始,即 0.5
.
根据文档,标志 adaptive
、normalized
和 invariant
默认处于启用状态。如果指定了其中任何一个,则其他标志将被关闭。如果您打开 invariant
标志(因此在我们不使用归一化或自适应的情况下),将使用 initial_t
和 power_t
值计算初始学习率,并且默认 initial_t
设置为一而不是零。
如果 initial_t
明确设置为零并设置 invariant
标志,那么是的,学习率也将为零。
Also, what would happen if both initial_t and power_t are set to zero? I tried initializing a VW with those settings and it didn't complain.
如果初始学习率是使用 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