DeepmindがarXivで発表したチェスで探索なしでグランドマスターレベルに達したTransformerベースモデルに関する論文「Grandmaster-Level Chess Without Search」を読んだ際のメモ。
概要
- 標準的なTransformerのデコーダを教師あり学習することで探索なしでチェスのグランドマスターレベルに達した
- Lichessの1,000万対局の棋譜を使用
- 行動価値を学習する
- 棋譜の各局面について全合法手を展開した局面に対してStockfish 16で50ミリ秒探索して、行動価値を学習するための訓練データを作成
- 行動価値(勝率)を128個のビンに分け、クラス分類問題として学習する
- 2億7,000 万のパラメーターのTransformerモデルを使用
結果
- Lichessの早指し(blitz)戦で、対人間でグランドマスターレベル(2895 Elo)に達した
- 対AIエンジンでは、2299 Eloと低い値になった(対AIでは1手のミスの影響が大きいためと分析している)
詳細
データ
- Lichess (lichess.org) から2023年2月の1,000 万対局をダウンロード
- 全合法手を展開した局面の状態価値を、Stockfish 16 を使用して50ミリ秒探索して推定
- 50ミリ秒の探索は、Lichessのblitzで2713 Eloに相当する
- 訓練に使用する1,532億の行動価値を推定するデータが得られる
- テストデータとして、別の月(2023年3月)の1,000対局を使用
- テストデータには、序盤は訓練データと重複する14.7%の局面が含まれるが、分布が歪むため除かない
ビン
- 行動価値を128のビンに分割してクラス分類問題として学習する
モデル
トークン化
訓練
- 学習率 1e-4 のAdam を使用
- 交差エントロピー損失を使用
- バッチサイズ4096
- 1,000万ステップ学習(2.67 エポックに相当)
- Polyak averagingを使用
予測ターゲット
- 行動価値の予測以外に、状態価値の予測、動作クリーニングをするモデルを学習して比較した
評価
以下の指標で評価する
- 指し手の一致率(Action-accuracy)
- テストセット全体の平均 Kendall 順位相関 (Kendall の 𝜏)
- パズルの精度: Lichessの10,000 個のパズルを使用
- 強さ(Elo)
結果
表1に結果が整理されている。
- モデルが大きいほどスコアは一貫して向上
- 対人間でグランドマスターレベル(2895 Elo)
- Lichessでボットと対戦すると Elo が低下
パズル
- 270MのモデルがStockfish 16に次いで精度が高い
- AlphaZero、GPT-3.5-turbo-instructは精度が大幅に低い
- パズルを解くには正しい手順が必要にも拘わらず貪欲なポリシーで正解している
比較実験
予測ターゲット
- 3つの予測ターゲットを比較すると、行動価値のEloが高かった
- 状態価値、動作クリーニングと比較して、全合法を展開して訓練データを作成しているためデータ数が不公平
- データ数を公平にすると、状態価値のEloが最も高く、行動価値もほぼ同じ
- 予測ターゲットよりも、データセットサイズに起因している
- 動作クリーニングは最善手1手のみを学習している情報量が少なくなった結果と考えられる(確率分布にすることで改善する可能性あり)
層の深さ
- Transformerの層の深さは、パラメータ数を同一とした場合、深くするほど精度があがるが、8で飽和
データ サンプラー
- 訓練データで重複局面を削除した方が精度が大幅に向上
- データの多様性が重要
ビニング
- ビンの数が多いほどパフォーマンスが向上する
- 指し手の一致率では128が一番精度が高い
損失関数
- スカラー回帰問題として扱うより分類問題として学習した方が、指し手一致率、Kendallの𝜏で精度が高い
- パズルはわずかに低くなった
考察
勝てる局面での優柔不断さ
- 行動価値をビンで学習している最高の勝率のビンにある手はランダムで選択される
- それにより勝てる局面を長引かせる傾向がある
対人間と対ボットでのElo
- 対人間と比較して、対ボットでEloが低下する
- 原因は、人間は諦める傾向があることと、Lichessで人間vsボットの対戦数の少なさに起因していること、対ボットでは1つのミスで大きなペナルティになることが考えられる
限界
- Stockfish 16との差は完全に埋められない(一つの要因は千日手を認識しないこと)
- 行動価値はすべての合法手を考慮するため1手探索ではないか(次の状態への遷移はしないため「探索なし」と主張する)
- ポリシーの決定的な性質により搾取される可能性がある
定性的評価
- 駒を頻繁に犠牲にする、攻撃的で進取的なスタイル
- 対戦相手に難しい決断をさせるような動きを好む
- 人間の分析者の感想:「通常のエンジンをプレイするよりも楽しい」、「絶望的に打ちのめされているだけではないように感じる」
- 多くの局面でStockfish と一致する。不一致の局面ではStockfish が正しいことが観測された
結論
感想
探索なしでグランドマスターレベルに達したという結果については、将棋AIでもdlshogiのポリシーのみでも十分な強さがあることからそれほど驚きはない。
それよりも、大規模な比較実験の結果からいろいろな示唆が得られる論文だと思った。
訓練データの重複データを削除すると大幅に精度が上がるという結果については、dlshogiの実験でも同一局面の出力を平均化するということを行っており、効果があることを確認していた。
チェスにおいてもデータの多様性が重要という結果が得られたことで、その裏付けとなったと思う。
指し手のみを学習するより、すべての合法手の行動価値を学習する方が精度が向上するという結果については、モデルを蒸留する際の示唆が得られた。
指し手を学習(最善手のみ)や蒸留元のモデルの出力を学習するよりも、全合法手を展開して状態価値から分布を学習する方が情報量が増えて精度が向上するということがわかる。
これは、モデル蒸留で方策を学習する際にも効果的な手法になりそうである。
モデルのパラメータサイズについて、学習データが十分であれば、学習データを増やさなくてもモデルサイズが大きいほどよいという結果は、モデルサイズに応じて学習データを増やす必要があるという認識だったので、少し意外であった。
大規模な実験をしないと分からない結果なので、参考になった。
Transformerモデルの入力のトークン化、層数、ポジショナルエンコーダの方法について、以前に将棋AIでTransformerモデルを学習した際に、それほど精度が上がらなかったので、Transformerモデルを使用する際の参考になる。