高精度の画像認識などを可能にするディープニューラルネットワーク(DNN)を組み込み機器でも利用しやすくする環境の整備が始まった。深層学習フレームワークと呼ぶ開発環境をさまざまなハードウエアに対応させる仕組みや、開発したDNNをC言語に変換するツールなどが続々と登場。大手からベンチャー企業まで、特色ある提案が相次いでいる。

 2017年8月、ソニーは深層学習(ディープラーニング)のプログラムを生成できる統合開発ツールを無償で提供すると発表した。高精度の画像認識などに使えるディープニューラルネットワーク(DNN)を、GUIによる操作で手軽に開発可能にする。その基盤技術として、数々の機能の提供を支えるのが、同社が6月にオープンソース化した深層学習フレームワーク「Neural Network Libraries」だ。

 一連の発表の大きな狙いは、組み込み機器でのDNN活用を促すことだ。「組み込み機器ではさまざまなチップが利用されている。それらの上でDNNの処理を最適化して実行するために我々のフレームワークが利用できる」(同社 システム研究開発本部 要素技術開発部門 AIコア技術開発部 7課 シニアマシーンラーニングリサーチャーの小林由幸氏)。

 サーバー機やクラウド環境では、DNNの開発に使えるオープンソースの深層学習フレームワークが既に多数ある。米Google社の「TensorFlow」を筆頭に、標準が固まりつつあるとの見方も多い注1)。ただし、「組み込み向けの標準がどうなるのかは、まだこれから」(組み込み開発に詳しい技術者の@Vengineer(ハンドル名)氏)。後発のソニーにも十分チャンスがある(図1)。

注1)オープンソースのプロジェクトが集まるGitHubで、ユーザーの注目度を表すStarの数で比較すると、TensorFlowは6万7144と断トツである。他のフレームワークは、University of California, Berekeley校で開発された「Caffe」が1万9669、米Microsoft社の「Cognitive Toolkit(CNTK)」は1万2081、米Amazon.com社が関わる「MXNet」は1万769、Preferred Networksの「Chainer」は2812、ソニーのNeural Network Librariesは1576(いずれも2017年8月17日朝の時点)。
図1 学習環境と組み込み実装を橋渡し
図1 学習環境と組み込み実装を橋渡し
サーバー機やクラウド環境で動作する深層学習(ディープラーニング)フレームワークで開発したディープニューラルネットワーク(DNN)を、さまざまな組み込み機器に実装しやすくする環境が整い始めた。これまで深層学習フレームワークは標準的で潤沢なハードウエアを前提としてきたが、組み込み機器で顕著な多様かつ限定的なハードウエアに対応できる仕組みを取り入れつつある。深層学習フレームワークで記述したDNNのモデルを、組み込み機器で利用しやすいC言語に変換するツールも増えて来た。
[画像のクリックで拡大表示]

 組み込み向けの開発環境を狙う企業は少なくない。2017年に入ってGoogle社や米Intel社といった大企業から気鋭のスタートアップまで、組み込み機器を意識した技術やサービスの発表が相次いでいる。いずれも現在は構想実現の初期段階にある。今後数年をかけてそれぞれが成熟し、次第に競い合っていきそうだ。

自動変換か手作業か

 深層学習フレームワークに組み込み機器への対応が求められるのは、これまで前提としてきた実行環境と大きく違うからである。既存のフレームワークは、主に研究開発やクラウドサービスへの応用に使われており、標準的なハードウエア資源を潤沢に使えることが多かった。大量のデータでDNNを学習させる場合には今後もこうした環境が必要だが、その結果出来上がったDNNを組み込み機器に実装する際には、多種多様なチップや限られた処理能力といったハードルが立ちはだかる(図1)。