BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Grady Booch、AIの未来を語る

Grady Booch、AIの未来を語る

原文(投稿日:2019/02/03)へのリンク

Grady Booch氏によると,昨今のAIシステムは,その大部分がエッジにおける信号のパターンマッチングと帰納的推論(Inductive Reasoning)に関わるものであって,真の人工知能(Artificial Intelligence)ではない。2018 QCon San Franciscoの2日目に行った基調講演 "Building the Enchanted Land" で氏は,現在のAIとは"AIコンポーネントを備えたシステムエンジニアリングの問題"である,という持論を展開した。

真のAIとは,意思決定と憶測的推論(Abductive Reasoning)を使用することにより,理由付けと学習を可能にするシステムである。現在の人工知能アプリケーションは,その達成には程遠く,大規模システムのコンポーネントのひとつに過ぎないのだ。

現在のAIは,最近になって生まれたものではない。アーキテクチャやアルゴリズムの多くは,数十年前から使用されているものだ。今日との違いは,計算能力が膨大であること,タグ付きデータが大量に存在することだ。実際に,モデルを構築する作業よりも,データを理解して適切な形式にするための作業の方が多い場合がほとんどである。

現代のAI

パターンマッチングとは,検索する対象について,多くの証拠を使ってシステムを教えることだ。今日のそれは,おもに画像やビデオ,オーディオといった信号である。これらの信号はシステムの中心ではなく,エッジにあることが多い。実際のマッチングは帰納的推論によって行われる。帰納的推論は意思決定ではなく,データから理論を構築するという憶測的推論でもない。

現代のAIはまた,思うほど現代的でもない。既存のアルゴリズムは数十年前から存在している。例えば,最初の人工ニューロンは1956年に誕生している。ニューラルレベルでの計算というアイデアはずっと前からあったものだ。しかし現在では,大量のタグ付けされたデータが存在し,膨大な計算能力が利用可能である。それによって本質的に古いアルゴリズムが実用的になった,ということなのだが,それらは推論や学習といったものではない。推論とは,帰納と演繹と仮説形成を取り混ぜた人間レベルの思考法が存在する,ということだ。時間の経過とともに学習する能力も必要である。これらをすべて持たなければ,真の人工知能ではないのだ。

AIの歴史

人工知能はアルゴリズム,開発,後退,進歩という,極めて長い歴史を持っている。マシンラーニングは人工知能のひとつの側面に過ぎず,ディープラーニングはさらにその一部を占めるものでさえない。ディープラーニングを強調するのは,その事実を覆い隠すものだ。

マシンラーニングには,教師あり学習(supervised learning),教師なし学習(unsupervised learning),確率的学習(probabilistic learning),非確率的学習(non-probabilistic learning)がある。

これまでの経緯を整理すると,人工知能には春の時代と冬の時代が何度もあった。最初の冬の時代は,冷戦の最中であった1950年代だ。マシントランザクションの関心の多くは,ロシア語から他言語への機械翻訳に向けられていた。よく引用される話として,"精神は強く,肉体は弱し(The spirit is willing, but the flesh is weak)"(訳注:聖書の一節)を翻訳したエピソードがある。ロシア語に訳した結果を再度戻してみると,結果は"ウォッカは強く,肉は腐っている"となった。言語学習は,人々が最初に考えたよりもはるかに難しかったのだ。

次の春はNewell氏と、小さな世界ブロックを操作するというアイデアを使っていくらかの前進を実現した、論理理論家のTerry Winograd氏とともに訪れた。言うまでもなくそれは、Marvin Minsky氏が、3年間以内に人間レベルの知性が実現される,と述べた時でもある。今では誰も、そのような主張をすることはない。コンピュータの計算能力と表現力が、このアプローチでは限界となった。

次に現れたのは、Ed Feigenbaum氏らによって最初に開発された、ルールベースのシステムである。MYCINベースの医療診断システムが、このアプローチから誕生した。Campbell Soup(訳注: 米国の食品会社)はこのテクニックを使って自社の秘伝のレシピを保存し、人の記憶に頼る部分を排除した。問題だったのは、ルールの数が数百に達すると、それ以上の拡張ができないことだ。Symbolicsなどの企業が,このようなシステムをハードウェアベースで構築しようと試みた。これらのシステムの限界が明らかになると、DARPAは資金提供を停止し、AIは新たな冬の時代へと入ることになった。

