MathWorks Japanがモデルベース開発環境「MATLAB/Simulink」の最新バージョン「R2017b」で強化したディープラーニング(深層学習)関連の機能について説明。「MATLAB/Simulinkが得意としてきた制御系や信号処理系の技術にディープラーニングを組み合わせることでさまざまな価値が生まれる」(MathWorks フェローのジム・タン氏)という。
MathWorks Japanは2017年10月31日、東京内で会見を開き、モデルベース開発環境「MATLAB/Simulink」の最新バージョン「R2017b」で強化したディープラーニング(深層学習)関連の機能について説明した。
来日した米国本社MathWorks フェローのジム・タン(Jim Tung)氏は「ディープラーニングという技術は大変興味深いが、MATLAB/Simulinkのユーザーである制御や信号処理を扱うエンジニアにとって扱うのは難しい。そこでR2017bでは、ディープラーニングに関する深い造詣が無くても利用できるようにする機能強化を図った。ぜひ、アイデア探索のツールとして活用してほしい」と語る。
一般的に、ディープラーニングのプロセスは「データ」「モデル」「学習/実行」「実装/運用」の4つに分けられる。R2017bは、これら4つのプロセスそれぞれで機能強化を果たした。
まず「データ」では、車載カメラで撮影した画像データ内にあるさまざまな物体が何であるかを示すラベル付け(ラベリング)をほぼ自動で行う機能を追加した。「従来は手動で動画の各フレームに対して行っていた作業だ」(タン氏)という。この機能は「Automated Driving System Toolbox」で利用できる。
なお、ディープラーニングでは画像データ以外に、音声データやテキストデータも対象になることがある。タン氏は「音声データの場合は、周波数の波形データに変換してそれを画像データと捉えてラベリングしたり、テキストデータは数字に変換してから扱うというアプローチがある。しかし画像データほどは研究が進んでいないため、機能としては実装できていない」と説明する。
次に「モデル」では、「Neural Network Toolbox」の新機能として、学習済みモデルをMATLAB環境に取り込めるようになった。「AlexNet」「VGG-16」「VGG-19」「GoogLeNet」や、ディープラーニングフレームワークの「Caffe」で作成したモデルなどを、MATLABでそのまま利用できる。「ディープラーニングを用いたアルゴリズム作成は、学習済みモデルを基にさらに学習を重ねる『転移学習』が用いられることが多い。ディープラーニングの成果を早期に活用したいエンジニアにとっては、学習済みモデルを用いた転移学習は役立つはずだ」と強調する。
そして「学習/実行」では、ディープラーニングに不可欠とされるGPUを用いた並列コンピューティングを、MATLABコードに変更を加えることなく実行できる点が長所となる。GPUコア数やローカルPCなのか、クラウドなのかを選択すれば、それらの環境に最適な状態でMATLABコードを実行してくれるのだ。また、この実行速度は、ディープラーニングフレームワークの「TensorFlow」や「Caffe2」よりも速いという。
さらに「実装/運用」では、MATLABコードをNVIDIAのGPU向けプログラミング言語である「CUDA」のコードに自動変換する新オプション「GPU Coder」が加わった。GPU Coderで生成したCUDAコードを使えば、先述したTensorFlowの7倍、Caffe2の4.5倍の実行速度が得られる。
タン氏は「MATLAB/Simulinkが得意としてきた制御系や信号処理系の技術にディープラーニングを組み合わせることでさまざまな価値が生まれるはずだ。新しいMATLAB/Simulinkを通して、より多くの人にディープラーニングを使ってもらいたい」と述べている。
Copyright © ITmedia, Inc. All Rights Reserved.