強化学習 は、環境内でのエージェントの相互作用に対する報酬または罰に基づいて、エージェントに行動を教える方法です。強化学習では、エージェントが環境内で一連のアクションをたどり、エージェントのパフォーマンスに基づいて報酬 (または罰) がエージェントに与えられ、その報酬/罰に基づいてエージェントが取る行動が変更されることを思い出してください。
ソリティアのような、環境に対する 1 つのエージェントのゲームを考えてみましょう。エージェントは環境に対して何度も「対戦」することができ、環境を変更 (難易度の変更、ランダム化など) して、エージェントの特定のトレーニングをターゲットにすることができます。AIアリーナのような、複数のプレイヤーが参加する対戦型ゲームについてはどうでしょうか?
対戦相手を環境の一部としてコード化し、その対戦相手に対してエージェントを実行することができます。 たとえば、ルールベースのファイターを作成し、そのファイターに対して 強化学習エージェントをトレーニングすることができます。しかし、この方法には限界があります。理由はいくつかありますが、主なものは次の3つです。
エージェントのトレーニングに合わせて、自動的に変化するダイナミックな対戦相手を作成する方法は存在するのでしょうか?
はい、あります!エージェントを自分自身に対して訓練するのはどうでしょうか?
セルフプレイとは、その名の通り、強化学習トレーニングでエージェントを自分自身と対戦させることです。セルフプレイでは、あなたのエージェントは複製され、両方のエージェントが互いに対戦します。エージェントは、シミュレーションごとに交互に更新されます。
このようにして、あなたのエージェントは、戦略が変化し、エージェントのスキルレベルに近いダイナミックな相手とマッチングすることになります。時間が経つにつれて、あなたのエージェントは新しい、もしかしたら「超人的」な戦略を発見するかもしれません。
<aside> ⬅️ 戻る
</aside>
<aside> ➡️ 次のページ
</aside>