SumTo100ゲームの自己学習と結果予測を実現するためのAIアシスタントのトレーニング

SumTo100ゲームの自己学習と結果予測を実現するためのAIアシスタントのトレーニング

翻訳者|朱 仙中

レビュー | Chonglou

導入

完全情報ゲームにおいてゲームのルールに従って、必要なものがすべてすべてのプレイヤー提供されたら素晴らしいと思いませんか?

しかし残念なことに私のような平均的なプレイヤーにとって新しいゲームルールを読むことは、複雑なゲームのプレイ方法を学ぶ過程のほんの一部に過ぎずほとんどの時間できれば同等のスキルを持つプレイヤー(または、私たちの弱点を暴くのに十分忍耐強い、より優れたプレイヤーと対戦してゲームをプレイすることに費やされます頻繁にゲームに負けて勝つことを望むと、心理的なペナルティと報酬が生じることがありますがこれにより、徐々にゲームが上手にプレイできるようになります。

おそらく、近い将来、 AI言語モデルはチェスのような複雑なゲームのルールを読み取り、最初から可能な限り最高レベルでプレイできるようになるでしょうその間、私より穏やかな形の挑戦つまり自己プレイを通して学ぶことを提案します。

この実践的なプロジェクトでは、以前のバージョンのゲームの結果を観察することで、完全な情報を使用して 2 人のプレーヤーのゲームをプレイすることを学習できるAIアシスタントをトレーニングしますAI アシスタントは、このゲーム状態(ゲーム予想される結果) のあらゆる数値を近似する役割を担います追加の課題として、複雑なゲームではこのアプローチは管理できないため、 AI アシスタント状態空間のルックアップ テーブルを維持できません。

SumTo100ゲームを解く

ゲームのルールの紹介

これから説明するゲームは SumTo100 です。このゲームの目的は、 1から 10までの数字を足し合計が 100 になることです。このゲームで従うルールは次のとおりです:

  1. 合計を0初期化します
  2. 最初のプレイヤーを選びます。2人のプレイヤーが交代でプレイします。
  3. 合計が100未満の場合:
  • プレイヤーは 1 から 10 までの数字を選択します。選択した数字は合計に加算されますが、100 を超えることはありません。
  • 合計が 100未満の場合、他のプレイヤーがプレイします (つまり、ステップ3最初に戻ります)。
  1. 最後の数字を足したプレイヤー(100 に到達したプレイヤー)が勝ちます。

2匹のカタツムリが自分のことに集中している写真は著者によるものでOpenAIが発表した第2世代の画像生成AIモデルDALL-E2基づく

このようなシンプルなゲームから始めることにしたのは、このアプローチには多くの利点があるからです

  • 状態空間には 101 個の可能な値しかありません。
  • これらの状態は 1D グリッド上にプロットできます。この特性により、 AI アシスタントが学習した状態値関数を1D 棒グラフとして簡単に表現できるようになります
  • 最適な戦略はわかっています: - 合計は11n+1です。ここでn∈{0,1,2,…,9}ですゲームにおける最適な戦略の状態値を簡単視覚できます

図1: SumTo100ゲームの最適な状態値(著者独自の画像)

この図では、ゲームの状態はAI アシスタントがターンを完了した後の合計です値 1.0 は AI アシスタントが確実に勝つ (またはすでに勝っている) ことを意味します-1.0AIアシスタントが確実に負ける (対戦相手が最善を尽くすと仮定) ことを意味しますその間推定報酬を表しますたとえば、状態値が 0.2 の場合はわずかにプラスの状態を示し、状態値が -0.8 の場合は損失の可能性があることを示します。

コードを詳しく調べたい場合はトレーニングプロセス全体を実行するスクリプトはarn_sumTo100.sh であり、対応するオープン ソース リポジトリ アドレスは https://github.com/sebastiengilbert73/tutorial_learnbyplay です。これが不必要だと感じるなら、我慢してください。次に、AI アシスタントがセルフプレイを通じてどのように学習するかを詳しく説明します

ランダムなプレイヤーがプレイするゲームを生成する

私たちは、 AI アシスタントゲームの以前のバージョンから学習してもらいたいと思っていますただしこのゲームの最初の反復ではAI アシスタントがまだ何も学習していないためランダムなプレイヤーがプレイするゲームをシミュレートする必要があります。各ターンプレイヤーはゲーム管理ライブラリ(ゲーム ルールを記述するクラス) から現在のゲーム状態に対する合法的なアクションのリストを取得しますランダムプレイヤーこのリストからランダムに動きを選択します。

図 2 は、ランダムに選ばれた 2 人のプレイヤーがゲームをプレイしている例を示しています

図2: ランダムプレイヤーがプレイするゲームの例(著者撮影)

この場合、2 番目のプレイヤーが合計 100 に到達してゲームに勝利します。

ここで、ゲームの状態(アシスタントがゲームをプレイした後)を入力として受け取り、そのゲームの期待報酬を出力するニューラル ネットワークにアクセスできるAI アシスタントを実装してみましょ。任意の状態(アシスタントがゲームをプレイする前)に対して、アシスタントに有効なアクションとそれに対応する候補状態のリストが与えられます(決定論的な遷移を持つゲームのみを考慮します)。

図3はAIアシスタント、対戦相手(その移動選択メカニズムは不明 、およびゲーム状態管理ライブラリ間の相互作用を示しています。

図3: AIアシスタント、対戦相手、ゲーム管理ライブラリ間の相互作用(著者イメージ)

この設定では、 AI アシスタントはリカレント ニューラル ネットワークを利用して、ゲーム状態の期待報酬値を予測します。ニューラル ネットワークがどの候補の動きが最高の報酬を生み出すかを予測できるほどアシスタントの仕事精度は向上します

ランダムプレイのリストは、最初のトレーニング実行のためのデータセットを提供します。図 2 のゲーム例では、負けにつながる行動に対してプレイヤー 1 を罰したいと考えています。最後のアクションでは、対戦相手が勝利するため、状態値は -1.0 になります。その他の状態は γᵈ の係数マイナスに割引されますここで、dはアシスタント到達した最後の状態に対する距離です。γ割引係数で、ゲームの進化における不確実性を捉える[0, 1]範囲数値です。つまり、初期の決定に対して最後の決定ほど厳しくペナルティを課したくありません。図4は、プレイヤー1の決定に関連する状態値を示しています。

図4:プレイヤー1から見た状態値の一覧(著者独自イメージ)

ランダム ゲームは、目標の期待報酬を持つ状態を生成します。たとえば、合計が 97 の場合目標期待収益は -1.0 となり、合計が 73 の場合、目標期待収益は -γ³となります状態の半分はプレイヤー 1 の視点からであり、残りの半分はプレイヤー 2 の視点からである (ただし、これは SumTo100 ゲームではそれほど重要ではありません)。ゲームがAI アシスタントの勝利終了すると、対応する状態は同様に割引された正の値を受け取ります。

ゲームの結果を予測するAIエージェントのトレーニング

これで、トレーニングを開始するために必要なものがすべて揃いました。ニューラル ネットワーク (2 層パーセプトロンを使用) と(状態、期待される報酬) ペアのデータセットです。次に、期待収益を予測する際の損失がどのように変化するかを見てみましょう

図5: トレーニングラウンドにおける損失値の変化(著者独自の画像)

ニューラル ネットワークが、ゲームをプレイするランダムなプレイヤーの結果に対して、あまり予測力を示さなかったことに驚くべきではありません。

それで、ニューラル ネットワークは何を学習したのでしょうか?

幸いなことに、状態は 0 から 100 までの数字の 1D グリッドとして表すことができるため最初のトレーニング ラウンドの後にニューラル ネットワークの予測リターンをプロットし、図 1 の最良の状態値と比較することができます。

図6: ランダムプレイヤーがプレイしたゲームのデータセットでトレーニングした後の予測リターン(著者画像)

上記の事実は、ランダム ゲームの混沌とし​​た状態で動作することにより、ニューラル ネットワークが次の 2 つのことを学習したことを証明しています

  • 100 に到達できるなら、それを実行してください。それがゲームの目的であることを考えると、それは知っておいてよかったです。
  • 99 に達すると、確実に負けます。実際、この場合、対戦相手には有効な動きが 1 つしかなく、この動きはAI アシスタントの負けにつながりますこの時点で、ニューラル ネットワークは基本的にゲームを完了することを学習しました。
    より上手にプレイする方法を学ぶには、新しくトレーニングされたニューラル ネットワークを使用してAI アシスタントのコピー間でゲームをシミュレートし、データセットを再構築する必要がありました。同じゲームが生成されないように、プレイヤーは少しランダムにプレイします。うまく機能するアプローチの 1 つは、各プレイヤーの最初のアクションに ε=0.5 を使用し、ゲームの残りの部分で ε=0.1 を使用して、ε-greedy アルゴリズムを使用してアクションを選択することです。

より優れた選手たちとトレーニングサイクルを繰り返す

両方のプレイヤーは100 に到達しなければならないことがわかっているので、対戦相手がゲームに勝つチャンスに飛びつくため、合計が 90 から 99 に達するとペナルティが課せられることになります。この現象は、2 回目のトレーニング後の予測状態値に現れています。

図7: 2回のトレーニング後の予測状態値: 90から99までの合計は-1に近い値を示しています(著者による画像)

パターンが浮かび上がってきます。最初のトレーニング ラウンドでは、ニューラル ネットワークに最後の動きを通知し、2 回目のトレーニング ラウンドでは、最後から 2 番目の動きを通知する、というように続きます。ゲーム生成と予測トレーニングのサイクルを、ゲーム内のアクション数だけ繰り返す必要があります

次の図は、25 ラウンドのトレーニング後の予測状態値の変化を示しています

図8: トレーニング中に学習した状態値のスナップショット(著者独自の画像)

ゲームの終わりから始まりに向かって進むにつれて、予測されるリターンのエンベロープインジケーターの値は指数関数的に減少します。これは問題でしょうか?

この現象を引き起こす要因は 2 つあります。

  • ゲームの終わりに近づくにつれて、γ はターゲットの期待収益を直接的に減少させます。
  • ε-greedy アルゴリズムはプレイヤーの行動にランダム性を導入し、結果を予測することをより困難にします。損失が極端に大きくなる状況を防ぐために、ゼロに近い値を予測するインセンティブがあります。ただし、ニューラル ネットワークに単一のゲームを学習させたくないため、ランダム性が望まれます。ニューラル ネットワークには、 AI アシスタントと対戦相手の両方のミスと予想外の良い動きの両方を目撃してもらいたいと考えています。

実際の状況、少なくとも SumTo100 ゲームでは、特定の状態における有効なアクションの値を比較しているため、これは問題にならないはずです。貪欲を使用してを移動すること選択した場合のサイズは重要ではありません。

結論は

本論文では、 2 人のプレイヤーが関与する完全情報ゲームをマスターすることを学習しアクション与えられたとき1 つの状態から次の状態への決定論的な遷移を達成できるAI アシスタント開発するという、私たち自身の課題に成功しました実装中は、手動でコーディングされた戦略や戦術は許可さすべてを自分でプレイして学習する必要がありました。

AI アシスタント複数のコピーを実行し生成されたゲームの期待収益を予測するリカレント ニューラル ネットワークトレーニングすることで、SumTo100 という単純なゲームを解くことができます

最終的に、この実験から得られた教訓はより複雑なゲームを研究するための基盤となりましたが、それは次の記事のテーマになります

翻訳者紹介

Zhu Xianzhong 氏は、51CTO のコミュニティ エディターであり、51CTO の専門ブロガー兼講師であり、濰坊の大学のコンピューター教師であり、フリーランス プログラミング コミュニティのベテランです。

原題:セルフプレイを通じてシンプルなゲームをマスターするエージェントのトレーニング、著者: Sébastien Gilbert


<<:  GitHub: プログラマーはAIプログラミングを積極的に使用しており、JavaScript言語は依然として最も人気がある

>>: 

ブログ    
ブログ    
ブログ    

推薦する

ロボットと自動化技術は、パンデミックの新たな常態の中でどのように新しい雇用を生み出すのでしょうか?

AI テクノロジーと自動化ソリューションは、仕事を奪う諸悪の根源なのでしょうか、それとも新しいプラ...

スタートアップにハイエンド AI を実装するにはどうすればよいでしょうか?

【51CTO.comオリジナル記事】 [[193891]] 人工知能は、1956 年のダートマス会...

...

...

研究者:AIは将来「感情」を持つことが期待されており、関連する医療ハードウェア産業の発展に役立つ可能性がある

著名なAI研究者のジェフリー・ヒントン氏は、Googleを退職後、人工知能関連産業の研究に専念してい...

調査によると、人工知能ソフトウェア市場は2025年までに370億ドルに達すると予想されている。

Forrester は、2025 年までの市場規模をより現実的に把握するために、AI ソフトウェア...

「三銃士」グループは、鉱業の諜報活動への発展を促進するためにデビューしました

我が国は鉱物資源が豊富な国であり、石炭、金属、その他の鉱物の生産地が非常に多く、我が国の鉱業開発は常...

...

脳も学習を強化しています! 「価値判断」は脳によって効率的にコード化され、ニューロンに公開される

[[437266]]私たち一人ひとりは、人生において、「今夜何を食べるか」「明日はどこに遊びに行くか...

...

Googleは、携帯電話で0.2秒で画像を生成できる超高速拡散モデルMobileDiffusionを開発、現在最速

Stable Diffusionなどの大規模なAIモデルを携帯電話などのモバイルデバイスで実行するこ...

...

...

...