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

ブログ    
ブログ    
ブログ    

推薦する

プログラマーの面接でよく聞かれる質問: スケジュールされたタスク スケジューラを設計し、どのようなアルゴリズムとデータ構造を使用するか

学生時代、私は Huya の面接を受けたことがあります。今でもはっきりと覚えている面接の質問がありま...

ディープラーニングツール:スマート端末におけるTensorFlowの応用

[[204425]]序文ディープラーニングは、画像処理、音声認識、自然言語処理の分野で大きな成功を収...

AIサイバーセキュリティ攻撃を防ぐ7つの戦略

人工知能(AI)が高度化し普及するにつれて、サイバーセキュリティの脅威が増大します。ハッカーやサイバ...

C# のデータ構造とアルゴリズムにおける線形リストの構築クラスの簡単な分析

C# のデータ構造とアルゴリズムで線形リストを構築するためのクラスは何ですか? C# のデータ構造と...

一流の科学者はどうやって AI を習得するのでしょうか? DeepSpeed4Science: 高度な AI システム最適化技術を使用して科学的発見を可能にする

今後 10 年間で、ディープラーニングは自然科学に革命をもたらし、自然現象をモデル化して予測する能力...

シリコンバレーの人工知能専門家:人類は20年以内に老化の束縛から解放されるかもしれない

現在、世界最高齢の人は、ギネス世界記録に認定された118歳の日本人老人、田中カネさんです。田中選手の...

ガートナーレポート: 私たちはデータサイエンスと機械学習ツールの「大爆発」の時代を迎えている

ガートナー社によると、現在データサイエンスに使用されているツールは急速に変化しているという。同社は新...

...

...

究極の「公開」: GPT-4 モデルのアーキテクチャ、トレーニング コスト、データセット情報がすべて公開されます

GPT-4 のモデルアーキテクチャ、インフラストラクチャ、トレーニングデータセット、コストなどの情報...

産業用ロボットの開発状況と技術動向を明らかにする

近年、人件費の継続的な上昇に伴い、産業分野では「機械が人に取って代わる」という現象が一般的になり、産...

tf.keras と Eager Execution を使用して複雑な問題を解決する方法

生成モデルとシーケンス モデルは、常に私を魅了してきました。これらのモデルは、機械学習を初めて学ぶと...

金融業界における人工知能の革新的な応用トップ 10

[[438117]]人工知能は、よりスマートで、より便利で、より安全な方法でお金を投資、アクセス、...