Archive for May, 2016

Googleは囲碁ソフトAlphaGoの成果をどう生かす?Deep Reinforcement Learningの革新性と次の展開

Saturday, May 28th, 2016

DeepMindが開発したコンピュータ囲碁プログラム「AlphaGo」が世界最強の棋士Lee Sedolに勝利し世界の注目を集めた。Google最高経営責任者Sundar Pichaiは開発者会議でDeepMindの快挙を紹介するという異例の対応を取った (下の写真)。Googleは対戦成果を携えどこに向かっているのか、AlphaGoのアルゴリズムとその技法を振り返り、Deep Reinforcement Learning (深層強化学習) の革新性とロードマップを考察する。

vwb_634_ai_google_reinforcement_learning_alphago (p01)

ニューラルネットワークで囲碁をプレーする

2015年10月、DeepMindが開発したコンピュータ囲碁プログラム「AlphaGo」が欧州の囲碁チャンピオンFan Huiに勝った。ついにソフトウェアがプロ棋士に勝ったとして、ニュースで大きく報道された。2016年3月には、AlphaGoが世界最強の棋士Lee Sedolに勝利し、DeepMindは再び世界を驚かせた。

DeepMind創設者Demis Hassabisらは2016年1月、「Mastering the game of Go with deep neural networks and tree search」をNatureに発表した。ここでニューラルネットワークで囲碁をプレーする方式を明らかにした。囲碁は検索する場合の数が極めて多く、形成判断が難しく、人工知能にとって最難関のゲームとされる。Hassabisらは二種類のニューラルネットワークを導入し、次の一手をどこに打つべきかを計算した。一つは「Value Network」で盤上の配置から局面を評価する (下の写真右側)。もう一つは「Policy Networks」で次の一手をどこに打つべきかを計算する(下の写真左側)。これら二つのニューラルネットワークを教育して強くするためにDeep Reinforcement Learning (深層強化学習) という手法が使われた。

vwb_634_ai_google_reinforcement_learning_alphago (p02)

Monte Carlo Tree Searchという検索技法

囲碁ソフトでは検索技術の一つである「Monte Carlo Tree Search」という技法が使われる。これは次の手を決定するために木構造で検索する手法で、その実力が実証され囲碁ソフトの標準解法となっている。しかし、囲碁におけるこの技法の問題点は検索範囲 (Search Space) の広さである。囲碁の場合は取りえる手の数が10の360乗で、宇宙に存在する原子の数より多くなる。このため検索範囲を如何に狭くするかが勝敗を握る。

Hassabisらは二つの方式で検索範囲を絞った。一つは、ある局面でこれから先の展開を評価するアルゴリズムで、上述のValue Networksが使われた。Value Networksはある局面の情勢を入力すると、その先の展開を計算する (上の写真右側、勝率を出力する)。もう一つは、ある局面で次にどこに石を打つべきかを評価するためにPolicy Networksが使われた。Policy Networksは石を打つべき場所の確率分布を示し (上の写真左側、打つ場所と勝率を示している)、候補の数を大幅に減らすことができる。これで検索範囲を縮小することに成功した。

二種類のPolicy Network

Policy Networksは二種類あり、教師あり学習 (Supervised Learning) の手法で開発されたものと、強化学習 (Reinforcement Learning) の手法で開発されてものから構成される。前者を教師あり頭文字を取り「SL Policy Network」と呼び (下の写真、左から二番目)、後者を「RL Policy Network」と呼ぶ (下の写真、左から三番目)。Policy Networksはどちらも13階層のConvolutional Neural Network (イメージを低次元に変換するネットワーク) で構成される。システム構成は同じだが、異なる教育で二つのネットワークを作る。最初にSL Policy Networkを作り、それを再教育してRL Policy Networkを作る。更に、RL Policy Networkを別の手法で教育してValue Network (下の写真右端) を構築する。また、既に幅広く使われているアルゴリズムRollout Policy (下の写真左端) も利用する。

vwb_634_ai_google_reinforcement_learning_alphago (p03)

ネットワークの種類が多いので、これらを分かりやすく整理すると次のようになる:

  • Rollout Policy:初級者レベルの実力だが差し手を考える時間が桁違いに短い、本番では打った手の先を読み勝敗を判別する
  • SL Policy Network:中級者レベルの実力だが人間の癖をよくつかんでいる、本番では次にどこに打つべきかを決める
  • RL Policy Network:上級者レベルの実力でAIで到達できる最高峰、本番では使われないが模擬試合を通じ実力を上げた
  • Value Network:実態はRL Policy Networkで本番では情勢判断に使われる

SL Policy Networkを対戦結果で教育

SL Policy Networkは教師あり学習の手法で教育された。教育データとして囲碁エキスパートの対戦結果が使われた。これはKGS Go Serverと呼ばれ、ここから16万ゲーム・2940万のポジションが使われた。ネットワークに入力するデータは碁石の色など合計48面で、ネットワークが出力するのは次に打つ場所とその勝率。ネットワークが出力する次の手を、対戦事例 (模範解答) と比較してパラメータを最適化する。この手法でネットワークを教育して実力を上げていく。これによりSL Policy Networkはエキスパートの手を57.0%の確度で予測できるようになった。

RL Policy Networkは模擬試合で強化

教育されたSL Policy NetworkをベースにRL Policy Networkを作る。強くなったSL Policy NetworkをReinforcement Learningの方式で教育する。具体的には異なる版数のRL Policy Networkが対戦して学習する。RL Policy Networkは任意に選択した古い版数の (弱い) RL Policy Networkと対戦する。ここで報酬 (Reward Functionという関数) を定義し、ネットワークは勝てば+1ポイント、負ければ-1ポイント、それ以外は0ポイントを受け取る。対戦の各ステップで、最終的に受け取る報酬が最大になるようネットワークのパラメータを最適化していく。この教育方法をDeep Reinforcement Learningと呼ぶ。RL Policy Networkは128ゲームを並列で1万回実行し、その結果RL Policy NetworkはSL Policy Networkに対して1.8倍強くなった。SL Policy Networkは、エキスパートの対戦成績を勉強して強くなったが、RL Policy Networkはアルゴリズム同士の対戦で一段と強くなった。Deep Reinforcement Learningの手法が改めて評価されることとなった。

Value Networkをランダムな対戦結果で教育

最後にValue Networkを生成する。Value Networkの実態は強くなったRL Policy Networkで、これを対戦結果を使って再度教育する。教育データは、RL Policy Network間の対戦結果が使われた。3000万局面の中から32局面を選び加工して、5000万回のミニバッチを実行し、Reinforcement Learningの方法で教育された。前述のKGS Go Serverを使って教育すると、Value Networkはこの対戦方法に特化した判断をするようになる (これをOverfittingと呼ぶ)。このため、上述の通り、ランダムな学習データで教育した。Value Networkは対戦結果をRL Policy Networkを使って近似する。RL Policy Networkの出力は確率分布であったが、Value Networkは勝率を出力する。

vwb_634_ai_google_reinforcement_learning_alphago (p04)

ツリー検索をニューラルネットワークで大幅に強化

