1勝4敗で破れる、という事件がありました。衝撃的なニュースでした......。その背景、そして私の思うところをまとめます。Intelligence)と呼びます。人工知能の概念自体は、古くからありました。鉄腕アトムは、人工知能そのものです。アーサー・C・クラークの古典SF『2001年宇宙の旅』では、人工知能ハルが登場します。面白いのは、『2001年宇宙の旅』の人工知能ハルは、人間と普通に会話している一方で、「チェスもかなり強い」(が、最強の人間相手だと負けるかも?)というのが売りでした。当時、巨匠クラークも、人工知能にとってはチェスよりも会話の方が簡単、と見なしていたんですね。仮に人間の赤子のように人工知能が成長するものであれば、確かにそうなりましょうか。幼子はまず会話能力を獲得し、チェスが指せるようになるのは、ずっと後になってからですから。現実は、全く異なります。純粋な算数の計算能力であれば、コンピューターの能力は、最高の能力の人間(たとえばそろばん名人)をもってしても全く比べ物になりません。人工知能の「成長」を人間の赤子と比較するのは筋違いになります。2016年3月現在の世界最速スーパーコンピューターの天河二号だと、単純な計算を1秒間に3京回(34ペタFLOPS)できます(1京は、1兆の1万倍)。家庭用パソコンでも1兆回(1テラFLOPS)はいきます。人間だと、最強のそろばん名人で、1秒間に10回くらいが限界でしょう。1000兆倍くらい、計算は速いわけです。コンピューターは、人間と違って、計算間違いは犯しません。今から考えると、特にプログラミングが何かを理解している人にとっては、ある決まったルールがあるもの、そしてそのルールが明快に記述できればできるほど、人工知能が得意とする、ということはほとんど自明です。いわゆる頭脳ゲームなどは、人工知能がもっとも得意とする分野です。パズルなどはその最たるもの。比較して、難しいのは、画像認識や自然言語の会話など、ルールを明快に記述することが困難なものです。なかでも一番難しい例として挙げられるのは、「笑いを取る」ことです。笑いのルールが厳密に言葉で明快に記述できるならば、誰でもコメディアンになれてしまいます。頭脳ゲームは人工知能が「得意とする」といっても、それも程度問題です。結局は人間がプログラミングすることで人工知能の(少なくとも初期の)挙動を決定する以上、そこに自ずと限界があります。人工知能ハルが自慢(?)したような、チェスができる人工知能とは、人類にとって挑戦でした。1996年、当時の世界チャンピオンのガルリ・カスパロフと対戦し、勝ち越しました。チェスほど入り組んだゲームで、人工知能が最強の人間を凌駕したとして、話題になりました。ディープ・ブルーは、あくまでチェス対戦プログラムなので、そういう意味では、「人工知能」と呼ぶには語弊があるかも知れません。これは、今に至るまで同じで、何を持って「知能」と定義するかによります。日本の将棋は、ルールの原理的に、(西洋の)チェスよりはるかに複雑です。取った相手の駒を自分の駒として打込めるため、場合の数がはるかに大きくなるからです。実際、まともな将棋対戦人工知能の発展は、その後、時間がかかりました。日本航空(または全日空?)の国際便の座席に将棋対戦ソフトがあって、2003年頃だったか試したところ、ちゃんちゃら弱くてお話にならなかったのを覚えています。1996年のディープ・ブルーは、巨人IBMが威信をかけてハード、ソフト共に開発に大金を費やしたプロジェクトでした。それと貧弱な飛行機座席の環境とでは、もちろん公平な比較ではありません。まともな商用将棋ソフトであっても、程度の差こそあれ、単純比較はできません。チェスに比較しての将棋の本質的な複雑さもさることながら、人工知能の開発陣の本気度(資金力)にも雲泥の差があったものでした。それもやはり時間の問題ではありました。2007年、将棋の渡辺明竜王(当時)が、当時の最高峰の将棋対戦人工知能と対戦して辛勝しました。早くも2005年にプロ棋士とソフトとの公開対局禁止通達を出しています。当時から、巨大企業による本格的なプロジェクトこそ無けれど、多くの人々が将棋対戦ソフト(人工知能)の開発に凌ぎを削ってきました。将棋対戦ソフト同士による公開コンテストも毎年開かれるようになりました。2013〜2015年の間、毎年、その年の最高の将棋対戦人工知能とプロ棋士5人との5番勝負が催されました。結果、全体として将棋対戦人工知能の勝ち越しになりました。最初の一年を除いて、棋士側は、A級棋士まで登場しています。棋士側5人全員の平均を取れば超一流棋士とまでは言えないものの、プロ棋士の水準の中でも相当の人が対戦した結果としてそうなったものでした。将棋界の過去20年間の第一人者は、羽生善治(現名人、四冠)であることは誰しも異論がないところで、史上最強の棋士です。公開対局は未だ一度もありません(賢い選択でしょう)。付記すれば、それら5番勝負の際には、対戦人工知能側に厳しい制限が課されています。(スーパーコンピューターを駆使したIBMのディープ・ブルーとは異なり)ハードは基本的にパソコン一台のみ、また棋士側に事前にソフトが貸し出されて棋士側は練習対局自由、そしてそれ以降はソフトの改変改善禁止、という条件です。そこまで手枷足枷はめられてなお、プロ棋士側が負け越した、というのが、重い真実です。人間の棋士を凌駕した、と言ってよいでしょう。この状況を受けて、2015年10月、情報処理学会は、「コンピュータ将棋プロジェクト」の終了を宣言しました。解かれたゲームその数年前の2007年、(西洋)チェス版を使って行う頭脳ゲームである「チェッカー(draughts/checkers)」では、計算機(スーパーコンピューター)により(勝敗に関しては)完全に解かれた、と「Chinook」というチームが宣言しました。これは、計算機が、(勝ちにつながる)可能な全ての手を読み切ることに成功した、という意味です。仮に両者が最善手を尽す場合、勝負の始まる前から、すでにどちら(先手か後手)が勝つかあるいは引き分けるか分かった、というわけです(答は、ここでは伏せておきます)。遡れば、その10年あまり前の1994年(もしくは解釈次第で1995年)、同「Chinook」のチェッカー対戦マシンが、当時のチェッカーの世界最高棋士を破っています。チェッカーは、チェスに比べれば単純であるため、スーパーコンピューターを動員することで、全ての可能な手を読み切ることができたという次第です。原理的には、チェスであれ将棋であれ、あるいは囲碁であれ、同じことは不可能ではありません。ある将棋漫画のパロディーのシーンに、未来の将棋対戦マシン同士の対戦で、先手が初手1六歩を指すやいなや、後手が「負けました」と投了するシーンがあったのを覚えています。あり得ない話とは言えないことになります(1六歩でそうなるとは考えにくいにせよ!)。AlphaGo以前の囲碁対戦マシン人工知能さて、チェスや将棋とは別の次元にあるのが囲碁、とずっと言われ続けていました。19×19路の囲碁では、数学的に言って、将棋やチェスに比べて複雑さが桁違いだからです。400通りに過ぎません。将棋でも900通りです。囲碁の場合は、129960通りあります。その後も、一局終了まで、チェスの場合は平均40手、(プロ)将棋で110手、囲碁の場合は220手くらいなので、囲碁がずっと複雑なのが分かります。360に及ぶそうです(文献1)。ここの指数は常用対数、つまり数字が1異なれば10倍異なります。10の330乗(=10330)程度、数学的に複雑ということです。チェッカーを1日で解ける超々高速マシンがあったとして、宇宙の終わりまでかかってもチェスを解くのは全く不可能で、まして囲碁ならば宇宙の終わりまでかかってその世界の一端に触れることもできかねる、という程度の計算量になります。2012〜2014年、当時最高の囲碁対戦ソフト(人工知能)が、一流プロ相手の4目の置き碁(ハンデ)の勝負では、勝ったり負けたりでした。4目のハンデとは、あまりにも大きなハンデ、逆に言えば、当時の囲碁対戦ソフトは、依然、人間のトップとは比べ物にならない実力だったわけです。平手(ハンデ無し)の対局であれば、最強アマチュアが一流プロと対戦するとプロ側が100戦100勝になるだろうところ、もし4目(おそらくは3目)の置き碁であれば完全に逆になりそうです。囲碁の置き碁の場合、上手(強い方)が、普通に打つと負けるのは自明なので、無理筋の勝負を仕掛けて勝とうとするものです。大石を狙った一発勝負かも知れないし、各所で少しずつ譲ることを要求する波状攻撃かも知れません。相手(下手)が十分強ければそんな無理筋はなかなか通らないものの、それでもたとえば10局に1局くらいは無理が通っても不思議はありません。4目置き碁でも、アマ強豪の100戦100勝にはならないかも。かかる、というのがおよそ一致した見解だったようです。AlphaGo(アルファ碁)です。2016年3月、世界最強棋士の一人である李世乭(イ・セドル)と5番勝負を行い、4勝1敗で圧勝しました。よって解説されました。第二局の高尾紳路(実力制6人目の名人本因坊)九段の解説が象徴的でした。高尾によれば、中盤頃までは、AlphaGoが全然だめで、李世乭の優勢疑い無し、という解説だったのですが......、その後では、実はAlphaGoが優勢であることが分かり、結局、そのまま押し切って完勝しました。高雄をして「自分は何を言っていたんだ」と頭を抱える状態でした。顧みると、AlphaGoの打ち手は、一流プロの目から見ても意味が分からなかった手が少なくなく、さっぱり駄目だ、と当初は判断されたようです。局面が進んでみると、そのような駄目出しされた手が生きてきて、結果的にAlphaGoの勝利につながったのでした。AlphaGoの打ち方は、一流プロの(おそらくは共通する)感覚とは異質で、それでいて囲碁として有効な手だったようです。ちなみに、これと似たような現象は、局所的には、将棋でも幾度も見られました。将棋に、「コンピューター定跡」と言われるものが幾つもあります。一流プロが誰も指したことが無い手、つまりおそらくは誰も考えつきもしなかった手、を将棋ソフトが初めて指し、それがその後、定跡、つまりその局面において有効な手筋として、人間のプロ棋士にも認められて採用されるようになったものです。AlphaGoの場合は、将棋以上に、プロ棋士をもってしても理解不能な打ち方が少なくなかったようです。将棋の場合、(対プロ棋士の対局で)ソフトによる新手は、指された直後はともかく、数手進んだ後、あるいは遅くとも対局が終わる頃までには観戦プロ棋士にその意味も有効性も理解され、遠からず(プロによる詳細な検討を通れば)定跡として確立しているのが常でした。比較して、AlphaGoの打ち手の意味は、観戦プロ棋士にとって対局終了の時点でもよく分からず狐につままれたままのような印象を受けます。一流プロ棋士の高尾をして頭を抱えていた様子が象徴的です。囲碁の方が将棋よりもずっと手が広いため、理解が難しいことが影響しているのでしょうか。learnig)です。AlphaGoは、当初、過去のプロ棋士の大量の棋譜を学習することでプロ棋士のように打つことを目指し、ついで他の囲碁対戦ソフトと対戦して学びを深め(この時点ですでに全勝に近かったとか)、そしてその後、自分自身と何千万局も対戦することで、自ら成長したと聞きます。これは、人間の一流棋士が(囲碁に)強くなるのとある意味では同じパターンでありましょう。過去の棋譜や対戦で成長するのはもちろんですが、結局のところ、世界一を目指すならば、他の人と全く同じように打っているのではだめで、最終的には自分自身で研究を深めることが不可避でしょうから。それを、人工知能がやり遂げた、そしてその成果を証明した、というのは、重要な一里塚だと感じます。興味深いのは、(報道によれば)AlphaGoは、学習はしても、本質的に囲碁のルールさえ理解していないそうです。手筋などは知りません。第5局では、基本手筋の一つの石塔シボリの筋を知らないことから白の一群が全滅の憂き目にあいました(冒頭の写真がその局面。そんな大損をしても、最終的に李世乭に勝利したのですが......。人間としては口あんぐり、です)。過去の棋譜の学習から、たとえば禁じ手などは、目的達成、つまり勝利するためには、「確率的に」打たない方がよいことが学習されている、というのが、AlphaGoの打ち方ということになります。人間の囲碁の初学者であれば、最初は当然ルールから学びます。石の生き死に、詰め碁や定石を本や教師によって学んで行くものです。AlphaGoの場合、その道筋は全然異なる、というわけですね。AlphaGoがプロ棋士による膨大な過去の棋譜を学習した際、多くの定石は自然に浮かび上がってくるでしょう。定石にそった、あるいはそれに近い、打ち方をすることは「確率的に」あるにせよ、AlphaGoはそれを定石として理解して従っているわけではありません。同様に、AlphaGoの自己との対戦による学習とは、たとえばある同一局面において実質上一間飛びと二間飛びとコスミとの三択だったとしたら、その局面から候補手それぞれにつき1000局終局まで自己対局してみて、勝ちが多いものを最善手とする、という方法です。具体的には、たとえば、自己対局1000局中で一間飛びが700勝、二間飛びが400勝、コスミが300勝であれば、一間飛びが最善である確率が70%(単純な例なので、具体的な数字は異なるかも知れません)と判断します。人間であれば、たとえばそこから熟慮しながら10手進めてみたいくつかの結果局面の「形勢判断」に基づいて、どちらの手が勝っているかを判断するものでしょう。AlphaGoの方法は、計算機の計算速度を活用した無骨な力技と言ってもいいでしょう。AlphaGoが学習の際、実際に数多くの探索を「同一局面から」行っているとは限りません。上で述べたのは、あくまで単純化した例です。言葉を替えれば、AlphaGoは、(少なくとも手が広い局面においては)念入りに論理的な読みを入れて打っている、というよりは、確率的に勝ちにつながりそうな手を選んで、もしくは言葉を代えれば「感覚的に何となく」、打っているようです。AlphaGoの一手一手の打ち手の意味や(AlphaGoの)動機に関しては、開発者自身も説明不能と聞きます。それでも、結果的に、生まれて1年の今の段階ですでに世界最強レベルの棋士を打ち負かしているのですから、戦慄を感じます。この「AlphaGoが理解はしていない」事実を指して、人工知能なにするものぞ(恐るるに足らず?)、というような批評をする人も見かけました。そもそも、人間の言う「理解」とは何ぞや、という哲学的な問いも考えられそうです。人工知能の「理解」は人間とはベクトルが異なった、しかし同様あるいはそれ以上に有効な(可能性がある)ものである、とも言えるかも知れません。AlphaGoの弱点?このAlphaGoの「確率的」な手の選択挙動は、時には弱さとなって顕われる可能性はあります。第四局の中盤、形勢不利を囁かれた李世乭は、奇手の割込み一発(白78)で逆転に成功し、勝利をたぐり寄せました。観戦中のプロ棋士を驚かせ、また感嘆させた、考えつきにくい妙手です。これは私見ですが、「考えつきにくい」ということは、AlphaGoが学んだ過去の棋譜にも類似例がごく少なく、したがってAlphaGoのアルゴリズムとして「確率的に」可能性が排除されて考慮されにくかったのかも知れません。プロ棋士を驚かせたほどの妙手である以上、人間だから思いついたような手というわけではありません。AlphaGoも他の並のプロ棋士程度の見え方だった、というべきで、李世乭の慧眼を讃えるべきところでしょう。開発者のデミス・ハサビス博士によると、AlphaGoは、同白78を1万分の1の確率として見出したものの、確率が低かったため、深く考慮はされなかった、という報道。して、他の場面を考えた時、この側面が問題を起こす可能性は考えられます。自動車の自動運転人工知能を考えてみます。それが道路交通法を理解せずに「確率的に」もっとも安全かつ合法の運転を行っているならば、何らかの稀な条件が重なった時、(開発者も含めて)人間に理解できない挙動、たとえば交通法規違反やあるいは周りの他の道路利用者(人間)が予想できない挙動、を示す可能性があります。それが稀であっても、その結果が重大になることで、それが問題を引き起こすことは十分考えられます。最後、AlphaGoの躍進に触発されて、未来のことを少し考えてみます。AlphaGoの心臓部の応用AlphaGoを作ったディープマインド社による快挙の一つは、AlphaGoの心臓部でもある機械学習のアルゴリズムに汎用性を持たせることに成功したことです。ディープマインド社が開発した人工知能の一つは、機械学習のアルゴリズムを使うことで、数多くの古典的コンピューター・ゲーム(たとえば、古のインベーダー)をほぼ完璧にプレイするようになった、と報告されています。その人工知能は、プレイ前に、それぞれのゲームのルールさえ知らされません。最初は、最低最悪のプレーヤーとして、ゲームを始めます。プレイする中で、自らゲームの最適なプレー方法を「学び」、それほど時間をかけず成長して、完璧なプレーヤーとなっていきました。ここで、「学ぶ」とは、試行錯誤を繰り返すことでよいスコアを出す方法を自ら見つけ出していったことを指します。結果的に、ソフトウェアはゲームのルールを知る必要もなかったのです。よいスコアを出すためには、必然的に、ゲームのルールに沿っていくことになったからです。インベーダー・ゲームであれば、インベーダーからの攻撃を回避し、また攻撃する、というような。特筆すべきは、同人工知能は、ゲームごとに特化したアルゴリズムが実装されたのではなく、一つのアルゴリズムでもって、異なるゲームを学習し、適応していったことです。本稿の最初に述べたように、チェス対戦マシンのディープブルーはもとより、従来、ソフトウェアとは、それぞれの目的(この場合はゲーム)に特化したものだったのは当たり前でした。内部的に一定の共通のルーチンを使うことは普通であっても、それをどう組み合わせ、また必然的にそれだけでは対応できない部分を新たに制作することは、人間のプログラマーの仕事でした。ディープマインド社のゲームをプレーする人工知能は、それよりも一歩進んだ汎用性を持っていて、従来のソフトウェアとは一線を画する、つまり、より「人工知能」と呼ぶにふさわしいものになっているようです。AlphaGoの場合、同様の機械学習に、モンテカルロ法による探索および自己学習を加えて組み込んだ、という違いはあります。AlphaGo自体はルールを学ぶことなく、自ら学習していった、という意味では共通点があります。比較して、現在の最強将棋対戦ソフトでは、ある程度の序盤の定跡は事前にデータとして組み込まれていて、それを参考に使うようにプログラムされています。将棋に特化した作りになっています。実際、将棋においては(チェスも囲碁も同じです)、序盤は、手の幅が広過ぎてかつその意味が不明瞭のためコンピューターが苦手とすると容易に推測できます。将棋において手っ取り早く最強を目指すならば、序盤において、世紀を超えて培われた定跡を参照するのは、最善の方法だと思います。AlphaGoはそういう目的に特化したアプローチではなく、他の課題にも通じるような汎用アプローチを取る、という野心的プロジェクトでした。定石はおろか、ルールさえ知らないのですから。関わらず、そして将棋に比べてもはるかに複雑であることが自明だったにも関わらず、最強の人間を凌駕した、というのが、まさに驚異であり、同時に、人工知能の将来性の証明でもありましょう。ある意味で、末恐ろしい、と言えそうです。ルールを知らずして、どうやって自分で学習できたのか、という疑問を持つ人がいるかも知れません。私の推量ですが(きっと正しいと思います)、それは、ルールを理解するいわば「ゲーム司会(審判)ソフトウェア」を独立に使った、ということでしょう。いが○○で、あなたの勝ち/負け」などと返答すれば、学習は成立します。本番対局の際には、司会ソフトウェアは必要なく、(ルールも知らない)AlphaGoだけで対局することが可能になります。現実味を帯びてきた技術的特異点AlphaGoを開発したグーグル・ディープマインドの創始者は、人工知能の分野で天才と名高いと聞きます。天才の才能とグーグルの資金力とが合わさることで、今回の偉業が成し遂げられたのでしょう。逆に言えば、AlphaGoの開発には、天才が必要だったと言えます。他の囲碁対戦ソフトも似たり寄ったりではあります。近年の囲碁対戦ソフト世界大会(UEC杯)では、ハードウェアの性能は無制限でした。Stoneは、ハードウェア的には同大会参加の最速マシンに比べて1/30程度と貧弱だったそうです。設計者の腕が、30倍の機械的能力の差を超えるほど優れていた、ということになります。人工知能の開発には、職人芸のすぐれた開発者、技術者の腕が決定的に効いていることを意味します。他の全てのことと同じく、それは自然な傾向でしょうね。これら囲碁対戦人工知能の開発は、局面局面においての最適解を探すことだ、と集約されます。大量の要素の中から最適解を探索するのに、計算機の能力がフルに使われます。その最適解をできるだけ正確に、またできるだけ高速に探索するよう、アルゴリズムを最適化する際に、開発者の腕が問われたわけです。やらせればいい、という時代が来るかと予想できます。人間の中の天才の開発能力さえ、計算機たる人工知能が凌駕する時代です。その段階に達したら、あとは、人工知能が自己進化を遂げて、遠からず人間がはるかに及ばない領域に達する、ということになります。Singularity)と呼びます。それがいつ来るかは分かりませんし、ひょっとしたら永遠に来ない可能性も否定はできません。計算機に何が可能か、そして今回のAlphaGoの快挙に代表される今の進歩のペースを考えれば、21世紀中に、早ければ21世紀の半ばには、技術的特異点が訪れるだろうという予想が現実的に思えます。人工知能が支配する世界は、手塚治虫や映画『マトリックス』の例を挙げるまでもなく、古くからSFや文学の世界で採り上げられてきています。今の人類は、それを本当に現実的な世界として考えなくてはいけない時代に差し掛かっているように感じるのでした。5番勝負のそれぞれの対局進行時のプロ棋士による(各打ち手の)解説およびコメント。碁の級位者にも分かりやすく、秀逸。http://www.saferclimbing.org/ja/article_misc/alphago-marvels-of-artificial-intelligence-for-go。