2.2. 畳み込みニューラルネットワーク#
2.2.1. 研究の発展#
畳み込みニューラルネットワーク(convolutional neural network; CNN)は、画像認識や処理に特化した深層学習モデルの一種です。CNN は、入力データから局所的な特徴を抽出し、それらを階層的に統合していく構造が特徴です。もともと画像認識で注目されましたが、現在では音声処理や自然言語処理などの分野にも応用されています。
CNN が登場する以前は、画像認識において、テンプレートマッチングや SIFT(Scale-Invariant Feature Transform)といった手法で特徴量を抽出し、それをサポートベクトルマシン(SVM)やランダムフォレストに入力して分類するという二段階構えのアプローチが一般的でした。しかし、この方法では特徴量設計に高度な専門知識が必要であり、汎用性に欠ける課題がありました。
1980 年代に登場したネオコグニトロン(neocognitron)は、CNN の基盤となるモデルとして注目されました。ネオコグニトロンは、階層的な構造を持ち、入力画像の局所的なパターンを段階的に抽出することで視覚パターンを認識する仕組みを導入しました。このモデルは、局所的特徴検出や位置の不変性を考慮した初期の試みでしたが、学習の自動化が十分に進んでおらず、現在の深層学習モデルと比べると制約が多くありました。
その後、1989 年に Yann LeCun らが提案した LeNet は、CNN の発展に大きく貢献しました。LeNet は、手書きの郵便番号認識を目的として設計され、畳み込み層、プーリング層、全結合層を組み合わせることで、特徴抽出から分類までを一つのネットワークで処理しました。しかし、当時の計算リソースやデータの不足により、応用範囲は限られていました。
2000 年代に入ると、GPU の並列計算能力が飛躍的に向上し、ImageNet1 をはじめとする様々な大規模データセットが利用できるようになりました。これにより、深層学習モデルの学習が実用的なレベルに達しました。この技術的背景の中で登場した AlexNet5 は、GPU を活用して ImageNet の画像認識コンペティション8で従来手法を大幅に上回る精度を達成しました。また、AlexNet では、ドロップアウト、ReLU 活性化関数、データ拡張などの新技術が導入され、深層学習の可能性を大きく示しました。この成功は、研究者のみならず産業界に深層学習を広めるきっかけとなりました。
2.2.2. 基本構造#
CNN の基本構造は、特徴抽出モジュールと分類モジュールの二つに分けられます。徴抽出モジュールでは、畳み込み層(convolutional layer)とプーリング層(pooling layer)を複数層に重ねて構成され、入力データから特徴を段階的に抽出します。また、分類モジュールでは、全結合層(fully connected layer)が主に用いられ、抽出された特徴を統合して最終的な分類結果を出力します。
2.2.2.1. 畳み込み層#
畳み込み層は、フィルタ(filter)またはカーネル(kernel)と呼ばれる小さな行列を用いて、入力画像から局所的な特徴を抽出します。フィルタは 3×3 や 5×5 のような固定サイズで設計され、画像全体に対してスライド(移動)しながら適用されます。各フィルタが対象領域の画素値と要素ごとの積を計算し、それらの総和を計算します。この操作を畳み込み(convolution)と呼びます。畳み込みによって生成された出力データは特徴マップ(feature map)と呼ばれ、画像中の局所的な特徴が反映されています。
畳み込み演算を行うと、特徴マップのサイズは通常、入力画像よりも小さくなります。また、画像の端部に位置する情報が畳み込み演算に取り込まれる頻度が低くなるため、情報が失われやすいという問題があります。この問題に対処するため、パディング(padding)と呼ばれる処理を行います。一般的な方法として、画像の縁部分をゼロで埋めるゼロパディング(zero padding)や、既存の画素値を繰り返して縁を拡張する手法があります。パディングを施すことで、特徴マップのサイズを調整し、情報の損失を防ぐことができます。
畳み込み層は、局所的な範囲(受容野)を処理するため、計算コストを削減しつつ、重要な情報を効率的に抽出することが可能です。また、この構造により、オブジェクトが画像内で多少移動しても同じ特徴を検出できるという特性を持っています。また、畳み込み層は、低次元の特徴(エッジ、色、形状など)から高次元の抽象的特徴(顔の形状、物体の動きなど)へと、階層的に特徴を抽出していきます。このような多層構造により、単純なパターンから複雑なパターンまで幅広く対応できるのが特徴です。
2.2.2.2. プーリング層#
プーリング層は、特徴マップの空間的サイズを縮小(ダウンサンプリング)する役割を持ちます。通常、プーリング層は畳み込み層の直後に配置され、特徴マップの情報を要約しつつ次の伝播させます。
プーリング層にはいくつかの種類があり、主なものとして最大値プーリング(max pooling)、平均値プーリング(average pooling)、グローバルプーリング(global pooling)が挙げられます。最大値プーリングはプーリング領域内で最も高い値を選択することで、重要な特徴を強調しつつノイズを減少させます。一方、平均値プーリングは領域内のピクセル値の平均を計算することで、平滑化された出力を生成し、滑らかな特徴表現を必要とする場合に有効です。グローバルプーリングは特徴マップ全体に対して最大値や平均値を計算し、特に全結合層の代替として利用されることが多く、モデルのパラメータ数を削減する効果があります。
プーリング層の導入にはさまざまな利点があります。まず、特徴マップのサイズを縮小することで計算コストとメモリ使用量を削減できます。また、モデルのパラメータ数を減少させることで過学習のリスクを低下させることもできます。さらに、画像内で物体の位置が多少移動しても、特徴マップの値に大きな変化が起きにくいため、モデルが位置変化に対して強くなるという頑健性の向上も期待できます。
2.2.2.3. 全結合層#
全結合層は、すべての入力ノードが次の層のすべてのノードに接続された構造を持ちます。全結合層では、特徴の統合を行い、分類あるいは回帰を行い、最終的な結果を出力します。しかし、計算コストやパラメータ数の観点から、他の技術との併用や代替が進んでいます。
2.2.3. 参照文献#
Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. Imagenet: a large-scale hierarchical image database. In 2009 IEEE Conference on Computer Vision and Pattern Recognition, volume, 248–255. 2009. doi:10.1109/CVPR.2009.5206848.
Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. Imagenet classification with deep convolutional neural networks. Commun. ACM, 60(6):84–90, May 2017. URL: https://doi.org/10.1145/3065386, doi:10.1145/3065386.
Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael S. Bernstein, Alexander C. Berg, and Li Fei-Fei. Imagenet large scale visual recognition challenge. CoRR, 2014. URL: http://arxiv.org/abs/1409.0575, arXiv:1409.0575.