About us データのじかんとは?
INDEX
2017年5月が将棋界にとって大きな転換点だったことは間違いないだろう。人工知能(AI)の将棋プログラム「Ponanza」(ポナンザ)が、棋界最高位のひとつ「名人位」をもつ佐藤天彦名人に勝ったからだ。Ponanzaは日本におけるAI技術の進化をわかりやすく広める伝道師でもあった。この結果を受けて、コンピュータVSプロ棋士の棋戦は終了、その役割を終えた。開発したのは若きコンピュータサイエンティスト・山本一成さん。将棋プログラムを通して見るAIの今と未来を語っていただいた。
Ponanzaがどのくらい強いのか、それを正しく説明するのはちょっと難しいですね。たとえば、10年ほど前にプロ棋士たちはこういっていました。「とうとうコンピュータはここまできましたか。でも、トッププロのレベルまで50年はかかるでしょうね」。当時の将棋プログラムはせいぜいトップアマ、プロ棋士に届くか届かないかというレベルでした。
やや乱暴ですが、棋力を人間の身長に例えてみます。当時のPonanzaは1mくらいでしょうか。子どもですね。皆さん、子どもの身長が1mから10cm伸びたら大きくなったと感じますよね。コンピュータの世界は違います。何ごとも成長が指数的なのです。
5年前にPonanzaが初めてプロ棋士を破りました。そのときの身長は2mでしょうか。かなり大きいですね。5年で2倍に伸びました。さらに5年たったいま、身長は4m。もう同じ人間とは思えません。この数字とスピード感は、プロ棋士の間では実感に近いと思います。将棋はとくに、自分と強さが近い相手だと、その実力がよくわかります。2017年に佐藤天彦名人と戦いましたが、プロ棋士もすごい勢いで抜かれたことを強く感じたのではないでしょうか。
将棋プログラムの身長はいま、順調に8mになろうとしています。普通であれば、人間に負けることはもうないでしょう。これは人間の物理的な制約のせいで、仕方ないことです。後ろの遠くにようやく見えて「あっやばい!」と思った次の瞬間にすごいことになっている。これが、将棋プログラムを例にしたコンピュータの世界なのです。
大学に入ったら人生の方向性がわからなくなってしまって。大学にはマンガの「DEATH NOTE」のように、とてつもない天才たちがたくさんいるだろうと、勝手に思っていたのです。それがいなくてがっくり。将棋部のレベルは強かった。しかし将棋部にも、きらめくような才能はいませんでした。皆さんご存知のように、そもそもそんな人たちは世の中に存在しないのです。まったくの勘違いでした。朝、渋谷のゲーセンに行って昼は将棋部へ、そして夜は麻雀。忙しくて大学は留年です。
そこで、自分の未来にとって大事なことはなんだろう?と考えました。何かパソコンってすごそうだ。当時はパソコン操作をみんな嫌がっていたように見えました。ちょうど英語のように。だったらやってみるか。得意の将棋プログラムを作ってみようーー
将棋が強くなるかどうかは、負けることの受け止め方次第です。あの羽生善治さんでも公式戦で3割負けます。強くなったということは、たくさん負けてきたということ。私もこれまでコンピュータ将棋を含めて1万試合くらい指したと思いますが、軽く5000敗はしています。思い出したくないような手痛い負けもたくさんあります。
開発当初のPonanzaはとても弱かった。そこそこ強くなるはずなのに! だってそうですよね。わたしのアマ五段の力とコンピュータの能力(1秒間に1億個くらいの加減乗除計算と数字記憶ができる)があるんですよ。強いプログラムができはずです。これがとんだ勘違いでした。結果は「こんなに弱いプログラムが存在するのか!」と思うほどのおぞましい弱さでした。でも逆に、これでプログラミングが楽しくなったのです。
コンピュータは、頭が固いのですが言われたことはちゃんとやるとてもいい子です。そこで、いろいろなことをお願いするのですが、頭が固いから柔軟には動きません。プログラムを書こうとしたけど、できませんでした。なぜでしょう。
私自身は将棋に詳しくてそこそこ強いのに、なぜその手が良いのか何もわかっていないからです。たとえば、将棋には指し手を表現する言葉に「手厚い」「味がいい」「軽い」なんていうものがあります。私は、この言葉が意味するところはわかります。しかし、その理由を論理的に説明することができないのです。
目の前にペットボトルがあったとします。これがペットボトルであることは、ほとんどの人は見ればわかるでしょう。では「これがペットボトルであることを言葉で説明してください」と言われると…。これと同じ。好手の理由は言葉で具体的に説明できません。だからこそ、そしてむしろ、それが名人芸というものなのでしょう。
なぜ良いのか説明できない――実はそれが、人工知能の長い失敗の始まりなのです。人工知能はコンピュータの歴史とともに想像され、夢想されてきました。近年までほとんどうまくいかなかったのは、「人間は、自分がどうやって考えているのか自分で説明できない。論理的に説明できないことはプログラムにできない」と考えられてきたからです。それが可能になったのは、コンピュータが自分自身で知識を獲得していく「機械学習」のおかげです。
もちろん、機械も説明はできません。「あなた(機械)が勝手に勉強してください」という考え方です。機械は広い意味での人間の行動の一部を真似できるので、「これはペットボトルである」というラベルを付けてやると、それをきちんと学習するのです。
将棋プログラムも最初はプロ棋士の棋譜(将棋の一手ごとを記載したスコアのようなもの)から勉強しました。「指した理由はわからないけどプロ棋士が指したのだから最も良い手なのだろう。だから、これを学習しなさい」という方法です。これが始まりでした。つまるところ私はPonanzaに、どうやって学習すべきなのかをプログラムにして教えただけです。
将棋のルールはプログラムに書きましたが、私の将棋の知識は書いていません。書かない方がかっこいいじゃないですか。自分の知識を書いたら、プログラムが属人的なものになってしまいます。科学とは、名人芸・職人技を誰でも使えるものにすべき存在だと思います。
Ponanzaは、人間では物理的に指せないほどの試合数をこなしました。これは圧倒的な経験値、いわばデータの暴力です。コンピュータは1手0.1秒で指すこともできますし、理論上は1試合0.1秒で指すこともできます。もちろん良い試合の方が勉強になるし、良い試合にするにはある程度の時間をかける必要はあるのですが。
将棋プログラムの成長には私自身も驚いています。プロ棋士の間にはいま、プログラムと張り合おうという雰囲気もありません。どの一手で勝負が決まったか本当のところ誰もわからないならば、その一手を決めたのは「神託」としか言いようがないのではないか。いや、そういうものなのだ、という共通理解ができつつあります。
将棋というゲームの奥深さにも驚きました。将棋プログラムの“身長”が4mを超え、羽生さんを超えたとしても、将棋の神の前では弱いまま。しかし一方で、将棋の神とプログラムの差はあまりないかも、と思うことがあります。なぜなら、将棋プログラムのレーティング(強さのレベルを数値化したもの)が上昇し続けているからです。これは本当に驚きです。
日本将棋連盟が提供しているネット対局サイト「将棋倶楽部24」で、将棋プログラムのレーティングは5000にかかるくらいでしょうか。プログラム同士が戦うことでレーティングをどんどん伸ばしています。ちなみに、プロ棋士の最高は3200くらいです。
客観的に見ると、人工知能が1個の事象から学習できることは人間よりずっと少なそうです。だから、将棋プログラムはデータが多いほど強くなります。Ponanzaは古いデータをどんどん捨てていくのですが、19TBのハードディスクがパンクしたほどです。電気とハードディスク、CPUパワー、つまり量で解決するのが現代的なデータサイエンス。その流れを肌身で感じます。
もうひとつ、将棋プログラムが「強化学習できる」ということは自明ではありませんでしたが、Ponanzaによって可能なことがわかりました。その時点で他のプログラムはわかってなかった。これが、Ponanzaが将棋プログラムの世界でリードできた理由のひとつでもありました。最初の1ビットの発見がとても重要なわけです。可能なことが知れわたると、みんな一気に成長しますから。
これは先頭を走るものの辛さですが、データサイエンティストとしてうれしさでもあります。最初はみんな「将棋プログラムは強化学習ができない、向いてない」などと言ってましたが、私は「どうしてできないんだろう?」と思い、ずっと考えていました。人間(の思い込みや先入観)は言い訳を作る天才ですからね。
実は私たちはパラメータが3つくらいになると、理解しづらくなります。たとえば「押し」「引き」に、「横やり」とか(笑)。Ponanzaで普通にやっている2億パラメータくらいになると、人間の直感ではわかりません。何億というパラメータを調整するのは、機械学習のひとつであるディープラーニング(深層学習)ではごく普通のことなのですが。
わたしは「『わかる』ということは実は危ない状況にある」と思っています。わかるって何? 私は将棋プログラムの動きをわかっているのでしょうか。
物ごとを要素に分解して個々の要素を理解し、最終的に要素を再集合させれば全体がわかるという還元主義の考え方は、理解すべき要素のボリュームが人間の脳には苦しい。いまがビッグデータの時代にあるといえるのかもしれないし、そのような難しい問題に挑戦できるくらいに科学の能力が上がったといえるのかもしれません。いずれにしろ、私たちは問題を解いていかなければなりません。
問題によっては、わかることよりも人工知能の性能を上げることの方が大事なのかもしれません。たとえば車の自動運転。説明できることよりも、事故率を下げる方が原理原則でいえば大事でしょう。医療診断プログラムも同じです。説明できることと生存率を高めること、どちらを優先するのかということです。
人工知能における解釈性と性能向上はトレードオフの関係にあるといわれています。人工知能の性能を上げるほど、なぜ性能が上がったのかを説明できなくなる。両立は相当たいへんです。現在のコンピュータサイエンスでは、解釈性を放置して性能向上を追求しているのが現状です。シンプルな機械学習を使って解釈性・説明性を上げることは可能なのですが、むしろこのようなチャレンジは終わった段階という感じです。
そもそも人間は、膨大なパラメータが動いているものを理解することは可能なのでしょうか。立場や見方などによって異論はあるでしょうが、私にはわかると明言することは傲慢に思えてなりません。だって、わかるわけないじゃないですか! その文脈でいえば、人工知能はきっと“黒魔術”なのでしょう。黒魔術であってもこれからも成長していくし、このような技術はきっと世界にとって大切なものなのです。
人間の処理能力を超えたものに挑戦できることは光栄でもあります。私はここ10年間、ずっとPonanzaに関わってきました。いまはひと区切りということで、将棋プログラムにほとんど触っていません。大学でプログラミングを教えたりしています。正直ぼんやりしていますが、このような時間も大事なのかもしれません。
お話をお伺いしたDataLovers:山本一成(やまもと・いっせい)さん
1985年生まれ。プロ棋士に初めて勝った将棋プログラム「Ponanza」の開発者。愛知学院大学特任准教授。東京大学先端科学技術研究センター客員研究員。HEROZ株式会社リードエンジニア。初めての著書『人工知能はどのようにして「名人」を超えたのか?』で第30回将棋ペンクラブ大賞特別賞を受賞。
Twitter | note | HEROZ株式会社
ライター:小島 淳(こじま・じゅん)
1965年仙台市生まれ。株式会社エンジン代表取締役/クリエイティブ・ディレクター。1991年から金融専門の編集・制作会社、独立系投信評価会社などで資産運用に関連する各種制作に携わる。2007年より現職。現在は資産運用を中心にESGやIRなどの企業経営が主な業務分野。CMやゲーム・アニメなどの音楽制作も手がけている。
株式会社エンジン:http://engines.jp/
フォトグラファー:須古 恵(すこ・めぐ)
http://www.meg-suko.com/
メルマガ登録をしていただくと、記事やイベントなどの最新情報をお届けいたします。
30秒で理解!インフォグラフィックや動画で解説!フォローして『1日1記事』インプットしよう!