読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】AlexNet・VGG・GoogLeNet・ResNet・Wide ResNet・DenseNet・SENet、それぞれ何を変えたん?【G検定】

11レスカテゴリ:AI・機械学習
1: 名無しさん

画像分類のモデルの名前が多すぎる。AlexNetからSENetまで、それぞれ前のモデルから何を変えたんか知りたい

2: 名無しさん

前提のおさらい。画像分類(物体識別)は、画像1枚に1つのラベルを出すタスク。畳み込み層とプーリングを重ねて特徴マップを作り、最後に全結合層やGAPでラベルを出す

3: 名無しさん

>>1
AlexNetは、クリジェフスキーらのモデルで、2012年の画像認識コンテストILSVRCで、それまでの手法に大差をつけて優勝した
ReLU・ドロップアウト・GPUでの学習を組み合わせて、深い畳み込みネットワークがちゃんと学習できることを見せた

4: 名無しさん

>>3
VGGは、シモニャンとジサーマンの2014年の論文。3×3 の小さいフィルタだけを何層も重ねて、16層や19層まで深くした
3×3 を2層重ねると、5×5 を1層と同じ範囲を見られる。チャネル数64で数えると、重みは 個で、5×5 の 個より少ない。しかも活性化関数を2回通る

5: 名無しさん

>>4
GoogLeNetは、セゲディらの2014年の論文。Inceptionモジュールで、1×1・3×3・5×5 の畳み込みとプーリングを並べて同時にかけて、結果をつなぐ
1×1 の畳み込みでチャネル数を先に減らして、計算量をおさえてる

6: 名無しさん

>>5
そのころは、層を増やすほど学習がうまくいかんくなる問題があった

7: 名無しさん

>>6
そこでResNet。ヒーらの2015年の論文で、入力を出力に足すスキップ結合を入れて、152層まで深くした
Wide ResNetは、ザゴルイコとコモダキスの2016年の論文。深さより幅(チャネル数)を増やしたほうが、浅くても同じくらいの性能で速く学習できると示した

8: 名無しさん

>>7
DenseNetは、フアンらの2017年の論文。足すんやなくて、それより前の全部の層の出力をチャネル方向につなげて次の層に渡す
最初が64チャネル、各層が32チャネル増やすなら、4層目の入力は チャネル。前の特徴を使い回すから、1層あたりのチャネル数は小さくてすむ

9: 名無しさん

>>8
SENetは何をしたん?

10: 名無しさん

>>9
フーらの2017年の論文。チャネルごとに「今の画像ではこのチャネルが大事」という重みを計算して、特徴マップに掛ける
各チャネルをGAPで1つの数に縮めて(Squeeze)、小さい全結合層で0〜1の重みにして掛けなおす(Excitation)。2017年のILSVRCで優勝した

11: 名無しさん

>>10
流れで見ると、深くする(VGG)、幅を並べる(GoogLeNet)、深くしても学習できるようにする(ResNet)、幅を広げる(Wide ResNet)、前の特徴を使い回す(DenseNet)、チャネルに重みをつける(SENet)、と工夫の方向がちゃんと違う

管理人のひとこと