MaxPoolingLayer順伝播

$$ y_{i}^{j, k} = \mathop{max}_{ \small p }^{ \small H } \mathop{max}_{ \small q }^{ \small H } x_{i + p}^{j + q, k} $$
$$ \frac{ \partial E }{ \partial x_{ι_0}^{ι_1, k} } $$
順伝播先の変数の偏微分から計算式を作る。
$$ = \displaystyle \sum_{p }^{ max(0, (ι_0 - M) + 1) } \displaystyle \sum_{q }^{ max(0, (ι_1 - N) + 1) } δy_{ι_0 - p}^{ι_1 - q, k} \cdot \frac{ \partial y_{ι_0 - p}^{ι_1 - q, k} }{ \partial x_{ι_0}^{ι_1, k} } $$
順伝播先の変数に定義式を代入する。
$$ = \displaystyle \sum_{p }^{ max(0, (ι_0 - M) + 1) } \displaystyle \sum_{q }^{ max(0, (ι_1 - N) + 1) } δy_{ι_0 - p}^{ι_1 - q, k} \cdot \frac{ \partial MaxPool(x_{(ι_0 - p) + p}^{(ι_1 - q) + q, k}) }{ \partial x_{ι_0}^{ι_1, k} } $$
簡約化する。
$$ = \displaystyle \sum_{p }^{ max(0, (ι_0 - M) + 1) } \displaystyle \sum_{q }^{ max(0, (ι_1 - N) + 1) } δy_{ι_0 - p}^{ι_1 - q, k} \cdot \frac{ \partial MaxPool(x_{ι_0}^{ι_1, k}) }{ \partial x_{ι_0}^{ι_1, k} } $$
微分の計算をする。
$$ = \displaystyle \sum_{p }^{ max(0, (ι_0 - M) + 1) } \displaystyle \sum_{q }^{ max(0, (ι_1 - N) + 1) } δy_{ι_0 - p}^{ι_1 - q, k} \cdot MaxPoolPrime(x_{ι_0}^{ι_1, k}) $$
式を簡約化する。
$$ = \displaystyle \sum_{p }^{ max(0, ι_0 - M + 1) } \displaystyle \sum_{q }^{ max(0, ι_1 - N + 1) } δy_{ι_0 - p}^{ι_1 - q, k} \cdot MaxPoolPrime(x_{ι_0}^{ι_1, k}) $$

逆伝播

$$ δx_{ι_0}^{ι_1, k} = \displaystyle \sum_{p }^{ max(0, ι_0 - M + 1) } \displaystyle \sum_{q }^{ max(0, ι_1 - N + 1) } δy_{ι_0 - p}^{ι_1 - q, k} \cdot MaxPoolPrime(x_{ι_0}^{ι_1, k}) $$