畳み込みニューラルネットワーク(Convolutional Neural Network、CNN)は、深層学習(ディープラーニング)の中核をなすアーキテクチャの一つで、主に画像認識や動画解析、自然言語処理などのパターン認識タスクに特化した人工ニューラルネットワークである。畳み込み層、プーリング層、全結合層を積み重ねることで、入力データから局所的な特徴(エッジやテクスチャなど)を階層的に抽出し、高次元の情報を効率的に処理する。1980年代にヤン・ルカン(Yann LeCun)らによって提案されたLeNetを起源とし、近年では大量のデータとGPU計算の進化により、画像分類、物体検出、顔認識など多様な領域で人間に匹敵する精度を達成している。
CNNの歴史は、生物の視覚野の階層的処理に着想を得た理論から始まり、計算機性能の向上と大規模データセットの登場により急速に進化した。
1.1 初期の理論:ネオコグニトロンとLeNet
福島邦彦によって1980年に提案されたネオコグニトロンは、畳み込みとプーリングに相当する階層構造を持つ最初のモデルであり、文字認識に応用された。その後、1998年にヤン・ルカンらがLeNet-5を発表し、手書き数字認識(MNIST)で高い精度を達成した。LeNetは現在のCNNの基本構成(畳み込み→プーリング→全結合)を確立した。
1.2 大規模データ時代の登場:AlexNetとImageNet
2012年、アレックス・クリジェフスキーらがAlexNetを提案し、大規模画像データセットImageNetのコンペティションで従来手法を大きく上回る成果をあげた。GPUを用いた効率的な並列計算、ReLU活性化関数、ドロップアウト正則化の採用が成功の鍵であり、深層学習ブームの火付け役となった。
1.3 深化と改善における主要なモデル
1.3.1 VGGNet
2014年にオックスフォード大学のVGGチームが発表したVGGNetは、3×3の小さなフィルタを深く積み重ねるシンプルな構造で、層数の増加(16層や19層)が表現力を高めることを示した。現在でも特徴抽出器として広く利用されている。
1.3.2 GoogLeNet(Inception)
同年にグーグルが発表したGoogLeNetは、Inceptionモジュールと呼ばれる複数サイズのフィルタを並列に適用する構造を導入し、パラメータ数を抑えながら計算効率を向上させた。1×1畳み込みを用いた次元削減が特徴である。
1.3.3 ResNet
2015年にマイクロソフトリサーチが提案したResNetは、残差接続(スキップ接続)を導入することで勾配消失問題を解決し、152層という極めて深いネットワークの学習を可能にした。これにより画像認識の精度が大幅に向上し、その後多くのアーキテクチャに影響を与えた。
CNNは入力データから段階的に特徴を抽出するための積層構造を持つ。主な構成要素は畳み込み層、プーリング層、活性化関数、全結合層であり、正則化手法が学習を安定化させる。
2.1 畳み込み層
2.1.1 フィルタとカーネル
畳み込み層では、学習可能な小さな重み行列(フィルタまたはカーネル)を入力画像上でスライドさせ、要素ごとの積和演算を行う。これにより局所的なパターン(エッジ、テクスチャなど)を検出する特徴マップを生成する。複数のフィルタを用いることで多様な特徴を同時に抽出できる。
2.1.2 ストライドとパディング
ストライドはフィルタを移動する間隔を指定し、出力特徴マップのサイズを調整する。パディングは入力の周囲にゼロなどを追加することで、畳み込み後の空間サイズを保持したり、端の情報を適切に処理したりする。これらは出力の解像度と受容野を制御する重要なパラメータである。
2.2 プーリング層
プーリング層は特徴マップの空間サイズを縮小し、位置の微小な変化に対する不変性を付与するとともに、計算量を削減する。
2.2.1 最大プーリング
局所領域内の最大値を出力する方式。最も強い特徴を保持するため、エッジ検出などのタスクに有効であり、最も一般的に使われる。
2.2.2 平均プーリング
局所領域内の平均値を出力する方式。滑らかな特徴マップを得るのに適しており、全体的な情報を残したい場合に利用される。
2.3 活性化関数
2.3.1 ReLUとその変種
ReLU(Rectified Linear Unit)は正の入力をそのまま、負の入力をゼロにするシンプルな関数で、勾配消失問題を軽減し計算が高速である。Leaky ReLU、PReLUなどの変種は負の領域に微小な傾きを与え、ニューロンの死を防ぐ。
2.3.2 シグモイドとTanh
シグモイドは出力を0〜1に、Tanhは-1〜1に非線形変換する。歴史的に使われたが、勾配が飽和しやすいため深いネットワークではReLU系に取って代わられた。
2.4 全結合層
畳み込み層とプーリング層で抽出された高次元の特徴を一次元のベクトルに変換し、分類や回帰の最終出力を行う。通常、ネットワークの最後の数層に配置され、すべての入力ニューロンと結合する。
2.5 正則化手法
2.5.1 ドロップアウト
学習時にランダムに一部のニューロンを無効化し、その都度異なるネットワーク構造で学習させることで、過学習を抑制し汎化性能を高める。テスト時にはすべてのニューロンを使い、出力を調整する。
2.5.2 バッチ正規化
各ミニバッチごとに層の入力を平均0、分散1に正規化する手法。内部共変量シフトを軽減し、学習率を高く設定できるようになり、収束を加速する。また、正則化効果も持つ。
3.1 コンピュータビジョン
3.1.1 画像分類
入力画像全体を単一のカテゴリに分類するタスク。AlexNet以降、ImageNetなどの大規模データセットで高い精度を達成し、現在では人間を超える性能を示すモデルも登場している。
3.1.2 物体検出
画像内の物体の位置とカテゴリを同時に推定する。Faster R-CNN、YOLO、SSDなどのCNNベースの手法が主流であり、自動運転や監視システムなどで実用化されている。
3.1.3 セマンティックセグメンテーション
画像の各ピクセルに意味ラベルを割り当てる。FCN(Fully Convolutional Network)やU-Netが代表的で、医療画像解析や衛星画像解析に活用される。
3.2 自然言語処理
3.2.1 テキスト分類
文字列を一次元の信号と見なし、1D-CNNで局所的なn-gram特徴を抽出する。感情分析、スパム検出などのタスクで高い性能を示す。
3.2.2 シーケンスモデリング
時系列データやテキストシーケンスのモデリングにCNNを応用する。WaveNetなどの音声生成モデルや、CNNとRNNを組み合わせたアーキテクチャが存在する。
3.3 その他の領域
3.3.1 医療画像診断
X線、CT、MRIなどの医用画像から病変や異常を自動検出する。皮膚がん分類や眼底画像解析などで人間の医師に匹敵する精度が報告されている。
3.3.2 自動運転
カメラ画像からの車線検出、歩行者認識、交通標識識別など、周辺環境認識の基盤技術としてCNNが広く使われる。
3.3.3 芸術とスタイル変換
ニューラルスタイル変換では、CNNで抽出したコンテンツ特徴とスタイル特徴を組み合わせ、任意の画像を有名な絵画のスタイルに変換する。また、GANと組み合わせた画像生成にも応用されている。
4.1 損失関数の選択
4.1.1 クロスエントロピー損失
分類タスクで最も一般的に使われる。モデルの出力確率分布と正解ラベルの分布との間の交差エントロピーを測定し、勾配が計算しやすい。
4.1.2 ヒンジ損失
SVMに類似した損失で、マージン最大化を促す。主に二値分類や埋め込み学習で用いられ、クロスエントロピーよりも頑健な場合がある。
4.2 勾配降下法のバリエーション
4.2.1 SGD(確率的勾配降下法)
ミニバッチごとに勾配を計算してパラメータを更新する。単純だが学習率の調整が重要であり、モメンタムを付加したSGD-Mがよく使われる。
4.2.2 Adam
モメンタムとRMSPropを組み合わせた適応的学習率最適化手法。各パラメータの勾配の一次モーメントと二次モーメントを推定し、学習率を自動調整する。収束が速く、多くのCNN訓練でデフォルトとなっている。
4.3 データ拡張と前処理
訓練データをランダムに変形(回転、反転、クロップ、色変換など)することでデータ多様性を増やし、過学習を防ぎ汎化性能を向上させる。標準的な前処理として、正規化(平均減算、分散スケーリング)も行われる。
4.4 転移学習とファインチューニング
大規模データセット(例:ImageNet)で事前学習されたCNNモデルを、目的の小規模データセットに適用する手法。最終層を置き換えて再学習するファインチューニングにより、少ないデータでも高い性能が得られる。
5.1 計算コストとメモリ制約
深く広いCNNは大量のパラメータと演算を必要とし、GPUや専用ハードウェアに依存する。モバイル機器やエッジデバイスへの展開には、軽量化技術が不可欠である。
5.2 解釈可能性の課題
CNNはブラックボックス的な性質を持ち、なぜその分類結果に至ったかの説明が困難である。特に医療や金融など信頼性が求められる分野では、可視化手法(Grad-CAMなど)や説明可能AIの研究が進められている。
5.3 アーキテクチャの革新
5.3.1 注目機構(アテンション)との融合
Transformerの自己注意機構をCNNに組み込むことで、長距離依存関係の学習や特徴の重み付けが可能になる。Vision Transformer(ViT)の登場後も、CNNとアテンションのハイブリッドモデルが盛んに研究されている。
5.3.2 軽量モデルとモバイル向け設計
モバイルや組み込み向けに、MobileNet(Depthwise Separable Convolution)、ShuffleNet、EfficientNetなど、計算量を抑えつつ高性能を維持するアーキテクチャが開発されている。これによりCNNの実用範囲が拡大している。