実際の対戦ではMonte Carlo Tree SearchにRL Policy Network及びValue Networkを組み合わせて次の一手を検索する。Monte Carlo Tree Searchは囲碁ソフトの定番技法であり、これをニューラルネットワークで大幅に強化した構造となる。

Monte Carlo Tree Searchは四つのプロセスから構成される (上の写真、最初の三つのプロセスを示す)。最初はSelectionと呼ばれ (上の写真a)、木構造のノード (グリッドで示されている部分) を辿り、次の手を決めていく。事前にシミュレーションしておき、各ノードの勝率と通過した回数を記録する。しかし囲碁は場合の数が多く、シミュレーションできる範囲が限られる。勝率が高いノードを選び木構造を辿っていくが、これ以上進めないノード (Leaf Node) に到達する。ここで次の一手を打つ場所を決めなくてはならない。このプロセスがExpansionで (上の写真b)、SL Policy Networkが使われる。エキスパートの対戦データから学習を積んだSL Policy Networkが次の一手を決める。

次のステップはEvaluationと呼ばれ(上の写真c)、新しく打った手から先の展開をシミュレーションする。ここでは二つの手法が使われる。一つはValue Networkで、新しい一手から最終結果を評価する。つまり打った手の勝率を計算する。もう一つはRollout Policyを使う。Rollout Policyは統計処理技法の一つSoftmaxで構成され、打った手から勝敗がつくまでシミュレーションし、勝敗を判定する。AlphaGoは両者の結果を重みづけして局面の価値を算定する。Rollout Policyは多くの囲碁ゲームソフトで使われているものの、その精度は高くない。このためAlphaGoはValue Networkと併用して情勢を判断する。最後のステップはBackupと呼ばれ、評価結果をもとに各ノードの勝率などのデータを更新する。このプロセスを繰り返し対戦をすすめる。

vwb_634_ai_google_reinforcement_learning_alphago (p05)

上の写真はAlphaGoがFan Huiと対戦した結果で、Value Networkの計算結果を示している。盤上の数字が計算結果で、その場所に石を打った時の勝率を示している。オレンジ色の円は最高値を示す。ここに石を打つと54%の確率で勝てることを意味する。実際の対戦でAlphaGoはこの場所に石(黒)を打った。

システム構成

実際の対戦ではAlphaGoは並列システム (AlphaGo Distributed) として運用され、1202のCPU と176のGPUが使われた。AlphaGoを構成する要素技術は、前述の通り、SL Policy Network とValue Networkが使われている。SL Policy Networkで次の一手を打つ場所を計算する。Value Networkで、その手を打つと、その局面からの勝率を計算する。この二つのニューラルネットワークがMonte Carlo Tree Searchを大幅に強化し、囲碁チャンピオンを破る結果につながった。

なぜ弱いネットワークを使うのか

しかし、次の一手を打つ位置を計算するのに、なぜ上級者のRL Policy Networkではなく、中級者のSL Policy Networkを使うのか、大きな疑問を抱く。論文はこの疑問に対して、理由ははっきりしないが、人間が打つ次の手は極めた多彩なためとしている。SL Policy Networkは人間の棋士の対戦データで教育されており、人間の癖を把握している。人間と対戦する時は人間の手の内が分かるSL Policy Networkが威力を発揮することになる。理詰めで次の手を考えるRL Policy Networkは、直感が冴える人間との対戦では不向きなのかもしれない。

vwb_634_ai_google_reinforcement_learning_alphago (p06)

更に強化されたアルゴリズム

この論文はFan Hui (二段、世界ランク300位) との対戦したAlphaGoについて述べられている。AlphaGoの実力は単体運用では二段で、並列運用(AlphaGo Distributed)では五段程度とされる。その半年後にLee Sedol (九段、世界ランク1位) に対戦したAlphaGo  (上の写真) は、性能が格段に強化されたことになる。Hassabisらは強化した技法については公開していない。ただ、Lee Sedolの過去の対戦データでネットワークを教育するのはフェアーでないとして、HassabisはAlphaGoは特定個人に特化したアルゴリズムではないと述べている。

Deep Reinforcement Learningの役割

RL Policy Networkは表には現れないが、AlphaGoで決定的に重要な役割を果たしている。上級者であるRL Policy Networkは中級者であるSL Policy Networkから生成された。教育前は、両者はシステム構成もパラメータも同じで、同一なネットワークとしてスタートした。RL Policy Networkは人間のように、自ら考えて次の石を打つ位置を決める。このRL Policy Network同士で練習試合を重ね技術を向上させた。RL Policy Networkは、最初は中級レベルの腕前だが、対戦を重ねるにつれ腕を上げ、上級者に成長した。この成長を支えているのがDeep Reinforcement Learningという技法となる。

上級者に成長したRL Policy NetworkはValue Networkとして使われる。Value Networkは上級者であるRL Policy Networkをベースに再教育された。更に、その教育データはRL Policy Network同士の対戦で生み出した。AlphaGoは様々な技法を組み合わせて構成される複雑なシステムであるが、その中でDeep Reinforcement Learningの技法が決定的に重要な役割を果たしている。

AlphaGoに対する評価

ソフトウェアが最後の砦である囲碁で人間のチャンピオンを破ったことに対し惜しみない称賛が贈られた。また、技術的にはReinforcement Learningという手法で、Atariゲームと囲碁という、全く異なる問題を解いたことに対し、高い評価が寄せられている。AlphaGoはMachine Learningの最高峰を究めたことになる。

一方でAlphaGoに対する問題点も指摘されている。その一つがAlphaGoの学習速度の遅さである。RL Policy Networkは模擬試合で、128ゲームを並列で1万回実行して学習した。合計で128万回の模擬試合をこなしたことになる。人間のプロ棋士も数多くの対戦を通して腕を上げていくが、Reinforcement Learningでは試合数が破格に多い。なぜ、人間のように少ない試合数で学習できないのか課題が指摘されている。つまり、人間のように少ないデータで学習できるアルゴリズムの開発が次のステップとなる。

AlphaGoの成果をどこに生かす

DeepMindはAlphaGoを改良して更に難しいゲームに挑戦するとしている。その一つが「StarCraft」というビデオゲームである。StarCraftは26世紀の宇宙で展開されるSFゲームで、実社会で複雑な環境でミッションを完遂していく。DeepMindはReinforcement LearningでAgentを教育し、宇宙戦争で勝利するモデルを描いている。

しかし、AlphaGoの成果がゲームだけに留まるわけではない。DeepMindは将来計画については何も語っていないが、Hassabisの言動からDeep Reinforcement Learningのロードマップの一端が見えてくる。HassabisはDeepMindで開発したDeep Reinforcement Learningについて、そのアルゴリズムを脳の一部であるHippocampus (海馬) の構造にヒントを得たと述べている。Hippocampusは記憶に関する役割を担い、特に長期記憶に関連するといわれている。これ以上の説明はないが、ブロック崩しや囲碁のように、今のアクションがずっと先で得点に結びつくゲームの攻略で参考にしたのかもしれない。アルゴリズムは人間の脳の思考回路からヒントを得て、汎用的に学習できる能力を示している。

コンピュータサイエンスとニューロサイエンスの境界部分

