自己対戦

Self-Play

自己対戦とは

自己対戦(Self-Play)とは、強化学習エージェントが自分自身のコピーや過去のバージョンと対戦することで方策を改善する学習手法です。対戦相手を別途用意する必要がなく、エージェント自身が常に適切な難易度の相手となるため、効率的に強くなれるという利点があります。

自己対戦の仕組み

エージェントは自分自身のコピーと対戦し、その結果を報酬として方策を更新します。方策が改善されると対戦相手のレベルも自動的に上がるため、カリキュラム学習的な効果が自然に生じます。AlphaGoやAlphaZeroなどではこの手法が驚くべき成果を上げました。

過去バージョンとの対戦

単純に最新の自分と対戦するだけでは、特定の戦略に過度に特化してしまうリスクがあります。過去のバージョンのプールから対戦相手をランダムに選ぶ手法(PFSP: Prioritized Fictitious Self-Play)は、多様な戦略への対応能力を維持するために有効です。

自己対戦の応用

囲碁、チェス、将棋などのボードゲーム、StarCraftやDota 2などのビデオゲーム、さらにはロボット格闘技やカード戦略ゲームなど、対戦型のタスクで広く応用されています。OpenAI Fiveはチーム対戦でも自己対戦が有効であることを示しました。