Intelligence)のロードマップに記述されているAIシステムのトレーニングと評価のための実験的なプラットフォームです。(システム開発者の選択した任意の言語でコード化された)をトレーニングおよびテストするためのプラットフォームで、ビットレベルのインターフェイスを介して環境とやりとりします。環境は、学習者に多数のコミュニケーションベースのタスクを解決するように依頼し、正常に完了したタスクインスタンスごとに報酬を割り当てます。学習者は、すべてのタスクの複数のインスタンスでランダムな順序で提示され、報酬を最大にするためにはできるだけ多くを解決する必要があります。現在実装されているタスクの例としては、カウント問題、学習者が項目のリストを覚えて質問に答える必要があるタスク、テキストベースのナビゲーションスキームによるナビゲーション指示(​​タスクの詳細な説明についてはこのドキュメントを参照)などがあります。タスクのセットは公開されています。私たちは常にそれを拡張しており、他の人たちが貢献できるように招待しています。CommAI-envの究極の目標は、学習者が語学を通して真に人間と触れることができるように、徹底的に訓練できる環境を提供することです。タスクはほとんど問題にならないかもしれませんが(英語の知識が役に立たないスクランブルモードで解決しようとしていますが)、私たちは現在の学習ベースのアルゴリズムの理解を超えていると考えています。それらをすべて解決できる学習者は、すでに相互作用するために必要なコミュニケーション・インテリジェンスのレベルに向けて大きな進歩を遂げており、人間の先生からさらに学ぶだろうと考えています。注意:CommAI-envのタスクは、インテリジェントなコミュニケーションエージェントが所有すべきすべてのスキルをカバーしていると主張していません。CommAI-envを解決するためには、知的エージェントは、人間や他の手段とのやりとりを通じて、それが必要とするさらなるタスクをすべて取得できるように、非常に一般的な学習機能を備えていなければなりません。)をトレーニングおよびテストするために現在提案されている他の環境およびデータセットと区別され、高速、一般的、コミュニケーションベースの学習者の育成。CommAI-envの焦点は、すべてのコミュニケーションが学習者と環境の間の共通のビットレベルのインターフェイスを通じて行われるコミュニケーションベースのタスクに完全に焦点を当てています。1つのCommAI-envセッションでは、学習者はさまざまなタスクに晒されるため、異なるタスクを認識し、必要に応じて異なるスキルを適用することを学ぶ必要があります。多くのタスクは、学習者がデータとアルゴリズムの長期記憶を持つ限り、1つまたは複数の問題を解決することで、他のタスクをより簡単に解決する必要があるという意味で、段階的です(例:学習者が基本的なカウント作業を解決し、オブジェクトとプロパティを関連付ける方法を学習した後)。トレーニング段階とテスト段階の間には分裂はありません。一方では、学習者は固定された一連のタスクに対して解を覚えるだけでなく、直面する新たな問題を一般化する方法を学ぶべきである。他方では、人間と同じように、少数の曝露の後に学習者は簡単な問題を解決できるはずです。したがって、評価の際に学習のスピードを考慮する必要があります。プラットフォームが十分に成熟している場合、CommAI-envに基づいて競技を行う予定です。私たちが言ったことを考えると、評価版のセットアップには、開発版に含まれているものとは異なる一連のタスクがあります。評価タスクが異なる可能性のある例としては、異なる(自然または人工の)言語でキャストされたり、学習者を取り巻く新しい物や場所について学習する必要がある場合、開発中に取得されたスキルの新しい組み合わせが必要な場合、等CommAI-envは現在、ベータテストの段階にあり、お客様からのフィードバックと貢献をお待ちしております。ランニング環境は次のように実行できます。tasks_config.json環境は、json形式とpython形式の両方の設定ファイルを受け入れることに注意してください(srcディレクトリの例を参照)。所定の学習アルゴリズムを使用して環境を実行する場合は、以下の対応するセクションを参照してください。構成まず、どのタスクがどの順番で学習者に供給されるのかを示す構成ファイルを作成する必要があります。完全なトレーニングセットに対応する構成ファイルを次のようにコピーします。tasks_config.jsonヒューマンモード学習者を擬人化できるシンプルなコンソールインターフェイス(ヒューマンモード)でシステムを実行するには、次のように環境を実行します。tasks_config.jsonこれにより、次のように動作する環境と対話するためのコンソールベースのユーザーインターフェイスが提供されます。環境が静かで、学習者が答えることを期待するたびに、コントロールは環境に戻されるストリングを入力できるユーザーに転送されます。2つの間の通信、現在の時間と累積報酬が画面に表示されます。--scrambledフラグを使用して環境を実行します。--scrambledフラグは、観察された語の各単語をランダムな疑似単語で置き換えます。警告:ヒューマンモードでは、教師からの入力について2つの前提があります。最初の文字エンコーディングが含まれます。入力はビット単位で実際に到着するが、人間のユーザがビットストリームを読むのは非常に不快なので、画面に表示する前に文字ストリームに変換する。2つ目は、環境が2つの連続した空間を作り出した後に人間に制御を渡す、ターンウィング・コンベンションです。これらの慣習は、その後のタスクの反復で変更することができるため、学習アルゴリズムによって安全に引き継ぐことはできません。-lまたは--learnerフラグの後に学習者クラスの完全修飾名を指定します。任意のサンプル学習者を使用できます。2つの関数を定義する必要があります。next環境からビットを受け取り、学習者が次に話すビットを返す必要があります。rewardは与えられた報酬を学習者に通知する。Pythonでは、次のコードスニペットから学習者を作成することができます。next_bit学習者をプログラミング言語Xで定義する他のプログラミング言語で学習アルゴリズムを定義することも可能です。環境はサーバーとして機能します。便宜上、ユーザは、同じプロセス内の環境と共に起動されるように、学習者を起動するコマンドを指定することができる。セッションが作成されると、環境と学習者が初期化されます。学習者は環境に「こんにちは」の握手を送ることから始まります。ループ:報酬を受け入れる、環境ビットを受け入れる、返信ビットを送る。"/my/learner/binary"コンソールビューヒューマンモードの場合、デフォルトビューにはコンソールインターフェイスが表示され、自動学習アルゴリズムを実行するときには、アルゴリズムの実行速度を上げるためにデフォルトのビューがデフォルトになります。ConsoleView。Sphinxを使用して作成することができます。これには、独自のタスクを作成する方法や環境内部の説明を記述する技術的なドキュメントが含まれています。commAI-envコミュニティに参加するあなた自身の研究と実験のためにリポジトリをフォークすることをお勧めします。//www.facebook.com/groups/1329249007088140私たちは積極的にあなたのバグ修正やそのような問題のプルリクエストを歓迎します。詳細については、CONTRIBUTINGファイルを参照してください。ライセンスCommAI-envはBSDライセンスです。我々はまた、追加の特許付与を提供する。した豊かなデータの可視化を作成、整理、共有するための柔軟なツールです。Flaskの上に構築された、シンプルで迅速なアプリケーション開発フレームワーク。