いまHassabisやGoogleが注目しているのは、コンピュータサイエンスとニューロサイエンスの境界部分である。人工知能のアルゴリズムをヒトのようにインテリジェントにするには、ヒトにヒントを得る必要があるためだ。この背後には、ニューロサイエンスの大きな進化があり、ここ20年で大きな発見が相次いでいる。ヒトの脳のメカニズムを解明し、それをソフトウェアで実装する試みが始まった。その中でもヒトのように、少ない数のデータから学習するアルゴリズムに注目が集まっている。DeepMindは最新のニューロサイエンスの成果をアルゴリズムに応用し、人間のように思考する本当の意味でのAIの開発を始めた。

Googleが会話型AIを投入!スマホから人工知能へ大転換

Saturday, May 21st, 2016

今年のGoogleは大きく変わった。Googleはシリコンバレーで開催した開発者会議「Google I/O」で仮想アシスタント機能を搭載した新製品を相次いで発表した。仮想アシスタントとは会話型のAIで、コンシェルジュのように対話しながら生活を手助けする。開発の主軸がAndroidから対話型AIに移った。Alphabet中核企業としてのGoogleの新戦略が見えてきた。

vwb_633_ai_google_assistant (p01)

仮想アシスタント製品群

Google最高経営責任者Sundar Pichaiは基調講演で新製品を相次いで発表した (上の写真)。この模様はYouTubeでストリーミングされた。「Google Assistant」はAIベースの仮想アシスタント機能で、対話を通して情報を検索し、タスクを完遂する。「Google Home」はAIスピーカーで、話しかけて音楽を再生し、情報を検索する。Amazonのヒット商品「Amazon Echo」からヒントを得て開発した。「Google Allo」はメッセージングアプリで、ここでGoogle Assistantと対話してタスクを実行する。これはFacebookの仮想アシスタント「M」の対抗製品となる。今年のGoogle新製品は他社のアイディアを踏襲して開発されたことが分かる。

Google Assistantはコンシェルジュ

Assistantは共通技術という位置づけで、HomeとAlloの背後でサービスを支える。Assistantは利用者のコンテクストを把握し、会話を通して実社会でタスクをこなす。この背後には10年以上にわたる、Googleの自然言語解析技術の蓄積がある。Assistantは、Googleコア技術である音声検索を活用した次世代サービスで、人間のアシスタントのように振る舞い日々の生活を助ける。下の写真がAssistantのコンセプトで、ホテルのコンシェルジュのように、お勧めの映画を示し、そのチケットを手配する。

「今夜上映中の映画は?」と質問すると、Assistantは近所の映画館で上映している映画を示す。これに対して「子供を連れていくのだが」と状況を説明すると、Assistantは「家族向けの映画があります」として、家族で楽しめる映画を表示する (下の写真左側)。更に、映画内容や人数について会話を続け、Assistantは「ジャングルブックを四人分手配しました」と述べ、チケットを送信する (下の写真右側)。チケットのQRコードを示して映画館に入館する。このようにAssistantは対話しながら日々のタスクをこなしていく。人間のようにスムーズに対話が進むのは、Assistantが利用者の嗜好や場所など、コンテクストを把握しているため。大量の個人情報を保有しているGoogleにとって、この点が最大のアドバンテージとなる。

vwb_633_ai_google_assistant (p02)

Google HomeはAIスピーカー

Assistantをスピーカーに適用したものがGoogle Homeとなる。Homeはキーボードなどの入力装置はなく、言葉で操作する。Homeは円柱形のデバイスでテーブルに置いて使う (下の写真)。デバイス上部には四色のLEDライトが設置され、利用者の音声に反応して点滅する。点灯の仕方でHomeが意思を表示する。Homeの機能は三つあり、音楽やビデオ再生、家事などのタスクの実行、及び、検索機能となる。

HomeはWiFi搭載スピーカーでクラウドに格納しているコンテンツを再生する。これはヒット商品「Chromecast」のコンセプトを踏襲したもので、Homeを音声で操作し、クラウド上の音楽やアルバムを再生する。Homeをキッチン置き、朝起きた時に「Ok Google、play the morning play list」と指示すると、朝向けの音楽を再生する。Homeは常にオンの状態で周囲の声を聞いている。「Ok Google」という言葉を聞くと、その次に続く言葉に従って機能する。

vwb_633_ai_google_assistant (p03)

今日の予定を確認するためには「Ok Google, I’m listening」と語ると、Homeは「ポートランド行きのフライトは30分遅れです」などと報告する。Homeは家族のスケジュールを把握しているだけでなく、家族の声も識別できる。そこで、Homeに夕食の予約を8時に変更するように指示し、「Text to Louise, dinner is moved to 8」と語るだけで友人にメッセージを送信できる。Homeが優秀な秘書のように振る舞う。

vwb_633_ai_google_assistant (p04)

Google Homeがスマートホームのハブ

Homeは家庭の中のコントロールセンターとなり、音声で電灯やサーモスタット「Nest」を操作できる。朝起きてこない子供を起こすため「Ok Google, turn on the lights in Kevin’s room」と指示すると、Kevinの部屋の電灯を点けることができる。Homeは検索エンジンとして機能する。Kevinが「Ok Google, which star system is the closest?」と質問すると、Homeはそれに対し地球に一番近い星雲は「… Alpha Centauri」と答え、その結果をリビングルームのテレビに表示する (上の写真)。Googleは17年に及ぶ検索技術開発の蓄積があり、ここが他社に比べ大きな優位点となる。将来はパートナー企業と提携し、Homeでレストランを予約し商品を購入することを計画している。

Google AlloはAIメッセージング

Googleはモバイルと機械学習を組み合わせて新世代のコミュニケーションアプリを提供する。これがAlloでAIメッセージングとして自ら学習する能力を持っている。Alloは表現力が豊かで、人間のように振る舞い、プライバシー保護にも配慮している。下の写真がAlloの画面でテキストや写真を送受信し友人と会話する。

vwb_633_ai_google_assistant (p05)

ここまでは通常のメッセージングアプリだが、Alloは返信テキストを自動生成する機能「Smart Reply」を備えている。Smart Replyは既にメール「Inbox」で導入され実績を積んでいる。Smart Replyは受信したテキストを読み、その意味を理解して、返信文を作成する。しかし、AlloのSmart Replyは写真に対しても使える。犬の写真を受信すると、Alloは「Cute dog!」、「Aww!」、「Nice bernese mountain dog」と返信文を生成する (上の写真左側、最下部のボタン)。Alloは犬だけでなく、その種別を判別して返信文を生成する。犬の種別を判定するには高度な技術を要し、この背後にはGoogleのニューラルネットワークが使われている。Alloはコンテント (犬であること) とコンテクスト (可愛いなど) を把握する。また、Alloは学習を重ねることで利用者の表現方法を汲んだ返信文を作成する。つまり、返信文はあたかも利用者個人が表す表現となる。倫理的な問題はあるが、Alloが本人になり代わり代筆する。

会話ボットと話してレストラン予約

Alloの背後ではAssistantが人間のコンシェルジュのように振る舞い、対話形式でアドバイスする。Joyが「Let’s go for Italian food」とメッセージを送ると、Assistantはコンテキスト(場所やレストラン) を把握して近所のイタリア料理店を紹介する。これはKnowledge Graphの機能を使っており、利用者のニーズにズバリ答える。

