山本一成『人工知能はどのようにして「名人」を超えたのか?――最強の将棋AIポナンザの開発者が教える機械学習・深層学習・強化学習の本質』(ダイヤモンド社)

写真拡大

公式戦29連勝という新記録をつくった将棋の最年少プロ棋士・藤井聡太四段。その強さの源は「人工知能(AI)」を研究に取り入れたからだといわれる。佐藤天彦名人に2連勝した将棋ソフト「ポナンザ」の開発者・山本一成氏は「ポナンザが強くなる理由はもはや人間には説明できない」と語る。開発者たちは仕組みがわからないことから、人工知能を「黒魔術」と呼ぶことがあるという。これから人間は「黒魔術」を使いこなせるのだろうか――。

※以下は山本一成『人工知能はどのようにして「名人」を超えたのか?――最強の将棋AIポナンザの開発者が教える機械学習・深層学習・強化学習の本質』(ダイヤモンド社)の第2章「黒魔術とディープラーニング」からの抜粋です。

■「黒魔術」の影響力が強くなってきている

理由がわからないのに強くなる。人工知能という現代科学の最前線で、なぜそんなことが起きているのか。これからはその説明をしていきましょう。

突然ですが、皆さんは「黒魔術」という言葉をご存知でしょうか。おとぎ話やファンタジーの世界で、魔女が不思議な薬を作るときに使われるような魔法のことです。ぐつぐつと煮えたつ大鍋の前に立ち、意味不明な呪文とともに材料を投げ入れると、煙とともに目的の妙薬ができる……そんなシーンをアニメ作品で観たことがある人も多いと思います。

驚かれるかもしれませんが、この「黒魔術」は機械学習の世界でもスラングとして定着しており、どうやって生まれたのか、あるいはなぜ効果が出るのかわからない技術の総称となっているのです。

当然ながら、人工知能を研究する学問分野である情報科学は、もともと論理や数学が支配する世界でした。理由や理屈がすべてを説明できる世界だったということですね。しかし、現代の情報科学では(とりわけ人工知能の分野では)、だんだんと黒魔術の影響力が強くなってきています。

■「プログラムの理由や理屈がわからない」

黒魔術の影響は、当然ポナンザにも及んでいます。ポナンザは私が開発したプログラムなので、細部まできちんと考えて作っています。しかも私は、将棋プログラムという狭い領域のことなら、世界でもトップレベルによく理解しています。

それでも、ポナンザにはたくさんの黒魔術が組み込まれており、すでに理由や理屈はかなりの部分でわからなくなっています。

「プログラムの理由や理屈がわからない」とは、たとえばプログラムに埋め込まれている数値がどうしてその数値でいいのか、あるいはどうしてその組み合わせが有効なのか、真の意味で理解していないということです。せいぜい、経験的あるいは実験的に有効だったとわかっている程度です。

もう少し具体的に説明してみましょう。

現在のポナンザの改良方法は、なんらかの新しい改良を考えたら、それを適用したポナンザと以前のバージョンのポナンザを3000試合ほど自動で対戦させるというものです。このとき、新しいポナンザの勝率が52%以上の場合は新しい改良が採用されるという方針をとっています。

私が3000試合の将棋の内容を個別に見ることはなく、統計処理をして計測しています。正確には、将棋の内容を吟味しようにも対局の勝因や敗因がわからないので、吟味できません。すでにポナンザの棋力は、私のレベルをはるかに上回っているからです。

しかも、「改良した作業」とポナンザが「強くなったこと」が、将棋のプレイヤーとしての感覚からは大きく乖離していて、理詰めではその差を縮めることができません。うまくいった改良がどこでどう有効に働いたのか、全然わからないのです。

■「改良」の成功率は2%以下

加えてこういった改良の成功率は、今までの経験則によると2%以下です。なんらかの改良をしても、強くなることが確認できるのは100回に2回もないということですね。

そんなわけで、現在のポナンザの改良作業は、真っ暗闇のなか、勘を頼りに作業しているのとほとんど変わりがありません。これは絶対うまくいく、と思った改良が成功しないことは日常茶飯事で、たまたまうまくいった改良をかき集めている、というのが実情です。そのため、たまたまうまくいった改良は、私から見るとますます黒魔術のように見えるのです。

■黒魔術の1つ「怠惰な並列化」

なぜかうまくいった改良=黒魔術の具体例を1つ紹介しておきましょう。「怠惰な並列化」というものです。これは私が発見したものではありませんが、将棋・チェスのAI開発の界隈では有名な事象で、ポナンザもこれを取り入れることで格段に強くなった重要な黒魔術です。

そのために、まずは近年のCPU事情について解説したいと思います。少しだけ専門的になりますが、ご容赦ください。

皆さん、CPUという単語は聞いたことがあると思います。CPU は「セントラル・プロセッシング・ユニット」(Central Processing Unit)の略で「中央処理装置」という意味です。その名のとおり、PC全体の処理や計算をおこなう「頭脳」の部分ですから、その良し悪しがPCの性能に直結することになります。

ちょっと昔まで、CPUはものすごい速度で進化していました。18か月が経過すればCPU内のトランジスタ(網の目状の集積回路)の数は倍になり、性能が向上するという研究開発の流れが続いていたのです。ソフトウェアはその流れに乗っかるだけで、同じコードでも勝手に高速に動くようになるという状態でした。

ちなみに、将棋AIにおいて、コンピュータの処理速度は決定的に重要です。2倍速度が違えば、同じソフト同士でも7〜8割の勝率で勝てるようになりますから、コンピュータ将棋の開発者も、ちょっと前まではフリーランチ(タダ飯)=ラクをしていても強くなれる状況でした。

