すなぶろ

フリーランスのWebエンジニアがPythonを中心にプログラミング情報を紹介していきます。Rubyも書きますが、今はPython勉強中。一緒にPythonista目指しましょう!

AIが人類を超える日は来るの?→もう来てるよ

f:id:sandmark:20171020155324j:plain

先日買い物に行きました。ごま油が欲しかったのですが、目の前にあったのは

  • 298円のごま油(250g、セール中)
  • 378円のごま油(340g、通常価格)

の2つ。私は安ければ何でも良いのですが、オトクなのはどちらだ?と考えたとき、暗算が苦手なのですぐに答えが出ません。そこでGoogleアシスタントさんにご登場願いました。

  • 「250グラム298円のごま油と340グラム378円のごま油、安いのはどっち?」
  • 「お調べしました」
  • 「えっ」


機械に知性は宿るのか

最近、AIが流行っています。Artificial Intelligence、直訳すると人工知能、あるいは人工知性です。なぜ流行っているのか、まずは歴史をちょっとだけ紐解いてみましょう。

あらゆる問いに答えるプログラムは存在する

1950年代、ノイマン型コンピュータが発明されて実用化されました。0と1で動作するCPUベースの計算機、要するにパソコン(の原型)のことです。人類はそこで考えました。

  • 計算に時間がかかっても、問題を与えてやればいつか答えが出るんじゃね?

ということで開発されたのがGeneral Problem Solver(汎用問題解決器)やSoarです。これらのプログラムは可能性の塊とでも言うべきもので、「正しく問題を与えてやれば、必ず正しい答えを導き出す」ということが数学的に証明されています。

先述したごま油問題も解決できるし、チェスの次の一手、明日の天気、タイムマシンの作り方、未来予知、すべて計算して答えを出すことが可能です。

しかし構造的欠陥がありました。それは、「問題文を正しく与えなければ計算そのものが始まらない」という点です。例えば未来予知を期待するなら、現時点の宇宙の状態をすべて入力しなければなりません。素粒子の状態から光子の運動量に始まり、宇宙のサイズ、地球の絶対位置、太陽の発する総エネルギーなどを、すべて同時に入力しなければ計算が始まらないのです。

とはいえ、このプログラムはとても魅力的です。これをCommon Lispで実装してみようという本がありますので紹介しておきますね。かつて個人的に、今のようなAIブームが始まる前に興味を持って読んでみたものです。当時は英語版でしたが、現在は翻訳版があります。

実用 Common Lisp (IT Architects’Archive CLASSIC MODER)

実用 Common Lisp (IT Architects’Archive CLASSIC MODER)

知性とは何かを議論する

そもそも「知性」とは何でしょう。思考できること? 判断できること? しかしそれは動物、突き詰めればバクテリアだって行います。ではバクテリアは知的生命体なのでしょうか? そんなまさか。バクテリアと意思疎通ができるとは思えません。バクテリアの意思を研究することは可能ですが、バクテリアが自らの意思で人間とコミュニケーションを取るとはとても思えないのです。

では犬はどうでしょうか。犬は目線や鳴き声で人とコミュニケーションを取ることができます。「お手」「おすわり」といった命令を理解し、実行することができます。では犬は知的生命体なのでしょうか? 答えはノーです。社会的動物ではあるでしょう。しかしそれはあくまでも本能の範疇であって、人が涙を流しているときに慰めることはあっても、涙を流している理由(悪口を言われたとか、給料が少ないとか)を理解してくれるとは思えません。(補足しておきますが、私は犬も含めて動物好きです。犬や猫は知的だと思いますが、知的生命体という分類はできないというだけです)

知性とは、言語を介して他者を論理的に解釈できることだと言えます。例えばこんな会話です。

「つらい」 「どうして?」

「友達と喧嘩した」 「だから辛いの?」

「そう」 「なるほどね…。本当にそれだけ?」

「なんで?」 「もし良ければ訊きたいことがあるんだけど」

「いいよ」 「どうして喧嘩したのか詳しく教えてくれる?」

一見すると知り合い相手に愚痴っている普通の会話ですが、実はこれは「人間とAIとの会話」なのです。

f:id:sandmark:20171020180504j:plain
Image from Vector Open Stock

1960年代、精神病に悩む患者たちのために、ジョセフ・ワイゼンバウムELIZA(イライザ)と呼ばれるプログラムを作り上げました。語弊を承知で平たく言ってしまえば、「人間は愚痴ってストレスを発散するとき、適当な相槌があればそれでいいわけだから、機械に代用させよう」という試みです。

