高精度の画像認識などを可能にするディープニューラルネットワーク(DNN)を組み込み機器でも利用しやすくする環境の整備が始まった。深層学習フレームワークと呼ぶ開発環境をさまざまなハードウエアに対応させる仕組みや、開発したDNNをC言語に変換するツールなどが続々と登場。大手からベンチャー企業まで、特色ある提案が相次いでいる。
2017年8月、ソニーは深層学習(ディープラーニング)のプログラムを生成できる統合開発ツールを無償で提供すると発表した。高精度の画像認識などに使えるディープニューラルネットワーク(DNN)を、GUIによる操作で手軽に開発可能にする。その基盤技術として、数々の機能の提供を支えるのが、同社が6月にオープンソース化した深層学習フレームワーク「Neural Network Libraries」だ。
一連の発表の大きな狙いは、組み込み機器でのDNN活用を促すことだ。「組み込み機器ではさまざまなチップが利用されている。それらの上でDNNの処理を最適化して実行するために我々のフレームワークが利用できる」(同社 システム研究開発本部 要素技術開発部門 AIコア技術開発部 7課 シニアマシーンラーニングリサーチャーの小林由幸氏)。
サーバー機やクラウド環境では、DNNの開発に使えるオープンソースの深層学習フレームワークが既に多数ある。米Google社の「TensorFlow」を筆頭に、標準が固まりつつあるとの見方も多い注1)。ただし、「組み込み向けの標準がどうなるのかは、まだこれから」(組み込み開発に詳しい技術者の@Vengineer(ハンドル名)氏)。後発のソニーにも十分チャンスがある(図1)。
組み込み向けの開発環境を狙う企業は少なくない。2017年に入ってGoogle社や米Intel社といった大企業から気鋭のスタートアップまで、組み込み機器を意識した技術やサービスの発表が相次いでいる。いずれも現在は構想実現の初期段階にある。今後数年をかけてそれぞれが成熟し、次第に競い合っていきそうだ。
自動変換か手作業か
深層学習フレームワークに組み込み機器への対応が求められるのは、これまで前提としてきた実行環境と大きく違うからである。既存のフレームワークは、主に研究開発やクラウドサービスへの応用に使われており、標準的なハードウエア資源を潤沢に使えることが多かった。大量のデータでDNNを学習させる場合には今後もこうした環境が必要だが、その結果出来上がったDNNを組み込み機器に実装する際には、多種多様なチップや限られた処理能力といったハードルが立ちはだかる(図1)。