G検定(ジェネラリスト検定)
すきっぷけつごう
スキップ結合
Skip Connection
ニューラルネットワークで、いくつかの層への入力xをその層の出力に足し合わせる配線です。層の組は目標の写像そのものではなく、入力との差である残差F(x)を学習すればよくなり、層を深くしたときに訓練誤差まで悪くなる劣化問題を和らげます。
詳しい説明
層を深くすると訓練誤差まで悪くなる問題
ニューラルネットワークは、層を深く積み重ねるほど複雑な関係を表せると期待されます。ところが、単純に層を増やしていくと、ある深さを超えたところで精度が頭打ちになり、そのあと急に悪くなることが知られています。この現象は劣化問題(degradation problem)と呼ばれます。
劣化問題で注意したいのは、悪くなるのがテスト用のデータに対する誤差だけではない点です。層を増やしたネットワークのほうが、学習に使った訓練データに対する誤差まで大きくなります。訓練データには合っているのに未知のデータで外れる過学習とは、症状が違います。スキップ結合を提案した論文も、劣化問題の原因は過学習ではないと明記しています。つまり問題は、深いネットワークをうまく最適化できないことにあります。
残差を学習させるという発想
スキップ結合は、この最適化の難しさに対して、層に学習させる対象そのものを変えるという方法で答えます。
いくつかの層をひとまとまりとみて、そのまとまりが最終的に実現したい入力から出力への写像をH(x)と書きます。通常のネットワークでは、層の組がH(x)そのものを学習します。スキップ結合を使うと、層の組が学習するのはF(x) = H(x) - x、つまり目標の写像と入力との差になります。この差を残差と呼びます。層の組の出力F(x)に入力xをそのまま足すと、まとまり全体の出力はF(x) + xとなり、元の目標H(x)と同じものが得られます。
この形は式を変形しただけに見えますが、層の組にとっての学習の難しさが変わります。たとえば目標の写像が入力をほとんどそのまま返すものだった場合、通常のネットワークでは、複数の非線形な層を組み合わせて入力をそのまま返す写像を作らなければなりません。スキップ結合があれば、層の組はF(x)を0に近づけるだけで済みます。
数値で見る残差の学習
入力を1つの数として、簡単な例で考えます。入力xが5.0で、このまとまりから出したい値H(x)が5.2だとします。
通常のネットワークでは、層の組が5.0を受け取って5.2を出力するように学習します。スキップ結合を使う場合、層の組は5.0を受け取って差の0.2を出力すればよく、その0.2に入力の5.0が足されて5.2になります。
もし出したい値が入力と同じ5.0なら、層の組が出すべき値は0です。この例のように、目標が入力に近いほど、層の組が学習する値は小さく、単純になります。
ショートカット結合が行うこと
提案した論文は、入力xを層の組の出口まで運んで足す配線をショートカット結合(shortcut connection)と呼んでいます。いくつかの層を飛び越えて入力を先へ送るので、スキップ結合とも呼ばれます。G検定のシラバスでは、スキップ結合という名前で扱われています。
この配線は、受け取った入力に何の計算も加えずにそのまま渡します。入力をそのまま出力する写像を恒等写像(identity mapping)と呼び、このショートカット結合は恒等写像を行う配線だと言えます。重みを持たないので、ネットワークに学習するパラメータを追加しません。行う計算は出口での足し算だけなので、計算量もほとんど増えません。そのため、スキップ結合を入れても、同じ層数の通常のネットワークと比べてモデルの大きさはほぼ変わりません。
提案した論文
スキップ結合による残差学習は、カイミン・ホー(Kaiming He)、シャンユ・ジャン(Xiangyu Zhang)、シャオチン・レン(Shaoqing Ren)、ジエン・スン(Jian Sun)の論文「Deep Residual Learning for Image Recognition」(2015年にarXivで公開)で提案されました。この論文では、残差学習を取り入れた152層のネットワークを画像データセットImageNetで評価しました。ILSVRC 2015という画像認識の競技会の分類部門では、複数のResNetを組み合わせたアンサンブルがtop-5エラー率3.57%を記録して1位となりました。この残差学習を使うネットワークはResNetと呼ばれ、詳しい構成はResNetの項目で扱います。
誤解しやすい点
スキップ結合が主に対象とするのは、深いネットワークの訓練がうまく進まないという最適化の問題です。訓練データに合わせすぎて未知のデータで外れる過学習を防ぐための仕組みではありません。過学習に対しては、正則化やドロップアウトのような別の手法が使われます。
また、スキップ結合は層を無条件に何層でも増やせるようにする仕組みではありません。深いネットワークを学習しやすくする工夫の1つであり、どこまで深くできるかはネットワーク全体の設計やデータに左右されます。
試験で問われること
G検定
- スキップ結合は、いくつかの層への入力xを飛び越えて送り、その層の組の出力に足し合わせる配線です。提案した論文ではショートカット結合と呼ばれています。
- 層の組が目標の写像H(x)を直接学習する代わりに、残差F(x) = H(x) - xを学習し、まとまり全体の出力はF(x) + xになります。これを残差学習と呼びます。
- 層を深くすると訓練データに対する誤差まで大きくなる現象を劣化問題と呼び、スキップ結合はこれを和らげるために提案されました。劣化問題の原因は過学習ではありません。
- ショートカット結合は入力をそのまま渡す恒等写像を行うので、学習するパラメータを追加せず、計算量もほとんど増やしません。
- スキップ結合による残差学習は、2015年にカイミン・ホー(Kaiming He)らが提案し、この仕組みを使うネットワークはResNetと呼ばれます。
最終更新日: 2026/09/23