STMicroelectronicsは、「embedded world 2018」で、32ビットマイコン「STM32」にDNN(ディープニューラルネットワーク)を実装するデモを披露した。
STMicroelectronicsは、ドイツ・ニュルンベルクで開催された「embedded world 2018」(2018年2月27日〜3月1日)で、同社の32ビットマイコンシリーズ「STM32」で、DNN(ディープニューラルネットワーク)を駆動するデモを展示した。
具体的には、グラフィカルなソフトウェアコンフィギュレーションツールである「STM32CubeMx.AI」を使う。STM32CubeMx.AIは、DNNに必要な学習アルゴリズムを、任意のSTM32シリーズで動作するように最適化する。
デモでは、「スマートウォッチを身に着けたユーザーの『走る』『歩く』『立っている』といった動作を、加速度センサーなどのデータから判断するディープラーニング機能を、『STM32F7』に実装する」までの工程を示した。STM32F7は、Arm「Cortex-M7」をベースとしたシリーズである。
STM32CubeMx.AIは、ユーザーの動作を判断できるようあらかじめ学習したニューラルネットワークモデルを読み込む。「STM32F7」を使用するマイコンとして選択すると、STM32F7のメモリ容量や処理性能に合わせてDNNを最適化し、それをマッピングする。STM32CubeMx.AIで、最適化したDNNの機能をチェックすることもできる。PC(STM32CubeMx.AIをインストールしたもの)と、STM32F7のボードを接続すると、DNNがSTM32F7に実装される。STM32CubeMx.AIが対応するディープラーニングのフレームワークは、現時点では「Lasagne」「Keras」「Caffe」「ConvNetJS」である。
デモでは、DNNを実装したSTM32F7を搭載したスマートフォンを使って、「走る」「歩く」などの動作を実際に正確に判断できる様子を示した。
STMicroelectronicsでSenior Principal Engineerを務めるDanilo Pau氏は、「われわれは、ディープラーニングをマイコンに実装しようとする時に、3つの課題があると考えた。1つは、マイコンに実装できるようなサイズのコードを記述すること。2つ目はクラウドとマイコンとの相互運用性、3つ目はソフトウェアの最適化だ。STM32CubeMx.AIによって、これらが解決できると見込んでいる」と語り、「AI(人工知能)をエンドノードで実現しやすくなるだろう」と強調した。
STM32CubeMx.AIは、現在は「αバージョン」となっている。2018年の後半に正式にリリースされる予定で、STMicroelectronicsのWebサイトからダウンロードは、まだできない。ただ、Pau氏は「試してみたいと思ったら、いつでも当社に相談してほしい」と述べている。
Copyright © ITmedia, Inc. All Rights Reserved.