ニュース

【GTC Japan 2016】Chainerによるディープラーニング モデル作成入門

95%以上の精度を持つモデルの作成にチャレンジ

2016年10月6日 開催

講義を行なった、エヌビディア ディープラーニング部 ディープラーニング・ソリューションアーキテクチャ兼CUDAエンジニアの村上真奈氏

 NVIDIAは「GTC Japan 2016」において、3つ目のハンズオンセミナーとして「Chainerによるディープラーニング モデル作成入門」を実施した。ここまでのハンズオンセミナーではDIGITSとCaffeの組み合わせで進められてきたが、ここではPythonベースのディープラーニング用フレームワークである「Chainer」を使って講義が進められた。

Chainerの特徴。最新のNVIDIAのライブラリをサポートしているほか、Python標準の数値計算ライブラリであるNumPyのCUDA版であるCuPyを提供する

 ChainerはPythonのライブラリとして提供されているフレームワークであり、最新のNVIDIAライブラリへの対応が積極的に進められて新しい機能をいち早く試せることが特徴となっている。また、CPUで演算を行なうnumpyをCUDAに対応させたCuPyを備えているため、GPUを使って高速に演算を行なえるメリットも備える。

講義は実際にChainerのソースコードを参照しながら進められた

 ハンズオンセミナーでは、Chainerを利用して文字認識を行なうための流れが解説された。まず行なったのは2層の多層パーセプトロンを使った学習で、最初はあえてGPUを使わずにNumPyで学習させる。その後、CuPyを利用するように設定して同様に学習を行ない、GPUを使うことで各回の学習速度が高速化していることを確かめた。

最初に2層の多層パーセプトロン(MLP2)を使って学習を行なったあと、ニューラルネットワークの層を3層にしたMLP3でも学習を行ない、その違いをチェックする

 また、サンプルとして示されたソースコードを受講者自身で修正して、エポック数(反復学習数)を増やす、各ユニットのノード数を増やす、レイヤー数を増やすといったことなどで、95%以上の精度を持つモデルを作るといった課題に受講者はチャレンジしていた。

 Chainerはデバッグがしやすいことも特徴となっており、実際にあらかじめバグが埋め込まれた内容を実行し、画面上に現れたエラーの内容を参照しつつ、コードを修正するといった作業も受講者は体験する。その後、NumPyに対するCuPyの優位点、VaiableとFunctionについての解説など、Chainerの基礎について改めて紹介された。