Facebookは、さまざまな機械学習の問題に適用できる、勾配フリー最適化のためのオープンソースツール「Nevergrad」をリリースしました。

Facebookは、さまざまな機械学習の問題に適用できる、勾配フリー最適化のためのオープンソースツール「Nevergrad」をリリースしました。

自然言語処理や画像分類から翻訳など、ほとんどの機械学習タスクは、モデル内のパラメータやハイパーパラメータを調整するために勾配フリー最適化に依存しています。パラメータ/ハイパーパラメータのチューニングをより迅速かつ容易にするために、Facebook は Nevergrad (https://github.com/facebookresearch/nevergrad) という Python 3 ライブラリを作成し、オープンソースとしてリリースしました。 Nevergrad は、勾配計算に依存しない多くの最適化アルゴリズムを提供し、それらを標準の Python フレームワークで提供します。さらに、Nevergrad にはテストおよび評価ツールが含まれています。

Nevergrad は現在一般公開されており、AI 研究者や勾配フリー最適化に取り組んでいるその他の研究者は、すぐに Nevergrad を研究に役立てることができます。このプラットフォームにより、最新のアルゴリズムとメソッドを実装し、さまざまな設定でのパフォーマンスを比較できるようになるだけでなく、機械学習の科学者が特定のユースケースに最適なオプティマイザーを見つけるのにも役立ちます。 Facebook AI Research (FAIR) では、研究者が強化学習、画像生成、その他の分野のさまざまなプロジェクトに Nevergrad を適用しています。たとえば、Nevergrad はパラメータスイープを置き換えて、機械学習モデルをより適切に調整するのに役立ちます。

このライブラリには、次のようなさまざまな最適化ツールが含まれています。

  • 差異的進化

  • 逐次二次計画法

  • 高速GA

  • 共分散行列の適応

  • 騒音管理のための人口制御方法

  • 粒子群最適化

これまでは、これらのアルゴリズムを使用するには、研究者が独自のアルゴリズム実装を記述する必要があり、異なる *** 方法を比較することが困難、または不可能になることがよくありました。現在、Nevergrad を使用することで、AI 開発者は特定の機械学習の問題に対してさまざまなアプローチを簡単にテストし、結果を比較できます。あるいは、よく知られたベンチマークを使用して、新しい勾配フリー最適化手法が現在の最先端の手法とどのように比較されるかを評価することもできます。

Nevergrad に含まれる勾配フリー最適化手法は、次のようなさまざまな機械学習の問題に使用できます。

  • マルチモーダル問題、つまり複数の局所最小値を持つ問題。 (言語モデリングのためのディープラーニングハイパーパラメータ化など)

  • 悪条件の問題は、通常、ダイナミクスが大きく異なる複数の変数を最適化するときに発生します (例: 特定の問題に合わせて調整されていないドロップアウトや学習率)。

  • 部分的な回転問題を含む、分離可能な問題または回転問題。

  • 部分的に分離可能な問題の場合、複数の変数ブロックを使用してこのタイプの問題を解決することを検討できます。例としては、ディープラーニングやその他の設計形式のアーキテクチャ検索や、マルチタスク ネットワークのパラメーター化などが挙げられます。

  • 離散的、連続的、または混合的な問題。これらの問題には、電力システム (一部の発電所は調整可能な連続出力を持ち、他の発電所は連続または半連続出力を持つため) や、各層の学習率、重みの減衰、非線形性のタイプの同時選択を必要とするニューラル ネットワーク タスクが含まれます。

  • 強化学習の異なるレベルなど、まったく同じ引数で関数を呼び出したときに異なる結果を返す可能性がある、ノイズの多い問題。

機械学習では、Nevergrad を使用して、学習率、運動量、重みの減衰 (おそらくレイヤーごと)、ドロップアウト アルゴリズム、ディープ ネットワークの各部分のレイヤー パラメーターなどのパラメーターを調整できます。より一般的には、非勾配法は、電力網管理 (https://www.sciencedirect.com/science/article/pii/S0142061597000409)、航空学 (https://www.sciencedirect.com/science/article/pii/S0142061597000409)、レンズ設計 (https://www.researchgate.net/publication/222434804_Human-competitive_lens_system_design_with_evolution_strategies)、その他多くの科学および工学アプリケーションでも使用されています。

勾配フリー最適化が必要なのはなぜですか?

ニューラル ネットワークの重みを最適化するなどのシナリオでは、関数の勾配を解析的に計算するのは簡単です。ただし、関数 f の計算が遅い場合やドメインが不連続な場合など、他のシナリオでは、関数の勾配を推定することはできません。これらのアプリケーションケースでは、勾配フリー法が解決策を提供します。

単純な勾配フリーのソリューションはランダム検索です。これは、多数の検索ポイントをランダムにサンプリングし、各検索ポイントを評価して、最適な検索ポイントを選択することから構成されます。ランダム検索は多くの単純なシナリオではうまく機能しますが、高次元のシナリオではパフォーマンスが低下します。機械学習のパラメータ調整によく使用されるグリッド検索にも、同様の制限があります。ただし、代替アプローチは多数あります。シミュレーターに二次近似を更新する逐次二次計画法などの応用数学から生まれたものもあれば、不確実性を含む目的関数をモデル化するベイズ最適化や、有望な変異体の選択、変異、混合に関する膨大な研究が含まれる進化計算もあります。

この例では、進化アルゴリズムがどのように機能するかを示します。関数空間内の検索ポイントをサンプリングし、最適なポイント クラスターを選択してから、既存のポイントの周囲に新しいポイントを推奨し、現在のポイント クラスターを最適化します。

Nevergradを使用してアルゴリズムベンチマークを生成する

Facebook の研究チームは Nevergrad を使用していくつかのベンチマークを実装し、特定のアルゴリズムが特定の状況でどの程度うまく機能するかを示しました。これらのよく知られた例は、さまざまな設定 (マルチモーダルまたは非マルチモーダル、ノイズありまたはノイズなし、離散または非離散、悪条件または悪条件なし) に対応しており、Nevergrad を使用して最適な最適化アルゴリズムを決定する方法を示しています。

各ベンチマークにおいて、Facebook リサーチ チームは X の異なる値に対して独立した実験を実施しました。これにより、X の複数の値における方法間の一貫したランキングが統計的に有意であることが保証されます。以下の 2 つのベンチマーク例に加えて、簡単なコマンド ラインを使用してそれらを再実行する方法を説明する、より包括的なリストがここにあります。

この図はノイズ最適化の例を示しています

この例では、pcCMSA-ES ノイズ管理原理 (https://homepages.fhv.at/hgb/New-Papers/PPSN16_HB16.pdf) を使用する TBPSA が、いくつかの代替手段よりも優れていることを示しています。 Facebook の研究チームは、ここでのアルゴリズムの限定的な例と TBPSA を比較しただけですが、他の方法よりも優れたパフォーマンスを発揮しました。

Nevergrad プラットフォームは、多くの機械学習シナリオで発生する個別の目的関数も実行できます。これらのシナリオには、たとえば、限られたオプション セット (ニューラル ネットワークのアクティベーション関数など) からの選択や、個々のレイヤー タイプからの選択 (たとえば、ネットワーク内の特定の場所でスキップ接続を必要とするかどうかの決定) が含まれます。

既存の代替プラットフォーム (Bbob および Cutest) には、個別のベンチマークは含まれていません。 Nevergrad は、softmax 関数 (離散問題をノイズの多い連続問題に変換する) または連続変数の離散化によって処理された離散領域で実行できます。

Facebook の研究チームは、このシナリオでは FastGA (https://arxiv.org/abs/1703.03334) が最も優れたパフォーマンスを発揮することに気付きました。 DoubleFastGA は、1/dim と 1/2 ではなく、1/dim と (dim-1)/dim の間の突然変異率に対応します。これは、元の範囲がバイナリ ドメインに対応しているのに対し、ここでは任意のドメインを考慮しているためです。いくつかのシナリオでは、単純な均一な突然変異率の混合 (https://arxiv.org/abs/1606.05551) が適切に機能します。

研究者と機械学習科学者のためのツールボックスの拡張

Facebook は、研究者が新しいアルゴリズムを作成し評価するのを支援するために、Nevergrad に機能を追加し続けます。初期バージョンには基本的な人間によるテスト機能が搭載されていますが、Facebook は物理モデルを表現する機能など、さらに多くの機能を追加する予定です。応用面では、Nevergrad の使いやすさをさらに向上させ、勾配がうまく決定できない PyTorch 強化学習モデルのパラメータを最適化するために使用することを試みます。 Nevergrad は、A/B テストのパラメータスイープやジョブのスケジューリングなどのタスクにも役立ちます。

<<:  BERTに続き、この新しいモデルは11のNLPベンチマークで再び記録を更新しました。

>>:  ディープラーニングの成果は収穫されようとしているのでしょうか? 11人の専門家がAIの現在(2018年)と未来(2019年)について語る

ブログ    

推薦する

世界のトップ企業で募集中の AI 研究職

人工知能とは、人間のように考え行動するようにプログラムされたロボットで人間の理解を再現することを指し...

ジェネレーティブAIを管理する方法

ドム・クッドウェル著ノアが編集制作:51CTO テクノロジースタック(WeChat ID:blog)...

なぜ機械学習モデルの90%が実稼働に至らないのか

会社は厳しい時期を迎えている。私はパンデミックや株式市場の変動について話しているのではない。時代は不...

...

特定の文字を削除するためのアルゴリズム設計とCコードの実装

1. 要件の説明長い文字列と短い文字列を入力し、短い文字列に現れる文字を長い文字列から削除するプログ...

会話型AIが重要なサービスに与える影響

コミュニケーションツールが進化するにつれ、電話や携帯電話は人々が情報を素早く共有する能力に大きな影響...

...

張亜琴:業界にとって、ディープラーニングの黄金時代は始まったばかりだ

本日、張亜琴教授はCNCC 2020で「スマートテクノロジーのトレンド」をテーマに講演しました。デジ...

教師なし機械学習の基本ガイド

[51CTO.com クイック翻訳] 教師なし機械学習と人工知能は、組織のビジネス成長に役立つことは...

日本は変形可能なロボットボールを月に送り込む予定。ボール全体の重さは250グラム

海外メディアの報道によると、日本は5月31日に、特殊な外観の球形ロボットを月に送る予定だ。この球体ロ...

DidiがAoEをオープンソース化: AIの迅速な統合を可能にする端末操作環境SDK

Didi は、エンドサイド AI 統合ランタイム環境 (IRE) である AoE (AI on E...

自動運転の安全性の問題をどう解決するのか?まずは名前を変えてみましょう。

現在、新世代情報技術の急速な発展に伴い、自動運転をはじめとした新興産業がますます台頭しています。世界...

人工知能はまだ長い道のりを歩んでいる

過去2年間で、「スマートホーム」はほぼすべての家電メーカーが必ず話題にし、自社製品になくてはならない...

子どもたちにこうした能力を育ててこそ、30年後の人工知能の時代に足場を築くことができるのです。

01.子どもの情報理解力・識別力を養う今持っているスキルは将来役に立たないかもしれない今日生まれた...