今日のAI – ディープラーニング

では、現在はどうだろう?

人工知能の進歩はシステムの一部となっているため、これまでのように消失する心配はなさそうだ。それでもGary Marcus氏のような、懐疑主義者や実用主義者の見解は心に留めておくべきだろう。ディープラーニングは、その貢献度は大きいが、普遍的なソリューションではない – 主として信号のレベルであり、より大きなシステムのコンポーネントであるに過ぎないのだ。

これは、Booch氏によれば、現世代の開発者が活躍すべき場所だ。ハードコア開発者にとってAIとは何か?彼らはこう言うかも知れない – "やあ、すごくクールな新しいおもちゃが手に入ったぞ。僕のシステムに入れれば、もっとよくなる。"それがシステムの問題になるのだ。

開発者の世界に独自のツールや環境があるのと同じように、AIの世界は独自のツールや環境を生み出している。ただし、どのツールや環境が商品化されて、市場で優位な立場に着くかは、まだ明らかではない。

ライフサイクル

AIシステムの構築は、従来のソフトウェアシステムの開発とは根本的に異なる。おもな理由は、そのデータの多さにある。システムの定義や構築、トレーニングよりも、データのキュレーションに多くの時間を費やすことになるのだ。

データに偏りがあるかどうか、意味のある、社会的に有益なデータを選択したかどうかを確認しなければならない。これは技術的問題であると同時に、倫理的な問題でもある。これを理解するためには、従来のソフトウェア開発者とはまったく違うスキルセットが必要となる。データサイエンティストが最初から,システムライフサイクルに関わる必要がある。データとユースケースの識別を、ソリューションの定義よりもずっと前から始めなければならない。

ハードウェアインフラストラクチャ

開発者にとってもうひとつ問題なのが,開発されるソフトウェアをサポートするハードウェアの導入だ。例えばGoogleは,独自にTensorFlowをサポートするためのTPUを持っており,ニューロモーフィックコンピューティングも検討している。IBMにはTrue Northというプロジェクトがあり,脳内のニューロンの働きを模したチップを開発中である。

それでもやはり,脳とコンピュータには構造上の大きな違いがある。脳が1,000億個のニューロンを持ち,20ワットの電力を消費しているのに対して,コンピュータは10億個のトランジスタで数百ワットを消費する。脳は約20Hzで動作しているので,コンピュータシステムは頭脳よりも早く動作することが可能だ。チップ上のニューロンは本質的には末端に重みを置いたバイナリであり,確率出力は1と0の間である。脳内のニューロンはスパイクし,それは関連した時間信号の存在を意味している。

アーキテクチャへの影響

推論と学習の間にはトレードオフがある。IBMがロボットアームのトレーニングを試みた時,クラウドコンピューティング上では数時間の計算が必要だったが,最終的にはニューラルネットワークをトレーニングすることにより,Raspberry Pi上でのリアルタイム動作に成功した。おそらくはすべてをクラウドで実行する必要はなく,一部をエッジで行うことが可能であろう。これはアーキテクチャ上のトレードオフとなる。

もうひとつのアーキテクチャ上のファクタは,人工知能が他の分野ほど精度を必要としないという点だ。従って,エッジ上の計算処理は他のシステムとは違うものになる可能性がある。

John Gall氏が自著"Systemantics"で論じているように,成功した大規模システムはすべて,すでに動作していた小規模システムを拡大したものだ。我々が使用しているコンポーネントは他の人々が開発したものであることが多く,我々の作ったものは他の人々に使用されることになる。このような認識 – 実行可能なアーキテクチャの継続的リリースは,アジャイルやDevOps,リーンといったさまざまな哲学の間で共有される共通的な認識だが,人工知能の世界観はこれとは大きく異なる。

Booch氏はアーキテクトとして,WatsonやAlpha Goなど,AIシステムのアーキテクチャを調査した。

