ニュース

NVIDIAのGPUが実現する深層学習が作る未来

〜自動運転やアニメイラストの自動生成など、「Deep Learning 2016」講演

自動運転向けスーパーコンピュータ「DRIVE PX 2」

 エヌビディア合同会社は15日、都内にて「NVIDIA Deep Learning 2016」を開催した。

エヌビディア合同会社プラットフォームビジネス本部部長 林憲一氏

 イベントでは、まずエヌビディア合同会社プラットフォームビジネス本部部長の林憲一氏が登壇。挨拶と同社GPU製品の紹介を行なった。

 林氏は、深層学習を加速する要素として、「DNN(Deep Neural Network)」、「ビッグデータ」、「GPU」の3つを挙げ、特にビッグデータは、学習対象として深層学習にとって必要不可欠なものであると述べた。

 ビッグデータを利用して深層学習を行なうハイパースケールデータセンターでは、膨大なデータを学習させるトレーニング用サーバー(学習データの量でスケール)、学習モデルに基づき推論し、Webサービスのためのサーバー(ユーザー/デバイス数でスケール)が必要となる。

 同氏は、NVIDIAはそれらのサーバーそれぞれに適したGPU製品を用意していると述べ、学習用サーバー向けの「TESLA M40」、推論サーバー用の「TESLA M4」を挙げた。

 TESLA M40は、世界最速を謳う深層学習アクセレータ。理論最大性能は7TFLOPSで、CaffeではCPUと比較して学習にかかる時間は8倍高速だという。

 TESLA M4は理論最大性能2.2TFLOPSのGPUで、低消費電力により補助電源が不要なほか、Low Profileの採用により、サーバーを選ばず搭載可能とする。

 「NVIDIAは半導体メーカーでもあるがソリューションのプロバイダだと思っている。ハードウェアだけでなく、ソフトウェアも開発している」として、深層学習開発をサポートするSDKの紹介に移った。

深層学習を加速する3つの要素
Webサービスで日々エクサバイト級のデータが生み出されている
ハイパースケールデータセンター
TESLA M40
TESLA M4

 NVIDIAの深層学習SDKについては、同社ディープラーニングソリューションアーキテクト兼CUDAエンジニアの村上真奈氏が登壇し、解説を行なった。

エヌビディア合同会社プラットフォームビジネス本部ディープラーニングソリューションアーキテクト兼CUDAエンジニア 村上真奈氏

 NVIDIAが公開している深層学習用SDKには、「DIGITS」、「cuDNN」、「cuSPARSE」、「cuBLAS」、「NCCL」の5つがある。

 cuDNNはCUDAのライブラリで、深層学習ネットワークのためのGPUプリミティブ群。2014年12月にバージョン4が公開され、畳み込み演算のアルゴリズムに2D FFTタイリングの追加や、Batch Normalization処理の対応などによる学習の高速化や、推論処理の高速化が図られている。

 cuBLASおよびcuSPARSEは、それぞれ密行列、疎行列計算用のライブラリ。cuDNN同様CUDAのライブラリで、新たにcuSPARSEは密行列×疎ベクタールーチンの自然言語処理高速化、cuBLASは行列積の16bitデータ入出力に対応した。

 NCCL(NVIDIA Collective Collection Library)は、マルチGPUの集合通信ライブラリ。まだ正式リリースはされていないが、githubにソースが公開されている。具体的な内容としては、複数ノードでマルチGPUを利用するといったシーンを支援するためのもので、all-gather/reduce/brodcastといった標準的な集合通信処理でバンド幅が出るよう最適化されたものだという。

 DIGITSは、深層学習用の学習システム。簡単に深層学習を始められるように用意されたもので、すぐにディープニューラルネットワークを構築できる。学習フレームワークも、NVCaffe(NVIDIA製GPUに最適化されたCafeeのフォーク)のほか、Chainer/Theano/Torch/などに対応する。

 バージョン3では操作性が向上し、学習結果を簡単に表示したり、ジョブマネージメントの最適化などが行なわれているという。

深層学習SDK
cuDNN
改善点。畳み込み演算アルゴリズムの半精度(16bit)浮動小数点演算にも対応した(Tegra X1のみ)
cuDNN3からさらに高速化
cuBLAS & cuSPARSE
新バージョンの変更点
NCCL
DIGITS
バージョン3では、cuDNN4による学習/推論やTorch7の対応、HDF5形式のデータセットに対応した
DIGITSのデモ
学習中
9割以上の正答率になるまで学習させたデータ
Web上で拾ったスーパーカーの画像を認識

 またモジュール型スーパーコンピュータ「Jetson TX1」のデモも披露された。

