残差ブロックとは

残差ブロックは、ニューラルネットワークの層構造において、入力データそのものをスキップして出力に直接加算するショートカット接続(スキップコネクション)を持つ、ディープラーニングモデルの基本構成要素のことであり、ネットワークの層を深くすることによって発生する勾配消失や退化といった問題を防ぎ、恒等写像(入力をそのまま出力する写像)の学習を容易にすることで、極めて深いニューラルネットワーク(Residual Network, ResNet)の訓練を可能にした、深層学習における革新的な構造のことです。

残差ブロックの概要と設計の背景

残差ブロック(Residual Block)は、主に畳み込みニューラルネットワーク(CNN)の文脈で考案されましたが、その概念は一般的なニューラルネットワークの深層化において広く応用されています。

1. ディープネットワークにおける課題

ネットワークの層を深くする(ディープにする)ことは、より複雑で抽象的な特徴を学習するために不可欠ですが、従来のネットワーク構造では以下の問題が発生しました。

  • 退化問題(Degradation): 層を深くするにつれて、モデルの訓練誤差が飽和するか、または悪化し始める現象。これは、深くした層が「何もしない」という恒等写像(入力をそのまま次の層に渡す)を学習することが極めて困難であるためと考えられていました。
  • 勾配消失問題: 誤差逆伝播法において、誤差信号が前の層に伝わるにつれて急激に小さくなり、ネットワークの入力側の層の重み更新が停滞する問題。

2. 残差学習の導入

残差ブロックの核心は、この退化問題に対処するための残差学習(Residual Learning)のアイデアに基づいています。

  • 学習対象の変更: ネットワークが直接、目標とする写像 $H(x)$ を学習するのではなく、入力 $x$ と目標写像 $H(x)$ の残差(差分)$F(x)$ のみを学習するように設計します。
  • 恒等写像の容易化: ネットワークが恒等写像 $H(x) = x$ を学習したい場合、残差学習では $F(x) = H(x) – x$ となり、学習すべき残差 $F(x)$ はゼロとなります。これは、通常の層で $H(x)$ を $x$ に近づけるよりも、重みをゼロに近づける方がはるかに簡単であり、深いネットワークの学習を安定させます。

残差ブロックの構造と機能

残差ブロックの定義的な特徴は、そのショートカット接続(Skip Connection)にあります。

1. ショートカット接続(Identity Mapping)

残差ブロックは、二つの主要なパスで構成されます。

  1. 残差関数パス(Residual Function Path $F(x)$): 入力 $x$ を、重み層(通常は複数の畳み込み層、バッチ正規化、活性化関数)を介して処理する通常のパスです。このパスが残差 $F(x)$ を学習します。
  2. 恒等写像パス(Identity Mapping Path $x$): 入力 $x$ を、何の変換も行わずに(あるいは次元を合わせるための線形変換のみを行って)そのまま出力側に渡すバイパスです。

最終的なブロックの出力 $H(x)$ は、この二つのパスの出力を要素ごとに加算(Element-wise Addition)して得られます。

H(x) = F(x) + x

2. 勾配伝播の改善

ショートカット接続は、学習時にも決定的な利点をもたらします。誤差逆伝播の際、勾配は通常の残差関数パスだけでなく、恒等写像パスを通じても逆伝播されます。

恒等写像のパスの微分は常に1であるため、勾配は減衰することなく深い層へと直接流れ、これにより深いネットワークにおける勾配消失の問題を効果的に抑制します。これは、実質的に深いネットワークが、浅いネットワークのアンサンブル(集団)のように機能することを可能にし、学習の安定性と性能を両立させます。

3. 次元整合性

入力 $x$ と残差 $F(x)$ の次元(特徴マップのサイズとチャンネル数)が異なる場合、ショートカット接続のパス $x$ に対して、次元を一致させるための線形変換 $W_s$ を適用する必要があります。

H(x) = F(x) + W_s x

ただし、次元が一致する場合(特徴マップのサイズやチャンネル数がブロックの前後で変わらない場合)は、$W_s$ は恒等行列と見なされ、計算リソースを節約するために変換なしで加算が行われるのが一般的です。

関連用語

ニューラルネットワーク | 今更聞けないIT用語集
勾配消失問題 | 今更聞けないIT用語集
AIソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。