人工知能はどのようにして 「名人」を超えたのか?―――最強の将棋AIポナンザの開発者が教える機械学習・深層学習・強化学習の本質

発刊
2017年5月11日
ページ数
288ページ
読了目安
303分
推薦ポイント 4P
Amazonで購入する

Amazonで購入する

人類はこれから、プロ棋士と同じ経験をする
現役の将棋名人を超えたコンピュタ将棋「ポナンザ」の開発者が、将棋コンピュータがどのような仕組みで強くなっていったかを紹介しながら、人工知能の仕組みを解説している一冊。

プロ棋士の対局を記憶するだけでは勝てない

コンピュータは、多様な機能を持つように見えるが、本質的にできることは「簡単な計算」と「記憶」の2つだけである。この特徴を持つコンピュータは、将棋というゲームにどう立ち向かえばよいのか。

記録として残っている、すべてのプロ棋士の対局を覚えれば強くなれる訳ではない。プロ棋士の対局の経過をすべて覚えることは、10年前のコンピュータにとっても難しいことではなかった。しかし、どれだけ過去の棋譜を記憶しても、コンピュータは将棋で人間に勝てなかった。

いくら過去の場面を覚えたとしても、将棋のような複雑なゲームでは、対局する中で必ず未知の場面が出てくる。そうなると、いくら記憶力があっても役に立たない。その場に即した適切な判断ができる知能が必要である。

将棋を指すプログラムの仕組み

コンピュータ将棋に限らず、知的な行動は、おおよそ次の2つの行為を駆使している。

①探索
未来を正しくエミュレートできること。主観や価値判断を加えずに物事を推測することを意味する。

将棋の展開の予想は「簡単な計算」の積み重ねでできるようになる。その結果、コンピュータは未来を正しく予想しようと膨大な局面を探索する。しかし、探索ができても、コンピュータ将棋は弱いままである。将棋のありえる局面の数は、10の226乗にもなり、コンピュータにも探索しきれないからである。

②評価
正しく評価ができるなら、より評価の高いものだけを優先して探索することができる。

私たちは常日頃から、探索と評価を繰り返している。知的活動のほとんどは、こういったことの積み重ねである。

評価の仕組みの作り方

10年以上前のプログラムでは、コンピュータの評価方法はすべて人の手で作られていた。すべての駒に、その価値を1つ1つ手動で点数をつけていた。これだけでも1000個ほどの調整する項目が出てくる。調整は、プログラマがコンピュータ将棋の試合内容を見て行う。こうした調整はプログラマの勘の部分が大きかった。そして、1000項目程度の調整では、将棋の複雑さを表現しきることはできなかった。

このような値の調整をコンピュータに自動的に調整してもらう試みから、機械学習という手法が生まれた。機械自信が評価の値を調整するようになることで、従来の人間には不可能だった大量の値を調整することが可能になった。

コンピュータ将棋は、そもそも将棋の局面を「どのように計算すればいいのか」わからなかったから人間に勝てなかった。将棋は論理的に局面の良し悪しを述べることが難しい。そのためコンピュータが自分自身で将棋の知識を獲得しない限り、決して将棋の名人を打ち破ることはできない。そのために必要なものが「機械学習」だった。

人間では理解できない進化

プロの棋譜は現在5万局ほどの蓄積がある。このデータから、コンピュータはプロ棋士がある場面でどの手を指したかを知る。しかし、コンピュータにとって、5万の棋譜だけでは教師としては足りないという問題があった。そこで、コンピュータが投機的に調べて、結果をフィードバックして学習させる強化学習を導入した。

新しい改良を考えたら、それを適用したものと以前のバージョンを3000試合ほど自動で対戦させ、勝率が52%以上の場合は新しい改良を採用する。将棋の内容は個別に見ることはなく、統計処理をして計測する。そのため、改良がどう有効に働いたのかは全然わからない。たまたまうまくいった改良をかき集めているのが実情である。こうした積み重ねで、今まで1兆程度の局面を調べている。