Jetson TX1
開発者用プラットフォームも公開
Jetson Linux SDKではOpenGL/ESやVulkan、VisionWorksなどをサポート
村上氏は、cuDNNは学習だけでなく推論にも対応しているので、是非使って欲しいと述べた
VisionWorksはCUDAを利用したツールキット。OpenVX 1.1の完全実装により、既存のCVパイプラインと簡単に統合可能とする
Jetson X1搭載のカメラを使用したデモ。枠内の物体をどの車種か推論する
91.55%でスポーツカーであると認識

深層学習でイラストを生成

株式会社Preferred Networks取締役副社長 岡野原大輔氏

 ここでゲストとして、株式会社Preferred Networks 取締役副社長の岡野原大輔氏が登壇。同社開発の深層学習フレームワーク「Chainer」と深層学習の最新動向について解説を行なった。

 岡野原氏は、IoTによりセンサーとコンピューテーション、アクチュエータが繋がったことや、TFLOPS級の計算が可能になったモバイル機器の性能向上、低価格なセンサーやゲノムシーケンサの登場などにより、機械学習が実世界で使えるようになったと述べた。

 そしてニューラルネットワーク(神経回路網)を利用した機械学習、深層学習が登場し、2014〜15年中に1,500以上の関連論文が出されるなど、画像や音声認識などで既に実用化に至っているとした。

 同社は、Pythonで自由にネットワークを記述できる深層学習フレームワーク「Chainer」をオープンソースで公開している。オンデマンドでのネットワーク構築が可能なほか、最新アルゴリズムのネイティブサポートや、マルチGPUの対応なども果たしているという。

秒間数百万点の測距が可能なセンサーも登場し、機械学習が実世界で使えるようになった
機械学習により開発手法に大きな変革があった
深層学習は、ニューラルネットワーク(神経回路網)を利用した機械学習を指す
深層学習フレームワーク「Chainer」

 Chainerの紹介では、車の運転の学習のほか、機械の故障を事前に把握する、異常予測などが披露された。

 また深層学習の応用として、画像の自動生成といったことも可能だという。画像からスタイルだけを抽出し、別の画像に適用して画像を生成したり、アニメイラストを学習させオリジナルのイラストを生成できたとのことで、後者はJavaScriptで動作する生成モデルがWebで公開されている。

Chainerを使用して車の運転を学習させる
各車のセンサーの値だけが与えられている
速く進むと報酬が得られ、速度衝突すると罰を受けるようにし、得られる報酬が最大になるように行動を学習させる
初期はランダムに動くが、学習を重ねることで最適なライン取り(アウトインアウト)で走るようになった
あらかじめアルゴリズムを作るのが困難な、信号無し交差点の運転という難題も深層学習なら対応できる
CESでもトヨタ自動車と協力し展示
人が操作する車(赤)が混ざっていても衝突を回避している
機械の正常時のセンサーデータを学習させ、異常を検知
従来なら故障直前で通知が来るような異常でも事前に検出した
猫の写真をベースに読み込んだ画像のスタイルだけを抽出して写真を生成。ゴッホ風や点描画風に
DCGANを利用してオリジナルのイラストを生成する
アニメの画像を1日かけて学習させた
学習結果をWebで公開中

Googleの学習フレームワーク「TensorFlow」

GoogleでTensorFlowの開発を担当するMike Schuster氏

 2人目のゲストとして、Googleで深層学習フレームワーク「TensorFlow」の開発を担当するMike Schuster氏が登壇。Googleにおける深層学習や、その今後についてなどを語った。

 Schuster氏は、「Googleはユーザビリティと速度を膨大なデータを持つ巨大なニューラルネットワークのインフラストラクチャの構築を目標としている」と述べた。

 現在は多くの人がプロジェクトに従事しているが、Googleで深層学習の研究チームが発足したのは2011年で、最初は数人だったという。

 今では深層学習は、AndroidやGMail、画像検索や地図、翻訳、YouTubeなど、そのほかのプロジェクトで活用されているという。

 Googleでは、日々大量の文章や画像/映像、音声、知識(例:現米国大統領が誰か)が蓄積されており、それらを解析し、ユーザーをアシストするために役立てようとしている。

 画像認識の例では、ストリートビューの画像から番地プレートを認識し、建物の番地を地図に反映させるといった処理が行なわれているという。さらに、ストリートビューに写った店舗の看板などの文字列を認識し、検索対象とすることで、「ニューヨーク お土産屋」などと検索すれば位置が表示されるといった応用も考えられると述べた。

