普遍的な人工知能を作成するという研究者の夢は、まったく異なるタスクで新しいアルゴリズムを試して、それがどれほど普遍的であるかを評価できる大量のサービスの出現につながりました。 彼が対処するタスク、および彼にとって困難を提示するタスク。
この記事では、12個の同様のサービスの概要を説明します。
ALE:アーケード学習環境
→
紹介記事→
リポジトリ機械学習アルゴリズムの開発と評価のためのプラットフォーム。 数百のAtari 2600ゲームへのインターフェイスを提供します。各ゲームはユニークで、人々が興味を持つように設計されています。 提示されたさまざまなゲームにより、研究者は真に普遍的なアルゴリズムを作成し、結果を互いに比較することができます。
ALE環境で動作するアルゴリズムの場合、世界は非常に単純に見えます。 観察-7ビットピクセルの2次元配列(配列サイズ160 x 210ピクセル)。 可能なアクションは18個の信号で、原則としてコンソールのジョイスティックで生成できます。 報酬を受け取る方法はゲームごとに異なりますが、原則として、これは現在のフレームと以前のフレームのポイントの違いです。
標準モードでは、Atariエミュレーターは毎秒60フレームを生成しますが、最新のハードウェアでははるかに高速に実行できます。 特に、データは約6000フレーム/秒で提供されます。
MAgent
→
紹介記事→
リポジトリ数百から数百万のエージェントが関与できる実験に焦点を当てたシミュレーション環境。 マルチエージェントが要求されているが実際には数十のエージェントに制限されている他の環境とは異なり、MAgentは拡張性が高く、1つのGPUで最大100万のエージェントをサポートできます。
これらのすべての取り組みは、1人のエージェントの最適な行動を訓練するだけでなく、多数のインテリジェントエージェントの中で発生する社会現象を調査することも目的としています。 これらは、自己組織化、エージェント間のコミュニケーション、リーダーシップ、利他主義などに関連する問題です。
MAgentは、研究者に環境をカスタマイズする柔軟性を提供します。 デモ版には、ハラスメント(捕食者が草食動物を効果的に追跡するために群れで集まる)、競争環境でリソースを収集する、2つの軍隊の戦い(エージェントが包囲、「ゲリラ戦争など」の技術を習得する)
マルメ
→
紹介記事人気のMinecraftゲームに基づいた機械学習の分野の基礎研究のためのプラットフォーム。 Minecraftは、必要な複雑さの動的な世界を簡単に作成できる3Dゲームです。 エージェントを管理し、タスクを作成し、実験を行うためのAPIを提供します。
面白くて難しい。
VizDoom
→
プロジェクトサイト人気のある3D Doomゲームに基づいて、コンピュータービジョンと強化学習の実験環境。 独自のスクリプト/マップを作成したり、マルチユーザーモードを使用したり、学習エージェントがプレーヤーのアクションを監視するモードなどを使用したりできます。 この環境は十分に高速で(スレッドごとに最大7000 FPS)、LinuxとWindowsの両方で機能します。
C ++、Python、およびJava用の使いやすいAPIを提供します。 APIは、強化学習アルゴリズムでの使用に最適化されています。 観測として、スクリーンバッファーからの画像が学習アルゴリズムに送信され、深度マップも送信できます。
プロジェクトのWebサイトには、チュートリアル、ビデオデモ、例、詳細なドキュメントがあります。
ELF:リアルタイム戦略ゲーム向けの、幅広く軽量で柔軟な研究プラットフォーム
→
紹介記事→
リポジトリ強化学習アルゴリズムの基礎研究のためのプラットフォーム。
C / C ++(ALEと同様)に基づいてホストされたゲームをホストできます。 さらに、開発者はELFに基づいて、リアルタイム戦略(RTS)の簡易バージョンを作成しました。これは、ラップトップでコアあたり最大4000 FPSで動作できます。 このパフォーマンスにより、リアルタイムモードよりも高速に実行するために最適化されていない従来のRTSゲームが使用されている環境よりも高速にアルゴリズムを学習できます。 Tower DefenseおよびCapture the Flagモードにはゲームオプションもあります。
また、ICML2017でFacebook ResearchのYuandong Tianの
プレゼンテーションを見ることに興味があるかもしれません。
迷路
→
紹介記事→
リポジトリもともと人々を楽しませるために作成されたゲームを使用するシステムとは異なり、この作品は強化付きの学習アルゴリズムをテストするために特別に設計されたゲームの作成に焦点を当てています。 プラットフォームで作成されたゲームは、変更または新しいゲームを作成できます。
システムには、「セルの世界」に基づいて作成された多数のシンプルな2Dゲームが含まれています。 世界を作成する際、開発者は古典的なPuddle Worldに触発されましたが、新しいトレーニングサイクルが開始されるたびにアイデアを追加し、マップを再生成しました。 したがって、エージェントは、彼がまだ見たことのない世界で毎回訓練されます。
OpenAIジム/ユニバース
→
GYMの紹介記事→
ユニバースリポジトリジムは強化学習研究ツールキットです。 これには、実験用の拡大し続けるテスト環境のコレクションが含まれています。 プロジェクトのウェブサイトでは、達成した結果を共有し、他の参加者の結果と比較できます。
Universeを使用すると、内部変数やソースコードにアクセスすることなく、ほとんどすべてのプログラムをテスト環境にすることができます。 このプログラムはDockerコンテナーに配置され、キーボードキーのキーストロークまたはマウスイベントのエミュレーションを通じてプログラムとの対話が実行されます。 AIエージェントがアクションを実行し、観測を受信できる1000以上の環境(主にさまざまなゲーム)が利用可能です。 この数千のうち、数百にも完璧な行動に対する「報酬」に関する情報が含まれています。 このような環境には、プログラムのスタートメニューを「クリック」して、ゲームまたはアプリケーションのコンテンツに直接移動するスクリプトも含まれています。
おそらく、ジムは初心者に最適です。
テンソルフロー剤
→
紹介記事→
リポジトリ開発者は、TensorFlow Agentsをインフラストラクチャパラダイムと呼びます。 この開発の主な焦点は、多数のシミュレーション環境の並列実行とGPUおよびCPUでのデータのバッチ処理によるアルゴリズムのトレーニングとテストの加速に置かれています。 したがって、他のほとんどのプラットフォームに固有の「ボトルネック」が拡大し、アルゴリズムのデバッグサイクルが加速されます。 同時に、OpenAIジムインターフェースをサポートするアプリケーションは、環境自体として使用されます。すでに述べたように、それらには多くの選択肢があり、そこから選択するものはたくさんあります。
Unity MLエージェント
→
リポジトリUnity Editorを使用して、機械学習用のシミュレーション環境を作成できるようになりました。 Unity Engineを使用して動作します。 提案されたパラダイムによれば、アカデミー、脳、エージェントという3つのオブジェクトのコードを定義および開発する必要があります。
アカデミー-一般的な環境設定、その内部ロジック。 さらに、アカデミーはモデルの残りのエンティティの親オブジェクトです。
脳-意思決定のロジックを記述するオブジェクト。 いくつかのオプションがあります-TensorFlowへのインターフェース(オープンソケットとPython APIまたはTensorFlowSharpを使用)、ヒューリスティックベースの自己記述ロジック、またはキーボードとマウス入力を待機して人間のオペレーターでエージェントを直接制御します。
エージェント-状態、観測値の一意のセットを含むオブジェクト。 シミュレーション環境内で独自の一連のアクションを実行します。 シミュレートされたオブジェクトの「ボディ」。
また、エージェントの内部状態を監視するための組み込みツール、複数のカメラを観察として使用する機能(たとえば、自動運転車の場合のように、複数のソースからのデータを比較する方法を学習する場合に重要になる場合があります)などがあります。
Deepmind Pycolab
→
紹介記事→
リポジトリ実際、これはASCIIグラフィックを使用した単純なゲームを開発するためのゲームエンジンです。 そのようなゲームでは、そのシンプルさと軽さにより、比較的弱いハードウェアでも強化された学習アルゴリズムをデバッグできます。
既製の例の中には、すでに「スペースインベーダー」、「ラビリンス」、「サプレックス」のアナログなど、いくつかの小さなゲームがあります。
SC2LE(StarCraft II学習環境)
→
紹介記事→
リポジトリStarCraft IIのプレイ方法を学習するための環境。 StarCraft IIは、多くの優秀な頭脳が今戦っている挑戦的な機械学習チャレンジです。 数百のユニット、「戦争の霧」の存在による地図に関する不完全な情報、開発戦略の大きなばらつき、数千ステップ遅れた報酬。 StarCraft IIは、勝った後の人間に対する機械学習技術の勝利における次の大きなマイルストーンになるようです。
この環境は、ゲームエンジンと対話するためのオープンソースのPythonツールを提供します。 開発者は、標準のゲームカードに加えて、リソースの収集、戦闘など、ゲームプレイのさまざまな要素をデバッグするためのミニゲームをいくつか作成しました。
プロのプレイヤーのゲームの記録と、このタスクに適用できる古典的な機械学習アルゴリズムのテスト結果も、興味のある人に利用可能です。
コーチ
→
プロジェクトサイト→
リポジトリデバッグおよび強化学習アルゴリズムのためのモジュラーPython環境。 「ピース」からシミュレーションエージェントを収集し、アルゴリズムとトレーニングモデルの有効性を評価するプロセスでマルチプロセッサシステムの全機能を使用できます。
これには、多くの機械学習アルゴリズムの最新の実装が組み込まれており、さまざまなアルゴリズムがどのように機能するかを試したいが、実装の機能に深く入りたくない人にとっては良い出発点となります。
Coachは、学習プロセスに関する統計を収集し、学習モデルのデバッグに役立つ高度な視覚化技術をサポートしています。
結論の代わりに
何か見逃した場合は、コメントに書いてください。
2月26日から3月7日まで休暇を取る場合は、17日間連続して休むことができます。 この時点で、さらに多くのアイデアがあります。