DeepMind が 3 つの新しいフレームワークを同時にオープンソース化しました。深層強化学習の応用は春の到来を告げるのでしょうか?

DeepMind が 3 つの新しいフレームワークを同時にオープンソース化しました。深層強化学習の応用は春の到来を告げるのでしょうか?

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。

深層強化学習 (DRL) は、近年の人工知能における最大の進歩の中心となっています。しかし、DRL は大きく進歩しているにもかかわらず、ツールやライブラリが不足しているため、DRL メソッドを主流のソリューションに適用するのは依然として困難です。したがって、DRL はまだ主に研究の形で存在しており、機械学習の実際のアプリケーションはあまり見られていません。この問題を解決するには、より優れたツールとフレームワークが必要です。

つい最近、DeepMind は、DRL メソッドの適用を簡素化する 3 つの DRL フレームワーク (OpenSpiel、SpriteWorld、Bsuite) を含む一連の新しいオープン ソース テクノロジをリリースしました。

[[277341]]

DRLフレームワークの概要

新しいディープラーニング技術として、DRL の導入は、単にアルゴリズムを実装する以上の課題に直面します。たとえば、トレーニング データ セット、環境、監視最適化ツール、DRL テクノロジの適用を簡素化するための慎重に設計された実験などです。

DRL のメカニズムはほとんどの従来の機械学習手法とは異なるため、この違いは DRL の場合さらに顕著になります。 DRL エージェントは、特定の環境で試行錯誤を通じてタスクの習得を試みます。この文脈では、環境と実験の堅牢性が、DRL エージェントによって開発された知識において重要な役割を果たします。

DRL で大きな進歩を遂げ、それを主要な AI 課題にさらに適切に適用するために、DeepMind は、DRL エージェントの大規模なトレーニング、実験、管理を簡素化する独自のツールとフレームワークを多数構築しました。また、OpenSpiel、SpriteWorld、bsuite を含む 3 つの DRL フレームワークがオープンソース化されているため、他の研究者がそれらを使用して DRL 手法の最先端技術を進歩させることができます。

以下に、3 つのフレームワークと、対応するオープン ソース アドレスを紹介します。

オープンゲーム

他のデータセットとは異なり、ゲームは本質的に試行と報酬のメカニズムに基づいており、DRL エージェントのトレーニングに使用できます。しかし、これまで見てきたように、ゲーム環境は単純な組み立てとはほど遠いものです。

[[277342]]

OpenSpiel は、ゲームにおける一般的な強化学習と検索/計画を研究するための環境とアルゴリズムのコレクションです。 OpenSpiel は、一般的なゲームと同様に、競争よりも学習を重視しながら、さまざまなゲーム タイプにわたって一般的なマルチエージェント強化学習を促進することを目的としています。 OpenSpiel の現在のバージョンには、完全情報、同期移動、不完全情報、グリッド ワールド ゲーム、戦略ゲーム、一般的なフォーム/マトリックス ゲームなど、20 種類を超えるゲームの実装が含まれています。

OpenSpiel のコア実装は C++ と Python バインディングに基づいているため、さまざまなディープラーニング フレームワークに簡単に採用できます。このフレームワークは、DRL エージェントが協力的行動と競争的行動の両方を習得できるようにするゲームのポートフォリオで構成されています。同様に、OpenSpiel には、検索、最適化、単一エージェントなど、さまざまな DRL アルゴリズムの組み合わせが含まれています。 OpenSpiel には、学習ダイナミクスやその他の一般的な評価メトリックを分析するためのツールも含まれています。

OpenSpielがサポートするゲームタイプ

  • シングルおよびマルチプレイヤーゲーム

  • 完全に観測可能なゲーム(観測による)と不完全な情報ゲーム(情報状態と観測による)

  • ランダム性(ほとんどは非決定論的なイベントですが、暗黙的なランダム性は部分的にサポートされています)

  • n人用正規形「ワンショット」ゲームと(2人用)マトリックスゲーム

  • 連続アクションゲームと同時アクションゲーム

  • ゼロサムゲーム、一般サムゲーム、協力ゲーム(同一報酬ゲーム)

