優れたパフォーマンスを得るにはモデルを大きくする必要がありますか? それは必ずしも真実ではありません! 新しい機械学習アプリケーション用のディープモデルを構築する場合、研究者は ResNet や EfficientNet などの既存のネットワーク アーキテクチャから初期アーキテクチャを選択することがよくあります。 初期モデルの精度が十分に高くない場合は、より大きなモデルに切り替えるのが一般的な選択肢ですが、これが実際には最善の解決策ではない可能性があります。 代わりに、特定のタスクに最適化された新しいモデルを設計することで、より良いパフォーマンスを実現できる可能性があります。ただし、このような取り組みは困難を伴う場合があり、多くの場合、多大なリソースの支出が必要になります。 中国人研究者の王暁芳氏は、Google Research でのインターンシップ中に、論文「委員会の知恵: より高速でより正確なモデルへの見落とされがちなアプローチ」の中で、モデル統合とモデル カスケードという 2 つの手法を提案しました。 出典: http://arxiv.org/pdf/2012.01988.pdf これら両方の方法は、既存のモデルを収集し、その出力を組み合わせることで新しいモデルを構築する簡単な方法です。 簡単に構築できるモデルの小さなコレクションでも、最先端のモデルと同等かそれ以上の精度を実現でき、同時に効率も大幅に向上できることを実証します。
王暁芳はカーネギーメロン大学ロボット工学研究所の博士課程の学生です。北京大学でコンピューターサイエンスを専攻しました。IJCV、TIP、ACM Computing Surveys などのジャーナルや、CVPR、ICCV、ECCV、NeurIPS、ICML、ICLR などのカンファレンスの査読者です。 モデルアンサンブルとカスケードとは何ですか?アンサンブルとカスケードは、複数のモデルの長所を活用してより優れたソリューションを実現する関連アプローチです。 アンサンブルは複数のモデルを並行して実行し、それらの出力を組み合わせて最終的な予測を行います。 カスケードはアンサンブルのサブセットですが、収集されたモデルは順番に実行され、予測の信頼性が十分に高くなるとソリューションがマージされます。 単純な入力の場合、カスケードでは計算量が少なくなりますが、より複雑な入力の場合は、呼び出されるモデルが多くなり、計算コストが高くなります。 アンサンブルとカスケードの概要、この例では、アンサンブルとカスケードの 2 つのモデルの組み合わせを示します。 収集されたモデル予測にばらつきがある場合、アンサンブルは単一のモデルと比較してより高い精度を提供できます。 たとえば、ImageNet の画像のほとんどは既存の画像認識モデルで簡単に分類できますが、モデル間で予測が異なる画像も多く、ここでモデル アンサンブルが最も効果を発揮します。 アンサンブルはよく知られていますが、通常はディープモデルアーキテクチャのコアビルディングブロックとは見なされておらず、研究者がより効率的なモデルを開発する際に調査されることはほとんどありません。 したがって、この研究では、アンサンブル効率の包括的な分析を提供し、既製の事前トレーニング済みモデルの単純なアンサンブルまたはカスケードによって、最先端のモデルの効率と精度を向上できることを示しています。 モデル アンサンブルには、次のような有益な特性があります。
効率とトレーニング速度アンサンブルによって精度が向上することは驚くべきことではありませんが、アンサンブルで複数のモデルを使用すると、実行時に追加の計算コストが発生する可能性があります。 問題は、同じ計算コストで、モデルのアンサンブルが単一のモデルよりも正確になるかどうかです。 ImageNet 入力に適用した場合の、さまざまなレベルの精度と浮動小数点演算 (FLOPS) を持つ、EfficientNet-B0 から EfficientNet-B7 までの一連のモデルを分析します。 アンサンブル モデルは、ImageNet 上の単一モデルよりも少ない FLOP で高い精度を実現します。 アンサンブル予測は、各個別モデルの予測を平均化することによって計算されます。 大規模な計算範囲(50 億 FLOPS 以上)では、統合の方がコスト効率が大幅に高くなることがわかりました。 たとえば、2 つの EfficientNet-B5 モデルのアンサンブルは、約 50% の FLOPS を使用しながら、1 つの EfficientNet-B7 モデルの精度に匹敵します。 大規模な計算範囲 (50 億 FLOPS 以上) では、モデル アンサンブルは個々のモデルよりも優れたパフォーマンスを発揮します。 これは、この場合、単一の大きなモデルを使用するのではなく、複数のはるかに小さなモデルのアンサンブルを使用する必要があることを示唆しており、これにより、精度を維持しながら計算要件が削減されます。 さらに、アンサンブルのトレーニング コストは大幅に削減できます (たとえば、2 つの B5 モデルのトレーニングには合計 96 TPU 日が必要ですが、1 つの B7 モデルのトレーニングには 160 TPU 日が必要です)。 実際には、モデル アンサンブル トレーニングは複数のアクセラレータを使用して並列化できるため、トレーニング時間をさらに短縮できます。このモードは、ResNet および MobileNet シリーズにも適用されます。 カスケードのパワーとシンプルさモデル アンサンブルの有用性は実証しましたが、アンサンブルのサブセットが正しい答えを出すため、単純な入力に対してアンサンブルを適用するのは無駄になることがよくあります。 このような場合、カスケードは早期終了を許可することで計算を節約し、すべてのモデルが使用される前に停止して回答を出力する可能性があり、課題はカスケードをいつ終了するかを決定することです。 カスケードアルゴリズムの疑似コード カスケードの実際的な利点を強調するために、予測の信頼性を測定するための単純なヒューリスティックが選択されます。モデルの信頼性は、各クラスに割り当てられた確率の最大値であると見なされます。 たとえば、画像が猫、犬、馬である確率がそれぞれ 20%、80%、20% と予測される場合、モデルは信頼スコア 0.8 で (犬) を予測し、信頼スコアのしきい値を使用してカスケードを終了するタイミングを決定します。 このアプローチをテストするために、計算コストまたは精度のいずれかを一致させる EfficientNet、ResNet、MobileNetV2 ファミリのモデル カスケードを構築しました (カスケードは最大 4 つのモデルに制限)。 積分は計算負荷が大きい領域でうまく機能し、カスケードは計算負荷が大きいすべての領域で利点を示します。 カスケード設計では、より難しい入力はより簡単な入力よりもカスケード内のより多くのモデルを通過するため、一部の難しい画像入力は簡単な画像よりも多くの FLOPS を必要とします。 すべてのテスト済みイメージの平均 FLOPS 計算結果は、カスケードがすべての計算領域で単一モデルよりも優れていることを示しています (FLOPS が 0.15B から 37B の範囲の場合)。また、すべてのテスト済みモデルで精度が向上したり、FLOPS が削減されたり (場合によっては両方) します。 同様の FLOPS を使用する場合、カスケードは単一モデルよりも高い精度を実現します (上向きの赤い矢印で示されています)。カスケードでは、FLOPS が大幅に少ない単一モデルの精度に匹敵することもできます。たとえば、B7 の場合は 5.4 倍です (左向きの緑の矢印)。 場合によっては、制限要因は平均計算コストではなく、最悪の場合のコストになります。カスケード構築プロセス中に単純な制約を追加することで、カスケード計算コストの上限を保証できます。 研究者らは、畳み込みニューラル ネットワークに加えて、Transformer アーキテクチャに基づく ViT も検討しました。 彼らは、最先端の単一の ViT-Large モデルの平均計算または精度に一致するように ViT-Base モデルと ViT-Large モデルのカスケードを構築し、カスケードの利点が Transformer ベースのアーキテクチャにも当てはまることを示しました。 ImageNet 上のカスケード ViT モデルのパフォーマンス。カスケードでは、同様のスループットで ViT-L-384 よりも 1.0% 高い精度を達成できます。つまり、そのモデルの精度と一致しながら 2.3 倍の速度を達成できます。 推論結果上記の分析では、計算コストを測定するために平均として FLOPS を使用していますが、カスケードの FLOPS 削減が実際にハードウェア アクセラレーションにつながるかどうかを確認することも重要です。 TPUv3 でのオンライン処理のカスケードの平均レイテンシ。同じ色のバーの各ペアはかなりの精度で処理され、カスケード接続によりレイテンシを大幅に削減できます。 デバイス上で同様のパフォーマンスを持つ単一モデルとカスケード モデルのレイテンシとスピードアップを比較したところ、効率的なネットワークのカスケード モデルでは、同等の精度を持つ単一モデルと比較して、TPUv3 の平均オンライン レイテンシが最大 5.5 倍短縮されることがわかりました。モデルが大きくなるにつれて、カスケードによってもたらされる速度の向上はますます大きくなります。 |
<<: データ構造とアルゴリズム: K 回の否定後の配列の合計を最大化する
>>: AIプログラマーの負担を軽減!マイクロソフト、スケーラブルなインテリジェンスをサポートするためにディープラーニングライブラリ SynapseML を導入
サプライチェーン業務における量子コンピューティングのユースケースでは、意思決定モデル内の複雑で不可能...
データによれば、わが国には60歳以上の高齢者が2億6,400万人以上おり、そのうち1億8,000万人...
誰もが騙される可能性がある現代では、別の人を騙して機械が騙されるかどうか試してみませんか?人工知能の...
[[433235]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...
人工知能は、一見奇妙に思える人間の質問にも答えられるようになりました。しかし、時には人工知能が答えを...
春節の直前に、同義千文モデル(Qwen)バージョン1.5がリリースされました。今朝、新バージョンのニ...
Photoshop のようなソフトウェアを使用することは、創造的な作業とみなされますか、それとも反...
[[322566]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...
[[357616]] International Journal of Engineering an...
[[429517]]簡単なシミュレーション問題、ぜひ挑戦してみてください!配列を偶数/奇数でソート...
グラフ ニューラル ネットワーク (GNN) は、機械学習でグラフ構造データを活用するための強力なツ...
[[414016]]ヘルスケア業界における人工知能と機械学習の役割を理解するには、ヘルスケア業界にお...
[[326429]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
TensorFlow.js がリリースされた後、以前にトレーニングしたターゲット/顔検出モデルと顔...