ゲームをプレイする簡単なAIプログラムを作成するには、どのような知識が必要ですか?


8

私は学士号を取得しています。私のコースの1つは「機械学習入門」でしたが、私は常にこのテーマで個人的なプロジェクトをやりたかったのです。

最近、マリオ、ゴーなどのゲームをプレイするためのさまざまなAIトレーニングについて聞いたことがあります。

ゲームをプレイする簡単なAIプログラムをトレーニングするには、どのような知識が必要ですか?そして、初心者にはどのゲームをお勧めしますか?

これは私がこれまでに機械学習で知っていることです-

  • コースと機械学習の概要。K最近傍アルゴリズム、およびK平均アルゴリズム
  • 統計的推論
  • 混合ガウスモデル(GMM)および期待値最大化(EM)
  • 汎化境界とモデル選択を含む、おそらくおおよその(PAC)モデル
  • 基本的な超平面アルゴリズム:PerceptronとWinnow。
  • サポートベクターマシン(SVM)
  • カーネル
  • 弱い学習者から強い学習者へのブースト:AdaBoost
  • マージンパーセプトロン
  • 回帰
  • PCA
  • 決定木
  • 決定木剪定とランダムフォレスト

回答:


8

ゲームのプレイの問題を解決する方法はいくつかあります。一部のゲームは、たとえば検索アルゴリズムによって解決できます。これは、ある程度の複雑さまでのカードゲームとボードゲームに適しています。たとえば、IBMのディープブルーは、本質的に、最適な移動のための高速なヒューリスティック駆動の検索でした。

ただし、エージェントをトレーニングしてタスクを最適に実行するための最も一般的な機械学習アルゴリズムは、強化学習です。技術的には1つのアルゴリズムではなく、学習問題の特定の形式化をすべて解決する関連アルゴリズムの拡張ファミリです。

非公式には、強化学習(RL)は、環境状態を観察し、その環境でアクション実行し、何らかの形で状態とアクションに関連する報酬を体験できるエージェントに関して定義された問題に対する最適なソリューションを見つけることです。RLソルバーは、重要なアクションが実行されたときよりも後で報酬が受け取られる状況に対処するように設計する必要があります。これは通常、状態および/または状態とアクションのペアに関連付けられた後の報酬の内部期待を学習するアルゴリズムによって達成されます。

強化学習を学習するためのリソースを以下に示します。

解決する問題が難しくなるにつれて、アルゴリズムのますます高度なバリエーションが必要になるため、主題自体が非常に大きいことがわかります。

強化学習を研究するためのゲームの開始には、次のようなものがあります。

  • Tik-tac-toe(別名Noughts and crosses)-これは検索を使用して簡単に解決できますが、基本的なRLテクニックを使用して簡単なおもちゃの問題を解決できます。

  • 迷路-強化学習の文献には、エージェントがハザードと目標を設定できる小さなボード上で単一のN、E、S、Wステップで移動する「グリッドワールド」ゲームの多くの例があります。

  • ブラックジャック(別名21)

ビデオゲームをプレイするためにエージェントと連携したい場合は、ニューラルネットワークについても知りたいと思います。詳細については、スクリーングラフィックスを処理するための深い畳み込みニューラルネットワークが必要です。

RLの比較的新しいリソースはOpenAI Universeです。彼らは、エージェントをトレーニングする準備が整った環境をパッケージ化するために多くの作業を行いました。つまり、環境をセットアップするのではなく、学習アルゴリズムの学習に集中できます。


現在のスキルのリストについて:強化学習に直接関連するものはありません。しかしながら:

  • 前のコースの数学と理論を理解できれば、強化学習理論も理解できるはずです。

  • オンラインまたはバッチの教師付き学習手法を学習した場合、これらはRLフレームワーク内のコンポーネントとして使用できます。通常、これらは、これまでの成功と失敗からのフィードバックに基づいて、ゲームの状態の価値関数を概算するために使用できます。


7

これは、ゲームの種類と、AIで利用できるゲームの状態に関する情報に大きく依存します。

過去数年の最も有名なゲームプレイAIの一部は、ディープ強化学習(例:アタリとディープ強化学習)に基づいています。これは、報酬値関数の近似としてディープニューラルネットワークを使用した通常の強化学習(例:Q学習)です。これらのアプローチは、ゲームの生のピクセルとプレイヤーのポイントを受け取り、人間のようにゲームパッドのアクションを出力します。このようなことを行うには、強化学習(Sutton and Bartoの独創的な書籍を参照)とディープラーニング(Ian Goodfellow et al。の書籍を参照)をマスターし、次にそれらをディープ強化学習に融合する方法( "reinforcement このようなディープラーニングペーパーのキュレーションされたリストでの「学習」)。

ただし、AIで利用できるゲームに関する情報がそれよりも構造化されている場合(たとえば、プレーヤーの位置、環境の説明)、ゲームを扱いやすい問題に分解して解決する、より古典的なアプローチでうまくいくことができます。それぞれがアルゴリズム的に、例えばA *で検索することにより。


3

あなたが探しているものは、強化学習と呼ばれています。私の大学では、このトピックを学生に紹介するだけの完全なコース()があります。ここに、確率的計画に関する私の(主にドイツ語の)講義ノートがあります。これは間違いなく機械学習の高度なトピックだと思います。153h=45h

学ぶべきTopcis

  • マルコフ決定プロセス(MDP)
    • ポリシーと値の反復
    • プロジェクト:じゃんけん/ 三目並べ
  • 部分的に不可解なマルコフ決定プロセス
    • プロジェクト:Black Jack
  • 強化学習
    • Qラーニング
    • SARSA

その他のシンプルなゲーム

その他の資料

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.