検索
ニュース

深層学習を32ビットマイコンで実現 STがデモembedded world 2018

STMicroelectronicsは、「embedded world 2018」で、32ビットマイコン「STM32」にDNN(ディープニューラルネットワーク)を実装するデモを披露した。

Share
Tweet
LINE
Hatena

32ビットマイコンに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」である。

左=「STM32CubeMx.AI」の画面。対応するフレームワークが並んでいる。デモでは「Keras」を使用した/右=あらかじめ学習したモデルを読み込んで、最適化していく工程(クリックで拡大)
左=ライブラリが、チップのメモリをどのくらい使用することになるかを表示している/右=検証結果を表示している(クリックで拡大)

 デモでは、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.

ページトップに戻る