1. はじめに
本記事はResNetに関する論文Identity Mappings in Deep Residual Networksを読んでみてのレビュー記事の補足になります。
記事本編では省略してしまった数式を用いた説明部分をここで詳しく説明していきたいと思います。
レビュー記事本編をご覧になっていない方はそちらから見ていただくことを推奨いたします。
2. Chap.3 On the Importance of Identity Skip Connections
第3章です。改めて論文中でのこの章の位置づけは、第2章にてShortcut Connectionと活性化関数を恒等関数と仮定して深層ResNetの構造について情報伝播の観点から数理的に解析していましたが、その中でのShortcut Connectionが恒等関数であることの重要性を数理的に解析する章ということになります。
それでは早速見ていきましょう。
第2章では$h(x)=x$を満たす恒等関数として定義されていた$h$をあるスカラー$\lambda$を用いて$h(x_l)=\lambda_l x_l$として定義します。ここでは簡単のため、活性化関数$f$は$x_{l+1} \equiv y_l$を満たすような恒等関数であるとしてResNetの残差ユニットを表現すると、以下のようになります。
x_{l+1} = \lambda_l x_l+F(x_l,W_l) \quad ...(6)
第2章の時と同様に$l+1$と$l$の関係が分かりました。これによって$l$と$l-1$の関係も分かり、$l+1$と$l-1$の関係も以下のように導けます。
x_{l+1} = \lambda_l(\lambda_{l-1} x_{l-1}+F(x_{l-1},W_{l-1}))+F(x_l,W_l) \quad ...(6)
これもまた再帰的に任意の$L$と$l(L>l)$の関係を以下のように導けます。
x_{L} = \biggl( \prod_{i=l}^{L-1}\lambda_{i} \biggr)x_l + \sum_{i=l}^{L-1}\biggl( \prod_{j=i+1}^{L-1}\lambda_{j} \biggr)F(x_i,W_i) \quad ...(7)'
ここで$\biggl( \prod_{j=i+1}^{L-1}\lambda_{j} \biggr)$がスカラーであることに着目して$\biggl( \prod_{j=i+1}^{L-1}\lambda_{j} \biggr)F(x_i,W_i)=\hat F(x_i,W_i)$として残差関数を再定義すると以下のようにまとめられ、任意の深層と浅層の関係を導くことができる。
x_{L} = \biggl( \prod_{i=l}^{L-1}\lambda_{i} \biggr)x_l + \sum_{i=l}^{L-1}\hat F(x_i,W_i) \quad ...(7)
式(7)は形としては第2章で導いた形に近いですが浅層$x_l$に対して$\lambda$の累積積がかけられています。これは浅層$X_l$の情報を直接任意の深層$x_L$に伝播させることが困難になっていることを意味しています。仮に$\lambda_{i}<1$である場合、Shortcut Connection影響は0に近くなり、ほぼ全ての情報が残差関数、つまりパラメータを通じて伝播することになります。
逆伝播の場合も同様に損失関数を$\varepsilon$と定義し、連鎖則から深層$L$と浅層$l$の関係について考えていきます。
\begin{align}
\frac{\partial\varepsilon}{\partial x_l} &= \frac{\partial\varepsilon}{\partial x_L}\frac{\partial}{\partial x_l}x_L \\
&= \frac{\partial\varepsilon}{\partial x_L}\frac{\partial}{\partial x_l}\biggl(\biggl( \prod_{i=l}^{L-1}\lambda_{i} \biggr)x_l + \sum_{i=l}^{L-1}\hat F(x_i,W_i)\biggr) \\
&=\frac{\partial\varepsilon}{\partial x_L}\biggl(\biggl( \prod_{i=l}^{L-1}\lambda_{i} \biggr) + \frac{\partial}{\partial x_l}\sum_{i=l}^{L-1} \hat F(x_{i},W_{i})\biggr) \qquad...(8)
\end{align}
式(8)の右辺第一項は第2章で示した時は1だったため、損失関数$\varepsilon$の深層$L$における微分を直接任意の浅層$l$に伝播させることができました。しかし上記の式(8)では$\lambda$の累積積となっているため直接伝播を行うことができません。仮に$\lambda_{i}<1$である場合、全ての情報がパラメータを通じて伝播していくため、最適化が困難になると言えます。
本検証では簡単のため、元々恒等関数をスカラー倍する場合の影響について考えたが、より複雑な処理が行われる場合、その処理の微分が式(8)に適用されていくため、より最適化が困難になってしまうと考えられます。
3. まとめ
本章では、ResNetの残差ユニットにおけるShortcut Connectionが恒等関数であることの重要性をShortcut Connectionが恒等関数でない場合の残差ユニットを数理的に解析することで解説しています。
順伝播、逆伝播ともに、Shortcut Connectionが恒等関数であった場合に任意の深層と浅層で直接伝播が行えていた部分に大きく影響しているために直接伝播が不可能になり、最適化が困難になると述べられています。
レビュー記事本編では実際にShortcut Connectionにおける恒等関数を様々な関数に置き換えた場合の比較実験結果を紹介しています。
続きは是非こちらからご覧ください。