ELIZAは取り立てて精神学や病理学、心理学などのデータベースを持っていたわけではなく、ユーザーの入力に対して巧みにオウム返しするだけのものでした。もちろんそれだけではカウンセリングになりませんから、「私のことを知ってどうするんです?」のような誤魔化しも入っています。

これは当時、精神病患者から科学者に至るまで爆発的な人気となり、「コンピュータに知性が宿ったのかもしれない」という議題で学会で大いに注目されました。ELIZAが機械であることを知らせずに患者とELIZAで会話させた結果、多くの患者がELIZAを「頼りになる人間のカウンセラー」だと思い込み、病状が改善する例もあったからです。

これは今日の人工無脳(このブログでも紹介したsandmark/unmoもそのひとつ)の礎となったプログラムであり、SiriやGoogleアシスタント、コルタナに代表されるAIアシスタントの原型となっています。Googleアシスタントに「イライザって知ってる?」と訊いてみると、

ELIZA ですか? 1960年代に行われたコンピュータによる自然言語処理プログラムのひとつです。まさにレジェンドですね。

と答えてくれます。

一世を風靡したELIZAですが、学会の盛り上がりとは対照的に、作者であるワイゼンバウムは悩むようになります。「ただオウム返しするだけのプログラムに、知性が宿っているはずがない」。そう思った彼は歴史の分岐点とも言えるプログラムの作者でありながら、「コンピュータに知性は宿らない」というスローガンを掲げる、反AI派閥へ身を投じることになります。

私ですか? まぁ、Unmoに知性が宿っているとは思えませんね。宿ってほしいものですが。

ELIZA自体は様々な言語で再実装されており、Emacsに標準搭載されているdoctorPerlモジュールChatbot-Elizaなどがあります。興味のある方はお悩み相談してみてください。私はPython勉強中なので、そのうちPythonで書いてみるかもしれません。

第二次AIブームの始まりと終わり

知性の話はひとまず置いて、少なくともGPSやELIZAは一定の功績を残しています。そこで今度は「人間の代わりをさせること」に焦点を合わせ、1970年代からエキスパートシステムの開発が盛んになりました。専門家(エキスパート)の知識をデータベースに記録させれば、人の質問に自動的に答えるシステムが構築可能なのではないか、というものです。

具体的には、現在でも航空システムや金融系のバックエンドとして運用されており、LispCOBOLで当時のまま動いています。ゲームのAIやカーナビシステムなどもこの一種ですが、一般的に定着してしまったために改めて「エキスパートシステム」と呼ぶことはなくなり、単に「AI」と呼び習わされるようになりました。

f:id:sandmark:20171020185530j:plain

オセロや囲碁、チェス、将棋、麻雀などのソフトウェアが台頭してきたのもこの時代で、ファミコンPlayStationなどの家庭用ゲーム機でCOMを相手に戦うことができるようになります。

しかし2つの問題がありました。ひとつは「開発者(専門家)以上に賢くはならない」という点。もうひとつは「専門家の知識の間で矛盾が生じる」という点です。

テーブルゲームで例えるなら、人それぞれのプレイスタイルがあるわけです。「強い人」が複数いるとして、Aさんは「攻撃重視で強い」、Bさんは「防御重視で強い」、Cさんは「奇抜な手を使って強い」としましょう。これらを完全な形でプログラムに組み込んだとき、何が起こるでしょうか。答えは『矛盾』です。結果として攻撃的でもなく、防御型でもなく、かといって奇抜でもない、『なんか人間らしくない変な行動』をAIが行うことになるわけです。

専門家が苦労して入力したデータが活かされないのでは、やはり役立つAIなど幻想ではないか。そう結論付けられ、第二次AIブームは終焉を迎えます。AlphaGoが登場するまでは。

AIが人類を超えた日

ハードウェアが著しい進歩を遂げ、人々がスマホを当たり前に持ち歩くようになった時代――2010年代から、「AIが人類を超えるよ」という噂がまことしやかに囁かれ始めました。レイ・カーツワイルによる技術的特異点(シンギュラリティ)という学説です。

この学説によれば「AIが人類の知性を超越し、人類の進化速度が無限大に近くなる」らしいのですが、一体どういう意味なのでしょうか。

例えば人類が「人間よりも賢いAI」を作ったと仮定しましょう。このAIは人間の知らないことに関して答えることができるわけです。何しろ人間よりも賢いのですから。