Alloが推奨するレストランをみて、JoyとAmitがCucina Ventiという店で7時に食事することにすると、Alloはその店の情報を掲示する (上の写真右側)。Amitは「Make a reservation」ボタンをタップし、Assistantと会話しながらレストランを予約する。Assistantは時間や人数を確認しOpenTableで予約する。Assistantがコンシェルジュとして振る舞い、会話を通してタスクを完遂する。

vwb_633_ai_google_assistant (p06)

Assistantに直接問いかけることもできる。AmitがAssistantに対して「Funny cat pics」と入力すると、Assistantは猫のおかしな写真を表示する (上の写真左側)。これらの写真はGoogle Image Searchの結果が使われている。Assistantとの会話でいきなり「Did my team win」と質問すると、AssistantはAmitが贔屓にしているチームがReal Madridであることを理解しており、その試合結果を表示する。また「Next game」と尋ねると、Real Madridの次の試合予定を表示する (上の写真右側)。

また、Alloはプライバシー保護やセキュリティにも配慮している。匿名モード「Incognito Mode」を選択すると、Alloの全てのメッセージは暗号化される。これはChromeブラウザーに実装されている技術をAlloに適用したもの。AlloはAssistantを具現化した最初のサービスで、Googleの戦略製品として位置づけられる。これから全力でFacebook Mを追うことになる。

他社製品のコピーなのか

基調講演で登場した新製品はGoogle独自のアイディアではなく、ヒットしている他社製品にヒントを得ている。Homeは人気商品Amazon Echoに倣ったもので、Pichaiはこれを認めている。Alloは人気急上昇中のFacebook Messengerを追随する。Assistantは野心的なFacebook Mや進化したMicrosoft CortanaをGoogle流に焼き直したものである。今年の基調講演はGoogleが他社を追随するモードで進んだ。Googleからは世界を驚かせる斬新な製品は登場しなかった。

vwb_633_ai_google_assistant (p07)

しかし、Googleが発表した”コピー製品”はとても魅力的であった。筆者の印象だけでなく、会場の聴衆の反応から、新製品は好意的に受け止められたことが分かる。その理由は、これら新商品がオリジナル商品を上回るためだ。Homeでは音声認識技術のレベルの高さが、また、Alloでは画像認識や対話機能が際立った。Assistantは人間の手助けを必要とせず、AIが全てのタスクをこなす。Facebook MはAIと人間が共同してタスクをこなし、まだAIが独り立ちできない。更に、他社を凌駕する高度な検索技術がGoogle新商品を支えている (上の写真、Knowledge Graphの説明)。Googleが得意とするAI技術が随所に生かされており、”コピー商品”であってもオリジナル商品より魅力を感じる。

コーポレートアイデンティティ

特筆すべきはGoogleのコーポレートアイデンティティが大きく変わったことだ。GoogleがAlphabetのもとで再編され、”Pichaiカンパニー”としてその独自色がでてきた。Alphabet子会社との役割分担もはっきりしてきた。Googleはハイテクを駆使して市場を驚かす製品を開発するのではなく、家族で楽しめる優しい製品に比重を移している。オタクな会社からヒューマンタッチの会社にイメージチェンジしている。Googleの使命は情報検索で、対話型AIをユーザーインターフェイスとし、だれでも使える製品を開発する。一方、Alphabet子会社は自動運転車やヒトの寿命を延ばす高度な研究に力を注ぐ。Alphabet子会社がギークなDNAを引き継いでいる。

PichaiはAIに会社の将来をかける

Googleが会話型AIを相次いで投入したことが示しているように、PichaiはGoogleの将来をAIに託している。PichaiはDeepMindのAI技術に感銘を受けたと述べ、これがAIに傾倒する切っ掛けとなった。Pichaiは囲碁ソフト「AlphaGo」が囲碁チャンピオンを破った事例を紹介し、AIが気候変動やがん研究で重要な役割を果たすとの見解を示した。世界を変えるAI技術の開発はDeepMindの役割となる。

Googleは別のアングルからAIを開発する。そのキーワードが「Ambient (背景)」でGoogleはAIを背景技術と位置づける。AIがサービスを支える基盤となるが、あくまで黒子に徹し利用者の眼にはとまらない。具体的な実装方式は会話型AIで、利用者は自然なコミュニケーションで情報にアクセスしタスクをこなす。また、利用者との接点はスマホだけでなく、家電やクルマやウエアラブルやデスクトップなど多岐にわたるが、そのインターフェイスをAIが司る。異なるデバイスの標準インターフェイスが会話型AIで、開発の重点がAIに移った。GoogleがモバイルからAIにピボットした形となった。

ビジネスモデルが変わる

Facebook、Amazon、Microsoftに次いでGoogleが会話型AIの開発に乗り出したことで、米国IT市場は大きな転機を迎えた。今問われているのがビジネスモデルだ。仮想アシスタントを通して情報検索をするが、新しい広告モデルが必要となる。メッセージングでチケットや商品を購入する方式が始まり、会話型コマース「Conversational Commerce」が登場する。ウェブサイトで買い物をするE-CommerceからこのC-Commerceにパラダイムシフトが始まる。会話型AIで先行している日本であるが、Googleを中心とするAI開発の流れは急で、日本市場への影響は必至である。

GoogleがDeep Reinforcement Learningに賭ける理由、人間のように振る舞うロボットを開発するため

Monday, May 16th, 2016

GoogleはDeepMindを買収してDeep Reinforcement Learning (深層強化学習) という手法を獲得した。この技法はビデオゲームで人間を遥かに上回る実力を示し、また、囲碁の世界では世界チャンピオンを破った。なぜGoogleはこの技法に会社の将来を託すのか、Atariビデオゲームをプレーするアルゴリズムとその技法を振り返り、Deep Reinforcement Learningの革新性を考察する。

vwb_632_ai_google_reinforcement_learning_atari (p01)

ビデオゲームを超人的技量でプレー

DeepMind創設者のDemis Hassabisらが2013年12月に発表した論文「Playing Atari with Deep Reinforcement Learning」でこの技法が世界にデビューした。論文でコンピュータがビデオゲームを見るだけでプレーの仕方を学習する手法が示された。人間がゲームのルールや操作方法を教える必要はなく、コンピュータが試行錯誤でプレー方法を習得する。そして人間のエキスパートを上回る得点をたたき出す。

ブロック崩し (Breakout、上の写真) は、バーを操作し、ボールを打ち返し、ブロックを崩していくゲームで、1970年代に登場し日本だけでなく世界的な人気ゲームとなった。アルゴリズムは最初はゆっくりとプレーを学ぶ。一時間で200回程度のゲームをこなすと、34%の割合でボールを打ち返し、人間の初心者程度の実力となる。二時間後には、300回のゲームをこなし、既に人間の技量を上回る。四時間後には、ブロックに通路を開け、裏側からブロックを崩すという大技を自ら学習する。アルゴリズムは四時間でゲームをマスターする。アルゴリズムはDeep Reinforcement Learningという手法を使い、恐ろしいほど高速で学習する能力を示した。

Reinforcement Learningのモデル

