工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> モノのインターネットテクノロジー

MCUにAIof Things(AIoT)を実装する方法

前回の記事では、モノのインターネット(IoT)デバイスでますます多くの人工知能(AI)がインテリジェントな「AIoT」デバイスを作成できるようにする傾向が高まっていることを強調しました。さまざまなアプリケーションがこれらのインテリジェントデバイスの恩恵を受けています。これらはデータから学習し、人間の介入なしに自律的な意思決定を行い、環境とのより論理的で人間のような相互作用を持つ製品につながります。

AIとIoTの組み合わせにより、MCU(マイクロコントローラー)の新しい市場が開かれました。これにより、AIアクセラレータと組み合わせたシンプルなMCUを使用してインテリジェントな制御を容易にする新しいアプリケーションやユースケースが増えています。これらのAI対応MCUは、推論のための計算と機械学習(ML)用のDSP機能の独自のブレンドを提供し、現在、キーワードスポッティング、センサーフュージョン、振動分析、音声認識などのさまざまなアプリケーションで使用されています。高性能のMCUにより、顔認識、指紋分析、自律型ロボットなど、視覚とイメージングのより複雑なアプリケーションが可能になります。

AIテクノロジー

IoTデバイスでAIを可能にするテクノロジーは次のとおりです。

機械学習(ML) :機械学習アルゴリズムは、代表的なデータに基づいてモデルを構築し、デバイスが人間の介入なしにパターンを自動的に識別できるようにします。 MLベンダーは、組み込みシステムに組み込むことができるモデルをトレーニングするために必要なアルゴリズム、API、およびツールを提供しています。次に、これらの組み込みシステムは、事前にトレーニングされたモデルを使用して、新しい入力データに基づいて推論または予測を実行します。アプリケーションの例としては、センサーハブ、キーワードスポッティング、予知保全、分類などがあります。

ディープラーニング :ディープラーニングは、ニューラルネットワークの多くのレイヤーを使用してシステムをトレーニングし、複雑な入力データから段階的に高レベルの機能と洞察を抽出する機械学習のクラスです。ディープラーニングは、非常に大きく、多様で複雑な入力データを処理し、システムが反復的に学習できるようにして、各ステップで結果を改善します。ディープラーニングを使用するアプリケーションの例としては、画像処理、カスタマーサービス用のチャットボット、顔認識などがあります。

自然言語処理(NLP) :NLPは、自然言語を使用してシステムと人間の間の相互作用を処理する人工知能のブランチです。 NLPは、システムが人間の言語(テキストまたは音声)を理解および解釈し、それに基づいて意思決定を行うのに役立ちます。アプリケーションの例としては、音声認識システム、機械翻訳、予測タイピングがあります。

コンピュータービジョン :機械/コンピュータービジョンは、画像データを収集、解釈、理解し、そのデータに基づいて行動を起こすように機械を訓練する人工知能の分野です。マシンはカメラからデジタル画像/ビデオを収集し、ディープラーニングモデルと画像分析ツールを使用してオブジェクトを正確に識別および分類し、それらが「見る」ものに基づいてアクションを実行します。例としては、製造組立ラインでの障害検出、医療診断、小売店での顔認識、自動運転車のテストなどがあります。

MCU上のAIoT

過去には、AIは、強力なCPUコア、大容量のメモリリソース、分析用のクラウド接続を備えたMPUとGPUの範囲でした。しかし、近年、エッジでのインテリジェンスが向上する傾向にあり、組み込みAIoTアプリケーションでMCUが使用され始めています。エッジへの移行は、レイテンシとコストの考慮事項によって推進されており、計算をデータに近づける必要があります。 MCUベースのIoTデバイス上のAIは、リアルタイムの意思決定とイベントへのより迅速な応答を可能にし、より低い帯域幅要件、より低い電力、より低い遅延、より低いコスト、およびより高いセキュリティという利点があります。 AIoTは、最近のMCUのより高度なコンピューティング機能と、これらのエンドデバイスで使用されているリソースに制約のあるMCUにより適したシンニューラルネットワーク(NN)フレームワークの可用性によって実現されます。

ニューラルネットワークはノードの集合であり、前のレイヤーから入力を受け取り、入力の加重和とバイアス和から計算される出力を生成するレイヤーに配置されます。この出力は、すべての発信接続に沿って次のレイヤーに渡されます。トレーニング中、トレーニングデータはネットワークの最初のレイヤーまたは入力レイヤーに送られ、各レイヤーの出力は次のレイヤーに渡されます。最後のレイヤーまたは出力レイヤーは、モデルの予測を生成します。これは、モデルのエラーを評価するために既知の期待値と比較されます。トレーニングプロセスでは、ネットワークの出力が期待値と密接に相関するまで、バックプロパゲーションと呼ばれるプロセスを使用して、各反復でネットワークの各層の重みとバイアスを調整または調整します。言い換えると、ネットワークは入力データセットから繰り返し「学習」し、出力予測の精度を段階的に向上させます。

ニューラルネットワークのトレーニングには、非常に高いコンピューティングパフォーマンスとメモリが必要であり、通常はクラウドで実行されます。トレーニング後、この事前トレーニングされたNNモデルはMCUに埋め込まれ、トレーニングに基づいて新しい着信データの推論エンジンとして使用されます。

