畳み込みニューラル ネットワークは通常、限られたリソースで開発され、その後、条件が許せば、より高い精度を実現するために、より大きなコンピューティング リソースに拡張されます。論文「EfficientNet: 畳み込みニューラル ネットワークのモデル スケーリングの再考」では、Google AI の科学者がモデル スケーリングの問題を体系的に研究し、新しい複合スケーリング方法とより高性能な EfficientNet を提案しました。EfficientNet モデルの関連コードと TPU トレーニング データも GitHub でオープンソース化されています。この論文はICML2019に採択されました。AI Frontではそれを簡単に整理してまとめました。この記事はAI Frontの81番目の論文紹介となります。 導入モデル拡張は、畳み込みネットワークの精度を向上させるために広く使用されています。たとえば、ResNet ファミリは、レイヤー数を増やすことで ResNet-18 から ResNet-200 に拡張できます。 Google のオープンソース ニューラル ネットワーク トレーニング ライブラリ GPipe は、ベースライン ネットワークを 4 倍にすることで、ImageNet データベースで 84.3% のトップ 1 精度を達成できます。しかし、畳み込みネットワークを拡張する方法は数多くあるにもかかわらず、それらを深く理解するための研究はほとんど行われていません。これまでの研究の多くは、深さ、幅、画像サイズの 3 つの次元のいずれかの係数に合わせてニューラル ネットワークを調整してきました。これらの要素のうち 2 つまたは 3 つを微調整することは実現可能に思えるかもしれませんが、実際には、わずかな改善を達成するだけでも多くの手動調整が必要になります。 EfficientNet の効果については、まず画像を見てみましょう。 図の横軸はパラメータ数を表し、縦軸はImageNetデータベース上のTop1精度を表します。 EfficientNet シリーズは他のすべての畳み込みネットワークよりも優れていることがわかります。その中で、Efficient-B7は84.4%という新たな最高精度を達成しました。ただし、パラメータ数は GPipe の 8.4 倍少なく、推論速度は GPipe の 6.1 倍です。より詳細なデータについては、以下の実験セクションをご覧ください。 研究の動機この記事の著者は、ニューラル ネットワークの拡張プロセスを研究し、考察しています。特に、著者は次のような疑問を提起しました。ネットワークの精度と効率の両方を向上させることができる標準化されたニューラル ネットワーク拡張方法を見つけることは可能でしょうか?これを実現するための重要なステップは、幅、奥行き、解像度の 3 つの次元のバランスをとることです。著者は、いくつかの実証的研究を通じて、固定比率スケーリング操作を使用して、3 つの間のバランスを簡単に実現できることを発見しました。最後に、著者らはシンプルだが効果的な複合スケーリング法を提案した。例えば、標準モデルの場合、計算リソースを 2^N 倍使用したい場合、ネットワーク幅を α^N 倍、深さを β^N 倍、画像サイズを γ^N 倍に増やすだけでよいと著者は考えています。ここで、α、β、γは定数係数のセットであり、その値は元の標準モデルで小規模グリッド検索を使用して取得されます。本稿で提案する複合展開法と従来の方法の違いを直感的に説明するために、参考として次の図を示します。 このうち、(a)はベースラインネットワーク、(b)~(d)はそれぞれ幅、奥行き、画像解像度を拡大する3つの異なる従来方式、(e)は本論文で提案する、固定比率で3次元を同時に拡大する複合拡大方式である。直感的には、複合展開法が理にかなっています。入力画像が大きい場合、ネットワークは受容野を拡大するためにより多くのレイヤーを必要とし、また、きめ細かい情報を取得するためにより多くのチャネルを必要とするからです。一般的に、この論文の中心的な研究は次の 2 つの側面に分けられます。 我々は、畳み込みネットワークを 3 次元で同時にスケーリングする最初の試みである複合スケーリング法を提案します。この方法は、大規模なコンピューティング リソース上の既存のネットワーク構造のトレーニング効果を効果的に向上させることができます。 優れた性能を持つ新しいネットワーク構造「EfficientNet」が設計されました。このネットワークは他のネットワーク構造よりも性能が優れているだけでなく、ネットワークパラメータが少なく、推論速度も速くなります。 複合モデル拡張法このセクションでは、ネットワーク拡張問題とは何かを詳しく説明し、さまざまな方法を検討して、私たちの主役である複合拡張法を紹介します。 問題モデリング畳み込みネットワークの本質はマッピング関数であり、次の形式で記述できます。 ここで、Fi は i 番目のレイヤーで実行される操作を表し、Xi は入力テンソルであり、このテンソルのサイズは次のようになります。 <こんにちは、ウィ、シ>。推論を容易にするために、テンソルのバッチ サイズ情報は省略されます。 通常、完全な畳み込みネットワークを形成するには、複数のスタックされたサブモジュールを使用します。たとえば、ResNet は 5 つのサブモジュール(5 つのステージとも呼ばれます)で構成されています。最初のステージでのダウンサンプリングを除き、各ステージのすべてのレイヤーの畳み込み演算は同じです。したがって、ニューラルネットワークは次のように定義することもできる(式(1))。 このうち、 は、 i 番目のステージで層 Fi が Li 回繰り返されることを示します。 <Hi,Wi,Ci>はi番目の層の入力テンソルXの形状を表します。入力テンソルが畳み込みネットワーク全体を通過すると、その空間次元は通常減少し、チャネル ビット数が増加します。たとえば、入力が <224,224,3> のテンソルは、特定の畳み込みネットワークを通過すると、最終的に <7,7,512> になります。 ニューラル ネットワークの場合、すべてのレイヤーが同じ定数比率で均一にスケーリングされる必要があると著者は想定しています。したがって、モデル拡張問題は(式(2))のように表される。 ここで、w、d、r はそれぞれ拡張ネットワークの幅、深さ、解像度です。 ベースライン ネットワーク内の定義済みネットワーク パラメーターです。 単一次元拡張式(2)を解く上で難しいのは、d、w、rが相互に依存しており、異なる資源条件によって変化する可能性があることである。従来の方法は、主に 1 次元の拡張問題を独立して解決することに重点を置いています。次の図は、各次元を変更した場合のモデルのパフォーマンスへの影響に関するいくつかの実験結果を示しています。 図の左から右に、さまざまな幅、深さ、解像度係数がモデルのパフォーマンスに与える影響を示します。幅、深さ、解像度が増加するにつれて、ネットワークが大きくなるほど精度が向上します。しかし、80% に達した後、精度はすぐに飽和し、単一次元の拡張には限界があることがわかります。ここでの実験結果はすべて、EfficientNet-B0 をベースライン ネットワークとして使用しています。具体的な構造は次の表に示されています。 表 1: EfficientNet-B0 ネットワーク。各行は多層ネットワークのステージを表します。解像度は入力テンソルのサイズです。チャネルは出力チャネルの数です。表中の記号と式(1)中の記号の意味は この比較部分を通じて、著者は次のように結論付けました。 観察 1: ネットワークの幅、深さ、解像度のいずれかをスケーリングすると精度が向上しますが、モデルが大きくなるにつれてこの利点は減少します。 複合拡張機能実際、異なる拡張次元は互いに独立しているわけではありません。直感的に、高解像度の画像の場合は、画像のサンプリングと特徴抽出のための受容野が大きくなるように、より深いネットワークを使用する必要があります。同様に、高解像度の画像でより多くのピクセルを分析して、より細かいパターンをキャプチャするには、ネットワークの幅を広げる必要があります。上記の直感に基づいて、この記事の著者は、「従来の方法のように単一の次元のみを拡張するのではなく、異なる拡張次元を均等にバランスさせる必要がある」という仮説を立てました。 この仮説を検証するために、著者らは、ネットワークの幅を異なる深さと解像度で拡張したときの実験結果を比較しました。 上の図の各線上の各点は、異なる幅係数構成におけるモデルの効果を表しています。すべてのベースライン ネットワークは、表 1 の構造を使用します。最初のベースライン ネットワーク (d=1.0、r=1.0) には 18 個の畳み込み層があり、入力解像度は 224 224 です。 ***ベースライン ネットワーク (d=2.0、r=1.3) には 36 個の畳み込み層があり、入力解像度は 299×299 です。幅を変えずに深さと解像度だけを変えると、精度がすぐに飽和してしまうことがわかります。同じ FLOPS (1 秒あたりの浮動小数点演算) 消費量で、解像度が高くネットワークが深いモデルの方が、より高い精度を実現できます。分析のこの部分を通じて、著者は次のように結論付けました。 観察 2: より高い精度と効率を実現するために、ネットワークの幅、深さ、解像度のバランスをとることは、畳み込みネットワークをスケーリングする上で重要なステップです。 実際、同様の研究でもネットワークの幅と深さをランダムにバランスさせようと試みられてきましたが、これらの研究では長時間にわたる手動の微調整が必要になります。上記の方法とは異なり、本論文の著者らは新しい複合展開法を提案した。この方法では、合成係数 Φ を使用して、ネットワークの深さ、幅、解像度を正規化された方法で均一に拡張します。 ここで、α、β、γは小規模なネットワーク検索によって決定される定数です。 Φ は、モデルの拡張に使用できるリソースの数を制御する、ユーザー指定の拡張係数です。一般的な畳み込み演算の場合、FLOPS 要件は d、w^2、r^2 に比例します。畳み込み演算は畳み込みネットワークにおいて最も計算量の多い演算であるため、式(3)を使用してネットワークをスケーリングすると、総FLOPSはおよそこの記事では、著者は次の式を使用しています これら 3 つのパラメータには制約が課せられるため、合計 FLOPS は 2^Φ 増加します。 EfficientNet アーキテクチャ前述のモデル拡張方法では、ベースラインネットワーク内の各層の計算操作は変更されないため、モデルの精度を向上させるためには、良好なベースラインネットワークを持つことも非常に重要です。実験セクションでは、既存の畳み込みネットワークを使用して複合拡張法を評価しました。しかし、複合拡張法の有効性をよりよく実証するために、著者らは新しい軽量ベースライン ネットワーク EfficientNet を設計しました。 (注: ここでの軽量ネットワークとは、モバイル デバイスで使用できる、パラメータが少ない畳み込みネットワークを指します。) EfficientNet の構造は表 1 に示されています。そのバックボーン ネットワークは MBConv で構成されています。同時に、著者はネットワーク構造を最適化するために、squeeze-and-excitation 操作を使用しています (SENet、ILSVRC 2017 チャンピオンを参照)。 Efficient-B0 の場合、複合拡張方式を使用して拡張する場合は、次の 2 つの手順で完了する必要があります。 ステップ1:まず、Φを1に固定し、少なくとも2倍のリソースが利用可能であると仮定し、式(2)と(3)を使用してα、β、γのグリッド検索を実行します。特に、EfficientNet-B0の場合、制約の下で この条件下では、α、β、γ がそれぞれ 1.2、1.1、1.15 のときにネットワーク効果が最も高くなります。 ステップ2: α、β、γを定数として固定し、式(3)を使用して異なるΦを使用してベースラインネットワークを拡張し、EfficientNet-B1からEfficientNet-B7を取得します。 小さなベースライン ネットワークでのみグリッド検索を使用し (ステップ 1)、次にパラメーターを大きなモデルに直接拡張する (ステップ 2) 理由は、大きなモデルで直接パラメーター検索を実行するのは非常にコストがかかり、実行不可能であるためです。そのため、著者はモデルの拡張パラメーターを決定するためにこの 2 段階のアプローチを採用しています。 実験部分では、著者らはまず、広く使用されている MobileNet と ResNet 上で提案されたモデル拡張方法を検証しました。実験結果を表3に示します。 単次元展開法と比較して、複合展開法は 3 つのネットワーク モデルに改善が見られ、複合展開法が現在の既存のネットワークに有効であることが示されています。 次に著者らは、ImageNet データベースで EfficientNet をトレーニングしました。実験結果によると、EfficientNet モデルは他の畳み込みネットワークよりもパラメータと FLOPS が 1 桁少ないにもかかわらず、同様の精度を達成できます。特に、Efficient-B7 はトップ 1 で 84.4%、トップ 5 で 97.1% を達成しました。これは GPipe よりも正確ですが、モデルは 8.4 倍小さくなっています。 同時に、著者らは一般的に使用される転移学習データセットで EfficientNet も評価しました。 EfficientNet のパフォーマンスは、他の種類のネットワークよりも一貫して優れています。実験結果を下の図に示します。 複合拡張法がなぜより良い結果を達成できるのかをより深く理解するために、著者らはネットワークの活性化マップを視覚化しました。同じ構成のベースライン ネットワークに対して、さまざまな拡張方法を適用した後のアクティベーション グラフの変化を比較します。 複合拡張方式により、モデルはターゲットの詳細に関連する領域にさらに注意を払うようになりますが、他の構成のモデルでは、画像を通じてターゲットの詳細情報を適切にキャプチャできないことがわかります。 要約するこの記事の著者は、モデル拡張方法の既存の問題について議論し、ネットワークの深さ、幅、解像度のバランスをとる方法に基づいた複合拡張方法を提案しました。この拡張方法は、MobileNet と ResNet の 2 つのネットワーク構造で検証されました。さらに、著者らはニューラル構造探索を通じて新しいベースライン ネットワーク EfficientNet を設計し、それを拡張して一連の EfficientNet を取得しました。標準的な画像分類データセットでは、EfficientNet は以前の畳み込みネットワークを上回り、パラメータが少なく推論が高速です。 原著論文リンク: https://arxiv.org/abs/1905.11946 オープンソースコードアドレス: https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet |
<<: マイクロソフト、世界規模の公開顔認識データベース MS Celeb を削除
>>: 復活したジャンルのトップ10を数えると、必ず気に入るジャンルが見つかる
[[436944]]この記事はWeChatの公開アカウント「Programmer Insider T...
1. アトラスの概要まず、ナレッジグラフの基本的な概念をいくつか紹介します。 1. ナレッジグラフと...
[[376956]]過去10年間の人工知能の波の中で、ディープラーニングに代表される人工知能技術は、...
落ち着いてください。ロボットや人工知能 (AI) システムが人間の労働力を置き換えるにはまだ程遠いの...
おそらく、どの分野においても、頭を下げて突き進むことと同じくらい、立ち止まって考えることが大切なので...
[[183485]] LISP 言語の歴史と、いくつかの余談や興味深い逸話は、実際に本として読む価値...
AI がインターネット セキュリティに与える影響について議論してきたとき、AI 自体も安全ではないと...
[[431792]]自己教師学習はコンピューター ビジョンで広く使用されており、手動で注釈を付ける...
近年、ソフトウェア エンジニアリングでは、自動化の強化と開発プロセスの合理化に向けて大きな変化が見ら...
近年、世界的な技術開発の加速化が進み、新世代の情報通信技術が次々と導入され、数多くの新たなビジネスモ...