人工知能はどのようにして「名人」を超えたのか?

人工知能はどのようにして「名人」を超えたのか? 山本一成 2017年05月 ダイヤモンド社
 

AI将棋ソフトは2005年、保木邦仁さんが開発した Bonanza の登場により画期的に進化する。プロの棋譜から学び、評価関数を自動生成する「機械学習」を取り入れ、以降ボナンザ・メソッドとして多くの将棋ソフトに取り入れられた。
 
この本の著者山本一成さんのAI将棋プログラム Ponanza も最初はボナンザ・メソッドを使った。そして2014年以降、コンピュターが自分で局面を進め、その結果を評価するという「強化学習」を取り入れ、さらに2017年、Ponanza は将棋で初めて実用レベルの「ディープラーニング」を取り入れることに成功したという。
 
Bonanza に関して、この本では触れられていないので、このあたりは基本知識として押さえておきたい。技術的なことはさておき
 


 
 
 

1/9
コンピュターができることは2つだけです。1つは「とても簡単な計算」です。足し算、引き算、掛け算、割り算、それと同じようなレベルの計算をコンピュータは恐ろしい速さで計算します。そしてもう1つは「覚える」ことです。「簡単な計算」と「記憶」。この2つ以外のことはできせん。
 
 

コンピュータ将棋に限らず、知的な行動はおおよそ2つの行為を駆使しています。それは「探索」と「評価」です。ほぼすべての知的な活動は、「探索」と「評価」のうち少なくともどちらか一方、あるいは両方である、という事ができます。
 
 

生物には、なぜ知能が備わっているのでしょうか。進化論の観点から言えば、長い年月をかけて生物が知能を発達させた理由は、生存に有利だからでしょう。知能が生存に有利な理由は、知能が「未来を予想する」ことができる能力だからです。
 
 

では未来を予想するためにどうすればいいでしょうか。その方法はいくつかあるのですが、ダイレクトな解決策は、未来をエミュレートすることです。このエミュレートとは「主観や価値判断を加えずに物事を推理する」という意味だと理解して下さい。
 
 
 
 

2
たとえば「1」が2つあったあとき、1+1=2 1-1=0 1×1=1 1/1=1 となることを計算していくのは、主観や価値判断を加えずに物事を推測していると言えます。これと同様に、現在の状況が今後どう変わるかを機械的に推測することをエミュレートすると言います。
 
 

知能を支える「探索」とは、未来を正しくエミュレートできることを意味します。コンピュータ将棋でも、人工知能の世界でも、未来を正しくエミュレートすることを「探索」といい、人間の指す将棋においては、それを「読む」といいます。
 
 

将棋のすべての展開を探索しきることはできない。それでは将棋プログラムはどのようにして次の一手を決定するのでしょか。そう、何かしらの目星をつけながら探索すればいい。その、「目星をつける」というのが、知恵を支える行為の一つ、「評価」なのです。
 
 

探索=エミュレート、探索+評価=シミュレート、と理解していただいて大丈夫です。エミュレートは機械的で正しさ優先の予想の方法でしたが、シミュレートは「評価」によって何を探索すべきか目星をつけますからより深く調べることができます。但し、間違う可能性は一気に高くなります。 
 
 
 
 

3(機械学習)
今まで計算不可能だった問題を計算可能にするのが、人工知能における課題なのだとも言えます。コンピュータと人間がその性能を争っている分野というのは、つい最近まで計算不可能と思われていた問題が計算可能な問題になっている途中なのです。
 
 

プロが指した手の局面は、プロが指さなかった他の手よりもよいものであると、コンピュータに「機械学習」させます。プロの棋譜は現在5万局ほどの蓄積がありますが、これはすべてデジタル化されています。このデジタル化された棋譜のデータから、コンピュータはプロ棋士がある場面でどの手を指したかを知るわけです。
 
 

このデジタル化された棋譜のデータから、コンピュータはプロ棋士がある場面でどの手を指したかを知るわけです。プロが指した正解の局面と、プロが指さなかった不正解の局面を比べて、どういった要素が異なっているかを計算します。
 
 

たとえば、プロ棋士がある局面で駒Aと駒Bが取れる状況で、駒Aを取ったとします。その場合は駒Aの値をより大きく、駒Bの値をより小さく調整すれば、コンピュータはプロと同じ手が指せるようになりそうです。
 
 
 
 

4
ポナンザは機械学習の導入以降、驚くほど強くなります。私が書いたプログラムには、将棋の戦法や相手陣への攻撃方法、自陣の防御方法につての情報はありません。もちろん将棋の基本的なルール、つまり駒の動かし方は記述しました。どのように「探索」するかの部分もほぼすべて私がプログラムを書き上げています。
 
 

しかし、「評価」に関する部分はすべて機械学習によってコンピュータ自身で調整されています。私はどのように評価を学習すればいいか、つまり学習そのものでなくメタ学習について記述するのみです。
 
 

機械学習を導入以降、それまでとても知的とは思えなかったポナンザに変化が訪れました。もちろん強くなったのですが、それだけでなく「知性」すら感じるようになりました。のちに、ポナンザやほかのコンピュータ将棋と戦ったプロ棋士たちも、まるでコンピュータに意思や感性があるような発言をするようになります。
 
 

そしてポナンザを作り始めて2年ほど経った日でようか、とうとう私は負けてしまいました。前述のとおり、私の強さはアマチュア五段です。相当強いです。その私が負けました。これほど悔しさ、そしてそれをはるかに上回る喜びを味わったことはありません。ポナンザは私の子供で、そして私を超えたのです。
 
 
 
 

