16. Chainer での順伝播・逆伝播
l Function は Variables -‐‑‒> Variables のような関数を実装している
l 順伝播時に、関数の計算とあわせて DAG を作る
x = chainer.Variable(...)
y = chainer.Variable(...)
z = x**2 + 2*x*y + y
16
x
y
_ ** 2
2 * _ _ * _ _ + _ z
_ + _
Actually, Split nodes are automatically
inserted (they accumulate the gradients
on backprop)
17. Backward Unchaining
l Chainer では、順伝播のときにできたグラフをあとで編集できる
l 逆伝播を途中までだけ実⾏行行したい場合に有効
(Fine-‐‑‒tuning や Truncated Backprop-‐‑‒Through-‐‑‒Time など)
17
x f y g z
y g z
y.unchain_backward()