ResNetみたいな大きいモデルの次に、MobileNet・NAS・EfficientNet・Vision Transformerが出てくる。どれも何を目指してるん?
【疑問】MobileNet・NAS・MnasNet・EfficientNet・Vision Transformer、軽くする・自動で設計する・Transformerにする【G検定】
前提のおさらい。画像分類のモデルは、AlexNetからVGG・GoogLeNet・ResNet・DenseNet・SENetと、深くしたり幅を広げたりして精度を上げてきた。そのかわり計算量も大きくなった
>>1
大きく分けて4つの方向がある
軽くする:MobileNet
設計を自動にする:NAS・MnasNet
大きくするときのバランスを決める:EfficientNet
畳み込みをやめてTransformerにする:Vision Transformer
MobileNetは、ハワードらの2017年の論文。ふつうの畳み込みを、チャネルごとの畳み込み(Depthwise)と1×1 の畳み込み(Pointwise)に分けるDepthwise Separable Convolutionで、計算量を大きく減らした
スマホみたいな計算力の小さい機械で動かすのが目的
>>3
NASはネットワークの構造そのものを自動で探す方法。ゾフとリーの2016年の論文では、強化学習で「どんな層をどうつなぐか」を出すネットワークを学習させた
MnasNetは、タンらの2018年の論文で、精度だけやなくスマホでの実際の処理時間も評価に入れて探した
>>5
EfficientNetは、タンとリーの2019年の論文
モデルを大きくするとき、深さ・幅・入力画像の解像度のどれか1つだけ増やすより、3つを決まった比率で一緒に増やすほうが効率がいい、というのが主張(複合スケーリング)
論文の比率は、深さ1.2倍・幅1.1倍・解像度1.15倍。計算量は深さに比例し、幅と解像度には2乗で効くから、 で、1段階大きくするとほぼ2倍
>>6
土台のモデルはNASで探してるんやったっけ
>>7
そう。もとになるEfficientNet-B0をMnasNetと同じような探し方で見つけて、それを複合スケーリングでB1からB7まで大きくしてる
>>3
Vision Transformerは、ドソヴィツキーらの2020年の論文。画像を 16×16 の小さい区画(パッチ)に分けて、それぞれを1つの単語みたいに並べてTransformerに入れる
224×224 の画像なら、 で、 個のパッチ
>>9
畳み込みのほうが画像には向いてるんちゃうの?近くの画素を見る仕組みがもともと入ってるやん
>>10
その通りで、データが少ないと畳み込みのモデルに負ける。論文でも、とても大きいデータで事前学習したときに畳み込みのモデルを上回った
画像のどこでも離れた場所どうしを最初から関係づけられるのが強み。データが多ければ、近くを見る性質も学習で身につく
管理人のひとこと
- MobileNet(2017年の論文)はDepthwise Separable Convolutionで計算量を減らし、スマホなどで動かす。
- NAS(2016年の論文)は強化学習などで構造を自動で探す。MnasNet(2018年の論文)は実際の処理時間も評価に入れる。
- EfficientNet(2019年の論文)は深さ・幅・解像度を一緒に増やす複合スケーリング。 で、1段階で計算量がほぼ2倍。
- Vision Transformer(2020年の論文)は画像を16×16のパッチに分けてTransformerに入れる(224×224で196個)。大きいデータで事前学習すると畳み込みのモデルを上回る。