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年)について語る

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

...

ビッグデータマイニング機械学習人工知能ベン図戦争

半期会議がもうすぐ開かれますが、上司はみんなでしっかり計画を立てるように言いました。私たちの将来の方...

2022年にエネルギー・公益事業分野で注目すべき4つの技術トレンド

[[440332]]画像ソース: https://pixabay.com/images/id-425...

VRとAI: 融合しようとしている2つの技術

テクノロジーは私たちの生活に常に影響を与えています。社会として私たちはテクノロジーに大きく依存するよ...

SIEM&AIからSIEM@AIまで、AIが次世代のエンタープライズセキュリティの頭脳を構築

[51CTO.com からのオリジナル記事] SIEM はエンタープライズ セキュリティの中核ハブで...

人間の運転、交通事故の最大の欠陥 | 自動運転車の交通安全に関する白書が発表

今年の自動運転業界は商用化がキーワードです。年末に、百度、中国自動車技術研究センター、同済大学が共同...

人工知能の簡単な歴史 | (1)相農は人工知能の誕生を目撃した

[[391106]] 1956年、人工知能元年。その夏、米国ニューハンプシャー州ハノーバーの小さな町...

描いた場所に画像が動きます! Gen-2の新機能「マジックブラシ馬良」が大ヒット、ネットユーザー:緊急、緊急、緊急

動画生成AIはここまで進化したのか? !写真をスワイプするだけで、選択したターゲットが動きます。明ら...

笑顔は73年にわたる:ディープフェイクがイスラエル建国戦争の古い写真を「復活」させる

[[434314]]ディープフェイクを使って古い写真をアニメ化し、殉教者を追悼するのは良いことだが、...

一般的な MapReduce データマイニングアルゴリズム: 平均と分散

平均と分散のマップ削減一連の数値の平均と分散の式は誰にとっても明らかだと思います。マップ関数とリデュ...

高所から物が投げ出される悲劇が多発。AI監視システム「私があなたを守ります」

近年、高所から物が投げられたり落下したりして負傷する事故が多発しています。水のボトル、スイカの皮、缶...

効率的な多次元空間ポイントインデックスアルゴリズム - Geohash と Google S2

[[201793]]導入毎晩残業して家に帰るときは、Didiやシェア自転車を使うこともあります。ア...

AI 生成コードを使ってみませんか?人気のコパイロットの「リスク評価」を実施した人がいた

[[412069]]最近、GitHub は、人工知能を使用してコードを合成するモデルを生成する Co...

深度はディープニューラルネットワークに具体的に何をもたらすのでしょうか?

[[186161]]起源近年、人工知能は爆発的な成長を遂げており、ディープラーニングはその主な原動...