「ビッグデータのジレンマ大研究」にみた最強コンピュータ将棋ソフト開発方法。山本一成さんの「ponanza強くしたい」が実現へ?

2015年7月26日放送のNHK Eテレ「新世代が解く!ニッポンのジレンマ」のテーマは「ビッグデータのジレンマ大研究@秋葉原」。

ビッグデータ、そしてそれをもとに開発される人工知能(AI)についての議論が行われました。

コンピュータ将棋ソフトponanzaの開発者である山本一成さんも出演。議論の中ではAIの一種とも言える将棋ソフトを強くするヒントがありましたので、ご紹介します。

山本さん以外の出演者は、MCの古市憲寿さんと青井実アナウンサーに加えて、ゲストとして尾原和啓さん、近藤那央さん、ドミニク・チェンさんでした。

スポンサーリンク

コンピュータ将棋を強くするには

ponanzaは今年開催された世界コンピュータ将棋選手権で優勝した、現在最強のソフト。

第25回世界コンピュータ将棋選手権、ponanzaが圧倒的な力で初優勝

その開発者である山本さんはツイッターで「ponanza強くしたい」と繰り返しツイートし、果てには「Ponanza強くしたいBOT」を作成し放流するほどの人物。

強くなる仕組みがわからない

番組では「なんで人間が作ったものが人間より強くなっちゃうのかっていう、仕組みがわからない」という質問が山本さんに向けられました。

山本さん「あんまりプログラマも、仕組みがわかっていないというか。こうなったら強くなるだろうなと思ってやるんですけど、強くなった過程っていうのが結構ブラックボックス化しているというか」

古市憲寿さん「じゃあプログラマは何を作るんですか?」

山本さん「プログラマはですね、本当は実を言うと、『こんなことやるといいんじゃないかな』とか、意外と当てずっぽうでやってるんです」

ランダムで試行する

これについて専門家の尾原和啓さんが解説。

以前の人工知能は「ルールベース」といわれる、決められたルールをやらせる手法だけだったが、最近はとにかくランダムで多くの試行を繰り返し、1万回ぐらい試行してすごい1パターンを見つけるという手法が出てきた。これら2つを組み合わせるのが今のやり方とのこと。

なるほど。つまり将棋ソフトでも、ランダムで何かのパラメータを変化させて試行を繰り返すと、そのうち優秀なもの発見されるかもしれないと。そうやって見つかったものは、開発者自身もなぜそれが優秀なのか説明がつかないということでしょうか。

コメの品種改良みたいな感じなんですかね。いろいろなパターンで品種を掛け合わせ(パラメータ調整やアルゴリズム改良)てみて、それを育てて(実装)、食べてみて(実戦をさせてみる)、うまいかどうかを確認して(勝率を確認)、だめだったらまたやり直し。うん、考えただけでも面倒臭そう。

シンギュラリティ

その尾原さんによると、2045年に人工知能が人間を追い越すらしいです。レイ・カーツワイルという科学者が「シンギュラリティ(特異点)」という話をしていて、2045年には「人工知能が自身よりちょっと賢い人工知能を産めるようになる」とのこと。

人工知能は休まないし、コンピュータは世界中に存在するので「ちょっと賢い人工知能を開発」が次々に高頻度で繰り返され、あっという間に人類よりはるかに賢い人工知能が誕生することになるということです。

将棋で考えてみる

これを将棋で考えてみます。

まず、現在のponanzaをはじめとしたコンピュータ将棋ソフトは、プロ棋士などの「棋譜」を学習して(評価関数が)作られています。この場合「棋譜」が「ビッグデータ」で、「将棋ソフト」が「人工知能」にあたるという関係です。

「将棋ソフト」自身が「自分よりちょっと強いソフトを開発する」というのは、現在の将棋ソフトにはない機能ですね。つまりこのままでは永久にシンギュラリティは訪れない。

そこで、将棋ソフトに「将棋ソフトを開発する機能」を搭載する必要があると思います。

しかし「将棋ソフトを開発する機能」は、「棋譜」からは学習できません。

では何から学習するかというと、将棋ソフト開発者が日頃からやっている「将棋ソフト開発」のデータから学習するのだと思います。

ソフト開発をデータ化

しかし、「将棋ソフト開発」のデータは、今のところ棋譜のように整った形で存在していないと思います。

どうやったら「将棋ソフト開発」をビッグデータとして扱えるのでしょうか。

