論文紹介

【論文翻訳】EfficientNet

論文紹介

今回は論文の翻訳をしてみます。

アブスト、イントロのみをみていきます。
その他のパート(ディスカッション・結論・実験詳細など)には詳しくは触れません。

以下の凡例に基づいて記載を進めていきます。

  • 白背景、黒文字 → 翻訳
  • 灰背景、黒文字 → 筆者(私)の所感

論文へのリンクは以下になります。http://proceedings.mlr.press/v97/tan19a/tan19a.pdf

Abstract

CNNは限られた計算リソースの中で精度向上を続けてきた。もし、より多くの計算リソースを利用できればさらに精度が向上する。

この論文では Width、Depth、Resolution のバランスを慎重に調整することでより精度が向上することを示す。

経験則に基づいて、我々は新たなモデルのスケーリング手法を提案する。

この手法は単一の変数で、 Width、 Depth、 Resolution を効率的に変更させる。この手法の効果を MobileNets、 ResNet で説明する。

また、より本手法の精度を高めるために、neural architecture search を利用してベースラインのモデルを定義し、各スケール毎に複数のモデルを提案する。

これらのネットワークを『Efficient Net』と名付ける。

Efficient Net は過去の CNN よりも高い精度、高い効率を発揮した。

特に、Efficient Net B7 は 【ImageNet】 における Top1 Accuracy で 84.4%、Top5 Accuracy で Abstract% の精度である。さらに、利用したパラメータの数は 8.4 分の 1 に削減されていて速度は 6.1 倍早い。

転移学習においても有効性を示しており、【Cifar-100】 で 91.7%の精度、【Flowers】 で 98.8% の精度を達成した。その他 3 つのデータセットに対しても圧倒的に少ないパラメータ数で最高精度を達成した。

CNN の代表的なパラメータである、解像度、チャネル数、層数について調査し、これらを単一のパラメータで適切な表現ができることを示しています。

加えて、NAS(Nueral Architecture Search)による CNN のアーキテクチャ探索を行うことで新たに EfficientNet を提案しています。

CNN のパラメータについては、一般的に解像度が良いほど高精度である、層は深いほうが高精度である等の傾向はありますが、解像度の上昇に対してどの程度層の数を増やせば良いか、チャネル数を増加させれば良いかといった、それぞれの関係性についてはあまり研究が進んでいませんでした。

なお、SOTA(state-of-the-art) と主張しており確かに精度向上しているのですが、最高精度の Efficient Net B7 でも過去の研究と比較して 0.1% の向上に留まっており、基本的にはパラメータ数を削減しながら高い精度を達成していることが評価のポイントかと思われます。

Introduction

CNN のスケーリングはかねてより精度の向上に貢献してきた。

代表的な例では ResNet は 200 層以上の層を利用しているし、最近の例であるGPipe はベースラインモデルを 4 倍まで大きくすることで【Image Net】の top1 accuracy で 84.3% を達成している。

このように CNN のスケーリングを行っている手法は多数あるが、決してよく理解されているとは言えない。

過去の研究では depth, width, resolution のいずれかをスケールすることが一般的であった。

2 ~ 3 のパラメータをスケーリングすることも可能ではあるが、手動での最適化には時間がかかること、個別最適化に陥る可能性があることからあまり取り組まれていなかった。

本論文では CNN のスケーリング手法について再調査する。

特に、”精度・効率を向上させるための一般的なスケーリング手法は存在するのか” について焦点を当てての調査を実施した。

経験上 width、depth、resolution のバランスは非常に重要であるが、驚くべきことにこれらのバランスはシンプルな定数で表現できることがわかった。

本論文ではシンプルだが効率的な “compound scaling method” を提案する。

“compound scaling method” は従来のようにスケールを任意に変更するのではなく、固定された係数に基づいて、 width、 depth、 resolution を均一に変更する。

例えば、もし 2 の N 乗の計算リソースを利用するとしたら、単にネットワークの depth は α の N 乗、 width は β の N 乗、 画像サイズは γ の N 乗にすれば良い。(ここで、α 、β 、γ は小規模なモデルに対して小規模なグリッドサーチを行うことによって得られる定数)

図 2 は従来のスケーリング手法と提案手法を比較した図を示す。

図 2(論文より引用)

直感的にもこの手法はうまくいくことが確かである。なぜなら、より大きい画像を入力した場合はネットワークは受容野を広げるためにより多くの層が必要になり、キメの細かい特徴を表現するためにはより多数のチャネルが必要になるからだ。

実際に過去の論理的な研究においても、経験的な結果においてもネットワークの width と depth には関係が存在することが判明している。ただし、 3 つの変数(width 、 depth 、 resolution)に着目し、関係性を定量化したのは我々が初である。

我々は Mobile Nets と ResNet を利用して研究の成果を示す。

注目すべきことに、スケーリング手法の効率はベースに利用するネットワークの構造に大きく依存する。そのため、我々は natural archtecture search を利用して新たにベースラインとなるネットワークを作成した。そして、ベースラインに対してスケーリングを行うことで一連のモデル群である『 Efficient Nets』を得た。

図 1 に Efficient Nets の 【ImageNet】に対する パフォーマンスを記載した。

図 1(論文より引用)

Efficient Nets が他の手法を大きく上回っていることがわかる。特に B7 はGPipe の精度を超えており、それと比較して パラメータの数は 8.4 分の1 かつ 速度は 6.1 倍である。

広く利用されている ResNet と B4 を top1 accuracy について比較するとResNet 76.3%に対して EfficientNet-B4 82.6% とほとんど同じ計算コストであるのに対し、大きく精度向上していることがわかる。

加えて、広く利用される 8 つの画像分類データセットのうち 5 つで最高精度を達成しており、既存の CNN よりも 21 倍以上パラメータを削減しているものもある。

書いていて思いましたがあまり情報量がないですね。
Abstract に記載されていることを詳細に説明しており特に補足する点はなさそうです。

精度の図を見ると速度・精度の面で優秀であることは明白ですが、やはりカスタマイズが簡単に行えることが大きいように感じます。

CNN は異なるタスク(例えば物体検出)にも画像特徴抽出器として利用されるため、速度重視のモデルが要求されるケース、高精度のモデルが要求されるケース、バランスの取れたモデルが要求されるケース等、状況によっていくつか要求される性能が異なります。

今回のEfficient Nets は単一のパラメータを弄るだけでこういったトレードオフの部分を”精度を保ちながら”調整できるという点で非常に有用であると思いました。

過去の傾向から、計算リソースギリギリのモデルが提案される → 精度を落とさずにパラメータ数を削減するモデルが提案される → 計算リソースギリギリのモデルが提案される、といったことが繰り返されているような気がするので、2020 年には新たにより高精度なモデルが出現するのではないかと期待してしまいますね。

終わりに

Efficient Net についてざっくり翻訳しながら感想を述べてみました。

皆様のお役に立てば幸いです。
ここまでご覧いただき、ありがとうございました。

コメント

タイトルとURLをコピーしました