計算グラフ
加算ノード
順伝播では入力をそのまま足し合わせます。逆伝播では、勾配は分岐せずにそのまま両方の入力側へ流れます(加算の微分は 1 なので、上流の勾配がそのままコピーされます)。
Sumノード
複数の入力(またはある軸方向の要素)を合計して出力するノードです。逆伝播では、上流から来た勾配を、合計する前の各要素に同じ値のままコピー(Repeat)して流します。
分岐ノード
順伝播では同じ値を複数の経路にコピーして流します。逆伝播ではその逆で、各経路から返ってきた勾配を合計したものが、その変数の勾配になります(複数経路の寄与を足し合わせる、というのは 勾配 の連鎖律の考え方と同じです)。
Repeatノード
順伝播では同じ値を指定した回数だけ複製して並べます(分岐ノードを N 個に一般化したイメージ)。逆伝播では、複製された各経路の勾配を合計して 1 つに戻します。
出典:ゼロから作るDeep Learning ❷ ―自然言語処理編 斎藤康毅 (著)
乗算ノード
順伝播では 2 つの入力を掛け合わせます。逆伝播では、一方の入力に対する勾配は「上流の勾配 × もう一方の入力の値」で求まります(自分自身の値ではなく、相手の値を掛けるのがポイントです)。