スキップコネクション(スキップ結合) (G検定)

スキップコネクション(スキップ結合)

1. 定義と概要

スキップコネクション(スキップ結合)とは、ニューラルネットワークにおいて、ある層への入力を、間にある1つ以上の層を飛び越えて、より先の層の出力へ要素ごとに加算する接続です。ショートカット接続とも呼ばれます。加算とは、同じ形状のデータ同士を対応する位置ごとに足し合わせる演算を指します。

2015年にKaiming He氏らMicrosoft Research のチームが発表した論文で、残差ネットワーク(ResNet、層を飛び越える近道を使うことで非常に深い層を積み重ねても学習が崩れにくくしたCNN)が提案されました。スキップコネクションはこのResNetの中核をなす仕組みです。

ResNetでは、層が本来学習すべき変換ではなく入力との差分(残差)を学習の対象に置き換えており、この工夫を残差学習(目的の出力ではなく入力との差分だけを学習の対象にする考え方)と呼びます。ResNetは152層という当時としては極めて深いネットワークでこの仕組みを機能させ、2015年のILSVRC(画像認識モデルの精度を競う大規模な国際コンペティション)画像分類部門で優勝しました。

従来、CNNは層を深く積み重ねるほど表現力が増し精度が向上すると考えられてきましたが、層をある程度以上深くすると精度がかえって低下する劣化問題(訓練データに対する誤差自体が層を深くするほど悪化する現象)が確認されました。これは過学習(訓練データに適応しすぎて、初めて見るデータへの精度がかえって落ちてしまう現象)とは異なり、層を深くしたこと自体が最適化を難しくしているためと考えられています。

ResNetはこの課題に対し、恒等写像(入力をそのまま変えずに出力する変換のこと)を学習しやすくする工夫としてスキップコネクションを導入しました。これにより、非常に深いネットワークでも訓練誤差を悪化させずに学習が成立します。

2. 試験対策ポイント

スキップコネクションの核心は、残差学習という考え方にあります。層の出力に、間の層を飛び越えた入力をそのまま加算する恒等写像の経路を用意することで、その層が学習すべき対象を入力との差分である残差に置き換えられる仕組みです。最適な変換が恒等写像に近いときは残差をゼロに近づけるだけでよく、学習しやすい問題に置き換わります。

劣化問題との関係を取り違えないことも論点です。層を深くしたこと自体が最適化を難しくしている現象であり、過学習とは別物として扱われます。

勾配消失問題(層をさかのぼるほど勾配が小さくなり、入力に近い層が学習されにくくなる現象)との関わりも論点です。誤差逆伝播法(出力側で生じた誤差を逆方向に伝えながら各層の重みを調整する学習手法)において、スキップコネクションが層を飛び越える経路を作ることで勾配が伝わりやすくなり、勾配消失問題の緩和にも寄与します。

取り違えやすい三つの現象を、内容で並べます。

現象 何が起きているか
劣化問題 層を深くするほど、訓練データに対する誤差自体が悪化する
過学習 訓練データに適応しすぎて、初めて見るデータへの精度が落ちる
勾配消失問題 層をさかのぼるほど勾配が小さくなり、入力に近い層が学習されにくくなる

直接ねらったのは劣化問題への対処であり、勾配消失問題の緩和はそこに重なる効果という順序で整理できます。

結合の方式も区別しておきたいところです。ResNetは、形状のそろった特徴マップ(畳み込み層が画像から取り出した特徴を並べたデータ)同士を要素ごとに加算します。特徴マップをチャンネル方向(特徴の種類が並ぶ向き)に並べて連結する方式とは異なります。

層を飛び越えて情報を伝える発想は、ResNet以外にも見られます。Highway Networks(学習可能なゲートで情報をどれだけ通すか調整しながら、層を飛び越えて情報を伝える先行研究のネットワーク)は、その代表例です。DenseNet(各層の出力をそれ以降のすべての層に直接連結して特徴を再利用するCNN)も、異なる方式で同じ発想を実現しています。複数のアーキテクチャが異なる形に発展している点は、取り違えやすいところです。

3. 関連概念との比較・相違点

層を飛び越えて情報を伝えるアーキテクチャは、情報の渡し方でくらべると違いがはっきりします。