Reinforcement LearningとはMachine Learningの一つで、意思決定のプロセスで使われる (下の写真がその概念図)。AgentがEnvironmentの中で、あるActionを起こす。AgentはActionに伴い更新されたStateを把握し、Rewardを受け取る。Reinforcement Learningのアルゴリズムは、試行錯誤を通じRewardが最大になるPolicyを求める。Policyは一つとは限らず、アルゴリズムは貪欲に異なるPolicyを探求する。

vwb_632_ai_google_reinforcement_learning_atari (p02)

この概念をブロック崩しゲームで例えると次のようになる。Agentはプレーヤーで、Environmentはブロック崩しゲームで、Stateはゲームの状態 (バーとボールの位置、ブロックの有無) となる。 Actionはバーを左右に動かす動作で、Rewardは得点で、どういう規則でActionを取るかはPolicyと呼ばれる。プレーヤー (Agent) はゲーム画面 (State) でバーを右に動かし (Action)、これによりブロックを崩し (次のState)、得点 (Reward) を得る。プレーヤーはこのサイクルを繰り返しゲームを進行する。

アルゴリズムが解くべき課題

アルゴリズムはゲームを繰り返しプレーして、得点を多く取れるような操作を学習する。基本指針はシンプルであるが、実際には難しい問題を抱えている。バーを操作してボールを打ち返し得点するが、バーの動きと得点の関係が時間的にずれている。今の操作が得点につながるまで1000ステップかかることもある。これを「credit assignment problem」と呼び、直前の操作と時間的に離れた得点の関係を算出する必要がある。

もう一つの課題はどういう戦略で進めるのが高得点に繋がるかを求めること。これは「explore-exploit dilemma」と呼ばれ、今の戦略を続けるのか、それとも、新しい戦略に挑戦するのか、作戦を決める必要がある。今のやり方である程度の得点を稼げるが、更に高得点を目指して新しい戦略を試すのかの判断を求められる。

問題の解決方法

この問題を解くために、ビデオゲーム (Environment) を「Markov Decision Process」として定義するとうまくいく。Markov Decision Processとは、次の状態は現在の状態だけに依存するという環境を処理するプロセスを指す。プロセスの目的は、ある時点において将来得られる得点を最大にするよう設定することで、これを表現する関数をQ-Functionとして定義する。Q-FunctionはQ(s, a) と記述され、時間「t」の時から、State「s」でAction「a」を取り続けるとRewardが最大になる関数を示す。この関数を探すことが命題となる。

Hassabisのアイディア

ブロック崩しでStateとは、上述の通りゲームの状態で、バーの位置、ボールの位置と進行方向、ブロックの有無となる。Q-Function (得点を推定する関数) の中にStateの情報を取り込んで得点を計算し、その得点が最大になるAction (バー操作) を取る。しかし、この方式はブロック崩しゲームには使えるが、スペースインベーダーには使えないという問題が発生する。スペースインベーダーにはブロックやバーはなく、宇宙人が攻めてきて、それを大砲で打ち落とす。

これに対してHassabisのアイディアは、解法を一般化するために、ゲーム画面のピクセルをStateとして定義。実際には、ボールの速度が分からないため、連続する画面を使う。ゲーム画面のピクセルを入力するのであれば、プレーの仕方が異なるスペースインベーダーにも使える。このアイディアがゲーム解法のブレークスルーとなり、アルゴリズムは異なるビデオゲームで使うことができる。このポイントが最大の成果として評価されている。

vwb_632_ai_google_reinforcement_learning_atari (p03)

Reinforcement Learningとニューラルネットワークの合体

このアイディアでQ-Functionを解くためにはもう一つ山を越えなくてはならない。Hassabisは、ビデオゲーム画面を84×84のサイズに縮小し、256段階のグレイで表示した。連続する四画面をStateとしてQ-Functionに入力した。しかし、Stateの数は256の84×84x4乗(10の67970乗)となり、Q-Functionで場合の数が膨大となり計算できない。ここでHassabisは次のアイディアとして、入力画面をConvolutional Neural Networkで処理し、それをQ-Functionの値 (Q-Value) とした。Convolutional Neural Networkを使うことで、ゲーム画面を圧縮して情報量を大幅に小さくできる。

上の写真が概念図を示しており、三階層のConvolutional Neural Networkなどで構成される。このネットワークはDeep Q-Network (DQN) と呼ばれ、アルゴリズムを指す言葉として使われる。ゲームスクリーン (左端の四角) から、DQNに四画面を入力すると、次に取るべきActionを出力する (右端の矢印で示された箱)。DQNの出力は数値で、バーを動かす方向とボタンを押す・押さないの操作法を算出する。

ネットワークの教育方法

生成されたDQNは最初はボールを打ち返すことができず、教育する必要がある。具体的には、前述のcredit assignment problemを解くことを意味する。DQNはゲームの時間をさかのぼり、どのActionがRewardに関係するのか意思決定のポイントを特定する。このプロセスではDQNが自らゲームをプレーして操作方法を学んでいく。人間のように試行錯誤しながら、DQNがプレーのコツを掴んでいく。

Neural Networkを組み込んだQ-Functionで将来のRewardを予測すると、関数が収束しなかったり振動して解を得られない。このため、「experience replay」という技法を用いる。ゲームプレーをメモリーに読み込んでおき、DQNを教育するとき、ここに記憶されたサンプルをランダムに取り出して実行する。人間のようにゲームの流れを振り返り、何処で間違えたのかなどを把握する。

DQNはプレー方法を学習し高得点を得る方向に収束していく。つまり、DQNはコツがわかるとその道を究める。しかし、DQNはこのレベルの得点で満足するのか、それとも、リスクを冒し新しい方式を試すのかの選択を迫られる。これが、exploration-exploitation dilemmaで、冒険する度合いを「ε」という変数 (greedy explorationと呼ばれる) で定義する。εは貪欲に新しい手を探る係数で、数字が大きくなるほど危険を冒して新しい手を探る。

DQNは人間の技能を大きく上回る

Hassabisは49の異なるビデオゲームでDQNをベンチマークしたが、そのうち29のゲームで人間以上の成績をマークした。ブロック崩しゲームでは人間のエキスパートの13倍超の成績を収めた。アーキテクチャの観点からは、DQNは同じアルゴリズム、同じネットワーク、及び同じパラメーターで異なるゲーム49をプレーできることが評価される。DQNは高次元のセンサーデータと操作方法を結び付けて、インテリジェントなAgentが高度なタスクを実行することを示したことになる。

GoogleがDeepMindを買収した理由

強化学習の技法「Q-Learning」はロボットや機器制御で幅広く使われている。Sonyの子犬型ペットロボット「AIBO」をQ-Learningで歩行制御する事例などが有名である。AIBOは、最初は速く歩けないが、Q-Learningで教育するにつれ歩き方を学習し、速く進めるようになる。

HassabisはこのQ-LearningをConvolutional Neural Networkと組み合わせ、複雑な環境に適用したことが評価される。具体的にはゲーム画面をConvolutional Neural Networkに入力することで、特定のゲームだけでなく、DQNが汎用的にゲームをプレーできることが示された。この点が大きなブレークスルーとなり、Deep Reinforcement Learningが世界の注目を集めることとなった。GoogleはDQNが自ら学び超人的な技量を獲得できる点に着眼し、DeepMindを6億ドルで買収した。

