自動運転と量子コンピュータ |
[ Editor’s Column 自動運転 ] 2018年3月10日 |
1月17日~19日、東京のビッグサイトで開催された2018年オートモティブワールドに、メディアとして参加(昨年に続いて2度目)し、いくつかの技術セミナーを聴講してきた。その中で、特に「AI・量子コンピュータはクルマを革新するか」というテーマの講演に興味をそそられたので、今回は、講演内容を踏まえて、「量子コンピュータと自動運転」について、考えてみた。
ここ3-4年、"量子コンピュータ"と言う言葉が新聞などマスコミにも時々載るようになった。私は残念ながら、量子という言葉から、量子のスピンの方向にプラスとマイナスの二つがあって、それをコンピュータの"0"と"1"に対応させる事で、従来のスーパーコンピュータに比べ格段に速い演算速度と、低消費電力、更には小型化を実現するものという程度の認識をしていた。
そんな"量子コンピュータ"を自動運転に使うというので、ヘェー~~と驚きを持って聴講した。
▼自動運転には、人間と同等以上の周辺環境認識と判断・操作が求められる。2004年から始まったDARPAのチャレンジプログラムでは、インフラに特別な装置を必要としない「自己完結型の自動運転車両」による無人走行で、砂漠 (2004年、2005年)や市街地を模擬したコース(2007年)で競われ、何台か完走する車両が出現し、俄然注目を浴びるようになった。
その後、好成績を上げた開発者の多くは、GoogleなどでAIを用いた更に高度な自動運転車の研究・開発を進め、実際に車両を仕立てて公道実験まで行うようになった。慌てた自動車メーカもIT企業を巻き込んで、開発競争に突き進み始めたと言うのが現状認識である。主要な自動車メーカは、2020年代半ばにはレベル4の自動運転車を販売すると意気込んでいる。
▼この自動運転車に必須の技術と言われるのが、周辺技術の認識・理解、3次元地図である。周辺環境の取得には、ライダやカメラと言った車載センサが用いられ、これらが収集した周辺画像を処理して、周辺状況を認識・理解する事になる。
従来の画像処理方法では、認識率が70%台に留まっていたが、 2012年の物体の認識率を競うILSVRC(Large Scale Visual Recognition Challenge)において、トロント大学のチームが人間の脳神経回路をモデルにした多層構造アルゴリズム"ディープラーニング"を用いて、従来の認識エラー率26%を10%も改善(17%)して優勝し、ディープラーニングを用いた人工知能(AI)が脚光を浴びるようになった。その後もILSVRCでは毎年ディープラーニングを使ったチームが上位を占めるようになり、エラー率は5%程度にまで改善している。
ディープラーニングを用いた画像処理・認識では、従来の機械学習で必要だった"着目点"の指示が必要なくなった代わりに、認識精度を高めるために大量のデータが必要になる。実際にAI(人工知能)を利用する場合には、人工知能を造る"学習フェーズ"と人工知能を使う"認識フェーズ"があり、特に重要なのが人工知能を成長させる"学習フェーズ"である。この際に大量の学習データセットが必要で、このデータセットから規則性や関連性を抽出し、学習を繰り返す事によって"学習モデル"を作り出す。ディープラーニングの場合は、不完全なデータで学習をすると間違った判断をしてしまうため、精度を高めるためには、何百万~何千万という大量のデータ(画像データ)が必要となる。
▼そこで求められるのが、従来のCPUよりも格段に多いCPUコアを有し、超並列処理による画像処理能力に長けたGPU(Graphic Processing Unit::画像処理ユニット)である。これがGPUで一日の長があったNVIDIAが脚光を浴びている理由である。(ちなみに、GPUは、NVIDIAが付けた名称)。
GPUは、スーパーコンピュータのコアにも用いられ、3Dグラフィックスの描画を受け持つ半導体チップである。かつては"3Dグラフィックアクセラレータ"と呼ばれ、CPUの補助的な存在であったが、VRAMなどと密接に連携することによって、より多くのグラフィック関係の処理をするようになっている。
NVIDIAは、スーパーコンピュータ向けにGPUを供給しており、また、自社のスーパーコンピュータで深層学習の学習フェーズによる認識モデルの作成、更には、認識モデルを搭載できるオンボード車載コンピュータを提供している。
▼ところが、ディープラーニングの精度を高めるためにネットワークの層数を大きくすると、指数関数的に計算量が増えることになり、スーパーコンピュータを用いても学習モデルを造るのに膨大な時間がかかってしまう。現在NVIDIAは、自社のスーパーコンピュータで学習フェーズによる認識モデルの作成を引き受けるサービスも提供しており、これによると、従来のスーパーコンピュータでは1ヶ月かかっていたものが、1週間~10日程度でできるようになったと述べている。
このように、スーパーコンピュータを持ってしても演算に非常に時間がかかることをうまく利用したのが、RSA暗号技術である。現在利用されている暗号鍵は、スーパーコンピュータを使っても解くのに1000年以上かかるとされ、これが暗号鍵の安全性を担保している。
▼そこへ登場したのが、1980年に概念が提唱された量子コンピュータである。量子コンピュータは、従来のコンピュータが"0"と"1"の2値を表す"ビット"で表現するのに対して、"0"と"1"が同時に存在できる"量子ビット"を用い、重ね合わせ状態によって情報を扱うことができる。n量子ビットがあれば、2nの状態を重ね合わせの状態にあるものとして同時に表すことができる。
このため、すべての値を同時に("並列的に"という)計算することが可能になり、従来のコンピュータでは実現し得なかった高速の並列演算が実現できることになる。
1990年代には、量子コンピュータ用の各種アルゴリズムが発表され、1994年には、ピーター・ショアが、古典コンピュータでは現実的な時間では解くことができない素因数分解を、極めて短時間で実行できる"ショアのアルゴリズム"を考案し、RSA暗号の安全性が崩れる可能性を示した。西森秀稔東工大教授による"量子焼きなまし法"も、この時代の提案である。
2000年代に入ると、ハードウェアに大きな進展が見られるようになり、量子ゲートを組み合わせた量子回路を各磁気共鳴や、量子光学、量子ドット、超伝導素子、レーザ冷却などによって構成し、様々な実験的ハードウェアが研究されるようになった。2010年には、カナダのD-Wave Systems社が、西森教授の提案した量子焼き鈍し法による量子コンピュータ"D-Wave"を発表している。2015年には、D-Wave 2Xを用いて、組合せ最適化問題を解いたNASAやGoogleが、既存のコンピュータに比べて1億倍高速に演算できたと発表し、各国で、開発競争に拍車がかかっている。
ここで、現在研究・開発されている量子コンピュータを、その方式で大まかに分けると図1のようになる。
図1.量子コンピュータの分類(イメージ)
(出典:http://stonewashersjournal.com/2017/03/29/typesofqcomputer/)
▼図1に示した量子コンピュ-タのうち、暗号解読に威力を発揮する可能性が高いのが、「量子ゲート方式」と呼ばれるもので、原理的には今までのコンピュータに近い方式である。今まで量子コンピュータと呼ばれていたものの殆どがこの方式で、複数の状態を併せ持つ「量子ビット」もこの方式の量子コンピュータで利用される。電子的な信号を大量に組み合わせる形で処理を行うため、従来のコンピュータと原理が似ている。
2017年5月にIBMが、17量子ビット数の量子コンピュータ「IBM Q」を発表した(図2)。これに続きグーグルも、10月に9量子ビットのシステム開発完了を発表、更にインテルも10月に17量子ビットのテストチップ開発を発表している。
図2.量子コンピュータ「IBM Q」
(出典:https://www.nikkei.com/article/DGXMZO24543830S7A211C1000000/)
▼量子コンピュータが高速なのは、この量子ビットの大きさ分、同じ種類の計算を大量に並列処理できるからであり、逆に言うと、このような大量の並列性が存在しないと効果は期待できないことになる。
また、量子ビット数に応じて組合せ数が増加するが、その中から答えを導き出すには、量子コンピュータ用の計算手順が必要となる。これが「量子アルゴリズム」と呼ばれているものであるが、現在のところ、多様なアルゴリズムはまだ存在しない。考案されている中で有用なものは、素因数分解をする「ショアのアルゴリズム」、「量子フーリエ変換」、データベースを検索する「グローバーのアルゴリズム」など数えられる程度しかなく、有用な量子アルゴリズムの開発は、量子コンピュータの大きな課題である。
▼一方、カナダのDウェーブ・システムズ社が開発した2000量子ビット相当の量子コンピュータ「Dウェーブ2000Q」は、先に説明した量子コンピュータとは動作原理が全く異なり、「量子アニーリング」と言う動作原理を用いている。
「量子アニーリング」は、東京工業大学の西森秀稔教授等が考案した方式で、量子ビット間に働く相互作用を利用する。この方式の量子コンピュータは、「一定の制約条件下で、どういう選択をすれば良いか」を求める最適化問題に適していると言われている。
最適化問題の中で今注目されているのが、深層学習(ディープラーニング)における学習過程である。例えば、文字や音声の認識においては、与えられた条件の中で最も「最適」な文字や音声を選択する。
深層学習において、学習によって最適なパラメータを求める学習過程に応用できれば、今までNVIDIAのGPUを使ったスーパーコンを持ってしても1週間以上かかった学習過程の時間を大幅に削減できる可能性がある。
▼自動車関連企業では、既にVWが年の渋滞を解消するIoTナビの実現に向けて、量子コンピュータを用いて、北京市の1万台データを用いて、交通流最適化の改善効果をシミュレーションで確認したと報告している。
1台の車両が3通りの候補経路を有する場合、1台ならば3通りの候補経路になるが、10台の車両の候補経路は約6万通り、20台では35億通り、更に30台では200兆通りとなり、スーパーコンピュータを用いても、数十台の車両の候補経路を探索するには、年オーダの時間がかかることになる。このように、自動車業界で目前の課題となっている自動運転やカーシェアリング、更には製造・流通について、量子コンピュータの活躍が期待される。
しかし量子コンピュータの利用は、まだ応用の緒に就いたばかりで、これからの技術開発・応用開拓が必要である。自動運転への応用で考えれば、Dウェーブ社の量子コンピュータ「Dウェーブ2000Q」は、まだ1970年代の大型コンピュータ並みの大きさである(図3.参照)が、現在1週間以上かかる深層学習の「学習過程」がほんの数分に短縮される可能性があり、期待は大きい。
図3.Dウェーブ社の量子コンピュータ「Dウェーブ2000Q」
(出典:http://stonewashersjournal.com/2017/03/29/typesofqcomputer/)
一方、車載コンピュータとなると、各車両が周辺環境を認識する予測・認識フェーズでは、既にGPU搭載ボードが充分車載可能な大きさで供給され始めており、その威力が発揮されつつある。大きさ、アルゴリズム開発、などでまだまだ課題が多い量子コンピュータが利用されるようになるまでには、少し時間がかかりそうである。 (Y.N.記)