本初心者講座は、ルネサスエレクトロニクス社(以降、ルネサス)のArm Cortex-Mプロセッサ内蔵マイコン RAファミリを使った、 Reality AI Solutionを題材にして「マイコンで始めるAI」を解説します。
本初心者講座のゴールは次の3つです。
- マイコン上でAIを実現する手法を理解する。
- 実際のAIツール「Reality AI」の機能を理解する。
- 学習用ビデオを通して「Reality AI」の使い方を理解する。
次の様な2部構成になっています。
【第1部】座学
・マイコンベースのAI
・Reality AI Solution
・Reality AI Tools®
・Reality AIのデモセット
・FAQ
【第2部】実際の使い方
・AIと組み込みワークフローの統合
・Arm MCUでTinyMLを使用して製品を構築する
連載は次の5回シリーズで構成されます。
- 第1回:第1部 マイコンで始めるAI|Arm® Cortex® -M搭載RAファミリを使ったReality AI
- 第2回:第1部 エッジAI?TinyML?Reality AIを通じて学んでみる
- 第3回:第2部 AIと組み込みワークフローの統合
- 第4回:第2部 Arm MCUでTinyMLを使用して製品を構築する 前半
- 第5回:第2部 Arm MCUでTinyMLを使用して製品を構築する 後半
今回は第1回です。
【課題】
1. 最初は、マイコンベースのAIの実現方法を理解します。
ここでは、ディープラーニングではなく、マシンラーニングモデルの利点を理解します。
2. 実際のAIツールの機能を理解します。
ルネサスが提供するReality AI Solutionを題材に、その機能を学習します。
3. AIツールのデモセットを理解します。
実際にReality AI SolutionをRAマイコン上で動作させるためのデモセットで、何ができるかを学習します。
マイコンベースのAIとは
この章では、MPUやGPUを用いずに、マイコンをベースとしたAIを実現する方法を解説します。
(1)マイコンでAIを実現するには?
今までの組込みシステムにおける音や振動、電気信号など、目に見えない信号データによるAIソリューションについては、AIの学習用データ(ビッグデータ)の準備やディープラーニング(Deep Learning)が必要とされ、さらに信頼性の確保、また専門の技術者の育成などが課題とされてきました。しかし、それでは低コスト、短期開発が難しくなります。
もし、
①センサーから信号データを自動的に収集(取得)し、
②収集したデータを基に異常検知の為のマシンラーニング(Machine Learning)モデルを自動生成し、
③十分なデータが得られると、自動的に推論モードに切り替わり、
④異常動作の検出
ができたらどうでしょうか?
この場合、お客様によるデータの準備は不要になり、長期間にわたってデータを継続して取得し学習することにより、異常の分類や残りの耐用年数を予測できるより高度なモデルを生成できるようになります。すなわち、追加学習も可能になります。
それを可能にするために、ルネサスはReality AIを提供しています。
ここで、参考情報としてディープラーニングとマシンラーニングの違いを説明します。
- マシンラーニングでは、ある決められたアルゴリズムを使用してデータを解析し、学習を行います。そして、学習した内容の解析結果に基づく判断を下します。
- ディープラーニングでは、人間が結論を導くのと同じ論理構造を用いて、人工ニューラルネットワークを構築します。人工ニューラルネットワークは、人間の脳の神経ネットワークをヒントにしたものです。
- ディープラーニングはマシンラーニングの一種でありますが、標準的なマシンラーニングモデルと比べて学習の精度がはるかに高くなります。
- ディープラーニングもマシンラーニングも、どちらもAIというカテゴリに分類されますが、ディープラーニングが最も人間に近いAIと言えます。
(2)高性能なMPUやGPUは不要
今までは、AIの活用には高性能のMPUやGPUが必要になるイメージが強いと思います。すなわち、末端の組み込み機器に搭載されるようなマイコンでは、処理性能もメモリ容量も圧倒的に不足していてAIの活用などは到底できないと考えられてきました。
しかし、Reality AIを使えば、AI学習のベースとなるセンサーデータを入力するとともにターゲットとなるマイコンの品種を設定することで、最適化されたマシンラーニングライブラリを自動で生成することができ、専門知識がなくてもマイコンにAIを実装することができます。
Reality AI Solution
この章では、ルネサスが提供するマイコンベースのAIソリューションのReality AI Solutionを解説します。
マイコンでAIを実現するために、高度な信号処理技術とAIを融合させたのがReality AI Solutionです。
「独自の信号処理技術」として、広範囲の周波数ドメイン上のフィーチャースペースから、アルゴリズムを比較検証、自動的に最適なアルゴリズムを選択することができます。
そして、ハードウェア最適化のための解析ツールを提供しています。それは、自動的にマシンラーニングモデルを作成し、ハードウェア最適化を行う様々な解析ツールです。
さらに、様々な組込み向けのプロセッサに対応しています。具体的には、Reality AI Tools上でRX、RL78、RA、RZなどの各プロセッサ向けの学習済マシンラーニングモデルを生成し、既存のプロジェクトにリンクすることでマシンラーニングを用いた機能を実装することができます。
Reality AI Solutionには次のようなものがあります。
- Reality AI Tools
- Automotive SWS
- RealityCheck™ AD
- Acoustic event detection(音響イベント検出)
(1)Reality AI Tools
Realty AI Toolsは、物理ベースの説明可能なAIを用いたセンサーデータのAIモデルを構築することができます。
Edge AI / TinyMLの最適化を行いたい場合には、センサーの選択と配置を評価し、最小コンポーネント仕様を設定、さらにトレーニングデータとテストデータを管理することができます。
また、Edge AIやTinyMLを、エンジニアリングや製品設計のプロセスに取り入れ、高度でインテリジェントな機能を低コストで構築し、BOM(Bill Of Materials:部品表)を最適化することができます。
データの準備段階においても、トレーニングとテストのデータの状況を把握し、時間領域と周波数領域の記述を参照しながら、エンジニアが理解できる用語を用いて、完全に透過性のあるモデルを作成することができます。
最終的に、初期のプロトタイプから製品リリースまで、エンジニアリング・アプリケーション向けのマシンラーニングツールのプロセスをサポートし、最小のMCUのための超小型で効率的なコードを生成することができます。
Realty AI Toolsの詳細は、後ほど別の章を設けて解説します。
(2)Automotive SWS
Automotive SWSは、インフィニオンテクノロジーズ社と自動車部品メーカー各社とのパートナーシップにより、Reality AI Toolsを用いて開発された、音でコーナーを確認するシステムです。
- カメラ、ライダー、レーダーをベースとしたADASや衝突回避システムを補完。
- 車の外側にマイクアレイを用いて、緊急車両や自動車、その他の道路参加者を検知し、位置を特定。
(3)RealityCheck AD
RealityCheck ADは、工場やプロセス産業の資産をモニタリングするための、すぐに導入できるソリューションです。
- Reality AIEdgeノードとセンサーを用いて、ベースラインとなる異常検知モデルが自動的に生成。
- 時間をかけて異常データベースを構築し、特定の故障の検出や予測、部品の残りの耐用年数の予測などのための追加モデルを学習。
- センサーは、腐食性や爆発性の環境に対応したものなど、さまざまなオプションを提供。
キーポイント
- Edgeノードを自動学習し、異常検知を開始。
- ベースラインの異常データはRealty AI Toolsでさらに分析可能。
- 数時間以内に結果を生成し、時間の経過とともに改善し、特定の条件やコンポーネントの残りの耐用年数を検出する検出器を追加。
- 工場のダッシュボードやワークフローシステムのインターフェース。
利点
- 不必要なダウンタイムに伴うコスト削減。
- 自動化されたライン終了テストによる品質向上。
- 時間/周波数領域でモジュールを理解するための AI エンジニアリングワークステーション。
- AI モデリングとダッシュボードを介したセンサーとEdgeノードからの完全なターンキーソリューション。
音声のなりすまし防止
- エンタテインメントシステムやBluetoothスピーカー、その他の録音された音声にボイスインターフェースが騙されないようにする。
- 実際の人間から発せられたものではないウェイクワードや音声コマンドを検出し、抑制することができる。
- Reality AIの非常にコンパクトなファームウェアモジュールは、主要なウェイクワード処理スタックと互換性があり、実際の人間が話している音と、スピーカーから再生されている人の声の違いを検出する。
- これにより、誤認識や誤ったコマンド応答を大幅に減らすことができる。
(4)音響イベント検出
コンパクトでコストパフォーマンスの高いウィジェットを提供するので、次のような家庭や屋外でよく聞かれる音を認識可能です。
- ガラスが割れる音
- 赤ちゃんの泣き声
- 緊急車両のサイレン
Reality AI Tools
Reality AI Toolsはルネサスが提供するマイコンをベースにしたAIを開発するためのツールです。物理ベースの説明可能なAIを用いたセンサーデータのAIモデルを構築することができます。
Edge AI / TinyMLへの最適化、センサーの選択と配置を評価し、最小コンポーネント仕様を設定、さらにトレーニングデータとテストデータを管理します。
そのため、Realty AI Toolsを用いることにより、センサーを用いたスマートデバイスの開発を高い信頼性と共に短期間で実現することができます。
Realty AI Toolsは、Edge AIにフォーカスしています。すなわち、映像以外のアプリケーションに特化し、信号処理技術を利用する一般組み込み向けプロセッサをサポートしています。
そのため、Edge AIやマシンラーニングを、エンジニアリングや製品設計のプロセスに取り入れ、高度でインテリジェントな機能を低コストで構築することを可能にします。
そして、センサーのベストな組み合わせと位置情報を検出します。すなわち、センサーとプロセッサ選定に必要なミニマムスペック情報を算出することができます。そのため、これまでカット&トライが必要だったコスト最適化をツールが実現してくれます。
さらに、作成されたモデルの情報を周波数、時間の観点から視覚化します。すなわち、時間領域と周波数領域の記述を参照しながら、エンジニアが理解できる用語を用いて、完全に透過性のあるモデルを作成します。それは、通常のソフトウェア技術者とマシンラーニングの橋渡しを提供することになります。
まとめると、
Realty AI Toolsは、初期のプロトタイプから製品リリースまで、エンジニアリング・アプリケーション向けのマシンラーニングツールのプロセスをサポートし、ユーザーに信頼性と確実性を提供します。
(1)AIによる特徴検出(AI Explore™)
ここで言う特徴とは、クラス間の違いを見分けたり、変数を予測したり、異常を検出したりする目的で、「重要なもの」を数学的に記述したものです。
Reality AI Toolsで検索される特徴は次の通りです
- ログ、累乗、微分、符号など、生データに対する一般的な変換
- パラメトリックな統計的特徴とピーク分析
- パワー、位相、スペクトル形状、周期性、セプストラル、ウェーブレットなどのスペクトル特徴
- 線形および非線形次元削減
- 時間-周波数スパースコーディングおよび時間パターン解析
- バイナリパターンおよびテクスチャ解析
AI Explore使うと、センサーデータを自動的に解析し最適化されたモデルを生成します。
すなわち、ユーザーが自身で収集したトレーニングデータをアップロードできて、ファイルフォーマットはCSVなどになります。
そして、クラウド上のReality AI Toolsがデータを自動解析、特徴を検出し、マシンラーニングモデルを生成します。ここで注意点ですが、Reality AI ToolsはユーザーのPCにダウンロード&インストールするのではなく、クラウド上に存在するという事です。
さらに、Reality AI Toolsからターゲット向けコードを指定し、バイナリをダウンロードします。
ユーザーがダウンロードしたバイナリをアプリケーションに組み込み、製品を出荷します。
ユーザーのプログラムコードのAI以外の部分とAIのプログラムはe2studio上で、APIを使って統合します。AIのプログラムとe2studioの統合の方法は、「第2部 実際の使い方」で、解説します。
AI Exploreは、自動的に検討可能なオプションを複数提示できます。
AI Exploreを使うと、特定のクラスのシグネチャをエンジニアが理解できる言葉で検査できます。
AI Exploreを使うと、可能性のある各ソリューションの処理要件を示し、必要なトレードオフを行うことができます。
(2)BOMの最適化
Reality AI Toolsを使うと、最高のパフォーマンスを発揮するセンサーと、費用対効果の高い最適な設置場所を特定できます。
また、センサーなどのコンポーネントの最小仕様を設定でき、BOMの最適化が図れます。
(3)データの準備
製品開発の際に発生する問題は、早期に発見することにより、リカバリーの費用が安く済み、最終的にトータルコストを安く抑えることができます。
Reality AI Toolsは、開発段階の落とし穴を自動監視することができるので、問題を早期に発見し、データ収集のコストを削減できます。
(4)Reality AIをユーザーのファームウェアに組み込む
ユーザーのファームウェアのビルドに、Reality AIは簡単に組み込むことができます。
Reality AIは、主要メーカーのArm Cortex M、R、Aの各アーキテクチャに対応しており、LinuxやWindowsにも対応しています。
また、Arm以外の多くのアーキテクチャもサポートしています。
(5)Reality AI Toolsのアドオン
Reality AI ToolsはMATLABのデータファイルを読み込んだり、MATLABの信号処理ツールボックスやマシンラーニングツールボックス用のモデルを生成したりできます。
また、Reality AIによって生成された最適化された特徴計算とマシンラーニングモデルの詳細を見ることもできます。
- MATLABのためのReality AI
- MATLABのデータファイルの読み込み
- 信号処理ツールボックスやマシンラーニングツールボックス用のモデルの生成
- MATLABコードの完全な透明性
- 最適化された特徴計算とマシンラーニングモデルの詳細を確認可能
- レーダー用Reality AI
- レーダーの前処理オプションを自動的に選択・最適化
- モデルの精度を向上
(6)開発工程の削減
従来行っていたデータ収集からディープラーニング、数値解析、検証、AIライブラリ生成、マイコンに変換、そしてマイコンに実装の工程Realty AI Toolsで実現することができ、開発工程を大幅に削減することができます。
Reality AIのデモセット
Reality AI のデモセットを紹介します。
存在検知デモ
ドップラーセンサとマシンラーニングモデルの自動生成を利用した存在検知です。
AIモデルを利用してドップラーセンサからのデータを処理することで実現しました。通常ドップラーセンサからの出力は周波数空間上で出力され、処理に工数が必要です例えば、「FFTなどの前処理」や「動作時に発生する時系列変化の検出」などがあります。
しかし、このデモでは、Realty AI Toolsを使うことによって、マシンラーニングモデル作成工程を大幅に削減しています。
存在検知デモの主な用途は、次の様なものがあります。