Googleの狙いはロボット開発

HassabisはDeep Reinforcement Learningをビデオゲームだけでなく幅広く適用することを目指している。その後公開された論文によると、DeepMindはReinforcement Learningを開発するために、三次元の迷路「Labyrinth」を使っている。これはオープンソースのゲーム「Quake」を利用したもので、DeepMindの研究者はこの環境で最新技術の研究を進めている。

vwb_632_ai_google_reinforcement_learning_atari (p04)

研究テーマの一つが試行錯誤しながら迷路を歩くゲーム (上の写真)。仮想の人物 (Agent) が迷路の中に置かれたリンゴを拾い、魔法のドア (Portal) を抜けるとポイントを得る。60秒間でどれだけポイントを得るかを競う。魔法のドアを抜けると、また、ゲームオーバーになると新しい迷路が登場する。Agentは人間のように、目で見た情報から最適なアクションを取る。ブロック崩しゲームと同じ仕組みであるが、ここでは遥かに高度な技術が求められる。Agentは視覚からのインプットを元に、数多くの異なる迷路でプレーする。このためにAgentは特定の迷路向けに作戦を立てるのではなく、全ての迷路で通用する包括的な戦略の策定が求められる。将来は、迷路にパネルが掲示され、Agentはそこに書かれている言葉が何を意味しているのかを三次元空間でオブジェクトと接しながら学ぶ。Hassabisはこの技術を会話ボット (Chatbot) に応用することを明らかにしている。最終的には、Agentが仮想空間でインテリジェンスを身に付けることを目的としている。

DeepMindはLabyrinthで開発したAgentを実社会で試験する。Hassabisは開発したアルゴリズムでロボットを制御することが次の重要なマイルストーンであると述べている。Agentがどんどん変わる迷路で視覚を頼りに最適な判断を下すメカニズムは、ロボットが街の中を歩き、どんどん変わる周囲の環境に対応するアルゴリズムに応用できる。Hassabisは世界で優秀なロボットが開発されているが、ソフトウェアが周りの世界を理解できないため、十分に活用されていないとし、次の目標はインテリジェントなロボット開発であると述べている。更に、HassabisはDeepMindで開発したソフトウェアを自動運転車で使うことも表明しており、ロボティックスとモビリティー技術が一気に進む可能性を秘めている。

Googleの人工知能アポロ計画、Deep Reinforcement Learningでヒトの脳に近づく

Wednesday, May 11th, 2016

Google DeepMindはAlphaGoで囲碁の世界チャンピオンを破った (下の写真)。これに先立ちDeepMindは、Atariビデオゲームで人間を遥かに上回る実力を示した。これらシステムの背後ではDeep Reinforcement Learning (深層強化学習) という手法が使われている。この手法は人間が意思決定するメカニズムをアルゴリズムで再現したもので、本当の意味でのAIと言える。いまAI研究の主流はDeep Reinforcement Learningに向かっている。AlphaGoの成果を携えどこに向かっているのか、Googleの次の手を探る。

vwb_631_ai_google_reinforcement_learning (p01)

ビデオゲームを見るだけでプレーの仕方を学習

Deep Reinforcement Learningが脚光を浴びたきっかけは、DeepMind創設者のDemis Hassabisらが2013年12月に発表した論文「Playing Atari with Deep Reinforcement Learning」である。この論文でコンピュータがビデオゲームを見るだけでプレーの仕方を学習する手法が示された。Atari 2600ビデオゲームが使われ、ゲーム画面ピクセルと得点を入力すると、コンピュータが自らプレー方法を学習する。人間がゲームのルールや操作方法を教える必要はなく、コンピュータが試行錯誤でプレー方法を習得する。そして人間のエキスパートを上回る得点をたたき出す。

コンピュータは特定のゲームだけでなく、29のゲームについて学び、そのほとんどで人間以上の得点をマークした。システムは特定のゲームをプレーするようプログラムされているのではなく、どのゲームでもプレーできる。つまり、ゲームごとにアーキテクチャーやアルゴリズムを変更するのではなく、システムが汎用的に学習できる能力が示されたわけだ。システムが広範囲のゲームを学ぶ能力に世界が驚いた。これがきっかけとなり、2014年1月、GoogleはDeepMindを買収した。

vwb_631_ai_google_reinforcement_learning (p02)

Deep Reinforcement Learningという技法

このシステムはReinforcement Learning (強化学習) とConvolutional Neural Networkを組み合わせた構成で、Deep Reinforcement Learningと呼ばれている。Convolutional Neural Networkは写真に写っているオブジェクトを判定するなど、コンピュータの眼として機能する。ここでは画面のイメージを把握するために使われる。それをReinforcement Learningが読み込み、次のアクションを決める。Reinforcement Learningは簡単なモデルで使われてきたが、それをニューラルネットワークを利用して複雑なモデルに適用した点が大きな進化となる。

上の写真はその実例で、アルゴリズムがBreakout (ブロック崩し) というゲームを実行しているところで、システムがプレー方法を学ぶ仕組みを示している。システムはゲーム画面 (上段) を読み込み、その画面が持つ価値「V」 (得点につながるほど値が大きい) を計算する (下段のグラフ)。①と②ではVは17で、アルゴリズムはブロックを崩すだけでは大きな得点につながらないと理解する。しかし、④ではVは23で、ブロックを貫通すると大きな得点につながることを理解する。システムはブロックを貫通させる方向にプレーするというポリシーを獲得する。つまり、システムが大技を覚えたことになる。Deep Reinforcement Learningとはアルゴリズムは実践を通して自らポリシーを学習するシステムと言える。このため、Deep Reinforcement Learningは人間のようなインテリジェンスを実現できると期待されている。

AlphaGoが囲碁チャンピオンを破る

2015年10月、DeepMindが開発したコンピュータ囲碁プログラム「AlphaGo」が欧州の囲碁チャンピオンFan Huiに勝った。ついにソフトウェアがプロ棋士に勝ったとして、ニュースで大きく報道された。2016年3月には、AlphaGoが世界最強の棋士Lee Sedolに勝利し、DeepMindは再び世界を驚かせた。

Demis Hassabisらは2016年1月、AlphaGoのメカニズムに関する論文「Mastering the game of Go with deep neural networks and tree search」発表した。ここでDeep Neural Networkで囲碁をプレーする方式を明らかにした。この論文によると、囲碁で次の手を探すには木構造で検索する手法 (Monte Carlo Tree Search) が使われる。囲碁の場合は取りえる場合の数は250の150乗で、宇宙に存在する原子の数より多くなる。仮に最速のスパコンで宇宙誕生当初から計算を始めたとしてもまだ終わらない。

AlphaGoの仕組み

このため、場合の数を絞り込むためDeep Neural Networkが使われた。ここでもReinforcement LearningとConvolutional Neural Networkを組み合わせた構成が使われた。Convolutional Neural Networkは碁盤のパターンをざっくりと認識するツールとして機能し、棋士の過去の対戦結果を学び、次にどこに石を置くかを計算する。