ではそのAIに「もっと賢いAIの作り方を教えて」と質問したとします。AIはもちろんその質問に答えることができます。全知全能のAIの作り方とは行かなくとも、今よりちょっとだけ賢いAIの作り方くらいなら教えてくれるでしょう。そうしてまたAIを作り上げます。

そして再び「もっともっと賢いAIの作り方を教えて」と質問してみましょう。今度は、さらに賢いAIの作り方を教えてくれるはずです。人類はまたしても人智を超えた知識を得て、またしても人智を超えたAIを作り上げる……というサイクルが続きます。

これが特異点です。「人類はAIから知識を得ることで進化する」し、「AIもまた人類に作り変えられることで進化する」という現象が起こるのです。これにより進化速度がこれまでとは比較にならないほど早くなり、次の段階へ時代が移行するというSFもびっくりな学説です。これは俗に「2045年問題」と呼ばれており、なんということでしょう、あと30年もしないうちに人類がレベルアップするらしいのです。

f:id:sandmark:20070202235804j:plain

しかし、そんなことが起こり得るのでしょうか?

機械学習という言葉の意味

ELIZAやエキスパートシステムなど従来のAIは、「人間がデータを入力し、そのデータの使い方もプログラミングする」というものでした。この手法は一定の成果を挙げましたが、データの使い方、つまるところAIの賢さを人間が定義している時点で、AIは人間を上回らないことを逆説的に証明してしまっています。

そこで「大量のデータを使ってAIが自身で賢くなるプログラム」を作ろうとする試みが、実は1980年代から行われてきました。

例えば天気予報がそうです。天気予報には膨大なデータが必要で、中国で蝶が羽ばたいたことが原因でアメリカで台風が起きる可能性(バタフライエフェクト)まで考慮しなければなりません。もちろんそんなデータを同時進行的に集めて計算させるには膨大な費用と時間がかかるので事実上不可能ですが、これまで人間が行ってきた計算を機械に任せることで、より正確な予想が得られないかという考えは誰しもが抱いてきました。

しかし80年代当時は計算能力が貧弱で、現代のようにインターネットも普及しておらず、データも演算能力も絶対的に不足していたのです。

では2010年なら? 衛星による位置情報の管理、インターネットによる世界情勢の取得、スマホによる個人と機械の密結合――結果としてあらゆる情報がネットに溢れ、Webサービスも充実しています。それに呼応するかのように、ハードウェアはミニサイズかつ高性能になり、かつてスーパーコンピューターで行われていた複雑な計算もパソコンで行えるようになりました。

「機械が学習方法を学習し、単体で知能を高めていく」という手法、機械学習がついに現実的な視野に入ってきたのです。

AlphaGo、囲碁の寿命を縮める

そして2015年、Google DeepMindの開発した囲碁AI「AlphaGo」がハンデ無しで人間と勝負し、勝利します。続く2016年3月、韓国の棋士に4勝1敗で勝利。続く2017年、バージョンMasterはネットの囲碁対戦サイトで日中韓のトッププロ棋士を相手に60戦無敗という記録を引っさげ、5月に中国の棋士に3戦3勝で勝利。

その後も開発が続けられ、2017年10月に発表されたバージョンZeroはまったくデータがない初心者状態から対局のみで自己進化し、21日目には前バージョンMasterと肩を並べるほどになります。さらに19日の学習、合計わずか40日の学習期間で、前々バージョンLeeに100戦全勝、前バージョンMasterに89勝11敗と圧倒的に勝ち越すほどの怪物に成長しました。

f:id:sandmark:20171020201622j:plain

囲碁は中国発祥、日本由来のテーブルゲームですが、ルールがわかりやすく、かつ奥深いことで世界的にプレイされているゲームです(私は香港人囲碁で勝負して負けたことがあります)。少なくとも2000年以上前から研究が続けられており、それでもなお「必勝法」が存在しないという底の見えないゲームです。

対してオセロは先手の必勝法が見つけられており、難解な変化はありますが、この必勝法を使用するコンピュータ相手に人間が勝つことは不可能であることが証明されています。つまりオセロの寿命を数学的に計算した場合、もう終わっているのです。先手番なら必勝ということは、後手番は必敗であることもまた証明されています。ゲーム性などありません。人間同士が対局するぶんにはもちろん楽しいゲームですが、人間が研究に研究を重ねた結果、数学的にはオセロはゲームとして成立しないものになりました。

