IoTセンサー端末の消費電力を大幅に低減できる「機械学習コア内蔵MEMSセンサー」をご存じだろうか。文字通り、機械学習を行う回路を組み込んだMEMSセンサーであり、マイコンやプロセッサを介さずに、センサー自ら状態を判断できるデバイスだ。この次世代型センサーとも呼べる機械学習コア内蔵MEMSセンサーの使い方などを詳しく紹介していこう。
IoTセンサー端末の消費電力を1000分の1に低減できるかもしれない――。
社会の至るところでモノのインターネット(IoT)化が進展する中、IoT網のエンドポイントで自然現象などさまざまな情報を取得するためのセンサーの設置数が増え続けている。
身の回りにこうしたセンサー端末がありふれた存在になっていくことで、さまざまな課題も生まれてきた。例えば、センサーからの情報量が膨大になることで、センサーとクラウドを結ぶ通信量が増えて、通信帯域の確保が難しくなったり、リアルタイム性が損なわれたりするといったことが生じている。これに対し、昨今では、センサーで取得した情報を全てクラウドに転送するのではなく、センサー側、いわゆるエッジ側で一定の処理を行う“エッジ・コンピューティング”を実施して、リアルタイム性を確保したり、クラウドへ伝送する情報量を圧縮したりするようになっている。
また、センサー端末にはそれぞれのソフトウェア開発が必要になるが、センサー端末の種類が増えれば、それだけ開発すべきソフトウェアも増え、その結果、ソフトウェア開発の負荷も重くなってきた。こうした開発負荷増大という課題には、機械学習などの人工知能(AI)技術を応用することで解決する動きが活発化している。米国メディア運営会社AspenCoreの調査によると2019年の組み込み機器開発プロジェクトのうち、約15%が機械学習をはじめとしたAI技術を搭載していたという。
このようにIoTの末端を支えるセンサーでは、AIを活用したエッジコンピューティングが従来の技術課題を解決するテクノロジートレンドになっているのだが、ここでも新たな課題が表面化している。中でも最大の課題が、消費電力の増大だ。
センサーを搭載するエッジ端末でのデータ処理量が増えれば増えるほど、当然ながらエッジ端末の消費電力量は増大する。エッジ端末の多くはバッテリーで駆動するため、消費電力の増大は、すなわち、バッテリー寿命の短縮を意味する。身の回りに配置されるセンサー端末が増加の一途をたどる中、頻繁なバッテリーの充電や交換といったメンテナンス作業を実施するのは非効率だ。可能な限り、消費電力を抑え、電池交換の頻度も数年から十数年に一度くらいのレベルにまで抑える必要があるだろう。
十分な処理量を確保しながら、消費電力を抑える――。
エッジコンピューティングで求められる、トレードオフ関係にあるこれら2つの要素の両立が期待できる新たなデバイスが、このほど登場した。STマイクロエレクトロニクスの「機械学習コア搭載MEMSセンサー」だ。
機械学習コア搭載MEMSセンサーとは、その名の通り、MEMSセンサーに機械学習処理を行うハードウェア回路コアを搭載したデバイスだ。このデバイスを使用すれば、AIを活用したエッジセンサー端末の消費電力を従来比100分の1から1000分の1程度低減できるのだ。
従来、AI活用型エッジセンサー端末のAI処理は、マイコンなどのプロセッサで行うケースがほとんどである。この場合、センサーが動作している間、マイコンなどのプロセッサも動作し、センシング結果に関する何らかの判断をし続けることになる。例えば、振動による装置の故障を検知するセンサー端末であれば、センサーが検知した振動波形が通常モードにあるか、故障モードにあるかを、プロセッサを常時動作させながら判断しなければならない。プロセッサの動作には、少なくとも数百マイクロアンペアの電流消費を伴うため、バッテリー寿命を短くする大きな要因となる。
これに対し、機械学習コア搭載MEMSセンサーでは、センサー自身でセンシング結果を解析できるため、マイコンなどのプロセッサを常時動作させる必要がない。先に挙げた振動による装置の故障を検知するセンサー端末であれば、MEMSセンサー自体が機械学習コアを使って、検出結果が通常モードか、故障モードかを判断。モードが変化した時(この場合であれば通常モードから故障モードに変わった時)に、マイコンへモード(状態)が変化したことを告げ、マイコンを起動させて、アラートを発報するなど何らかの処理を行うといったことができる。
STマイクロエレクトロニクスでMEMSセンサー製品を担当する平間郁朗氏は「機械学習コアの動作時消費電流は一般的な例で数マイクロアンペアに収まる。そのため、プロセッサで処理した場合よりも数百分の1に消費電力を低減できるわけだ」と明かす。
機械学習コアには、機械学習によって得られた予測モデルである「デシジョンツリー」を実装可能だ。最大16種の状態を分判別、分類する予測モデルを8個まで実装できる。「かなり複雑なデシジョンツリーを構成できるので、応用方法は幅広い」と語る。
STマイクロエレクトロニクスでは、既に機械学習コア搭載MEMSセンサーとして、3種の高性能6軸モーションセンサーを製品化。既に、予知保全用センサー端末などインダストリアル分野やウェアラブル機器など民生機器分野で、機械学習コア搭載6軸モーションセンサーを活用した開発が始まっているという。
「機械学習コアは現状、他にはないハードウェアブロックであり、使いこなすことが難しいというイメージを持つ方が多い。けれども、実際には、機械学習コアを使うための手順は至ってシンプルだ。特殊な開発ツールや知識も必要なく、気軽に開発に着手できるので、機械学習コア搭載MEMSセンサーを使った開発案件が急速に増え始めている」という。
機械学習コアを使用する手順は、5つの工程に分かれる。最初の工程が、センサーのセンシング情報を収集する「ログ収集」だ。振動による装置の故障を検知するセンサー端末の開発であれば、装置に3軸加速度センサーと3軸ジャイロセンサーで構成される機械学習コア搭載6軸モーションセンサーを取り付け、通常時や故障時の振動をセンシングし、ログを収集していく。なお、温度センサーや地磁気センサーなど別のセンサーを1つ、I2C経由で外付けし、その外付けセンサーのセンシングデータをモーションセンサーのデータと組み合わせて、利用することも可能だ。
一定程度のログデータが収集できれば、それらのデータを“通常”や“故障”というように選別する「ラベル付け」を行う。
ラベル付けが終われば、ログデータにさまざまなフィルタ処理をかけて特徴量を抽出し、それらの情報を機械学習させて「ディシジョンツリーを作成」する。
そして、作成したディシジョンツリーをデバイスに「実装」し、「動作確認」で問題がなければ、開発は完了だ。
こうした「ログ収集」「ラベル付け」「ディシジョンツリー作成」「ディシジョンツリー実装」「動作確認」といった一連の開発は、無償で利用できるPCアプリケーション「Unico-GUI」と、機械学習コア搭載MEMSセンサーの評価ボードだけで完結する。
Unico-GUIは、機械学習コアの設定だけでなく、センサーのレジスタやセンサーが備える各種機能の設定も行える総合的な開発環境で、センサーの出力を視覚的に確認できる。機械学習コアの設定、ディシジョンツリー作成時の肝になる「ラベル付け」でのフィルタリング、特徴量抽出についても、簡単なGUI操作でさまざまなフィルタ/抽出条件を選択し試すことが可能。さらに、デシジョンツリーの作成、実装も、コーディングの必要はなくGUI上でのクリック操作だけで完結する。
開発評価ボードが「表向きに静止している」「裏向きに静止している」「振動している」という3つの状態を検出する機能であれば、ログ収集から着手しても1時間以内という短時間でディシジョンツリーを作成、実装できるという。
「こうした単純な機能は、機械学習を使わなくても実現できるが、いざコードを書くとなると結構な時間を要する。センシングデータを時系列に扱うとなると周波数変換などの処理が必要になり、かなり厄介な処理が伴うようにもなる。機械学習コア搭載MEMSセンサー、Unico-GUIを使えば、そうした複雑なコーディングは一切なく短時間で実現できる。また、マイコン、プロセッサの動作も最小限に抑えられるので、消費電力面でのメリットもかなり大きい」と説明する。
「機械学習コアを使いこなすには、フィルタリング/特徴量抽出については、一定のノウハウが必要になるのは事実。でも、Unico-GUIは、簡単にいろいろなフィルタや条件を試すことができるので、試行錯誤を繰り返し短期間でコツをつかんでもらえるはず。また、異常検知や走行状態検知など、さまざまなディシジョンツリーのサンプルも公開しているので、そうしたサンプルのフィルタ/条件を参考にして開発することもできるようになっているので、すぐに使いこなせるようになるだろう」と補足する。
STマイクロエレクトロニクスでは、Unico-GUIの使い方解説ビデオなど、機械学習コア搭載MEMSセンサーを使いこなすための動画や文書を公開しているので、機械学習コア搭載MEMSセンサーに興味のある方は、ぜひ利用してほしい。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:STマイクロエレクトロニクス株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2021年4月21日