一方、Deep Reinforcement Learningは棋士の頭脳として機能し、コンピュータ同士で対戦するために使われた。模擬試合で版数の異なるアルゴリズム (強いソフトと弱いソフト) が対戦した。アルゴリズム同士が対戦することで腕を上げていく。つまり、ソフトウェアが人間から指導を受けることなく、自らがプレーを学び、対戦を通して実力を上げる。ここでもカギを握るのがReinforcement Learningで、どこに石を置くべきかインテリジェントな判断を下す。本番のプロ棋士との対戦では、碁盤の局面から情勢の優劣の判断をするアルゴリズムとともに、木構造で次の手を検索し、これが勝利につながった。 (下の写真は囲碁とAlphaGoを説明するDemis Hassabis。)

vwb_631_ai_google_reinforcement_learning (p03)

Reinforcement Learningとは何か

そもそもReinforcement Learningとは何か、余りに幅が広くとらえにくい概念である。Reinforcement Learningを「Science of Decision Making (意思決定の科学)」と理解すると分かりやすい。Reinforcement Learningは、最適な判断を下すための技法を意味する。コンピュータサイエンスではMachine Learning (機械学習) 配下のブランチとなる。Machine LearningはDeep Neural Networkの登場で一気に注目されてきたが、ここに大物新人Deep Reinforcement Learningが登場した構図となる。上述の通り、このきっかけを作ったのがHassabisで、Deep Neural Networkと組み合わせることで、アルゴリズムが人間のように汎用的に判断できることを実証した。Deep Reinforcement Learningの手法でビデオゲームを制し、囲碁世界チャンピオンを破り、世界の注目を集めることとなった。

Reinforcement Learningはコンピュータサイエンスだけでなく、多くの分野で使われている。特に、エンジニアリング、心理学、数学、経済学、ニューロサイエンスの分野で早くから研究が進んでいる。エンジニアリングではOptimal Controlとして、連続するアクションを最適化する研究。心理学ではClassical/Operant Conditioningという分野で、動物がどう意思決定するかを研究する。数学ではOperations Researchとよばれ意思決定や効率の最適化を求める。経済学ではGame TheoryやUtility Theoryと呼ばれ、人は利便性を最適化するためにどう意思決定するかを研究する。ニューロサイエンスでは人間の脳がどういうメカニズムで意思決定をするのかをテーマとする。多くの分野でコンピュータサイエンスとの接点が深まり、イノベーションが生まれている。

vwb_631_ai_google_reinforcement_learning (p04)

GoogleのReinfocement Learning戦略

HassabisはDeepMindのロードマップについて述べている。Deep Reinforcement Learningを中心とするDeep Neural Networkは、今後五年から十年のレンジで、生活の様々な分野に入ってくる。一番注目される分野がロボティックスで、家庭向けのサービスロボットに研究成果を適用する。家庭向けロボットは、家の中を掃除したり炊事することを想定しており、Deep Reinforcement Learningを使うことで自律的に意思決定ができる。現行のロボットはプログラムされたロジックで動き、想定される環境ではうまく動作する。しかし、想定外の事象に遭遇すると問題が発生する。現実世界は想定外の連続で、ロボットが自律的に判断するためにDeep Reinforcement Learningが実力を発揮する。

自動運転車や会話ボット

自動運転車もロボットの一つで、Deep Reinforcement Learningが実力を発揮できる分野である。Hassabisははっきりと、DeepMindで開発した技術を自動運転車に提供すると表明している。詳細については何も語っていないが、人間のドライバーのように判断するアルゴリズムが登場するのかもしれない。自動運転車が自ら学習し超人的な能力を獲得する日もそう遠くはない。輸送システム全体が革新的に変化する可能性を秘めている。(上の写真はMountain Viewで試験走行を繰り返すGoogle自動運転車プロトタイプ。)

仮想ロボットChatbot (会話ボット) にもDeep Reinforcement Learningを適用すると述べている。今の会話ボットは教材を学習し、学んだことをベースに利用者と対話する。例えば、コールセンターオペレータとユーザの会話を学ぶと、会話ボットがオペレータに代わり、ユーザと会話してコンピュータ障害に対応できる。しかし、会話ボットは会話の意味を理解しているわけではなく、ユーザの質問に対して、それに続く最適な文字列を過去の統計確率から生成する。ここにDeep Reinforcement Learningを適用すると、会話ボットがユーザの意図を把握し、最適な判断ができるようになる。会話ボットが人間のオペレータのように振る舞い、ユーザの問題点を解決していく。

Google DeepMindの最終ゴール

HassabisはDeepMindを科学技術分野へ応用することを最終目的としている。気候変動の研究、がんのメカニズムの解明、エネルギー分野、遺伝子工学、マクロ経済、金融システムなどで、人工知能が人間の科学者に代わって研究するモデルを想定している。これらの分野では大量にデータが生成されるが、優秀な科学者でも扱える範囲には限りがある。人工知能が大量のデータを学習し、人間の研究者に代わり研究開発を行う構想を描いている。Hassabisはこのプロジェクトを現代のApollo Program (アポロ計画) と表現し、人工知能の技法を適用することでブレークスルーが起こり、科学技術の進化が早まると期待している。本当の意味での人工知能の開発が始まったとして世界から注目を集めている。

無人走行するクルマはできるのか? Google自動運転車が直面している課題

Thursday, May 5th, 2016

Googleは自動運転車を2017年に出荷すると示唆していたが、今ではこれを2019年としている。最初に出荷される自動運転車は全米を走れるわけではなく、地域を限定して運用される。このところGoogleは自動運車投入に関し慎重なポジションを取っている。この背景には何があるのか、米国議会公聴会資料などから、自動運転車開発でGoogleが直面している問題を解析する。

vwb_630_car_google_challenge (p01)

米国議会の自動運転車に関する公聴会

米国議会上院の通商科学運輸委員会 (Senate Committee on Commerce, Science, and Transportation) は2016年3月、自動運転車に関する公聴会を開催した。GoogleやGMなどが出席し、自動運転技術開発状況について説明するとともに、連邦政府への要望を提示した。Googleは、各州ごとに自動運転車に関連する法案が審議されているが、これらに代わり連邦政府が全米をカバーする統一指針を示すことを求めた。公聴会では委員長John Thune (上の写真) が自ら議長を務めた。公聴会の模様はビデオで公開されている。

公聴会では自動運転車の安全性に関する評価が示された。Duke Universityのロボティックス研究所 (Humans and Autonomy Lab and Duke Robotics) 所長Mary Louise Cummingsが自動運転技術について厳しい見解を示した。自動運転技術の将来は楽観できるものではないとし、自動運転車が社会に普及するのは時期尚早であると述べた。更に、完全自動運転車については尚更であるとしその危険性を指摘した。Tesla Autopilotのような限定的な自動運転車は安全性が十分に確立されていないことを意味する。更に、Googleが開発している完全自動運転車については、市場に投入する時期を慎重に決めるべきとしている。

識者が指摘する自動運転車の問題点

