私はポナンザを作り始めて3年ほどで、将棋ソフトの世界でトップレベルになることができました。2013年には将棋電王トーナメントで1位を獲得します。すでにお話ししたように、この年に将棋ソフトとして初めてプロ棋士に勝利することもできました。
しかし2014年は、世界コンピュータ選手権と将棋電王トーナメントで、ともに準優勝に終わります。
図3-3 ポナンザの成績
ポナンザは壁にぶつかっていたのです。明らかに成長の速度が遅くなり、歯がゆい思いをします。このままではほかのソフトにどんどん追い抜かれてしまう……。どうすれば、もっと強くなるか。悩みの日々が続きます。
そうした苦しみのなかで、ついに導入に成功したのが「強化学習」という手法でした。
強化学習は、この連載でお伝えしたいポイントのなかでも、少し説明が難しいものです。どう解説すべきか悩んだのですが、「守破離」という言葉がヒントになると気づきました。
守破離とは、剣道や茶道などで、修業における段階を示したものです。
「守」は、師や流派の教え、型、技を忠実に守り、確実に身につける段階。「破」は、ほかの師や流派の教えについても考え、よいものを取り入れ、心技を発展させる段階。「離」は、1つの流派から離れ、独自の新しいものを生み出し確立させる段階。と、デジタル大辞泉では説明されています。
ピアニストの例で考えてみましょう。 どんなに才能があったとしても、最初はやはりある先生について、その指示のとおり学習(練習)をするのが上達への近道ですよね。そして、うまくなるにつれてほかの先生からもレッスンを受けてみたり、いろいろな教本を読んだりするはずです。
しかし、世界最高のピアニストを目指すなら、先生の言うことを聞くだけ、教本を読むだけでは絶対にダメですよね。自分で考え、試行錯誤し、先生や本の教えから離れる必要があります。そうしなければ、先人を超えることはできません。
この「守破離」は、すべての知能が物事を習得する際に共通してたどるルートだと考えています。
ポナンザの将棋も上達も、その例に漏れません。ポナンザはプロ棋士の指し手を機械学習し、とても強くなりました。それだけでも十分プロレベルに達しており、実際にプロ棋士に勝つことができました。
しかしこれは、プロの考えをコンピュータ上で再構成して、高速で再生産しているだけでした。「守破離」で言えば、まだ「守」の段階だったのです。
このままでは真の意味で人間を超えた世界一にはなれません。「破り」「離れる」ためには、それまでの機械学習に加えて、強化学習の導入が必要だったのです。
強化学習とは何か
2014年以前、ポナンザを含めた将棋プログラムにおける機械学習は、基本的にすべて「教師あり学習」と呼ばれるものでした。しかし「教師あり学習」以外にも学習方法があります。それが「強化学習」です。
図3-4 2つの学習法
人間も人工知能も「教師あり学習」と「強化学習」の両方で学習している。
人工知能に限らず人を含む知能全般の学習手法は、おおむねこの2つと言ってよいでしょう。そのため、コンセプト自体は心理学などの分野でずっと昔からありました。
ポイントは、「教師あり学習」がその名のとおり、お手本となる教師を必要とするのに対し、「強化学習」は教師を必要としないということです。
強化学習では、未知の環境であってもコンピュータが投機的に調べて、結果をフィードバックすることで学習していくのです。
フィードバックによって「評価」が「強化」されるから、強化学習と言うんですね。
図3-5 強化学習のイメージ
フィードバックを繰り返すのがポイント。
強化学習の導入によって、ポナンザはどのように変わったのでしょうか。
将棋における「評価」とは、指し手を進めていったときに、局面がよくなるのか悪くなるのかを予言するようなものでした(第3回参照)。
2014年以前のポナンザは、プロ棋士が実際に指した手をお手本として教師あり学習をし、その評価の精度を向上させていたのです。
強化学習の導入以後は、そうしたお手本がなくなり、実際にあり得そうな局面を6~8手進めてみて、その結果がよかったのか悪かったのか(実際に勝利につながったのか)、出してみるようになりました。
そしてさらに、出た結果が「事前の評価よりもよかった」or「事前の評価よりも悪かった」という情報をフィードバックして、評価の部分を微調整するのです。
実際には、この結果を80億ほど集めることで、ポナンザは以前より少しだけ、未来を予言する力が強くなります。そしてそのバージョンアップしたポナンザを使って、さらに同じ操作をしていきます。
そうした作業の積み重ねで、ポナンザは今まででおよそ1兆程度の局面を調べているはずです。
コンピュータ将棋の世界では、この学習方法を「雑巾絞り」と読んでいます。膨大なコンピュータリソースと労力を割いても、ほんのわずかずつしか強さが向上しないからです。
ポナンザの場合は、合計で300コアになるマシン数台を何か月も動かし続けて、少しずつ少しずつ強くしていきました。このやり方ですと、電気代も毎月、数十万円以上かかります(これはもちろん個人ではまかなえませんので、さくらインターネットさんの支援を受けています)。
人工知能の開発は、もはやそのレベルのリソースがなければ、勝負の場に立つことも難しいのです。
第2期電王戦のお知らせ
4月1日にポナンザが電王戦で対局します!
山本一成さんの開発した「ポナンザ」が第2期電王戦にて佐藤天羽叡王(第74期名人)と1対1の二番勝負で激突! ニコニコ完全生放送。第1局は4月1日(土)AM9:30番組開始、10:00対局開始です。詳しくはこちらをご覧ください。