機械学習周りのプログラミング中心。 イベント情報
ポケモンバトルAI本電子書籍通販中

汎用行動選択モデルの3vs3対応 part07 強化学習中の対戦相手【PokéAI】

今回も強化学習の改善を目指します。ポケモンバトルの強化学習の特徴的な要素として、バトル開始時にエージェントに操作すべきパーティが割り当てられるという点があります。バトルごとに異なるパーティが割り当てられ、相手のパーティとの関係性により有利不利がある程度決まっています。つまり、パーティの組み合わせによって、いくら最善の行動を選択したとしても勝てない相手と当たったり、また戦力差が大きすぎて適当に行動していても勝ってしまったりする場合が考えられます。強化学習では適切な行動を選択した場合に高い報酬が得られ、そうでない場合に低い報酬が得られるという枠組みによってエージェントがより適切な行動を選択できるように学習していきます。そのため、どんな行動を選んでも結果が変わらない、また相手にかかわらず同じ行動を選び続けても結果が変わらないという状況は強化学習に悪影響を及ぼすと考えられます。事前に結果を述べると、今回の提案手法はあまりうまくいきませんでした。

現在の学習システムでは、学習対象となる1000パーティから毎回ランダムに2パーティを選択し、エージェントに操作させて対戦させます。パーティ選択の結果、次のような組み合わせになる場合もあり得ます。

パーティ1

ラプラス,55,,すてみタックル,れいとうビーム,なみのり,ずつき
エレブー,50,,かみなりパンチ,はかいこうせん,れいとうパンチ,かみなり
キングドラ,50,,どくどく,すてみタックル,なみのり,とっしん

パーティ2

バタフリー,55,,かげぶんしん,どくのこな,はかいこうせん,ギガドレイン
ギャラドス,50,,すなあらし,ロケットずつき,かげぶんしん,ふぶき
アリアドス,50,,ギガドレイン,ナイトヘッド,サイケこうせん,サイコキネシス

このような組み合わせだと、ポケモン自体の強さや技構成に差がありすぎて、パーティ1はれいとうビームを連打するだけで勝ち、パーティ2は何をしても負けという状況になってしまいます。より強化学習の効果を高めるためには、強さが均衡しているパーティ同士を対戦させ、行動によって勝敗に影響が生じるべきであると考えられます。 このアイデアを実現するため、学習中の勝敗に基づきパーティのレートを計算し、そのレートが近いもの同士を対戦させる手法を提案します。より具体的には、次のようなアルゴリズムになります。

  1. 全パーティにレート1500を割り当てる。
  2. 各パーティのレート+乱数(正規分布(平均0, 標準偏差200))をソートし、隣接するパーティ同士を1回ずつ対戦させる。
  3. 対戦結果に応じ、各パーティのレートを変動させ、2.に戻る。勝ったパーティのレートが上昇、負けたパーティのレートが下降。

なお、強さは同程度だがタイプ相性上一方的な展開になるような組み合わせについては回避できません。また、学習中はエージェントの行動にランダム探索が入っているため、緻密な行動が必要となるパーティのレートが低く見積もられることに注意が必要です。

学習中にパーティに割り当てられたレートの例(最大最小5パーティずつ)を表示します。レートの数値の下にパーティ構成が書かれます。

1976.1585539549626
スイクン,55,,バブルこうせん,どろかけ,おんがえし,たきのぼり
ライコウ,50,,いわくだき,10まんボルト,どろかけ,スピードスター
ブースター,50,,すてみタックル,どくどく,のしかかり,でんじほう
1907.6473566568743
フリーザー,50,,おんがえし,すてみタックル,れいとうビーム,かげぶんしん
レアコイル,50,,どくどく,スピードスター,でんじほう,かみなり
サンダース,55,,かげぶんしん,ずつき,どろかけ,かみなり
1899.8400806585537
カビゴン,55,,のしかかり,じしん,どろかけ,いわくだき
ギャラドス,50,,れいとうビーム,バブルこうせん,ふぶき,なみのり
ファイヤー,50,,すてみタックル,どろかけ,はがねのつばさ,ゴッドバード
1889.6782005805987
サンダース,55,,10まんボルト,ロケットずつき,のしかかり,おんがえし
オドシシ,50,,サイコキネシス,ずつき,スピードスター,どろかけ
プテラ,50,,どくどく,じしん,そらをとぶ,げんしのちから
1881.7262223082878
ラプラス,55,,すてみタックル,れいとうビーム,なみのり,ずつき
エレブー,50,,かみなりパンチ,はかいこうせん,れいとうパンチ,かみなり
キングドラ,50,,どくどく,すてみタックル,なみのり,とっしん
941.2403493021229
バタフリー,55,,かげぶんしん,どくのこな,はかいこうせん,ギガドレイン
ギャラドス,50,,すなあらし,ロケットずつき,かげぶんしん,ふぶき
アリアドス,50,,ギガドレイン,ナイトヘッド,サイケこうせん,サイコキネシス
1037.789914338687
ウソッキー,50,,かみなりパンチ,ほのおのパンチ,かげぶんしん,ばくれつパンチ
ハピナス,55,,どくどく,ソーラービーム,すなあらし,バブルこうせん
ダグトリオ,50,,げんしのちから,どくどく,いわくだき,どろかけ
1074.775682922385
ヨルノズク,50,,はかいこうせん,スピードスター,どろかけ,つばさでうつ
カモネギ,55,,ロケットずつき,スピードスター,かげぶんしん,どくどく
フシギバナ,50,,すてみタックル,かげぶんしん,ずつき,ロケットずつき
1074.9070024754321
パラセクト,55,,どくどく,どくのこな,ロケットずつき,とっしん
キレイハナ,50,,どくのこな,はかいこうせん,どくどく,ソーラービーム
エレブー,50,,はかいこうせん,おんがえし,のしかかり,サイコキネシス
1082.91523438976
フシギバナ,50,,かげぶんしん,どろかけ,いあいぎり,とっしん
ヨルノズク,55,,はがねのつばさ,スピードスター,どくどく,かげぶんしん
ラッタ,50,,かみなり,ふぶき,すてみタックル,いわくだき

定性的に見て、妥当な序列になっているように見えます。

提案手法で学習したモデル(id: 5ab)を従来手法(id: 78e)とレーティングバトルで比較しました。学習に用いたパーティ群と同じパーティ群で対戦しています。

手法 平均レート
提案 1504
従来 1496

残念ながら、わずかな差しかありませんでした。後日別記事で書きますが、この手法で得られたモデルのQ値がパーティ生成に使いにくいというのもあり、しばらくはこの手法は使わないで行こうと思います。