Vowpal Wabbit 公式中的自适应更新

Adaptive Updates In Vowpal Wabbit Formula

我正在查看以下 2 个关于 VW 在使用 --adaptive 标志时所做的更新的演示。 似乎它们是不同的。

  1. http://www.slideshare.net/jakehofman/technical-tricks-of-vowpal-wabbit
  2. https://github.com/JohnLangford/vowpal_wabbit/wiki/v6.1_tutorial.pdf

有了这两个描述(分别):

#1

#2

我的问题:

  1. 以下哪些是正确的(或者相同)?

  2. 对于数字 1,分母中似乎使用了 t+1 示例中的梯度。这是怎么做到的?这是否意味着新权重(标记为 w_i)是例如 t+1 的权重?

如您所见,first presentation contains an error/typo in the AdaGrad formula. The formula should be w_{i, t+1} := w_{i, t} - (\eta * g_{i, t} / \sqrt{sum}),其中 sum=\sum_{t'=1}^t g_{i, t'}^2.

在VowpalWabbit中,--adaptive(对应AdaGrad思想)默认开启。但是 --normalized--invariant 也在默认情况下启用,这意味着在普通 AdaGrad 之上应用了几个 tricks/improvements。所有这些技巧的交互都很复杂,没有一张幻灯片可以描述所有方面,所以唯一的参考是源代码(gd.cc)。

Which of these are correct (or are they the same)?

我认为它们不一样,但它们是复杂代码的不同"layers"。我认为 second presentation 的幻灯片 33(你引用为 #2)对应于幻灯片 31(你没有引用) first presentation,但我不确定。