WatsonJeopardy(訳注:米国のクイズ番組)での印象が強いが、AIコンポーネントを備えたパイプとフィルタのアーキテクチャに過ぎない。文が提示され、可能性のある検索結果が多数提示され、いくつかの仮設が立てられ、数百から数千という可能性に展開される。そうした後に、これらの可能性に対するエビデンスの構築が開始されるのだ。これは実質的に前向き連鎖forward chaining)だが、仮設をサポートするエビデンスとして後ろ向き連鎖(backward chaining)が一部で使用されている。最終的には、上位3つの選択肢に絞られる。人工知能はそのコンポーネントの内部で実施される。選択肢に対する応答の選択には、自然言語アルゴリズムが使用される。AIコンポーネントをまとめるのはパイプラインアーキテクチャなのだ。実際のパイプラインには、オープンソースのUIMAが使用されている。この処理を数ミリ秒で実行するには、相応のハードウェアが必要となる。

AlphaGoのコアにあるのは畳み込み(convolutional)ニューラルネットワークだ。ネットワークの外側ではホロノミック(holonomic) – すなわち、それまでの履歴ではなく、直前に知覚したことに基づいて、次に何をするのかを決定する。自動運転車の多くがこのアプローチを採用している。このクラスのアーキテクチャは反動的(reactionary)で、何らかの状態を与えることによって、その状態に基づいた推論を行う。しかしながら、履歴がなくてはできないこともある。例えば人間のドライバは、ボールで遊んでいる子供を見ると、道路に飛び出してくるかも知れないと考える。ほとんどの自動運転車には、このような判断はできない。

IBMでは、これらのアプローチを組み合わせたSelfというシステムなどで、ハイブリッドアーキテクチャを模索している。勾配降下法(Gradient descent)は数十年前から存在し,エージェントベースのシステムの登場はMarvin Minsky氏の"Society of Mind"やブラックボードシステムまで遡る。CMUのHearsay(音声認識システム)実験もそうだ。IBMでは、大規模なエージェントベースのシステムでブラックボードを用いて、AIコンポーネントと自在に通信する方法を検討している。このアプローチで同社は、ソーシャルアバタやソーシャルロボット、ソーシャルスペースの構築を可能にした。

倫理的な問題

人工知能には大きなチャンスとともに、それに関連する倫理的な意味合いも存在する。ソフトウェアシステムはすべて力による解決であり、その力はドメインによってさまざまだ。飛行機のようなリアルタイムシステムでサイクルを誤れば、Webベースのシステムとはまったく違った災害を経験することになる。しかし、開発するものを形作るものが何であるかは、尋ねなければ分からない。

これらのいくつかは、コストやスケジュール、あるいはミッションといった、純粋なビジネス力である。その他は、開発文化やツールといったものだ。時にはパフォーマンスや信頼性、使いやすさ、あるいは何らかの他の"能力"でもある・

AIシステムに関わる倫理的および法的問題の数は増えつつある。Booch氏はよく、"コードのすべての行が倫理的および道徳的決定を表している"という表現を用いている。特定のシステム開発に参加するという判断、さらにはコードを設計したり書いたりする上での判断が、大きな意味を持つかも知れないのだ。

結論

AIシステムの開発には、適切な抽象化、関心の分離、バランスの取れた責任配分、シンプルさの維持といった、従来のソフトウェア開発と同じようなスキルを必要とする。システムはインクリメンタルに、頻繁なリリースを持って成長させたい。

未解決な問題は当然ある。そのひとつが,シンボリック,コネクショニスト,量子という計算モデルをどのようにまとめるか,ということだ。Booch氏は,AIとニューラルネットワークがシステムの中心になるという,DeepMindコミュニティの見解には強く反対している。

氏はMoravecのパラドックスへの注意を呼びかけている。人間の脳の中では,意思決定システムよりも,信号処理や視覚野,聴覚野に関わるニューロンの数の方がはるかに多い。このような分離は,今日のハイブリッドシステムに見られるものだ。最先端の人工知能と意思決定のためのシンボリックシステムがあり,従来のソフトウェアがそれを取り巻いている。

Alan Newell氏がAIの冬のひとつで見たように,"コンピュータ技術は,世界のあらゆる場所において,インテリジェントな行動を取り入れる可能性を提供します。それによって私たちは,仙境(enchanted land)を実現することができるのです。"Booch氏にとってソフトウェアとは,ハードウェアの可能性に関する話をささやく,目には見えない言語である。今日のソフトウェア開発者はその語り部として,仙境を実現しようとしている人々に他ならない。

この記事に星をつける

おすすめ度
スタイル

BT