アーキテクチャ 層を飛び越えて情報を渡す方式
ResNet 形状のそろった特徴マップ同士を要素ごとに加算する
Highway Networks 学習可能なゲートで通過量を調整する
DenseNet 各層の出力をそれ以降のすべての層へチャンネル方向で連結する

Highway Networksとの最大の違いは、ゲートの有無にあります。Highway NetworksはSrivastava氏・Greff氏・Schmidhuber氏が2015年に提案した先行研究で、変換ゲートと運搬ゲート(情報をどれだけ変換しどれだけそのまま通すかを層ごとに学習で調整する仕組み)を持ちます。一方、ResNetはゲートを持たず、入力を常にそのまま加算する点で構造がシンプルです。

DenseNetとの最大の違いは、情報の合成方法にあります。ResNetは層の出力に入力を要素ごとに加算し、形状を保ったまま足し合わせるのに対し、DenseNetは連結によって特徴を積み重ねます。

加算か連結かという合成方法の違いは、モデル全体のパラメータ(学習によって調整される内部の数値)の数や、特徴がどのように再利用されるかにも影響します。両者はいずれも層を飛び越えて情報を伝えますが、組み合わせ方の設計思想が異なります。

4. ビジネス・実務での活用シナリオ

画像認識モデルの研究開発では、スキップコネクションにより100層を超える非常に深いCNNでも学習が破綻しにくくなりました。大規模な画像認識コンペティションで人の認識精度の目安に迫る、あるいは上回るモデルの開発が可能になっています。

転移学習(別のタスクで学習済みのモデルを土台にして、新しいタスクに再利用する手法)を用いた実務でのモデル活用でも、スキップコネクションを持つ深いモデル(ResNet系)が広く土台として使われています。学習済みの重みを再利用しやすいため、少ないデータや計算資源でも高精度な画像認識モデルを実務で構築できる点が特徴です。

自然言語処理(コンピュータに人間の言葉を扱わせる分野)でも、この仕組みは活用されています。生成AI(文章や画像などを新たに作り出す人工知能)の分野でも同様です。

Transformer(Attention機構を用いて文章などの順序のあるデータを処理するモデル)の各層にも、スキップコネクションと同様に入力を出力へ足し合わせる残差接続が組み込まれています。大規模言語モデル(膨大な文章データで学習した言語処理モデル)を含む深いネットワークの学習を安定させる仕組みとして、画像認識以外の分野にも広がっています。

5. 要点まとめ

  • スキップコネクション(スキップ結合)とは、層の出力に間の層を飛び越えた入力を要素ごとに加算する接続で、ResNetの中核をなす仕組みです。
  • 層を深くするほど訓練誤差自体が悪化する劣化問題への対処として導入され、恒等写像を学習しやすくする残差学習の考え方を実現するとともに、勾配消失問題の緩和にも寄与します。
  • 学習可能なゲートで通過量を調整するHighway Networksや、特徴をチャンネル方向に連結するDenseNetなど、層を飛び越えて情報を伝える発想は複数のアーキテクチャに異なる形で発展しています。

6. 確認問題

問1スキップコネクションとは、ある層への入力を間の層を飛び越えて先の層の出力に要素ごとに加算する接続であり、ResNetの中核をなす仕組みである。

解答・解説をみる

○ 正しい

定義そのものです。恒等写像の経路を用意することで、層が学習すべき対象を入力との差分(残差)に置き換える残差学習を実現します。

問2ResNetで確認された劣化問題は、訓練データへの過剰な適合によって生じる過学習が原因であり、テストデータに対する精度のみが低下する現象である。

解答・解説をみる

× 誤り

正しくは、劣化問題は訓練データに対する誤差自体が層を深くするほど増加する現象であり、過学習とは異なります。層を深くしたこと自体による最適化の難しさが原因と考えられています。

問3層を飛び越えて情報を伝える仕組みには、ResNetの要素ごとの加算のほか、ゲートで通過量を調整するHighway Networksや、各層の出力を以降の全層に連結するDenseNetなど、異なる方式のアーキテクチャがある。

解答・解説をみる

○ 正しい

Highway Networksはゲート機構、DenseNetはチャンネル方向の連結という異なる方式で層を飛び越える情報伝達を実現しており、ResNetの加算方式とは仕組みが異なります。