Googleにおける深層学習
さまざまなプロジェクトで活用
大量のデータを活用したい
画像認識
写真に写った番地も認識
ストリートビューに写った文字を検索対象に

 TensorFlowはGoogleの深層学習フレームワークで、同社のフレームワークとしては2世代目。2015年にオープンソースで公開されており、先代から2倍以上高速化したという。

 画像や音声、文章など、学習対象によって柔軟に対応するモデルで、かつデスクトップPCやサーバー、モバイル端末まで、さまざまなデバイスで動作するよう設計されており、マルチコア、マルチGPUに対応する。

 従来の機械学習システムは、画像認識用途であれば画像認識に最適化されたモデルだったのに対し、TensorFlowでは、前述の通り、学習対象によらずフレキシブルなモデルのため、あらゆる用途に利用できるとした。

 画像認識に利用した場合には、花の種類の分類や料理の判定が可能だという。また誤判定も“人間的”で、ヒルを蛇と判定したりしていた。

 実際にモデルが導入されているGoogleフォトでは、「海」と検索すれば海の画像を表示したり、ヨーダのぬいぐるみもヨーダとして認識できている。

 将来的には、より簡単に利用できるようにするほか、Windowsへの対応、メモリと速度を改善したいという。またマルチマシン対応による分散処理については、Google内では既に実現できているものの、社内では複雑なシステムで動作しており、まだオープンソース版への実装には時間がかかると述べた。

 Googleではデータセンターに数千個単位でGPUを導入しており、今はGPUだけで学習処理を行なっているという。

TensorFlowは第2世代の深層学習フレームワーク
さまざまなデバイスに対応
花の種類を判定
共通性の少ない画像でも料理と判定
誤判定も人間的
海で検索すれば海の画像を表示
人間でも難しい(?)ぬいぐるみのヨーダも見事認識
音声認識
相互翻訳。音声認識とほぼ同じ学習モデルを利用しているという
モデルを組み合わせ、画像を文章で解説させる
音声や文章の学習にはRecurrent neural network(RNN)を利用
オーブンの上のピザなど正確な画像の説明。だが顔の描かれた凧を人間と誤判定したりもする
将来的にはオープンソース版でもマルチマシンに対応する

 さらに株式会社NTTドコモ サービスイノベーション部の酒井俊樹氏、Mathworks Japan アプリケーションエンジニアリング部テクニカルコンピューティングの太田英司氏らが登壇。ドコモの取り組みや、統合開発環境「MATLAB」でのGPGPU、深層学習利用について解説を行なった。

株式会社NTTドコモ サービスイノベーション部 酒井俊樹氏
ドコモでは「Developer Support」として新規事業創出を目的に2つの画像認識APIを提供
1つ目のオブジェクト認識は高速だが汎用性が低い
2つ目のカテゴリ認識は深層学習を利用
ラーメンの種類も判定
料理を認識しカロリーを計算するなどヘルスケア分野への応用も
Mathworks Japan アプリケーションエンジニアリング部テクニカルコンピューティング 太田英司氏
MATLABによる深層学習
キーボードを認識

NVIDAが注力する自動運転

 最後に、エヌビディア合同会社シニアソリューションアーキテクト 室河徹氏が登壇し、NVIDIAの自動運転ソリューションについて解説した。

 林氏が「自動運転はコンピューターサイエンスの大きな挑戦」と述べる通り、自動運転には多くの困難が伴う。

 室河氏によれば、自動運転では、レーンの数や3Dモデル情報を含む、一般的なカーナビに使用されている以上の高精度な地図を利用しているという。しかし、高精度な地図があっても、現実では道路工事などで1レーンが封鎖されていたりと、データと異なる予測不能な自体が起こりうる。

 さらに、センシングにカメラを利用していると、嵐や雨、逆光などにより認識精度が低下するなどの危険がある。

 「それらの問題を深層学習で解決しよう」というのが現在の自動運転技術で、NVIDIAは、1月頭に開催されたCES 2016にて、自動運転用スーパーコンピュータ「DRIVE PX 2」を発表した。

 電気自動車への搭載を想定し、液冷システムを採用。車に搭載された液冷システムへ接続できない場合などに備え、独立した液冷用システムも用意する。

 AlexNetを利用した画像処理では、秒間450イメージのTITAN Xに対し、DRIVE PX 2は秒間2,800イメージを処理できたという。

エヌビディア合同会社シニアソリューションアーキテクト 室河徹氏
自動運転はコンピューターサイエンスの大きな挑戦
自動運転の困難さ
深層学習で解決
DRIVE PX 2
液冷
冷却システムも用意
TITAN Xと比較

 「DRIVENET」は、NVIDAの提供する自動運転用の学習モデル。1億個を超える物体を学習させることで、車や歩行者だけでなく、標識なども認識できるという。

 デモの映像では秒間50フレームの画像処理を行なっており、トラッキング処理が不要なレベルの高速処理をアピールしていた。

車だけ認識させた様子
車だけでなく標識や歩行者も学習済み
車道と歩道、物体をピクセル単位で認識している
悪天候で人間では認識できない距離の車も判定している
NVIDAの提供する自動運転向け深層学習プラットフォーム
1つのアーキテクチャをエンドトゥエンドで提供

(佐藤 岳大)