今回の題材は以下の記事だ。
- GTC 2015 - Googleが「ディープラーニング」に対する取り組みを紹介 (3月20日掲載)
最近、「ディープラーニング」という言葉を耳にする機会が増えている。多くの人にとってはまだ縁遠く、生活に関連しないものに感じられるだろう。だが、現在その活用は急速に広がっており、製品に必須の要素となるのは間近だ。今回は、その影響と製品への組み込みの可能性について考えてみよう。
NVIDIAが燃える「ディープラーニング」とは
件の記事で話題になっている「GTC」とは、GPU Technology Conferenceの略で、毎年、GPUのトップメーカーであるNVIDIAがこの季節にサンフランシスコで開催しているイベントである。その内容は、毎年少しずつ違う。単純にNVIDIAのGPUをアピールするイベントというわけではなく、その時々に、NVIDIAが考える「GPUの重要な使い方」「GPUとコンピューティングの未来」について考えるイベント、という色合いが強い。
そんな中、今年の軸となっていたのが「ディープラーニング」だ。
ディープラーニングとは、巨大なコンピュータシステムを使って、複雑なデータから必要な情報を収集するための手法であり、データの内容からある程度自律的に情報を整理する手法といっていい。
ざっくりと説明しよう。ディープラーニングでは、脳機能を数学モデルで再現する「ニューラルネットワーク」が使われる。これ自体は、PC普及以前の1960年代まで、コンピュータで問題解決を目指す手法として注目されていたのだが、現在一般的な「データベース的人工知能」に競争で負けた。
ニューラルネットワークは、人間が自ら学習して知識や認識を強化していくように、自ら認識を高めていくのが特徴なのだが、その学習よりも、人がパラメータ設定を行って認識に利用するほうが、パラメータ製作の手間を含めても効率がよかった。
そうした状況をひっくり返したのが、ディープラーニングという手法だ。ニューラルネットワークでの学習プロセスを多層化して「深く」するから「ディープ」なのだが、色やディテールなどに分割したり、エリアを分割したりして学習層を多層化し、グルグルとフィードバックすることで、機械学習によるパラメータ構築が、人の手によるパラメータ構築を超える速度と効率を実現した。
そのためには小規模な演算を多層的に、大量に並列に回せるコンピュータが必須になる。そうした仕組みはGPUでの演算に向いており、GPUを使ったスーパーコンピュータの用途拡大を狙うNVIDIAにとっては格好の題材である……というのが、GTCでディープラーニングが脚光を浴びる理由である。
パトカーとRVを見分ける自動運転車
ディープラーニングはどのような価値をもたらすのだろう? 現在も音声入力や顔認識は、ディープラーニングの成果が生かされ、精度アップにつながっている。しかしここでは、もう少し目で見てわかりやすく、インパクトも強い例を挙げたい。
GPUによるスーパーコンピューティングとともに、NVIDIAが現在力を入れているのが「自動車」だ。1月のCESでは、アウディと共同で自動運転車「Jack」を開発、シリコンバレーからラスベガスまで「完全自動走行」するデモを行った。画像はCESに展示されたものだが、注目は道を走る自動車の種別が正確に認識されている点である。Jackにはカメラが搭載され、そこからの映像をディープラーニングによる画像認識で分析し、人や車を避け、パトカーに特に気をつけ(笑)、まるで普通の車のように走行してきた。人間が持っている「白黒模様でこんなデザインの車はパトカーに違いない」という認識をディープラーニングの繰り返しによって会得し、自動運転の精度と技術を向上させたことが注目に値する。
自動車側に搭載されるロジックボードである「Drive PX」には、多数の外部ポートが用意されている。これは、車のいたるところに搭載されるカメラやセンサーとのコミュニケーションを行うためのものだ。
NVIDIAジャパン・シニアソリューションアーキテクトの馬路徹氏は、こうした機構の使い方を、筆者に次のように説明してくれた。
「クラウドの向こうのディープラーニング・ネットワークに、常に接続していては間に合いません。ですから、ディープラーニングの結果得られたパラメータだけが手元に蓄積されます。そして、それを使い、ローカルにあるTegraが画像認識を行って、コントロールに使います。しかし、実際に運行している際には、これまでの学習結果からずれた情報も得られます。たとえば、とても変わっているけれどこれは自転車である……といったようなものに出会うこともある。そうした情報は車ごとに存在するわけですが、運転していない時などに、ネットワークを介し、ディープラーニングにかけられます。結果、パラメータ精度はさらに高まる。そして気がついてみると、日々認識精度は上がっていくのです」
それぞれの自動運転車は、ディープラーニング情報を集めて全体で精度を上げるための「端末」でもあるわけだ。