将棋プログラムは、人から学ばないほうが強くなる
—— 将棋プログラムにディープラーニングを導入するのは最新の動きだと思うのですが、そもそも将棋プログラムというのはどういうふうに強くなってきたのかということを、改めて教えていただけますか。
山本一成(以下、山本) ええとですね、太古の昔……正確に言うと1970年代半ばから、将棋というゲームをプログラムしてコンピュータで指そうという試みが始まりました。で、みんな最初は一生懸命、将棋のルールをプログラムしたわけです。
—— 「歩」という駒は、前に一つだけ進めるよ、とか。
山本 そうそう。それに加えて、いわゆるゲームとして定められたルールだけでなく、例えば「王将の横に金がいるのはいいかたち」とか、人間が将棋を指すときに「こうしたら勝てる」と考えていることを点数化して、その点数が最大になるように調整していったんですね。
—— 昔の将棋ソフトって、弱かったですよね。アマチュアの級位者レベルだったと記憶しています。
山本 そう、人間がプログラムするだけでは、将棋の指し方を記述しきれなかったんです。つまり、「将棋を指す」ことは人間が意識化できていたことよりも複雑だったため、その行為を人間が手動で全部入力することはできなかった。少し脱線しますが、今の人工知能というのはそういう「記述しきれないこと」が課題ですよね。人間がルールを明文化できないような難しい問題、あるいはとても計算問題に見えないような問題を、どう扱うか。そうして将棋ソフトの強さが頭打ちになった時代を経て、2005年に出てきたのが「Bonanza(ボナンザ)」という将棋ソフトでした。
—— 山本さんの「ponanza(ポナンザ)」の名前の由来にもなっている、伝説的なソフトですね。ボナンザが画期的だったのは、「機械学習」を用いたことですよね。
山本 はい。将棋プログラムというのは、先の手を読む「探索」と、局面の良し悪しを判断する「評価」で成り立っているのですが、その評価の部分を人間がプログラムすることを諦め、コンピュータ自身が評価関数を作れるようにした。つまり、どんなパラメータを調整したら強くなるのか、それ自体をコンピュータが決めるようになったのです。やったことは、ざっくり言うと、プロが指した手の後の局面は良い局面、指さなかった手の後は悪い局面と、約6万局の棋譜をもとに比較させた。このとき、なぜこの手がよかったのかということは教えません。とにかくプロが指した手はいい局面、それ以外は悪い局面、と判断できるように学習させたんです。
—— そうしたら、飛躍的に強くなった。
山本 ここで、プロ棋士を倒せるかも、くらいの強さになりました。そうして今度、将棋ソフトたちは、「強化学習」を始めました。これが、2014年くらい。ポナンザの強さも明らかに成長が鈍化していて、なにか新しい技術を導入しなければと思っていた頃でした。強化学習で何が変わったのかというと、もうプロ棋士の指した手をお手本にすることはなくなったのです。
—— 『人工知能はどのようにして「名人」を超えたのか?』にあった、「守破離」の「破」や「離」の段階にきたんですね。師匠を離れて、自分の指し方を模索し始めた。
山本 この方向に進むのが、絶対正しいですよね。強化学習でやったのは、プロの指した手を手本にするのではなく、何手か読み進めてみて、勝率が上がるのかどうかを調べ、その結果が「事前の評価よりよかった」もしくは「事前の評価より悪かった」という情報をフィードバックして、評価の部分の精度を上げていくという繰り返しです。こうしたら、人間の指し手を教師にしていたときよりもずっと強くなりました。そして、どんどん新戦法が生まれてきたんです
—— 教科学習では、コンピュータが自分で試行錯誤して学習していくわけですね。
山本 そうです。コンピュータは、速度が速いし寝なくていいから、人間にはとても試せない膨大な量の手を、ひたすら検証し続けることが可能なんですね。
将棋も囲碁も、人間では理解できない領域に達しつつある
—— あと、これは対局している時の話なんですが、人間は「危ない手」って指さないですよね。つまり、「ちゃんと調べるといい手かもしれないけど、間違っていたら一気に形勢がわるくなるかも」という手のことです。でもコンピュータは、そういう手をよく指しますよね。羽生さんは「コンピュータには『恐れ』がない」と表現していましたが。
山本 そうですね。コンピュータ将棋によって、プロの定跡もだいぶ変わってきたと思います。たとえば、ポナンザがよく指す「左美濃急戦」という戦法のおかげで、「矢倉」という将棋の古くからある形が減りました。でも、この前5年前のバージョンのポナンザと最新のポナンザを対戦させてみたら、5年前のはまだ矢倉を指すんですよ。
—— その頃はまだ、プロ棋士の棋譜をお手本にしてたから。
山本 そうなんです。ポナンザも変化し続けていることを改めて実感しました。あとは、序盤で角を交換する戦い方で、4八金(後手なら6二金)、2九飛車(後手なら8一飛車)とするかたちがいいということが、コンピュータの指し手でわかってきたんですよね。もともと人間は長年、5二の位置に金、2八の位置に飛車を配置していたんですけど、今思うとこれってなんのためにやってたんだろう……?
cakesは定額読み放題のコンテンツ配信サイトです。簡単なお手続きで、サイト内のすべての記事を読むことができます。cakesには他にも以下のような記事があります。