この推論の生成には、モデルのトレーニングよりもはるかに低い計算パフォーマンスが必要であるため、MCUに適しています。この事前トレーニング済みのNNモデルの重みは固定されており、フラッシュに配置できるため、必要なSRAMの量が減り、リソースに制約のあるMCUに適したものになります。

MCUへの実装

MCUでのAIoTの実装には、いくつかの手順が含まれます。最も一般的なアプローチは、MCUベースのエンドデバイスソリューションに適した、CaffeやTensorflow Liteなどの利用可能なニューラルネットワーク(NN)フレームワークモデルの1つを使用することです。機械学習用のNNモデルのトレーニングは、AIベンダーが提供するツールを使用して、AIスペシャリストによってクラウドで行われます。 NNモデルの最適化とMCUでの統合は、AIベンダーとMCUメーカーのツールを使用して実行されます。推論は、事前にトレーニングされたNNモデルを使用してMCUで実行されます。

プロセスの最初のステップは完全にオフラインで実行され、エンドデバイスまたはアプリケーションから大量のデータをキャプチャして、NNモデルのトレーニングに使用します。モデルのトポロジは、AI開発者によって定義され、利用可能なデータを最大限に活用し、そのアプリケーションに必要な出力を提供します。 NNモデルのトレーニングは、モデルの出力でのエラーを継続的に最小化することを目的として、データセットをモデルに繰り返し渡すことによって行われます。このプロセスを支援できるNNフレームワークで利用可能なツールがあります。

2番目のステップでは、キーワードスポッティングや音声認識などの特定の機能用に最適化された、これらの事前トレーニング済みモデルが、MCUに適した形式に変換されます。このプロセスの最初のステップは、AIコンバーターツールを使用してフラットバッファーファイルに変換することです。これは、サイズを縮小してMCU用に最適化するために、オプションで量子化器を介して実行できます。次に、このフラットバッファファイルはCコードに変換され、ランタイム実行可能ファイルとしてターゲットMCUに転送されます。

事前にトレーニングされた組み込みAIモデルを搭載したこのMCUは、エンドデバイスにデプロイできるようになりました。新しいデータが入ってくると、それはモデルを介して実行され、トレーニングに基づいて推論が生成されます。新しいデータクラスが到着すると、NNモデルをクラウドに送り返して再トレーニングし、新しい再トレーニングモデルをMCUでプログラムすることができます。これは、OTA(無線)ファームウェアのアップグレードを介して行うこともできます。

MCUベースのAIソリューションを設計する方法は2つあります。この説明では、ターゲットMCUでArmCortex-Mコアを使用することを想定しています。

最初の方法では、変換されたNNモデルがCortex-M CPUコアで実行され、CMSIS-NNライブラリを使用して高速化されます。これは、追加のハードウェアアクセラレーションなしで処理できるシンプルな構成であり、キーワードスポッティング、振動分析、センサーハブなどのよりシンプルなAIアプリケーションに適しています。

より洗練された高性能のオプションには、MCUにNNアクセラレータまたはマイクロニューラルプロセッシングユニット(u-NPU)ハードウェアを含めることが含まれます。これらのu-NPUは、リソースに制約のあるIoTエンドデバイスでの機械学習を加速し、モデルの電力とサイズを削減できる圧縮をサポートする可能性があります。これらは、オーディオ処理、音声認識、画像分類、およびオブジェクト検出のための一般的なNNネットワークのほとんどを完全に実行できるオペレーターをサポートします。 u-NPUでサポートされていないネットワークは、メインCPUコアにフォールバックでき、CMSIS-NNライブラリによって高速化されます。この方法では、NNモデルはuNPUで実行されます。

これらの方法は、MCUベースのデバイスにAIを組み込むための2つの方法を示しています。 MCUがパフォーマンスの境界をより高いレベルに押し上げ、MPUに期待されるレベルに近づけるにつれて、MCU上に直接構築された軽量の学習アルゴリズムや推論を含む完全なAI機能が見られるようになると期待しています。

エッジのAIは未来です

リソースに制約のあるMCUへのAIの実装は、将来的に指数関数的に増加し、MCUがパフォーマンスの限界を押し上げ、MCUとMPUの間の境界線を曖昧にし、ますます「薄い」NNになるにつれて、新しいアプリケーションとユースケースが出現し続けるでしょう。リソースに制約のあるデバイスに適したモデルが利用可能になります。

将来的には、MCUのパフォーマンスが向上するにつれて、推論に加えて軽量の学習アルゴリズムが実装され、MCUで直接実行されるようになる可能性があります。これにより、MCUメーカーに新しい市場とアプリケーションが開かれ、MCUメーカーにとって重要な投資分野となるでしょう。


モノのインターネットテクノロジー

  1. クラウドテクノロジーを保護する方法は?
  2. データ管理は機械学習とA.I.を促進しますIIOTで
  3. データを最大限に活用する方法
  4. AIoTがスマートトラフィックソリューションを実現する方法
  5. モノのインターネットがサプライチェーンをどのように変革しているか:パート2、将来のソリューション
  6. モバイルテクノロジーが旅行の障壁をどのように取り除いているか
  7. データサイエンスと機械学習がウェブサイトのデザインを後押しするのにどのように役立つか
  8. モノのインターネット:データの流入を管理する
  9. 今日のエンタープライズ環境で機械学習を使用する方法
  10. IoTはどのように車両追跡システムを強化しますか?
  11. 医療機器OEMがインダストリー4.0ビジネスモデルを実装する方法