Cummingsは主張の根拠について説明した。発言内容を纏めると、自動運転車開発での課題は、悪天候での走行、ソーシャル・インタラクション、セキュリティー、プライバシーとなる。悪天候での走行とは、自動運転車は路上の水たまり、霧雨、激しい雨、降雪などに対応できていないことを指す。ソーシャル・インタラクションとは聞きなれない言葉だが、クルマとヒトとの交信を示す。自動運転車は警察官の手信号を理解できないなど、ヒトと意思疎通できない。セキュリティー面からは、自動運転車はサイバー攻撃に対して備えができていないだけでなく、GPS受信機やLidarへの妨害行為への対応が求められる。プライバシー保護や個人データ管理の観点からは、自動運転車が収集するカメラ映像やセンシングデータの厳格な管理が求められると指摘した。

ソーシャルインタラクション (対クルマ)

この中で最大の障壁になると思われるのがソーシャルインタラクションである。Google自動運転車と並走して一番気になるのがこのソーシャルインタラクションだ。ソーシャルインタラクションとは、具体的にはドライバーと他のドライバーやヒトとのコミュニケーションを示す。ドライバーは運転中に他人とアイコンタクトなどで無意識にコミュニケーションを取り、お互いの意図を確認しあっている。一時停止の道路標識がある交差点では、順番が回ってきて発進する際には、交差する車線のドライバーを見て安全を確認する。しかし、自動運転車はアイコンタクトで安全確認ができないため、他のドライバーは不安を感じる。

vwb_630_car_google_challenge (p02)

実際にこのシーンに遭遇した。前を走っていたGoogleプロトタイプは交差点 (上の写真) で立ち往生した。T字路の一時停止標識で止まり (上の写真でクルマが止まっている場所)、左右の安全を確認して順次発進するが、Googleプロトタイプは動かなかった。左側のクルマが発進し、プロトタイプの順番になったが、発進する様子はない。アルゴリズムが仕様通り機能しなかったのか、一回順番をスキップして次の回に発進した。このような状況になると、他のドライバーはGoogleプロトタイプの意図が読めず、発進していいのかどうか不安を感じる。人間だと問題が起こった時は、目くばせや手を振って意思疎通を図るが、自動運転車はこれができない。

ソーシャルインタラクション (対歩行者)

横断歩道の手前で歩行者が立ち止まっている場合、意図を把握するのが難しい。道を渡るのか、それとも、そのまま立ち止まったままなのか判断できない場合もある。スマートフォンを操作している場合は尚更である。人間のドライバーが困惑するこのケースを自動運転車はどう判断するのか、まだまだ課題は多い。アルゴリズムが歩行者の次の行動を予測することは、クルマの進路を予測することに比べ格段に難しい。

下の写真はMountain View市街地で試験走行をしているGoogleプロトタイプ (交差点手前で止まっている車両)。ここでは多くの歩行者がスマホを見ながら横断歩道を渡る。ソーシャルインタラクションに関する学習データが豊富で、Googleプロトタイプのアルゴリズムは機械学習を重ね機能を向上しているものと思われる。

vwb_630_car_google_challenge (p03)

安全性の評価基準の制定

公聴会では自動運転車の安全基準についても意見が述べられた。Cummingsは開発企業は自動運転車の安全性評価が十分でないと指摘した。同時に、NHTSA (National Highway Traffic Safety Administration、米国運輸省配下で車両安全基準を制定する部門) がこの役割を担うべきであると提案した。CummingsはシンクタンクRand Corpのレポートを引用し、自動運転車が人間レベルの安全性を証明するためには、2.75億マイルを無事故で走行する必要があると述べた。

実際にこのレポートを読むと、その根拠を示すグラフが示されている (下の写真)。これによると、人間がクルマを1億マイル運転すると死亡事故は1.09回発生する。自動運転車が人間と同じくらい安全であることを証明するためには2.75億マイルを無事故で走る必要がある (緑色のグラフ、推定の確度は95%)。一方、Google自動運転車は2009年から2016年3月までに150万マイル走行している。単純計算すると人間レベルの安全性を証明するためには12.5年かかかることとなる。走行距離だけで安全性を評価する方法は現実的でないことがわかる。

vwb_630_car_google_challenge (p04)

このため、Cummingsは政府や企業は安全を評価するための新しい手法を開発する必要があると提唱した。自動運転技術で先行しているのは航空機産業で、早くから自動着陸機能 (Autoland) を商用機に搭載し運用している。航空機の自動着陸機能は、製造メーカーが徹底した試験を実施し、そのデータをFAA (米国連邦航空局) が検証する仕組みとなる。FAAが安全だと認定したソフトウェアだけを使うことができる。Cummingsは、これと同様に自動運転車も開発企業が試験データを公開し、公的機関で安全性を検証する仕組みが必要であると提唱した。ここでは触れられなかったが、開発企業は自動運転車の試験データは製品の根幹に関わる機密データで、これを公開することを躊躇している事情もある。

Googleの安全評価指標

Googleは自動運転車の安全性に関するデータは公開していないが、テストレポートからこれを読み取ることができる。テストレポートはMonthly Reportと呼ばれ、カリフォルニア州で実施している自動運転車の試験結果が記載されている。この中に自動運転機能を停止する措置 「Disengagement」を報告している部分がある。Disengagement (自動運転機能解除措置) を実行することは自動運転車が危険な状態にあることを意味する。自動運転車が設計通り作動していない状況で、不具合の件数とも解釈できる。つまり自動運転車のインシデントレポートとなる。

Disengagementは自動運転車が自律的に起動するケースと、同乗している試験スタッフがマニュアルで起動する方法がある。下のテーブルはDisengagementの回数と試験走行距離を月別に表示したものである。2015年11月は、Disengagementの回数は16回で走行距離は43275.9マイルとなる。つまりこの月は16回問題に遭遇したことを意味する。GoogleはDisengagementが実行されたときのデータをシミュレーターに入力し問題の原因を解析する。Disengagementを実行しなっかた場合、自動運転車はその後どう動いたかもシミュレーションする。自動運転車は問題をうまく回避したのか、それとも事故につながったのかを解析する。ただ、Monthly Reportにはここまでの情報は開示されていなく、Disengagementの回数だけが報告されている。

vwb_630_car_google_challenge (p05)

更に興味深いのはDisengagementの場所である。自動運転車は高速道路や市街地を走行するが、高速道路では問題がほとんど発生していない。Disengagementが発生した場所は市街地に集中しており、全体の90%を占める。歩行者や自転車が多い市街地の走行がいかに難しいのかをこのデータが示している。

自動運転車への期待

ちなみに、このレポートはカリフォルニア州政府が定めた法令に従ってGoogleが開示したものである。他の企業がカリフォルニア州で自動運転車を試験する際は同様のレポートの提出が義務付けられている。このレポートによると、いま自動運転車を購入すると、2700マイルごとに障害が発生することになる。クルマの平均走行距離を勘案すると3か月に一回事故に遭遇することを意味する。安全性は急速に改善しているが、商用車として市場に投入するにはまだ早すぎることがわかる。Monthly Reportを読むと自動運転技術開発の難しさを改めて認識する。同時に、米国では、Googleや自動車メーカーがこの難しい課題を乗り越え、自動運転車を市場に投入し、交通事故が減ることへの期待が大きくなっている。運転の便利さだけでなく、交通事故を減らす手段としても、自動運転車への評価が高まっている。