概要
CNNは現在でも様々な改良モデルが研究・開発されている
最新のモデルがどのような構造であるかを把握することは大切である
この章では以下の項目を学んだ
・ILSVRC(appendix)
・AlexNet
・GoogLeNet(appendix)
・VGGNet(appendix)
・ResNet(appendix)
ILSVRC
これから学習するCNNモデルはどれもILSVRCで優勝(VGGNetは2位)しているモデルである
ILSVRCは、ImageNet Large Scale Visual Recognition Challengeの略である
画像分類系のコンペティションで256x256のカラー画僧を1,000分類する
AlexNet
ILSVRC2012で優勝
CNNの層をシンプルに積み重ねたネットワークである
活性化関数にはReLUを使用しており、過学習を防ぐためにサイズ4096の全結合層の出力にドロップアウトを使用している
GoogLeNet
ILSVRC2014で優勝
下図のようなInception moduleネットワーク内に9個入っている
Inception module内にある1x1 Convはどんな役割をしているのか?
NNの層を深く大きくし過ぎると無駄なニューロン(結果にあまり影響しない・重りが0)が大量発生してしまう
0重りが多いことをspase(疎)という
GoogLeNetではSpaseをDence(密)として表現することで、上記の問題を解決した
具体的には1x1Convによりチャネル方向に内積をとることで相関のあるニューロンをまとめる
また、横縦にも繋がりは存在するため、3x3Conv,5x5Convをした後に1x1Convをすることで情報を圧縮する
VGGNet
ILSVRC2014で2位(単体であればGoogLeNetより精度は高い)
3x3ConvとMAxPoolingを積み重ねた非常にシンプルなネットワーク
Global Avg.Poolingを使用して様々なサイズの画僧を利用
VGG-16や152とあるが、「16」、「152」は重みがある層(3x3Conv)の数を示す
当時はVGG-16とVGG-19の性能を評価したところ、層が浅いVGG-16の方が良かった
ResNet
ILSVRC2015で優勝
residual blockによりdegradation問題(浅い層のmodelが深い層のmodelより性能が良くなる)を解決している
residual blockにより勾配消失問題にも対応している