しかしインテルなどのCPUベンダーの巨人たちは、10年前くらいにそれまでの延長線上でのCPUの開発に、ある程度見切りをつけました。性能の向上を支える集積回路の微細化に、技術的な限界が近づいてきたからです。

そこで生み出されたのが、「マルチコア化」という技術でした。これは言うなれば、1つのCPUに2つ以上の脳みそ(コア)を乗せるようなものです。その後、従来と同じコアが1つだけのCPUはシングルコア、2つのCPUはデュアルコア、4つのものはクアッドコアと呼ばれるようになります。

■「シェフ」が多すぎると効率が落ちる

マルチコアの何がすごいかというと、これまで1つの脳みそで処理していたことを2つ以上の脳みそで処理できるということです。これを「並列処理」といいます。

並列処理が大幅な性能の向上をもたらすことは、直感的にイメージできるのではないでしょうか。実際、一部のプログラム、ソフトウェアはその恩恵をこうむりました。

しかし、です。将棋プログラムについては、最近まで並列処理による効率化は思ったほど効果を発揮しませんでした。その理由の詳細はここでは説明しませんが、将棋の手の探索という作業においては、通常の「複数のコアが協力して1つの処理をする」という形での並列化が、あまりうまくいかなかったのです。

レストランの調理場にたとえれば、通常の並列化は、複数のシェフが協力して1つの料理を作ろうとするものです。これはたしかに速く料理ができそうですよね。

ただし、それもシェフの人数次第です。

1人前の料理を2人のシェフが協力して作るなら問題ありません。実際、将棋プログラムでも2コアでの並列処理のときは非常に効率よく探索できます。でもシェフが、8人、16人、あるいは64人になったらどうでしょうか? ここまでくると、むしろどんどん効率が悪くなりそうですよね。そもそもキッチンが人であふれかえってしまいます。

実際に将棋プログラムでも、ある程度のコア数以上での並列処理は、性能の向上が極端にしにくくなります。下手をすると、並列処理をしたせいで性能が劣化したりもしていたのです。

■適当によい情報を共有し合う

ところが、ここ3年くらいで新しい探索方法が生まれました。正確には昔からあった方法が見直されたというのが正しいかもしれません。それが「怠惰な並列化」です。

この手法はとても単純で、ものすごく簡単にいえば「複数のコアがバラバラに1つの処理をする」形での並列化なのです。怠惰な並列化は、複数のシェフが別々に競い合って、1つの料理を作ろうとするものです。そしていちばん速くできた料理をお客様に提供します。

もちろんまったく独立で作るわけではありません。各コアは別々に作業するのですが、各コアがたまたま発見できたよい情報は全体で共有されます。このへんのゆるい協力関係を「怠惰」と表現しているのだと思います。

この「適当によい情報を共有し合う方法」がなぜうまくいくのか。いろいろな説明が考えられます。でも、その理由を完璧に説明することは専門家にも容易ではありません。あえて説明をするなら、「実験してみたらうまくいった」くらいでしょうか。まったく説明になってないともいえますが、ある意味ではこれ以上の真実はないのです!

以上がポナンザと黒魔術のお話でしたが、ここではっきりとお伝えしておきたいのは、私が黒魔術を嫌っていたり、ポナンザが黒魔術化することを恐れているわけではないということです。

なぜならポナンザは、私よりもはるかに強い将棋のプロ棋士たちを相手に戦うために設計されているからです。今の人工知能というものはプログラマの直感や予想された性能を逸脱することが求められています。だからポナンザは私の理解の及ばない範囲にいてくれなければならないのです。

■ディープラーニングでAIは急速に発展する

いま人工知能ブームが到来しています。このブームの立役者は間違いなく機械学習です。それまでの「人が機械に教え込む」という作業では限界があったのを、機械学習によって、機械自身が知識を獲得するようになったことが大きな転換点でした。

皆さんが普通に使っているインターネットにおける検索も機械学習の結果です。写真を撮るときに顔を認識してくれる機能もやはり機械学習の力です。もはや機械学習は一部のIT企業、製造業において、なくてはならないものになっています。現代において、人工知能と機械学習はかなり近い意味を指すようにもなっているのです。

そして機械学習の分野では、ここ数年で大きなブレイクスルーが何度もありました。その中心にあったのが、「深層学習(ディープラーニング)」です。

グーグル傘下のディープマインド社が作った囲碁プログラム「アルファ碁」が世界トップクラスの囲碁棋士、イ・セドルを破ったことは、皆さんの記憶にも新しいところだと思います。アルファ碁は当時のほかのコンピュータ囲碁プログラムのレベルをはるかに超える力を持っていました。その力の源泉には、機械学習の一手法であるディープラーニングが大きく関係していたのです。

今や、世界のコンピュータ科学者たちがディープラーニングの研究に没頭しており、毎日のように新しい技術や手法が発表されています。正直なところ、私自身も今のディープラーニングの進化を全部フォローすることは、とてもじゃないけれどできない状態です。

おそらく人工知能ブームは、ディープラーニングの潜在能力の限界に到達するまで継続するでしょう。そして今のところ、その潜在能力がどれくらいあるかはよくわかっていないのです。

----------

山本一成(やまもと・いっせい)
1985年生まれ。プロ棋士に初めて勝利した現在最強の将棋プログラム「ポナンザ」作者。主要なコンピュータ将棋大会を4連覇中。愛知学院大学特任准教授、東京大学先端科学技術研究センター客員研究員、HEROZリードエンジニア。本書が初の著書となる。

----------

(愛知学院大学特任准教授/東京大学先端科学技術研究センター客員研究員/HEROZリードエンジニア 山本 一成)