Skip Connection

Skip Connection

Skip Connectionとは

Skip Connection(スキップ接続、残差接続とも呼ばれる)は、ニューラルネットワークの層をバイパスして情報を直接伝達する接続構造です。入力をいくつかの層を飛ばして出力に加算する仕組みにより、非常に深いネットワークの学習を可能にします。ResNetで初めて体系的に導入され、現在ではディープラーニングの最も基本的な設計パターンの一つとなっています。

Skip Connectionの種類

Skip Connectionには主に2つの方式があります。加算型(Additive、ResNetで使用)は入力をそのまま出力に加算するもので、F(x) + xの形で表現されます。連結型(Concatenation、DenseNetやU-Netで使用)は入力と出力をチャネル方向に連結するもので、より多くの情報を保持できますがメモリ使用量が増加します。

勾配伝播への効果

Skip Connectionの最も重要な効果は、逆伝播時の勾配の安定化です。通常の深いネットワークでは勾配が消失しやすいですが、Skip Connectionにより勾配がショートカットパスを通って直接浅い層に到達できます。これにより、100層以上のネットワークでも効果的な学習が可能になりました。

Skip Connectionの普及

Skip Connectionは現在、CNN、Transformer、U-Netなど、ほぼすべてのディープラーニングアーキテクチャで使用されています。TransformerではSelf-Attention層とFeed-Forward層の両方にSkip Connectionが適用されています。この単純かつ効果的な設計パターンは、深層学習の発展に最も貢献した技術の一つと言えます。