判断の論理が棋譜に溶け込んでいた
機械学習が導入される前は、パラメータの調整の手段は、将棋が強い人による人手のチューニングが主であった。これでもある程度までは強くなるが、パラメータ数が多い問題ではチューニングした本人と同じ手を指すようにするのも、かなり難しいのである。
理由はいくつかあるが、人間が手を選ぶのに本人が自覚している以上の判断材料を使っていることや、考慮できていない盤面があることなどが挙げられる。このことを評価関数の文脈で言うと、パラメータ数の不足、パラメータ調整の不足や不整合といったことになる。
この頃のパラメータ数はおよそ500パラメータだったと言われており、それを人手でチューニングしてアマチュア有段者レベルまで到達させたというのは驚くべきことであるが、パラメータ不足を補うためにパラメータ数を増やすほど、調整が難しくなるという問題は避けることができず、伸びしろという点についてはあまり楽観視できなかった。
これを解決し、ブレイクスルーを起こしたのが機械学習によるチューニングである。
機械学習を行うには、問題設定とデータが必要である。この例における「データ」とは、プロ棋士の過去の対局の記録である「棋譜」で、およそ6万局がデータベース化されている。問題設定は、プロが指した手を正解として、あらゆる盤面に対して、その盤面の正解手の評価値が最も高くなるようなパラメータをコンピュータを使って求めるということである。
これらのデータをもとに最適なパラメータを学習していくのであるが、自動調整の強みでパラメータ数はかなり増やすことができる。今日の将棋の人工知能は、駒の位置関係の組み合わせをそれぞれ別々の変数として取り出すなどし、およそ1億ものパラメータを用いている。この結果、プロ棋士を相手に互角の戦いを繰り広げるようになったということは冒頭で述べた。
さて、この例を「データ活用」という観点で振り返ってみたい。当たり前のことを言うようだが、この例における成功の要因の1つは、棋譜というデータがあったことである。棋譜は、プロ棋士の判断材料(盤面の状態)と判断結果(指した手)が紐づいた形で記録されたデータとみなすこともできる。
データの持つ価値とはこの場合、プロ棋士の判断の論理がデータに溶け込んでおり、適切な細かさで記録されていることである。そして、データの価値を機械学習によって引き出した結果、プロ棋士と同じような判断のできる人工知能を作ることができたということである(プロ棋士の判断の論理を解き明かしたわけではないということは、本題ではないが、留意に値する)。