ゼロから作るDeep Learning3 ステップ40 broadcast_toとsum_to関数の関係についてのメモ
ステップ40でbroadcast_toとsum_toの関数が、それぞれをお互いに使用しますが、少し混乱したので図にまとめました
sum_to関数は、utils.pyと、functions.pyにそれぞれあることに注意が必要でした。
図の通りですが、文にすると以下になります。
broadcast_to関数を呼び出す時(順伝播)、BroadcastTo(shape)(x)が呼び出され、np.broadcast_toが呼び出される
functions.pyのsum_to関数を呼び出す時(順伝播)、SumTo(shape)(x)が呼び出され、utlis.pyの方のsum_to関数が呼び出される。
BroadcastToの逆伝播の場合、functions.pyのsum_to関数が呼び出され、あとは2.と同じ。
functions.pyのsum_to関数の逆伝播の場合、broadcast_to関数が呼び出され、あとは1.と同じ。