1. はじめに
本記事はResNetに関する論文Identity Mappings in Deep Residual Networksを読んでみてのレビュー記事の補足になります。
記事本編では省略してしまった数式を用いた説明部分をここで詳しく説明していきたいと思います。
レビュー記事本編をご覧になっていない方はそちらから見ていただくことを推奨いたします。
2. Chap2. Analysis of Deep Residual Networks
第2章です。改めて論文中でのこの章の位置づけは、深層ResNetの構造について情報伝播の観点から数理的に解析する章ということになります。
それでは早速見ていきましょう。
まずResNetの残差ユニットは層$l$における入力$x_l$、残差関数$F$、$F$のパラメータ$W_l$、活性化関数$f$を用いてこのような形で定義されます。
y_l = h(x_l) + F(x_l,W_l) \quad...(1) \\
x_{l+1} = f(y_l) \quad...(2) \\
式(1)に登場している$h$は恒等関数であり、$h(x) = x$を満たします。
ここで活性化関数$f$も恒等関数であり、$x_{l+1} \equiv y_l$を満たすとします。この時、式(1)は以下のように変形できます。
x_{l+1} = x_l + F(x_l,W_l) \quad...(3) \\
式(3)によって$l+1$と$l$の関係を導くことができました。数学に慣れている方であればこの後どうしていくのかは容易に想像がつくと思いますが、私はもうワンクッション置きます。
$l+1$と$l$の関係がわかるなら、$l$と$l-1$の関係もわかる、ということは$l+1$と$l-1$の関係もわかるはずです。
x_{l+1} = x_{l-1} + F(x_{l-1},W_{l-1}) + F(x_l,W_l) \quad...(3)' \\
はい、ということは再帰的に任意の$L$と$l(L>l)$の関係を以下のように導けます。
x_{L} = x_{l} + \sum_{i=l}^{L-1} F(x_{i},W_{i}) \quad...(4) \\
つまり任意の深層$L$の入力$x_L$は浅層$l$の入力$x_l$とそれまでの残差関数の累積和で表現できるということになります。これは一般的なニューラルネットワークがテンソル積で情報を深層に伝播していくのとは対照的で、任意の浅層$l$の情報を直接任意の深層$L$に伝播できることを示しています。
以上が順伝播における数理的な解説です。次に逆伝播について考えてみます。
損失関数を$\varepsilon$と定義すると任意の浅層$x_l$における微分は連鎖則を用いて以下のように表現できます。
\frac{\partial\varepsilon}{\partial x_l} = \frac{\partial\varepsilon}{\partial x_L}\frac{\partial x_L}{\partial x_l} \\
この式を式(4)を用いて表すと以下のようになります。
\begin{align}
\frac{\partial\varepsilon}{\partial x_l} &= \frac{\partial\varepsilon}{\partial x_L}\frac{\partial}{\partial x_l}\biggl(x_{l} + \sum_{i=l}^{L-1} F(x_{i},W_{i})\biggr) \\
&=\frac{\partial\varepsilon}{\partial x_L}\biggl(1 + \frac{\partial}{\partial x_l}\sum_{i=l}^{L-1} F(x_{i},W_{i})\biggr) \qquad...(5)
\end{align}
式(5)は任意の浅層$x_l$における微分が任意の深層$x_L$における微分と残差関数の微分に関連する項の和で表現していて任意の深層$L$の情報を任意の浅層$l$に直接伝播させることができることを示しています。
また、$\frac{\partial}{\partial x_l}\sum_{i=l}^{L-1} F(x_{i},W_{i})$が常に$-1$になることは非常に稀であるため、$W$がいくら小さくても勾配消失はしにくいことを示しています。
3. まとめ
ResNetの残差ユニットにおけるShortcut Connectionと活性化関数をそれぞれ恒等関数とであるとした場合、順伝播においては任意の浅層から任意の深層へ直接情報の伝播が可能になり、逆伝播においては任意の深層から任意の浅層へ直接情報の伝播が可能になり、なおかつ勾配消失が起こりにくくなる、ということが残差ユニットを数理的に解析することで解説されています。
次章以降ではShortcut Connectionや活性化関数が恒等関数でない場合にどのような挙動になるかが述べられています。
続きは是非こちらからご覧ください。