OpenSpielがサポートする言語

  • C++ 11

  • Python3 について

  • Swiftで提供されている言語の一部

ゲームとユーティリティ関数 (例: 計算) は C++ で記述されています。これらは、pybind11 python (2.7 および 3) バインディングを使用しても利用できます。メソッド名は、C++ では CamelCase、Python では SnakeCase です (たとえば、C++ の Apple アクションは、Python では Test.Apple になります)。名前間の完全なマッピングについては、open_spiel/python/pybind11/pyspel.cc の pybind11 定義を参照してください。

OpenSpiel は Linux (Debian 10 および Ubuntu 19.04) でテストされていますが、MacOS や Windows ではまだテストされていません。コードは MacOS や Windows でも利用できる無料のツールを使用しているため、DeepMind はこれらのプラットフォームでコンパイルして実行する際に (大きな) 問題は発生しないと予想しています。

GitHub アドレス: https://github.com/deepmind/open_spiel

pybind11 アドレス: https://pybind11.readthedocs.io/en/stable/

スプライトワールド

数か月前、DeepMind は、教師なしターゲット検索と好奇心主導型 (Curious Object-Based search Agent、COBRA) に基づく強化学習モデルを紹介する論文を発表しました。このモデルでは、強化学習を使用して特定の環境内のオブジェクトを識別します (関連論文は https://arxiv.org/abs/1905.09275 で参照できます)。

このモデルは、数字を自由に動かすことができる一連の 2 次元ゲームを使用してトレーニングされました。 COBRA モデルのトレーニングに使用される環境は、DeepMind によって最近オープンソース化された 3 つの主要な DRL フレームワークの 1 つである SpriteWorld です。

SpriteWorld は、自由に移動できるシンプルな形状の 2D アリーナで構成された Python ベースの強化学習環境です。より具体的には、SpriteWorld は、衝突することなく自由に配置およびレンダリングできる、さまざまな数の色のスプライトを含む 2D の正方形のアリーナです。 SpriteWorld 環境は、いくつかの主要な機能に基づいています。

  • マルチオブジェクト アリーナは現実世界の構成を反映しており、雑然としたオブジェクトのシーンは、特徴を共有しながらも独立して移動することができます。これにより、タスクに依存しない機能/ターゲットの堅牢性と組み合わせの一般化をテストする方法も提供されます。

  • 連続クリックおよびプッシュアクション空間の構造は、ワールド空間と動きの構造を反映しています。また、エージェントは目に見えるオブジェクトを任意の方向に移動することもできます。

  • 目標の概念は、特権的な方法で提供されるものではなく (たとえば、アクション スペースには目標固有のコンポーネントはありません)、エージェントによって完全に検出可能です。

SpriteWorld は、各 DRL エージェントに対して 3 つの主要なトレーニング タスクを提供します。

  • ターゲット検索。エージェントは、妨害要因(緑色以外のターゲットなど)を無視して、一連のターゲット(いくつかの特徴によって識別可能、たとえば緑色のターゲット)を画面上の隠れた場所に持ってくる必要があります。

  • 選別。エージェントは各ターゲットをその色に基づいて指定された場所に移動する必要があります。

  • クラスタリング。エージェントは、色に基づいてオブジェクトをクラスターにグループ化する必要があります。

SpriteWorldは強化学習以外の目的にも使用できます。たとえば、論文「空間ブロードキャスト デコーダー: VAE での分離された表現を学習するためのシンプルなアーキテクチャ」(Watters 他、2019、https://arxiv.org/abs/1901.07017) のように、制御された因子分布を持つ画像データセットを生成するために使用されます。

また、単純な物理的な力 (バネ、重力など) と相互作用するオブジェクトのデータセットを生成するように簡単に拡張できるため、視覚ダイナミクスの教師なし学習研究に役立ちます。

GitHub アドレス: https://github.com/deepmind/spriteworld

ビスイート

私たちは、bsuite (Behavior Suite for Reinforcement Learning) を強化学習の MNIST にしようとしています。

具体的には、bsuite はエージェントのスケーラビリティの重要なポイントを強調するように設計された一連の実験です。これらの実験は、探索や記憶などの基本的な疑問に、簡単にテストして反復できる方法で取り組みます。 bsuite には 2 つの主な目標があります。

  • 効率的で一般的な学習アルゴリズムの設計における主要な問題を捉える、明確で有益かつスケーラブルな質問を収集します。

  • エージェントの動作は、これらの共有ベンチマークを実行することによって研究されます。

bsuite の現在の実装では、さまざまな環境での手動実験が自動化され、DRL エージェントのトレーニングを簡素化できる対応するメトリックが収集されます。また、bsuite は実験のコレクションであるため、experiments サブディレクトリで定義されます。各サブディレクトリは実験に対応しており、次のものが含まれます。

  • 強化学習環境を定義するファイル。異なる難易度レベルや異なるランダムシード (例) を提供するように構成できます。

  • 実験の sweep.py ファイルの設定変数で定義されている、この環境のキーワード引数のシーケンス。

  • 提供された Jupyter マシンで使用されるプロットを定義する analysis.py ファイル。

bsuite は、load 関数と record* 関数によって環境がロードされると、各環境の結果を記録することによって機能します。これは、エージェントやアルゴリズムの構造に制限されることなく、あらゆる実験でコンピューターを使用した分析に適した形式でデータが自動的に出力されることを意味します。

GitHub アドレス: https://github.com/deepmind/bsuite

<<:  Suning製品セマンティックリコールにおけるDSSMテキストマッチングモデルの適用

>>:  Baidu Brain CVサービスでは、100~1000元のクーポンを提供しています。

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

推薦する

決済の未来は生体認証にかかっている

現在、生体認証技術は比較的成熟しており、さまざまな応用シナリオがあります。国内の生体認証市場全体は、...

C#アルゴリズムのプログラム実装に関する面接の質問

C# アルゴリズムの面接の質問を解く方法はたくさんあります。ここでは 1 つだけ紹介します。まずは質...

日本の出生率が過去最低を記録、政府は国民が真実の愛を見つけるのを助けるためにAIの助けを求める

[[379564]]日本政府は国民が真実の愛を見つけるのを助けるために AI を活用しています。 (...

これらのよく知られた VR 音声テクノロジー ソリューションをご存知ですか?

最近、Oculus は、VR デバイスを使用する際にユーザーがよりインタラクションできるようにするこ...

人工知能と5G: 新たなデータの世界へ

調査によると、AI デバイスのベンダー中心の展開モデルでは、トラフィックの急激な増加に対応できないこ...

ベイジアンパーソナライズランキングアルゴリズムを1つの記事で理解する

[[260485]] [51CTO.com からのオリジナル記事] 哲学にさまざまな流派があるように...

OpenAI は GPT-4 をすべての有料 API ユーザーに公開します

OpenAIは7月7日、今年3月にGPT-4をリリースしたが、テストへの参加を申請した一部の開発者の...

貴州省はアリババクラウドの最適アルゴリズムを使用して交通渋滞を減らし、赤信号の時間を86%削減する予定

朝のラッシュアワーには交通量が多く、午後は非常に空いています。しかし、なぜ信号が変わる頻度は同じまま...

ビッグデータと人工知能の関係、総合的な分析

ビッグデータはクラウドコンピューティングを採用PaaS レイヤーの複雑な汎用アプリケーションは、ビッ...

エラー分析を正しく行う方法、NLP研究者は学ぶ必要がある

著者注:機械学習モデルがいつ、どのように、なぜ失敗するかを分析することを「エラー分析」と呼びます。科...

...

アプリケーションの利点はたくさんあります!チャットボットは経済の活性化に貢献する

時代の変化に伴い、インテリジェント技術の発展は新たな傾向を示し、人工知能などの技術はますます注目を集...

AI は言語をより早く習得するために何ができるでしょうか?

新しい言語を学ぶことは間違いなく挑戦です。特に 18 歳以上の人にとっては、これまで触れたことのない...

...