囲碁は別物でした。思考しなければならない局面が数限りなくあり、コンピュータの強力な演算能力を持ってしても図りきれない、いわば人類を代表するコンピュータへの砦だったのです。「コンピュータが囲碁を理解するのはまだ当分先だろう」と誰もが思っていました。

その定石を打ち破ったのが、ニューラルネットワークを使って学習する囲碁AI、AlphaGoです。もはやAlphaGoは人類よりも確実に強く、AlphaGoの打つ手を人類トップ棋士が見ても、すぐには意味がわからないほど別次元の強さを備えています。

つまり、AlphaGoはすでに人類を超越しているのです。

自動運転とは、AIが人間に追いついたという紛れもない証拠である

f:id:sandmark:20171020215206j:plain

東京では自動運転が実用化されていますね。車メーカーの各社も、例えば駐車をセミオートで行う機能を実装したりと「自動化」に余念がありません。

冒頭の「ごま油問題」は、こと経路探索においてはすでに解決されています。例えば「空港まで案内して」と言えば、金額、時間、距離、手段など、あらゆる側面から導き出された『最短ルート』を計算してくれます。

タクシー、バス、電車、新幹線、フェリー、飛行機。あらゆる移動手段のあらゆるスケジュールと金額がデータ化され、人間は導き出された結果を見て移動したり、お金を払ったりするだけで目的地へたどり着くことができます。

そしてついに『移動』までAIが行うようになった結果が『自動運転』です。金銭についても元々ETCカードというシステムがありましたし、電子マネーの発達した今、寝ているだけで目的地に着く革命すら考慮しなければなりません。

これだけの材料が揃っていながら、「AIが人類に追いつくことは決して無い」と盲目的に言うだけの人はもはや時代遅れも甚だしいでしょう。

もちろん、私とて技術的特異点の到来を無暗に信奉しているわけではありません。しかしAlphaGo、自動運転、AI搭載スピーカーなどが開発されている状況を鑑みるに、「順調に特異点へ近づいている」という考えを否定するには少々勇気が必要なのも確かです。

で、ごま油はどっちがお得なの?

かどや 金印 純正ごま油 200g

かどや 金印 純正ごま油 200g

散々引っ張ってきましたが、Googleアシスタントさんの答えはこうでした。

  • 「250グラム298円のごま油と340グラム378円のごま油、安いのはどっち?」
  • 「お調べしました」
  • 「えっ」
  • Google検索結果が表示される)
  • 「」

わかってはいましたが、当然ですね。「自然言語の処理」と「問題を解決するための手段の探索」は未だ発展途上で、無いものを2つ同時に要求したわけですから、とりあえず関連する検索結果を親切にも出してくれたのです。

お得なのがどちらなのか計算するのは簡単で、1gあたりの単価を調べればいいのです。250g÷298円=約0.83円/gで、340÷378=約0.89円/gですから、ほとんど変わりないとはいえ、298円のごま油のほうがちょっとだけお得ということになります。

2017年10月20日現在、まだこうして人間が式を考えなければなりません。式を与えてしまえばAIは計算できるので、音声入力機能のついた電卓として答えを出してもらうことはできますが、「どっちがお得?」といった曖昧な質問にはまだ答えることはできません。

しかしここまで記事を読んだあなたはどう思いますか?

250gで298円のごま油と、340gで378円のごま油、お得なのはどっち?

この質問に対してAIが完璧な答えを提供することができる日が、果たして来るのか、来ないのか。来るとしたらいつだと思いますか? 音声アシスタントが登場してから早数年、現在も開発は続いており、ユーザーからの入力をもとにさらに賢くなりつつあります。

AIが知性を獲得する日は来るのでしょうか? ロボットと世間話をしたり、愚痴を聞いてもらったり、相談してアドバイスをもらったりする日が来るのでしょうか?

AlphaGoのように人間を超えたAIが今後も出てきて、会話できるようになったりして、AIに囲碁や将棋を教えてもらったりする日が来るでしょうか? ただ強いだけではなく、一緒に対局しながら「この手のほうが良かったね」などと会話しながら強くなるような、個性のあるAIが登場するのでしょうか?

それとも、2000年問題が回避されたように2045年問題も回避され、結局は「日々の生活がちょっと便利になった」程度でAIブームが終わるのでしょうか。1950年の第一次AIブームのように、あるいは1980年の第二次AIブームのように、尻すぼみで終わってしまうのでしょうか。

あなたはどう思いますか? あるいは、どうあって欲しいと思いますか? お互い、とんでもない時代に生まれてしまいましたね。ここまで読んでくださり、ありがとうございました。