イベント
将棋AIはどのようにしてプロ棋士を凌駕したのか? そしてこれからどこへ行くのか?[CEDEC 2024]
弁護士である杉村氏は,藤井聡太七冠も使用する将棋AI「水匠」の開発者であり,多数の将棋AI世界大会での優勝経験を持つ。開発者としては「たややん」名義のほうが知られているかもしれない。
やねうらお氏は,オープンソース将棋AIのデファクトスタンダードとなっている「やねうら王」の開発者。水匠を含む近年の将棋AIの多くは,やねうら王を何らかの形で使用している。
杉村達也氏(左)とやねうらお氏(右) |
セッションは,やねうら王公式チャンネルのキャラクター,正木わかるが登場する動画を交えて進行した |
将棋AIの誕生と進化
まずは,将棋AIの誕生から,プロ棋士に勝利するまでの道のりが紹介された。
世界最初の将棋AIは,1974年に当時大学院生で,現在はコンピュータ将棋協会副会長で早稲田大学名誉教授の滝澤武信氏が開発したとされている。
初期の将棋AIは,簡素な「評価関数」と,主に「Minimax法」などの探索アルゴリズムが組み合わされたものだった。
評価関数とは,将棋の局面(盤面+手番+それまでの手順を合わせた情報)を数値化した「評価値」を出すもの。もっともシンプルなところでは,先手側の駒ひとつにつき+1,後手側の駒ひとつにつき−1といったものになり,そこから大駒(飛車や角)や,盤上でいい働きをしている駒はその価値を高くするといった感じで手が加えられていく。
Minimax法は,評価関数が出す評価値を参照して,数手先までのルートごとの評価を調べていくものだが,総当たり的なものでは効率が悪いので,評価を行う局面を絞り込む「αβ探索」がMinimax法を改良する形で誕生。さらに,αβ探索と併用できるさまざまな“枝刈り”のアイデアが導入されていった。
枝刈りの例としては,相手の王を詰ませる手を見つけると,そこに近い手を優先的に評価する「キラームーブ」などがあるという。
評価関数と探索アルゴリズムは,将棋AIにとっての「車の両輪」に相当するものだ。
初期の将棋AIでは,評価関数のパラメータが人間の手で調整されていた。駒の種類や盤上での働きなどに加え,王の守りの堅さ(そばに金や銀がいる,退路が用意されている)といった要素まで含めて設定し,基準となるソフトと対戦させては微調整を繰り返すといった作業になったため,「評価関数作りは職人技」と言われることもあったという。
だが,進化を続ける中で評価関数は複雑になり,人間の手に負えるものではなくなっていった。そんなときに登場したのが,保木邦仁氏開発の「Bonanza」だった。Bonanzaは「各盤面の判断となる評価関数が,強い棋士が実際に指した手と同じになるようなパラメータを探索する」という「ボナンザメソッド」を用いて,パラメータを人間の棋譜から自動的に調整することを可能にしていた。
将棋AIはその後も進化を続け,2013年の公式対局で「ponanza」がプロ棋士の佐藤慎一四段に勝利した。このponanzaも,αβ探索と,機械学習による評価関数パラメーターの調整を行っていたとのこと。
なお,将棋における合法手(ルールに違反せず指せる手)は平均して80手とのことなので,総当たりすると1手先なら80通り,2手先なら80×80で6400通りについての評価を出すことになる。だがBonanzaの平均分岐数(1手につき評価する数)は序盤で3,終盤で5程度まで減った。そして最新AIの平均分岐数は2で,30手先まで評価しているという。
将棋AIの現在
ここでは,将棋AIが人間を超えた2013年から現在に至るまでに大きなインパクトがあった10の出来事が取り上げられた。
●強化学習
Bonanzaはプロ棋士の棋譜から学習を行っていたが,その数は3万程度しか存在しておらず,Bonanzaが持っているパラメータの数に比べて圧倒的に少なかった。
また,将棋AIがプロ棋士より強くなってからはプロ棋士の棋譜を使う意味も小さくなったため,開発者たちは将棋AIの対局によって生成した棋譜を学習させるようになった。
●将棋AIの大会
1990年から毎年開催されていた世界コンピュータ将棋選手権に加えて,将棋電王トーナメント(2013年〜2017年),世界将棋AI電竜戦(2021年〜)などが開催されるように。高額賞金は開発者の大きなモチベーションになった。
●やねうら王オープンソース化
やねうら王は2015年にGitHubで公開され,オープンソース化された。多くの将棋AIが,評価関数と探索部が一体化したような構造になっていた中,やねうら王は高度にモジュール化されていたため,評価関数を差し替えたり,探索部を差し替えたりといった形で多くの開発者に利用されるようになった。
●Stockfishの進化
「Stockfish」はオープンソースのチェスAIで,開発者コミュニティの参加者が非常に多く,1つの小さな改良に数万回の検証が行われているという。ゲームが違うとはいえ,探索部は将棋にも応用できる部分が多く,Stockfishの進化は将棋AIの進化にもつながった。
●NNUE(ぬえ)評価関数
「NNUE」はCPUのみで高速に差分計算ができる評価関数で,2018年に登場した。Bonanzaで使われていた三駒関係という評価関数に代わって,以降の主流となった。
●AlphaZero
「AlphaZero」は2017年にGoogle DeepMindが開発した囲碁,将棋,チェス用AI。本格的にディープラーニングを利用しており,それまでの主流だったαβ法に代わって「モンテカルロ木探索」を採用していることも特徴となっている。
AlphaZeroの論文を参考に作られた将棋AIとしては「dlshogi」「AobaZero」「ふかうら王」などがあり,現在の将棋AIの大会では,AlphaZero型と従来型(αβ法)の双方が活躍している。
●nnue-pytorch
「nnue-pytorch」はGPUを用いたNNUEの機械学習を実現し,学習にかかる時間を大幅に短縮した。これが原動力となって,作者の野田久順氏は,2024年5月開催の世界コンピュータ将棋選手権で優勝した。
●強い将棋ソフトの創り方
「強い将棋ソフトの創り方」はdlshogiの開発者である山岡忠夫氏の著書。ディープラーニング系将棋AIの開発について書かれており,ここに書かれている知識だけでプロ棋士より強い将棋AIが作れてしまうとのこと。
●良質な教師データの公開
強い将棋ソフトの創り方を書いた山岡氏や,このセッションで登壇している杉村(たややん)氏が,教師データ(学習用のデータ)を公開した。将棋AIの強化学習は,教師データ作成にかかるコストのほうが学習のコストより高い。そのため,この公開で参入のハードルが一気に下がったそうだ。
杉村氏は,「自分だけが持っていても活用できない場合はあるので,それなら誰かに使ってもらって『データを使いましたよ』と言ってくれたほうがいい」と理由を話した。
●SNSの台頭
2013年ごろの将棋AI開発者は大学の研究者などが多く,SNSを利用していない人が多かったとのこと。やねうら王のオープンソース化以降,新たにこの分野へ入ってくる人が増えて世代交代が進み,現在ではXやDiscordで開発者間の交流が盛んになっている。
レーティングで見る将棋AI強化の歴史
将棋AIの強さを表すものとして,「イロレーティング」が使われる。これはもともとチェスの実力を表すために考案された指標で,数学的にも裏付けがあるものだ。
プロ棋士も利用する日本将棋連盟公式のオンライン将棋対戦サイト「将棋倶楽部24」だと,人間の限界は3000〜3300くらい,アマチュア初段だと1000くらいになるとのことだが,2005年のBonanzaのレーティングは2360だった。
2009年にBonanza対渡辺 明竜王の対局が行われたときは,渡辺竜王が「あわや敗北か」という状況を乗り越えて勝利したのだが,このときのBonanzaのレーティングは2815。人間の限界に近い強さの渡辺竜王だからこその勝利だったことがうかがえる。
2013年の「Gikou」は3713と,人間の限界とされる3300に400以上の差を付けた。400の差は,「9割超の確率で勝利できる」というものだそうだ。そして2024年の世界コンピュータ将棋選手権で優勝した「お前、CSA会員にならねーか?」は4914と,人間を遙かに超えた強さになっている。
重要なのは,これが一般的なノートPCを使い,5秒程度の思考時間で対戦させてのレーティングだということ。杉村氏は,スーパーコンピューターのようなものを使えば,7000ぐらいになってもおかしくないと話した。
ここまで進化した将棋AIは,プロアマを問わず,幅広い棋士に利用されている。自分が指した将棋をAIに解析させて,どの手が悪かったかを検証したり,対局で予想される局面を解析させて,その局面の最善手を検討したりといった形で使われることが多いそうだ。
将棋AIの未来
未来の話として,「世界最強の将棋AIをどうやって開発するのか」が語られた。
現在の将棋AIは,αβ探索を用いる従来型の「NNUE型」と,本格的にディープラーニングを用いる「DL型」に大別できる。
そして,それぞれの代表的な存在であるやねうら王とdlshogiはともにソースコードが公開されているので,何か1つの改良を加えることで,世界最強の将棋AIが誕生する可能性は大いにあるとのこと。
では,ここから改善できそうなところは何なのか? それが以下の5つだ。
●評価関数の改良
現状のNNUE型はCPUによる計算を行う関係上,評価関数の精度と探索できる局面数がトレードオフの関係にあり,調整が非常に難しくなっているという。かといってGPU計算はαβ探索と相性が悪いとのことだ。
一方のDL型の多くで使用されている評価関数のResNetは,ChatGPTなどの言語モデルで使われているtransformerのattentionの仕組みを導入すると強くなることが分かっており,機械学習分野の知見が生かせそうとのことだ。
●教師データの調整
NNUE型の将棋AIは,大会スペックのマシンだと1秒間に1億局面以上を探索しているが,局面の評価精度はさほど高くないため,相対的に序盤より終盤のほうが強くなるという。そのため,NNUE型将棋AIの学習では,序盤の局面に集中したほうがいいとされる傾向があるそうだ。
一方で,序盤の32手目ぐらいまでは定跡(過去の研究から導き出された最善とされる指し方)で進行することが多いため,そこの学習を省いても問題ないという考え方もある。
また,現在の大会では振り飛車が有効な戦術とされていないため,そこを省く手もあるそうだ。
●定跡の自動生成
定跡を手作業で編集するには限界があるため,上位チームは自動生成に挑戦している。だが,精度の高い定跡を作るには将棋AIを1局面で長時間動かす必要があるため,こちらも効率はよくない。
グラフ理論やゲーム木探索に詳しい人は,大量の定跡を生成できる可能性があるそうだ。
●探索部の改良
NNUE型はチェスAIのStockfishの探索部を参考にしているが,それと同じように,ほかのAIで成功している探索のアイデアを将棋AIに持ってくることで,強化が実現できる可能性があるとのこと。
●計算資源の確保
計算資源とは簡単に言えばコンピュータのこと。近年は教師データ作成に必要なコンピュータを個人では確保できず,大手企業のスポンサーがつくケースが増えている。大量の教師データを作成できれば,それだけで世界最強になれる可能性もあるそうだ。
やねうら王オープンソース化以降の将棋AIは,開発者がワンアイデアを出し合って進化してきた。現在も,今回紹介された5つの改善点すべてではなく,1つに手を入れるだけで世界最強になれるチャンスはあるそうだ。
セッションの内容は以上だが,最後に聴講者から質問があった。それは「運の要素がない将棋には必勝法があると思うが,いつかそこに到達できるか?」というもの。
杉村氏は,将棋は「二人零和有限確定完全情報ゲーム」であり,必勝法もしくは必ず引き分けにする方法があるとされているとしつつも,非常に選択肢が多いため到達するのは難しく,仮に必勝法が確定してもデータとして保存する手段がないのではと回答した。
「CEDEC 2024」公式サイト
4Gamer「CEDEC 2024」記事一覧
- この記事のURL: