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責任者

出版社ファウンドリーの新しい調査によると、企業は生産性とイノベーションを高めるために人工知能に注目し...

実用的なCNN畳み込みニューラルネットワークは、99.5%の精度で検証コードを認識します

1. 背景2年間運営してきた個人プロジェクトですが、最近対象サイトがスキャンコードログインに変更にな...

AIがシュレーディンガー方程式を正確かつ計算効率よく解く、Nature Chemistry誌に発表

量子力学の基本方程式の一つとして、シュレーディンガー方程式は常に幅広い注目を集めてきました。昨年、D...

自動運転は「終焉」に向かっている

技術導入への困難な道のりは、特定の客観的な法則に従わなければならず、それはいかなる利害関係者の意見に...

...

アルパカたちはどこまで来たのでしょうか?研究によると、最高のものはGPT-4のパフォーマンスの68%を達成できる。

大規模言語モデルは最近、かつてないほどの注目を集めています。急速に変化する環境において、オープンソー...

目に見えないAI技術は、知的な世界の秘密を理解するのに役立ちます

今日のインターネット技術の急速な発展により、目に見えないAI技術は生活のあらゆる側面に浸透しています...

機械学習がデータセンター管理をどう変えるか

機械学習はデータセンターの経済性を劇的に変え、将来の改善への道を開きます。機械学習と人工知能がデータ...

独学で機械学習エンジニアを目指す人のための 10 の戒律

コードを書くのは少し憂鬱になるので、色に囲まれる必要があります自己規律や自己学習という言葉を軽く受け...

...

科学者は人工知能を使って新素材を発見する

米国の科学者チームは、人工知能を利用して非常に短期間で新たな鉄鋼の代替品を発見したいと考えている。そ...

...

人工知能の3つの主要分野とその産業応用

人工知能は、人間の知能の拡張と拡大をシミュレートするための理論、方法、技術、アプリケーション システ...

やがて世界は人工知能に支配されるようになる。ホーキング博士の死後、人工知能の発展に冷水を浴びせるのは誰だろうか?

ホーキング博士は人類に対し、人工知能に対して慎重になるよう警告し続けている。人工知能が発達すると、制...

データベース設計: MySQL フィールド名がキーワードと衝突するのを防ぎ、データの整合性を保護します。

MySQL は広く使用されているリレーショナル データベース管理システムです。データベース設計では...