5(強化学習)
2014年ポナンザは壁にぶつかっていました。そうした苦しみのなかで、ついに導入に成功したのが「強化学習」という手法でした。強化学習はこの本でお伝えしたいポイントの中でも、少し説明が難しいものですが、「守破離」という言葉がヒントになると気づきました。
 
 

「守」は、師や流派の教え、型、技を忠実に守り、確実に身につける段階。「破」は、他の師や流派の教えについても考え、よいものを取り入れ、心技を発展させる段階。「離」は一つの流派から離れ、独自の新しいものを生み出し確立させる段階、とデジタル大辞典では説明されています。
 
 

2014年以前、ポナンザを含めた将棋プログラムにおける機械学習は、基本的にすべて「教師あり学習」と呼ばれるものでした。しかし、「教師あり学習」以外にも学習方法があります。それが「強化学習」です。人間も人工知能も「教師あり学習」と「強化学習」の両方で学習しています。
 
 

「強化学習」はお手本(プロが指した手)を使わず、実際にありそうな局面を6手~8手進めてみて、その結果がよかったのか悪かったのか(勝利につながったのか)を調べ、その結果が「事前の評価よりよかった」もしくは「事前の評価より悪かったという情報をフィードバックして「評価」を微調整します。
 
 
 
 

6
一辺が2cm、面積4c㎡の正方形の中に、ピッタリ入る直径2cmの円を描きます。そして上からランダムに100個の「点」を打って、78個が円の中に打った点だったとします。となると、正方形の面積の78%、3.12c㎡がおおよその円の面積だとわかります。こうしたランダムを使って何かを推定する方法を「モンテカルロ法」といいます。
 
 

囲碁にモンテカルロ法を適用するには、どうすればよいでしょう。その原理は驚くほど簡単です。ある局面でランダムに石を打ち、その結果、勝ったか負けたかの情報を収集していけばいいのです。
 
 

たとえば、(碁盤の)A地点に碁石を打ったあと、てきとうに局面を進めるということを1000回試してみます。そうしたら600回勝って、400回負けたとします。これは勝率60%です。
 
 

次に、先ほどと同じ局面で、B地点に碁石を打つのを1000回試してみたら、300回勝って700回負けたとします。この場合の勝率は30%です。この結果を見れば、ほぼ確実にAに打ったほうがいいことがわかります。
 
 

ちなみに、数学では鮮やかな解法のことを「エレガントな解法」といいます。一方、モンテカルロ法のようにコンピュータを使う力まかせの解法を「エレファントな解法」といったりします。ゾウのように力強い解法ということです。
 
 
 
 

7
アルファ碁も、部分的にはモンテカルロ囲碁をベースにしていました。そのうえで、コンピュータ囲碁界で当時流行りはじめていたディープラーニングを積極的に使っていたのです。
 
 

ディープラーニングで画像を処理するとき、いろいろなシナリオが考えられますが、最も多いシナリオの一つがRGBで入力することです。RGBをそれぞれの画像、つまり赤だけ抜き出した画像、緑さげ抜き出した画像、青だけ抜き出した場像と3枚に分けて読み込ませます。
 
 

囲碁を画像としてディープラーニングするには、どうすればよいか。囲碁でも、RGBのように画像を重要な要素に分解すればよいのです。それが「黒の石のところだけ光っている画像」「白の石のところだけ光っている画像」「空白のところだけ光っている画像」の3つです。アルファ碁は、それ以外にも入力する画面を用意しましたが、この3枚の画像が重要です。
 
 

具体的には、プロ棋士による実際の曲面をこの3つ画像に分解してディープラーニングに読み込ませ、教師あり学習をさせます。その結果、未知の局面でもプロが次に打つであろう石の場所を出力できるようになっています(ディ―プラーニング版打ち手予測)。
 
 
 
 

8
多数のバージョンの(ディ―プラーニング版)打ち手予測機が生み出され、そのバージョン同士を組み合わせた対局が3000万回ほど行なわれたと言われています。その対局結果から、今度は試合の勝敗を予測する「勝敗予測機」の作成を始めました。この勝敗予測機は、今まで繰り返しお話ししてきた「評価」に相当します。
 
 

「モンテカルロ法」と「ディ―プラーニング版打ち手予測機」、そして「ディープラーニング版評価」。この3つの武器を組み合わせることでアルファ碁は今までの囲碁プログラムを圧倒するほどの途方もない力を手に入れました。
 
 

この仕組みを知ったとき、私はすごく嬉しかったです。囲碁盤を評価することに、ついに人類は成功したのですから。
 
 
 
 

9
(人工知能は)将棋や囲碁の例と同じく、プログラマが人間社会の常識を書ききることはできません。膨大なデータさえあればルールを無視して学習できる、ディープラーニングによって人間を模倣することになるでしょう。
 
 

本書で私は、「人工知能は私たちの子どもである」と何度か言ってきました。これは比喩ではありません。人工知能は、私たちを模倣したのちに、自立して賢くなっていくわけです。(略)人工知能は、インターネット上のすべての文章や、現存しているすべての本を読むことになるでしょう。
 
 

おそらく、人類が「いい人」であれば、人工知能はシンギュラリティを迎えたあとも、敬意をもって私たちを扱ってくれるでしょう。尊敬と愛情を感じる親であれば、年老いたあとも子供が寄り添ってくれるように。未来の人間と人工知能が、そのような関係になることを私は、心から祈っています。