本初心者講座は、ルネサスエレクトロニクス社(以降、ルネサス)の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を使用して製品を構築する 後半
今回は第2回です。
ルネサスの 技術サポートWeb に掲載されているFAQの内容をわかりやすく日本語に翻訳しました。
【課題】
1. Reality AIの基本情報について学習します。
ここでは、そもそもReality AI、Edge AIやTinyMLが何であるかを学習し、それに必要とされるデータ量について学習します。
2. Reality AI Toolsについての補足情報を学習します。
そもそもReality AI Toolsとは何か?どのような種類のセンサーをサポートしているか?などの基本情報について学習します。
3. RealityCheck ADとAutomotive SWSについての補足情報を学習します。
プロジェクトにおいてセンサーの選択方法、サポートするセンサーの種類などや、車載用SWSとは何か?を学習します。
Reality AIの基本情報
この章では、Reality AIの基本情報について解説します。
Q1. そもそもEdge AIって何ですか?またTinyMLって何ですか?
Edge AIとTinyMLは、クラウド(データセンター)ではなくて、Edgeと呼ばれる利用者側のプロセッサノードに展開できるマシンラーニングまたは人工知能モデルを作成するために使用される技術を表します。定義や意味が曖昧なバズワード(Buzz word)です。
Edge AI、TinyML、Embedded AI、Embedded Machine Learningはすべて、基本的に、低電力、低メモリ、コンピューティングが制限された環境(通常はファームウェア)で実行されるマシンラーニングと同じ意味です。
Reality AIの場合、Edge AIは、製品の一部として安価なマイクロコントローラー上のファームウェア、または工場や工場内のIoTエッジデバイス上でローカルにマシンラーニングを実行することを意味します。
Q2. Reality AIはExplainable AIの一種ですか?
はい。Reality AI Toolsソフトウェアは、マシンラーニングモデルを構築する前に、信号処理変換に基づいて最適化された特徴空間を構築することによって機能します。
これらの特徴空間変換は時間領域および周波数領域の動作の観点から視覚化できるため、エンジニアはマシンラーニングモデルの機能を、センサーと環境の相互作用の基礎となる物理学の理解に関連付けることができます。
Reality AIは、この種の説明の可能性を提供するという点で、センサーデータ用のEdge AI/TinyMLソフトウェアの中でもユニークであると考えています。
Q3. どれくらいのデータ量が必要ですか?
結論から言うと、曖昧な表現ですが「必要なのは十分なデータ」ということになります。いくらあれば十分かを、データ収集前に明言することはできません。
センサーデータのマシンラーニングは、データの変動を学習するためのものです。もし、変動が予想よりも大きかった場合には、より多くのデータが必要になります。
Reality AI Toolsソフトウェアには、データの適用範囲と準備状況を評価するのに役立つ機能を持っています。
Reality AI Toolsの補足
Q1. そもそもReality AI Toolsって何ですか?
オーディオデータ、振動データ、またはその他の波形センサーデータに基づくリアルタイムAIアプリケーションなど、さまざまなAIユースケースをサポートするために使用されるエッジAIプラットフォームです。
Reality AI Toolsソフトウェアは、製品の一部としてファームウェアに組み込んだり、工場内の安価なエッジノードに展開したりできる組み込みAIモデルを生成します。
予知保全、状態監視、加速度計やその他のデータを使用した挙動認識、異常検出、センサーデータに基づくその他の予測分析におけるAI事例の詳細をルネサスは提供します。
Q2. Reality AI Toolsはどのような種類のセンサーをサポートしていますか?
ほとんどの種類のセンサーデータが可能ですが、加速度計データ、振動、音、電流、電圧、RF、および「波形」と表現されるその他のデータなど、高いサンプルレートで収集されたセンサーデータで最も良く動作します。
Reality AIは、より低い周波数で収集されたデータを使用でき、より遅い時系列を高周波数センサーと組み合わせて使用する場合、たとえば、定期的な温度と圧力の測定値を加速度計や振動と組み合わせる場合が特に効果的です。
ただし、Reality AI Toolsソフトウェアは、センサーの種類に依存せず、サポートされている形式で提供される限り、あらゆるセンサーからのデータをサポートします。
Q3. Reality AI Toolsはどのような種類のエッジデバイスをサポートしますか?
Reality AI Toolsソフトウェアは、ルネサス製品限定の幅広いエッジデバイスでの使用に適したコードを生成できるEdge AIプラットフォームです。
GCCツールチェーンを使用してマイクロコントローラー用のコードを生成できます。GCCツールチェーンには、ほとんどすべてのArm Cortex M、A、およびRクラスMCUが含まれています。
また、非Armアーキテクチャもサポートしています。さらに多数のプロセッサでのLinux実装をサポートしています。
Q4. センサーデータチャネルはいくつ使用できますか?
Reality AI Toolsソフトウェアには、センサーデータチャネルの数に対する制限はありませんが、実際には、ターゲット環境のコンピューティング上の制約により、使用するチャネル数はRAMの容量に依存します。
マシンラーニングモデルのRAM要件は、センサーデータのフレームを保持するために必要な入力バッファーのサイズと密接に関係しており、バッファーのサイズはチャネル数×サンプルレート ×ウィンドウの長さに比例します。
センサーデータチャネルが増えると、ウィンドウバッファーも大きくなり、ウィンドウバッファーが大きくなると、数学的に操作するためにより多くのRAMが必要になります。
Reality AI Toolsは、入力チャネル、ウィンドウの長さ、サンプルレートのさまざまな選択によるRAMへの影響を調査し、作成するマシンラーニングモデルのRAM要件を最適化するのに役立ちます。
Q5. どのようにして組み込みマシンラーニングモデルを作成しますか?
クラス間の分離やターゲット変数との相関を最適化する特徴空間を構築することによって、特定のマシンラーニング問題に対して最適な特徴をアルゴリズム的に決定する独自の方法に基づいています。
最適な特徴空間を選択し、最大限の効率と有効性を実現するために最適化することで、マシンラーニングの問題を大幅に簡素化し、コンパクトでシンプルかつ効率的な学習アルゴリズムの使用を可能にします。
Q6. どのような種類の信号処理機能を使用しますか?
Reality AI Toolsソフトウェアは、高周波/高サンプルレートのセンサーデータを使用する問題に対して最適化されています。このデータを使用しない場合、音声、振動、加速度計のデータ、その他の種類のデータを操作するには信号処理エンジニアからの入力が必要になる可能性があります。
「波形」のイメージを想像してください。Reality AI Toolsはさまざまな統計および時間領域および周波数領域の変換を使用します。
例えば、「スペクトルの特徴」「スペクトル特徴に関する統計」「スペクトルの周期性とスペクトル特徴の時間変化の測定」「ウェーブレットおよびスパースコーディングを含むその他の時間周波数コーディング」「圧縮センシングの分野」からのさまざまな変換です。
Reality AI Toolsソフトウェアは、データに対して各フィーチャファミリを評価し、特定の計算セットを選択して、そのフィーチャ計算のパラメーターを最適化します。これをセンサーチャネルごとに実行し、結果を組み合わせて、当面の分類、回帰、または異常検出の問題に固有の特徴計算を作成します。
これらのタイプの機能は、オーディオ信号処理、振動分析、ジェスチャ認識、および信号データを利用するその他のAIユースケースに向いています。
Q7. ディープラーニングモデルを作成しますか?
Reality AIのアプローチは、特定のマシンラーニング問題に対して独自のAI主導で最適な特徴を決定することを使用した、アルゴリズムによる特徴の発見と最適化に焦点を当てています。
ほとんどの場合、これによりマシンラーニングの問題が大幅に単純化され、コンパクトでシンプルかつ効率的な学習アルゴリズムの使用が可能になります。
対照的に、ディープラーニングでは通常、複数の層の畳み込みニューラルネットワークまたはリカレントニューラルネットワークを使用して、同じタスクを実行します。これは、ネットワークの上部で行われる意思決定にとって、考えられる多数の基礎的な機能のうちどれが最も重要かを判断することです。
組み込みシステム向けのディープラーニングの問題は、ニューラルネットワーク機構をすべて導入するため、計算的に無駄が生じる可能性があることです。
そして、信号処理機能に基づくリアルタイムAIアプリケーションの場合、信号処理変換のニューラルネットワーク近似は非常に非効率的です。
しかし、たとえ最適化された機能を備えていても、組み込みディープラーニング手法が単純なマシンラーニングを上回る予測能力を追加できるアプリケーションがいくつかあることは確かです。
そのため、Tensor Flow Liteマイクロコントローラーの導入を計画しています。Tensor Flow Liteと、その他のより効率的なマシンラーニング手法の間で期待される精度とRAM /フラッシュメモリ/処理レイテンシを透過的に比較する予定です。
Q8. どのようなアルゴリズムをサポートしていますか?
繰り返しになりますが、Reality AIのアプローチは、特定のマシンラーニング問題に対して独自の AI主導で最適な特徴を決定することを使用したアルゴリズムによる特徴の発見と最適化に焦点を当てています。
ほとんどの場合、これによりマシンラーニングの問題が大幅に単純化され、コンパクトでシンプルかつ効率的な学習アルゴリズムの使用が可能になります。
分類問題の場合、これは通常、サポートベクターマシンのアンサンブルです(組み込み推論では、SVMにはわずか数回の行列乗算で評価できるという明確な利点があります)。
回帰問題の場合、通常はSVM回帰モデルが使用され、異常検出の場合、通常、片側SVMまたはK平均法アルゴリズムを使用します。
必要な場合にディープラーニングを含む追加の学習アルゴリズムをミックスに追加する予定ですが、ほとんどの問題に対して、これらの他の学習アルゴリズムは理想的ではなく、実質的に精度が向上することなく大幅な計算の複雑さが追加されることになると予想されます。
Q9. モデルを自分で調整できますか?それとも、Reality AI Toolsソフトウェアは「ブラックボックス」ですか?
Reality AI Toolsソフトウェアは、モデル調整のための多くのオプションを提供します。
プロセスの開始時に、ウィンドウサイズとストライドを調整するか、仮想オシロスコープトリガーに基づいてエネルギートリガーセグメンテーションを使用するかを選択できます。
次に、モデル構築プロセスで、Reality AI Toolsソフトウェアを使用すると、精度、リソース消費、説明可能性などのニーズに最適な機能セットとモデル構築を選択できます。また、このフェーズでは、特定のクラスのシグネチャーと機能の重要性について、さまざまな視覚化オプションを多数提供します。
構築後、偽陽性と偽陰性の許容値を変更し、さまざまなタイプの平滑化を実装することで、エラーバランスを調整するためのチューニングモデルを提供します。
最後に、究極の透明性とカスタマイズ性を実現するために、MATLABおよびCコードのエクスポート用のプロレベルのオプションも提供しています。
これらのソースコードオプションを使用すると、Reality AI Toolsソフトウェアを出発点として使用し、その出力を独自のツールスタックと開発プロセスに組み込むことができます。
RealityCheck ADの補足
Q1. プロジェクトにマイクまたは加速度センサーを選択するにはどうすればよいですか?
機器を選択する際には、重量、サイズ、電気要件などの物理的特性など、さまざまな事項を考慮する必要があります。周波数応答やダイナミックレンジなどの音響特性。最大サンプルレートやビット数などの処理特性。用途によっては、防爆または耐腐食性の計装が必要となる場合があります。一般的に、この質問に対する答えは、設計プロセスのどの段階にいるかによって異なります。
①最初からですか?
最も簡単なものを使用して、それが機能するかどうかを確認してください。ここでは開発ボード、またはラップトップまたはRealityCheck ADエッジノードに接続でき、すぐに入手できるUSB接続可能なセンサーが適切な選択肢です。
②実現可能性が証明されており、製品の部品表の特定のコンポーネントを特定しようとしていますか?
Reality AI Toolsソフトウェアには、最適なコンポーネントを選択し、最小限のコンポーネント仕様を生成するのに役立つ分析機能があるため、既存のサプライチェーンを通じて必要な部品を調達してください。
Q2. RealityCheck ADは、産業の異常検出にAIを活用するのに役立ちますか?
RealityCheck ADは、状態監視、予知保全、異常検出を使用した自動終了テストなどの工場アプリケーション向けのReality AI Toolsソフトウェアのアドオンです。
これは、バランスのとれたラベル付きの予知保全データセットを事前に構築することが現実的でなかったり、不可能だったりする場合に役立つことを目的としています。
RealityCheck ADは、加速度計、マイク、またはその他の産業用センサーに接続された標準的な産業用エッジPCまたはRaspberry Pi上で実行される異常検出を使用します。
すぐに使用できる状態で、通常のベースラインを学習し、異常が検出されるとユーザーに警告します。
これらの異常を調査し、後でReality AI Toolsで追加のモデルを作成するためにそのデータを保持できます。
Q3. RealityCheck ADはどのような種類のセンサーをサポートしていますか?
RealityCheck ADは、エッジデバイスに直接接続するためのさまざまな加速度計とマイクのオプションをサポートしています。
特にNational InstrumentsやDigiducerのDAQを介したインターフェイスもサポートしており、既存の計測器やインフラストラクチャと統合するための「仮想エッジノード」オプションも提供しています。
Q4. RealityCheck ADはどのタイプのエッジデバイスをサポートしますか?
RealityCheck ADは、最小要件を満たすエッジデバイス上で実行できます。
既存のインフラストラクチャとの統合のための「仮想エッジノード」もサポートします。
サポートされているエッジデバイスのリストについて、または既存の機器がRealityCheck ADで動作するかどうかを確認するには、ルネサスにお問い合わせください。
Q5. RealityCheck ADをMESまたは他の工場システムと統合できますか?
はい、出来ます。
すべてのRealityCheck ADエッジデバイスは結果を報告し、必要なデータをMQTT経由で送信します。
他の工場システムとの統合は、関連するMQTTフィードをサブスクライブしてデータを取り込むだけで簡単です。
同様に、RealityCheck ADに戻る通信もMQTTを使用して実行できます。
Q6. RealityCheck ADは既存のセンサーを使用できますか?
ほとんどの場合で使用可能です。
RealityCheck ADは、MQTT経由で他のシステムからセンサーデータを受信するために使用できるオプションの「仮想センサーDAQ」を提供します。
詳細について、また、既存のセンサー実装が対応できるかどうかについては、ルネサスまでお問い合わせください。
Q7. National Instrumentsの既存のセンサーを使用できますか?
RealityCheck ADは、National Instruments DAQシステム用の統合アドオンを提供しており、現在使用中のNational Instrumentsシステムに接続されているセンサーでもRealityCheck ADで使用できます。
Q8. モデルのトレーニングはRealityCheck ADのどこで行われますか?
RealityCheck ADエッジデバイスを導入し、「正常の学習」を指示すると、異常検出に使用されるベースラインデータが収集され、そのデータがエッジノードでローカルに使用されてベースラインADモデルがトレーニングされます。
追加の「Learn Normal」で、ベースラインセットにデータを追加でき、エッジデバイスでも再トレーニングすることができます。
Reality AI Toolsを使用して分類、回帰、または異常検出のために追加のモデルを作成する場合、それらのモデルはクラウドでトレーニングされます(複数のエッジノードからのデータでトレーニングされる場合もあります)。
クラウド内のReality AI Toolsでトレーニングされたモデルは、ローカル推論のためにRealityCheck ADエッジデバイスに配備することができます。
Q9. RealityCheck ADのどこで推論が行われますか?
RealityCheck AD画面の「Learn Normal」を通じてトレーニングされたモデルは、選択したエッジデバイス上で実行されます。
Reality AI Toolsソフトウェアで構築およびトレーニングされたモデルは、[アクティビティモニタリング]を選択した後、デバイスセットアップ画面で[追加]ボタンを押すことで、選択したエッジデバイス上でローカルに実行するように展開できます。
Automotive SWSの補足
Q1. 車載用SWSとは何ですか?
Automotive SWSは、Reality AIとそのパートナーが提供するシステムです。車が「音で見る」ことを可能にしています。
車両の外側にあるMEMSマイクアレイを使用して、自車以外の道路関係者または物を検出し、音の来る角度を計算し、ターゲットのその他の特性(おおよその範囲、接近しているか遠ざかっているか)を判断します。
それが可能な場合。車載用SWSは、見通し内に制限されるカメラ、LIDAR、またはレーダーに基づく衝突回避、ADAS、および独立した運用スタックを補完することを目的としています。
サウンドは高品質かつ低コストの追加機能で、たとえば、まだ0.5km離れたところにいる(遠すぎて見えない距離)緊急車両や死角を曲がって来る車の音を聞くことが可能になります。
Automotive SWSは、MobilityXLabsの2020 Future Mobility Awardを受賞し、Sensors Converge ExpoでBest of Sensors 2021賞も受賞しました。Automotive SWSの詳細、およびそれを独自のセンサー/ADASスタックに組み込む方法については、ルネサスエレクトロニクス社にお問い合わせください。