Pythonによるバッチ版Affineレイヤ(誤差逆伝播法)の実装方法について
Pythonによるバッチ版Affineレイヤを実装に関して不明な点がございましたので、質問させていただきました(参考書籍:「ゼロから作るDeepLearning」, pp.150-152)。
以下のバッチ版Affineレイアにおけるバイアスに関する
参考書籍での説明とソースコードについてご教示いただきたく存じます。
バイアスの加算に際しては、注意が必要です。順伝播でのバイアスの加算は、それぞれのデータ(1個目、2個目のデータ、・・・)に対して加算が行われます。そのため、逆電波の際には、それぞれのデータの逆電波の値がバイアスの要素に集約される必要があります。
db = np.sum(dY, axis=0)
なぜ渡ってきた値(dY)の和を計算しているか納得できませんでした。
誤差逆伝播法の計算グラフにおいて、「+」ノードでは前から来た値をそのまま下位ノードへ渡すと認識しております。そのため、dYをそのまま下位ノードで渡すのことが自然な処理と考えておりました。
なぜバッチ版ではN行のデータであるdYの和を下位ノードへ渡しているのか
ご教示頂きたく存じます。
どうぞよろしくお願いいたします。