ニュース

ソニー、視覚的にディープラーニング設計・評価ができる開発環境。IoT対応に強み

 ソニーは17日、ディープラーニング(深層学習)のプログラムを生成できる統合開発環境「コンソールソフトウェア:Neural Network Console」の無償提供を開始した。対応OSはWindows 8.1/10で、同社のディープラーニング用ライブラリとともに、IoTデバイスなどでの採用拡大を目指す。

 ディープラーニングは、人間の脳を模倣したニューラルネットワークを用いた機械学習の一手法。ディープラーニングにより、画像認識や音声認識の性能が近年飛躍的に向上しており、ある領域では人間を超える性能も達成しており、画像認識や音声認識に加え、機械翻訳やロボット制御など広範囲での拡大が見込まれる。

ディープラーニング性能の向上により、人間の認識能力を超えつつある領域も

 今回、本格的なGUIを持つディープラーニング統合開発環境であるコンソールソフトウェアを開発。これを用いることで、ニューラルネットワークの設計、学習、評価などを効率的に行ないながら、ディープラーニングのプログラム開発や、各種製品やサービスへの搭載が可能となる。

 ソニーは6月にディープラーニング開発のためのコアライブラリ「Neural Network Libraries」をオープンソース化。このコアライブラリをGUIで操作できるのがコンソールソフトウェアとなる。同ツールで用いて開発した製品は、ソニー以外のメーカーや一般の開発者も自由に利用可能で、ソニーでは特にIoTデバイスや組み込み機器などでの採用を見込んでおり、「産業界でのディープラーニング関連開発のさらなる活性化と発展を目指す」としている。

ソニーのディープラーニングの取り組み
応用製品展開
Neural Network Libraries/Consoleの役割

 ディープラーニング向けの開発環境は、Googleの「TensorFlow」、Berkeley AI Researchの「Caffe」、Microsoftの「CNTK」、Facebookらによる「Caffe2」、Preferred Networksの「Chainer」などすでに多くの選択肢があるが、ソニーも6月にコアライブラリ「Neural Network Libraries」をオープンソース化している。

 これまでのツールは、プログラムを記述するコーディングが必須であったが、Neural Network Consoleは「現時点で唯一のディープラーニングのGUIツール」(ソニー R&Dプラットフォーム システム研究開発部門 AIコア技術開発部 シニアマシーンラーニングリサーチャーの小林由幸氏)という。なお、同コンソールのMac版の提供は、現時点では予定していない

ターゲットユーザー

 ディープラーニングのプログラム開発では、ニューラルネットワークの設計作業が重要となる。開発者は画像認識や音声認識などに応じて最適なニューラルネットワークを構築し、性能向上へ試行錯誤を繰り返し、ニューラルネットワークを最適化した後、製品・サービスに搭載する。一般的なディープラーニングのプログラム生成においては、ニューラルネットワークの構造を、プログラムのコードを記述し、その関数ブロックを組み合わせることで構築している。

 一方、新開発のコンソールソフトウェアでは、この関数ブロックの概念を簡便な形でGUI上に表現できる。コンソールソフトウェアの画面上には、コンポーネントの形であらかじめレイヤー(関数ブロック)が用意されており、それらをGUI上に自由に配置するという簡単な操作でニューラルネットワークを構築できるため、プログラム開発効率を大幅に改善できるという。

 ディープラーニングで用いられる主要な関数を用意し、構造を視覚で確認しながら設計、学習、評価可能。ドラッグ&ドロップでニューラルネットワークの編集が行なえるため、アイデアを反映しながら試行錯誤を繰り返し、最適なニューラルネットワーク構築を試せるという。特にディープラーニングの初心者にとっては、コアライブラリの機能を視覚的に確認できるため、短期間で技能の習得が可能とする。

Neural Network Consoleの特徴

 ネットワーク設計の完了後は、ボタン一つで高速な学習を開始。また、学習の進捗状況や性能は画面上でリアルタイムに確認でき、学習した何十種類ものニューラルネットワークを履歴として一覧できる。

Neural Network Console:ツールで体験する、新しいディープラーニング

 前述の通り、すでに有力なディープラーニング向けの開発環境は存在するが、その中でもソニーが特徴とするのが、IoTデバイスなどへの組み込みなどのモバイル実装の容易さや、「構造自動探索機能」と呼ばれるニューラルネットワークの最適化機能。また、速度面についてもアドバンテージがあるという。

 「構造自動探索機能」は、ニューラルネットワークの設計を自動で最適化するもの。より高性能で軽量なニューラルネットワークを検索するチューニング作業を、ツール側で自動化してくれる。自動で得られた複数の最適化結果から、ニーズに応じたニューラルネットワークを選択できる。数十回の学習成果を一覧で表示し、「一定のメモリ環境下で一定のエラーレート以下」という条件で、もっとも効率の良い構成をコンソール上で確認でき、その設定をIoTデバイスなどの組込機器で利用できる。

ニューラルネットワークを設計
[4]と[9]の画像をディープラーニングで自動判別するテストプログラム
処理回数を重ねることで認識誤差が減っていく
誤差が少なく、処理回数が少ないネットワーク構成を一覧から選択できる

 Neural Network Libraries/Consoleは、Python言語により、設計・学習・実行ロジックを記述するが、学習したモデルは、C++APIを通じて様々なデバイスに実装でき、スマートフォンやIoTデバイス、ロボット、自動運転など様々な製品への応用が可能という。既存のディープラーニング開発環境では、マルチGPUでクラウドベースの処理を行なうものもあるが、ポータビリティ(移植の容易さ)の高さを武器に、IoTデバイスでの採用を目指す。

 開発環境の提供が直接収益に結び付くわけではないが、ソニーでは、「AI環境整備の一環」として実施。ソニー製品はもちろん、他社製品やサービスでの対応拡大のため、セミナーやドキュメントの提供なども予定しているという。

今後の取り組みについて