konchangakita

KPSを一番楽しんでいたブログ 会社の看板を背負いません 転載はご自由にどうぞ

【DeepLearning特訓】CNN 進化の歴史

E資格向けの自習アウトプット
自分用メモ

CNN発展の歴史を抑えておく
ILSVRC(ImageNet Large Scale Visual Recognition Challenge):画像認識コンペ
で 2012年の トロント大 ヒントン教授の率いるチームが CNN を採用したAlexNetで圧倒的な成績をのしてディープラーニングの火付け役となったと言われています

2012年以降のILSVRCの優勝アーキテクチャと有名どころ

AlexNet(2012) 8層
ZFNet(2013) 8層
GoogleNet(2014) 22層:Inception Moduleで並列化、Auxiliary Loss, Global Average Pooling, Pointwise Convolution
VGG(2014) :深いネットワーク構造が特徴、構造が単純なので応用しやすい
ResNet(2015) 152層:Residual Blockのショートカット構造
DenseNet(2016):Dense Blockで層の出力をショートカット伝搬する、Transition層でダウンサンプリング
SENet(2017) 152層

LeNet

1998年(!?)現Facebook AI ResearchのYann LeCun氏による CNN の元祖
畳み込み、プーリングなどのアーキテクチャ実装済
活性化関数がシグモイドであることやプーリングがMAXではなくサブサンプリングなのが違い

R-CNN(2013)

Regions with CNN(領域CNN)
Selective Searchで物体がありそうなところにあたりを付けて(Region Proposal)、SVMで分類
CNNは特徴抽出のみなので、分類部分は学習できない
問題点
 ・複数のモデル個別で学習が必要
 ・あたりをつけた候補領域の数だけCNNを回すので、実行時間がかかる
 ・何もない領域にあたりをつけた時の大きく間違ってしまう

ざっくりこんなイメージ
f:id:konchangakita:20210123133213p:plain

Fast R-CNN (2015)

R-CNN の改良版
候補領域の数の分だけ CNN 回していたのを、まず画像全体に CNN 畳み込んで特徴量マップを抽出し、候補領域で切り抜いた画像部分を特徴量マップを抽出(ROI Pooling)
CNNは一回だけになるので、速くなる

ざっくりこんなイメージ
f:id:konchangakita:20210123133244p:plain

Faster R-CNN(2015)

Fast R-CNN を更に改良
Fast R-CNN で時間がかかっていたのはほぼ Selective Search で候補領域を指定いいた部分
Selective Search に CNNの特徴マップを使用して物体検知(Regional Proposal Network)
候補領域抽出タスクと分類タスクで損失関数を共有(Multi Task Loss )し End-to-End で学習を実現

ざっくりこんなイメージ
f:id:konchangakita:20210123123421p:plain

YOLO(2016)

You Only Look Once(You Only Live Onceからもじった)
画像全体をグリッド分割し、各グリッドに対して分類・矩形指定タスクを行う
信頼度スコアを利用して、高速でリアルタイムで物体の「検出」と「識別」を行う

ざっくりこんなイメージ?
f:id:konchangakita:20210123135749p:plain


とりあえず

CNNに関連する有名どころだけをピックアップ
一旦 CNNを卒業して、自然言語処理へと勉強すすめる