pytorch 在元学习过程中,什么时候除以MAML的 meta_batch_size?

yjghlzjz  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(211)

我在高等图书馆看过maml的例子,但在我看来,他们忘记了除以meta_batch_size,他们有:

qry_loss.backward()

他们应该

meta_batch_size = qry_loss.size(0)
(qry_loss/meta_batch_size).backward()

这是否正确?是否应该除以meta_batch_size
参考文献:

如果您没有填充grads字段,请查看以下内容:https://github.com/facebookresearch/higher/issues/129

kulphzqa

kulphzqa1#

如果选择了正确的步长,则它们是“等效的”。
第一个具有此更新规则:

w := w - eta1 (E[l] +- std[l]/sqr{B})

第二名:

w := w - eta2 (B E[l] +- sqrt{B} std[l])

如果eta2 = eta1/B,它们是相同的。假设你可以用mean +- std或多或少地替换梯度(不完全是,但那很好,这是为了得到一种感觉,如果它们或多或少地分布相同,足够相似)。

相关问题