畳み込みニューラルネットワーク (CNN)とは
ディープニューラルネットワークの1種.画像認識に応用するために改良され,高い認識性能を達成できるモデルである.
- 単純型細胞(S細胞):画像の特徴検出
- 複雑型細胞(C細胞):特徴の位置が変わっても,同一の特徴とみなす.
人間が持つ視覚神経の上記2つの働きを模したもの.これらを最初に取り入れたのは,福島邦彦らによって考案されたネオコグニトロンと呼ばれるモデルになる.後に,ヤン・ルカンによってLeNetが考案される.LeNetは誤差逆伝播法を用いている.
構造
畳み込み層
フィルタ(カーネル)を用いて,積和演算と活性化関数の処理を行う畳み込み層を経る.画像から特徴抽出し,特徴マップ(小さな画像)へ変換される.この畳み込み処理は,局所受容野に対応し,物体の移動を認識(移動不変性の獲得)することができる.
- パディング:画像の上下左右に数ピクセル分値を付け足し,画像サイズを大きくする処理のこと.
- ゼロパディング:付け足し部分の値に0を置くパディングのこと.
プーリング層
決められたルールに従い,演算を行う.
サブサンプリング(ダウンサンプリング):決められたルールに従い,画像サイズを小さくする.
最大値プーリング(max pooling):ある一定の小領域内の最大値を抽出し,サブサンプリング画像(特徴マップ)を得ること.
⇢ cf ) 平均値プーリング
全結合層
特徴マップをフラットに並べる処理のこと.
Global Average Pooling
特徴マップの平均値を1つのユニット(ニューロン)の値にする処理.最近のCNNの手法として.全結合層を用いずこれを行うことが多い.
派生
AlexNet
ILSVRC2012にて,ジェフェリー・ヒントン率いるチームが開発したSuperVisionが圧勝.用いられたニューラルネットワークはAlexNet(8層).⇢DeepLearningが一気に脚光を浴びるきっかけ
VGG
畳み込み層⇢畳み込み層⇢プーリング層
の塊を繰り返し,16層まで積層する.少ない層で学習した後,途中に畳み込み層を追加して深くする学習方法を採用.
GoogLeNet
同時に異なるサイズのフィルタの畳み込み処理を行うInceptionモジュールを導入.
ResNet
ILSVRC2015にて,ResNet(152層)が優勝.Skip connectionという 「層を飛び越えた結合」 を加えた.
- 層が深くなっても,飛び越える部分は伝播しやすくなる
- 様々な形のネットワークのアンサンブル学習になっている.
その他の応用形
⇢ NASNet,MnasNet,EfficientNet(転移学習に有効なモデル)
見るべき解説動画
ハンズオンによる説明