例えばまず将棋ソフト開発者の日頃の開発行動をデータ化してみます。どういう種類の開発をどの程度の量したか、どうやって実装したか、実戦のやり方や回数、結果の評価の方法、フィードバックの方法などなど、データ化できることを洗い出して、実際にデータ化して蓄積します。

究極的には、開発者の行動すべてがデータ化できるようにカメラなりセンサーなりをつけ、PCにはキーロガーやマウスロガーを仕込み、開発ソフトで行われたすべての操作のログをとるようにして、ソフト開発をしてもらうと良さそうです。

「ponanza強くしたい」実現へ?

開発者一人一人が異なる形式でデータをとっていてもビッグデータにはなりえないです。

「棋譜」がどの対局でも同じ形式で整理されデータ化されているように、統一された「将棋ソフト開発」のデータ化手法ができればいいですね。それがいずれは「ビッグデータ」になり、「将棋ソフトを開発する機能」を持つ人工知能が実現するかもしれません。

それによって山本さんの願い「ponanza強くしたい」が、高いレベルで実現する日が来ると思います。

山本さん自身が強いponanzaを作るのではなく、人工知能が作ることになってしまいますが・・・。

どういう人工知能が欲しい?

番組の最後のほうで、ロボットクリエイターの近藤那央さんが面白いことを発言されていました。話し言葉では伝わりにくい部分もありますので要約します。

近藤さん「人工知能は1種類しかないという議論が多いが、ビッグデータが異なれば、異なる判断をする人工知能が生まれることになる。搭載するハードウェアも違うわけで。人工知能が人間を超えるというが、人間と同じベクトルで成長するとは限らない。犬や鳥のようなベクトルへの成長もありえる。解が無限に出てきて、その中から人間が選択するようになると思う。現在の人間が、複数の天気予報を見て洗濯物を外に干すかどうか判断するように」

なるほど。

「羽生善治名人を超える」ことを目指す将棋ソフト開発人工知能もあれば、「藤井猛九段のような独創的な序盤やファンタジー溢れる終盤を実現したい」と願う人工知能もあるはずだと、そういうことですね。そして人類は、それらの人工知能の中から適切なものを選択するようになると。

自分だったら?

自分だったらどういう人工知能が欲しいか考えると、興味深いなあと思います。

私(管理人)は棋力が低いですし、倒したいと思う相手もいないため「強いソフトを作る」人工知能はいらないです。それより「接待将棋ができるソフト」の開発に長けた人工知能が欲しいです。棋譜とともに、対局者の顔色や心拍数や手の震えなどをデータ化して学習させ、どんどん接待が上手になっていく。どういう手を指したら相手が気持ちいいか、相手の棋力向上になるかわかるようになる。将棋人口の拡大に大きく貢献できると思うのですが。

皆様も考えてみてはいかがでしょうか。そして、それを実現するにはどういうビッグデータが必要なのかを考えてみると面白いと思います。

出演者の皆様、興味深いお話をありがとうございました。

スポンサーリンク

将棋ワンストップをご覧いただきありがとうございます。ぜひシェアをお願いします

記事の追記や更新の通知はツイッターで行います。フォローをよろしくお願いします!

コメント

  1. 匿名 より:

    2045年ってホントかなあ。
    って、30年後だから何が起きてもおかしくはないかもしれませんが。
    将棋ソフトならやっぱり、何故この手が良いのかというのを理論立てて解説出来る機能が欲しいですねえ。
    今は膨大な計算結果を比較しての判断基準でしかないので人間が見ても「うーん」ってなっちゃいますし。
    人間に分かりやすく教えてくればいいですね。そのためには人間の思考や勘違いを先読み出来ないといけないでしょうから流石に厳しいか。

    • 管理人 管理人 より:

      コメントありがとうございます。

      どうですかねえ。しかし、今から30年前のことを考えてみると、当時はインターネットなんてなかったし、30年前の人にとっては現代が信じられないような世界なのではないかと思います。そういう意味では実現してもおかしくないかもしれないですね。

      解説機能!いいですね。それを学習させるためにはまず膨大な「解説データ」が必要になりますね。棋譜だけでなく、解説も学習させると、もしかしたら実現するかも。
      人間が考えていることなんて、そろそろコンピュータに分かってしまってもおかしくないかもしれないですよ。例えば現在のGoogleの検索結果とか、その人にあったような結果を返しますし、それがどんどん進化していったら、解説もその人の思考にあわせた答えが返ってくる未来があるかもしれません。

      コメントありがとうございます。

コメントをどうぞ

メールアドレスが公開されることはありません。