Search code examples
chainer

in chainer, how to use chainer.GradientMethod and how to customize define parameter update rule


I found a class in https://docs.chainer.org/en/stable/reference/core/generated/chainer.GradientMethod.html?highlight=gradient, it has a function called create_update_rule(), my needs is I define an Function which backward gradient, suppose I want write following code:

W[i] -= gradient[i] * learning_rate;

where W is parameter of my Function/Layer, But I don't know chainer default optimizer how to update parameter? is it += or -= ?


Solution

  • Each optimizer, for example SGD optimizer, is the sub class of GradientMethod. And each optimizer have own UpdateRule.

    See SGD's update rule which calculates

    W[i] -= gradient[i] * learning_rate