ニュース

【GTC Japan 2016】DIGITSによるディープラーニング超入門

学習データの作成から、モデルの作成、学習過程の可視化、作成したモデルのテストまで

2016年10月6日 開催

ハンズオンセミナーはいずれの回も盛況で、多くの人たちが参加した

 10月5日、NVIDIAはGPUについてのイベント「GTC Japan 2016」を東京お台場で開催した。このイベントでは、ディープラーニングについて学ぶことができる有料のハンズオンセミナーも実施され、多くの人たちが参加していた。その1つである「DIGITSによるディープラーニング超入門」の模様をお伝えしたい。

 DIGITSとは、NVIDIAが公開しているディープラーニング学習システムで、多層畳込みニューラルネットワークの開発とテストを簡単に行なうことができる。このセミナーでは、DIGITSにディープラーニング開発用のフレームワークであるCaffeを組み合わせ、「MNIST」と呼ばれる「0」から「9」までの文字が書かれた画像が数千枚含まれている手書き文字を学習させ、その後テストを行なって認識率を確かめるという流れでセミナーは進んだ。

畳込みニューラルネットワークは画像認識や画像分類で使われるアルゴリズムで、画像の特徴を学習して入力された画像を識別する
DIGITSの概要。学習データの作成からモデルの作成、学習過程の可視化、作成したモデルのテストまで、一連の処理を学ぶことができる

 実際の作業は、まずディープラーニングに学ばせるデータセットの作成から始まり、それが完了した後に実際にニューラルネットワークに学習させる。なお学習時には、学習の反復回数(Training Epochs)や1度に使う画像の数であるBatch Sizeなどを指定する。Training Epochは認識精度に影響し、反復して学習させるほど認識精度を向上できる代わりに、学習に要する時間は長くなる。また、Batch Sizeを大きくすれば1度に処理する画像の枚数が増えるため、学習時間を短縮することが可能だという。ただし、バッチサイズを大きくすると、それだけ多くのメモリを消費することになるため、基本的にはGPUに搭載されたメモリ量に併せて設定することになる。

今回のハンズオンセミナーでは、広く一般に使われている手書き文字画像データである「MNIST」を使って学習が進められた
DIGITSでは、学習中の統計データを参照することも可能。反復学習(Epoch)が進むごとに、精度(Accuracy)が高まっていることが分かる

 さらにセミナーでは、学習効果を高めるための手法についても解説が行なわれた。具体的には、学習に利用するためのデータを増やすこと、そして学習の反復回数を増やすというもので、参加者はそれによって認識率が高まることを確認していた。

 このハンズオンセミナーの模様を見る限り、DIGITSを使って学習する程度であればディープラーニングの敷居は決して高くないと感じた。しかし実際にディープラーニングを自動運転など実用途で使うためには、膨大な学習データを用意する必要があり、またその学習に要する時間を短縮するためには、極めて高い処理能力を持つハードウェアが必要になる。この点において、NVIDIAが果たす役割は大きいだろう。