モデルの強化学習におけるバトル数は、1vs1の時のパラメータを引き継いで10万に設定していました。3vs3ではそもそもバトル1回あたりのターン数が違うこと、学習すべき行動がより複雑であることから、この値が適切なのかどうか検証しました。
バトル数を10万より長くするにあたり、エージェントがランダムに行動する確率の減衰後の下限を新たにパラメータとして加えました。ステップ数に対するランダム行動率は、減衰率を用いてと定義します。今回、に設定しました。この場合、およそ50万ステップでが下限になります。なおバトル1回あたりの1エージェントの行動回数は平均20回程度で、バトルに参加する2プレイヤー両方の行動を学習サンプルとして用いるので、40ステップ分になります。すなわち1.25万バトルで下限に達するということです。
10000バトルごとにモデルを保存するようにして、50万バトルまで学習を進めてみました。
モデルIDは78e
で、学習率は従来通り1e-5です。
バトル数1万、3万、10万、30万、50万の時点のモデルをレーティングバトルで比較しました。ランダムは弱すぎて細かい差を測るのに邪魔になると考えて外しました。
学習バトル数 | 平均レート |
---|---|
10000 | 1449 |
30000 | 1496 |
100000 | 1510 |
300000 | 1528 |
500000 | 1517 |
結果として、1万から10万にかけては大きな改善が見られる一方、それ以上は伸びが弱く、30万から50万にかけてはむしろ弱くなっています。 実験時間としては、10万バトルで24時間程度かかります。むやみに伸ばすのはコストのわりにメリットが少ないようなので、10万バトルを今後も標準のパラメータとして使おうと思います。