トピック
NVIDIA、自動運転・自動認識の最前線を紹介する「ディープラーニングセミナー」
ヘテロジニアスラーニングによる歩行者検出精度向上などを発表
(2015/8/26 00:00)
- 2015年8月19日 開催
NVIDIA(エヌビディア)は8月19日、愛知県名古屋市において「ディープラーニングセミナー 2015」を開催した。本セミナーでは、同社が提供するGPU(Graphics Processing Unit)が、人工知能を実現する有望な技術の1つとして近年話題の「ディープラーニング」にどのように関わり、何を可能にするのか、そもそもディープラーニングとはどういうものかなどの詳細な解説が行われた。
今回のディープラーニングセミナーの開催場所が自動車メーカーや自動車の主要部品メーカーが集う地域ということもあり、主に自動運転技術に対してディープラーニングがどのような点で有益なのかが中心的なテーマとなった。またGPUだけでなく、NVIDIAが提供するディープラーニング活用のためのソフトウェアソリューションについても合わせて紹介していた。
ディープラーニングの高精度の画像認識により、自動運転実現へ
「ディープラーニング」は、2012年に行われた世界的な画像認識コンテスト「ILSVRC」において、ディープラーニングを基礎としたアルゴリズムを用いるチームが驚異的な低エラー率を叩き出したことで一躍注目を浴びたテクノロジーだ。
人工知能を実現するための従来手法では、人間の脳の仕組みを模倣したニューラルネットワークを用いることはあったものの、その前段階となる“物”を認識させるのに必要な“特徴”の抽出と、それをコンピュータに学ばせるための処理など、多くの部分に人間の作業が介在していたことから、取り扱うデータ量や学習の範囲は限定的にならざるを得ず、必然的に人工知能の進化も伸び悩んでいた。
一方、ディープラーニングを用いた手法では、ニューラルネットワークを多層構造とした上で、特徴の抽出と学習をほぼすべてコンピュータ自身が自動で行うため、いわゆる「ビッグデータ」をはじめとする膨大なデータをもとに高速に機械学習を実行できるようになる。
ディープラーニングの応用範囲は画像認識に止まらない。セミナーの基調講演で登壇した中部大学 工学部 情報工学科 講師 山下隆義氏は、音声認識に関するベンチマークでディープラーニングを用いた手法がトップの成績を獲得したことに加え、単純なパズルゲームの攻略法をコンピュータが独自に学んだり、Googleが2015年6月に発表した人工知能の描く絵「Inceptionism」を発表したことなどを紹介した。そして画像認識においては、2014年以降、人間のエラー率とされる5%に限りなく近づいているか、場合によっては下回ることもある段階だという。
こうしたディープラーニングによる画像認識は、カメラ映像を通じた物体検出、歩行者検出などにも応用でき、ひいてはクルマの自動運転の実現にもつながっていく。これまでは処理の負荷などを考慮して人間の検出には人物であるかどうかの認識のみを行ってきたが、脚の座標の検出も同時に行うようにしたことで、歩行者の検出精度をより高めることができるという研究結果も報告された。
ディープラーニングとNVIDIA
このようなディープラーニングにNVIDIAはどのように関わっているのだろうか。言うまでもなく、NVIDIAはPC向けのグラフィックスプロセッサであるGPUのメーカーである。一般にはコンシューマユーザー向けGPUのGeForceシリーズがよく知られているが、CADやCGデザインなどの用途に適したエンタープライズ向けGPUであるQuadroシリーズのほか、最近ではクラウドサーバー、スーパーコンピュータ向けのハイエンドシステム向けGPUであるTeslaも提供している。
同社プラットフォームビジネス本部 部長 林氏によれば、GeForceシリーズはコンシューマ市場ではかなりのシェアを占めているが、その一方で企業ユーザーからはTeslaを搭載したサーバーの引き合いも増えており、Google、Facebook、IBM、MicrosoftなどIT関連の大企業はもちろんのこと、数多くのスタートアップ企業もGPUを活用したディープラーニングに取り組んでいるという。
最新のK80を使用したTeslaでは、大量のデータを処理するディープラーニングで特に重要とされるメモリバンド幅が約500GB/s、倍精度演算性能は約3TFLOPSで、現在の最高性能のCPUと比較してもそれぞれ6〜10倍上回っているとしている。例えば画像認識のためのイメージ処理について、16コアのCPUのみでは1日に250万枚程度しかこなせないのに対し、最新GPUのTITAN Xチップセットでは1日に最大4300万枚を処理できる。
一般的なCPUと比べ、ディープラーニングにおける画像処理などにおいて圧倒的な性能を実現するNVIDIAのGPUだが、すでに説明したとおり大まかにはGeForce、Quadro、Teslaという3つのシリーズに分かれており、利用シーンごとの使い分けも重要だと林氏は説明する。コストパフォーマンスに優れたGeForceはディープラーニングのローカル開発環境に、高い堅牢性と信頼性を誇るTeslaはクラウドサーバーやデータセンターなど、本番運用環境での利用にそれぞれ適していると述べた。
Teslaは高価ではあるが、半導体製造とメモリ設計、ストレステストなどを一貫して同社が行っているのに加え、エラー保護・補正を行うECCメモリを採用するほか、GPUメモリ間で直接データ転送を行うGPUDirect、GPUの動作状況を監視するモニタリング機能なども提供し、クラスター運用での性能も重視して開発されている点でGeForceとは大きく異なっている。
現行のGPUはMaxwellと呼ばれるアーキテクチャを採用しているが、2016年にはPascalへと世代交代する。16bit演算処理のネイティブサポート、次世代の「HBM(High Bandwidth Memory)」技術を採用した積層型3Dメモリの搭載、チップ間の高速データ転送を実現する「NVLink」の実装などにより、さらなるパフォーマンスアップを目指す計画だ。また、2年後の2018年にはVolta世代へと移り、「CPUとの性能差は開く一方」(林氏)だとした。
モバイル、デスクトップ、サーバーすべてで共通のアーキテクチャ
ディープラーニングに適したGPUの高い性能を活かし、NVIDIAはすでにクルマの自動運転に対する取り組みも具体的にスタートさせている。同社シニアソリューションアーキテクトの馬路氏によると、現在路上で走行しているNVIDIAチップセットの搭載車両は800万台あり、近い将来2500万台に拡大すると推計している。
また、家電などの総合展示会である2015 International CES(Consumer Electronics Show)では、アウディのプロトタイプ車両で自動運転の実演も行った。これとは別に欧州の自動車メーカーで同社GPUの採用が決定したこともあり、低速度の自動運転や、公共駐車場での完全自動駐車についても実現は目前に迫っている。
クルマに搭載するGPUは、モバイル向けチップセットのTegraシリーズがメインだ。モバイル向けとはいえ、最新のTegra X1は256個のコアをもち、1TFLOPS超という「初期のスーパーコンピュータ並み」(同氏)の処理性能を誇っている。このチップを採用する車載システムとして、同社は「DRIVE PX」も開発。2個のTegra X1により2.3TFLOPSという高い性能を達成しているほか、最大12個のカメラを制御することにより、車両の周囲360度をCG化して監視できるサラウンドビューの高品質化にも対応する。
馬路氏は、Tegraも含め、同社のGPUシリーズすべてが共通のアーキテクチャをもっていることのメリットも訴える。クライアントPC上のGeForceを用いて開発した後、Tesla搭載のサーバー上で負荷の高いディープラーニングの機械学習処理を行い、その結果をTegra搭載車両のシステムに反映するという流れをシームレスに行えるというわけだ。また、クルマの運転を通じて得たデータをフィードバックすることで、再学習を行って物体の認識率などを高め、クルマのシステムをアップデートする、といったサイクルを生むこともできるという。
ディープラーニング関連のソリューション、ライブラリを無償公開中
ディープラーニングをクルマの自動運転やその他さまざまな分野に応用するには、ソフトウェア開発環境の充実も欠かせない。現在、ディープラーニングの主要な開発用ライブラリ・フレームワークには、「Chainer」「Caffe」「Torch」「Theano」などが存在する。それぞれで使用できるプログラミング言語や機能、得意な学習分野は異なるが、いずれもNVIDIAのGPUを活用した高速な学習処理に対応する。
GPUとディープラーニング
これらのフレームワークがGPUを使った高速処理を行うためには、NVIDIAのGPUが搭載している「CUDA」を用いる必要がある。そのため、このCUDAをディープラーニング向けに活用しやすくなるよう、同社は「cuDNN」や「cuBLAS」というライブラリを提供している。さらに、ディープラーニングの学習、設計、テストを一貫したインターフェイス上で行えるWebサービス「DIGITS」も無償提供している。
NVIDIA シニアデベロッパーテクノロジー エンジニアの成瀬氏は、ディープラーニングを研究するデータサイエンティストが、「アイデア→コーディング→トレーニング(学習処理)→テスト」といったワークフローで開発を進めていると想定した上で、「DIGITS」がこの流れ全体をスムーズにするツールであり、「cuDNN」と「cuBLAS」は学習処理の部分を強力に支援する役目を果たすものだとした。
cuDNNは、「畳み込み層」と呼ばれる部分の学習処理、平たくいえば、画像の中の特徴(輪郭など)を抽出するためのフィルタリング処理を主に担う。また、cuBLASはベクトル・行列演算ライブラリであり、ディープラーニングでは一度に大量に行うことになる行列計算を高速に実行する。こうした処理が膨大な回数発生するディープラーニングの学習処理においては、演算性能とメモリバンド幅の大きさが直接的に影響する。したがって、いずれも一般のCPUと比べ大きなアドバンテージがあるNVIDIAのGPUが、効率的なディープラーニングには欠かせないものとなる。
なお、今回のセミナーには当初の想定をはるかに超える200名近くが参加し、ディープラーニングやそれを効率的に活用できるGPUに対する熱意が非常に高かったのが印象的。9月18日に虎ノ門ヒルズフォーラムで開催するNVIDIA主催の「GPU TECHNOLOGY CONFERENCE 2015」(http://www.gputechconf.jp/page/home.html)も、ディープラーニングに関わるセッションが数多く用意されていることもあってか、同社によればすでに2000ある席の大半が埋まりつつあるという。人工知能は自動車分野をはじめ今後多くの領域に広がっていくとみられており、ディープラーニングとGPUの関係、動向は注視していく必要がありそうだ。
協力:NVIDIA