エッジAIとは、AIをデバイスに直接搭載し、デバイス側でAI処理を行うようにしたシステムです。エッジAIには、「データ通信量を削減できる」「適切な応答性を確保できる」などのメリットがある反面、「エッジデバイス側の処理能力が限られる」といった制約もあります。本記事では、エッジAIの検討が増えつつある適用例として「予知保全」を取り上げ、実証実験に利用されることが多いRaspberry Pi®をつかったエッジAIの具体的開発手法について解説します。

エッジAIとは

一般的にAIを活用したシステム構築において、大規模なデータ処理や高度な分析が必要とされる場合には、スケーラビリティがある「クラウドAI」を選ぶことが多くなります。しかし、「クラウドAI」でシステムを構築することがかならずしも適切ではない場合もあります。例えば、AIシステムに即時性が求められる場合や、センサーデバイスからクラウドへのインターネット接続に制限がある場合です。

そのような状況下で検討されるのが「エッジAI」です。「エッジAI」とは、観測対象付近に設置されたセンシングデバイス(エッジデバイス)にAI機能を実装し、エッジデバイス側でAI処理を行うシステムです。エッジAIでは、エッジデバイス側で処理して、事象が発生したときのみ処理結果を送信することで、以下のようなメリットが得られます。

1.データ通信量の圧縮
常時安定した高速通信経路が確保しにくい洋上や山中などの厳しい環境下にエッジデバイスを設置する場合、送受信するデータ量をできるだけ圧縮したいというニーズがあります。エッジAIを使うことにより送受信するデータ量を削減できるため、広範囲を低電力でカバーするLoRa/ LPWA /LTEなどの通信形態を利用できます。

2.適切な応答性の確保
現場の状況に応じた動作や処理がAIシステムに求められる場合、AI処理をクラウド側で実行させようとすると、データの送受信に伴う遅延により、現場で求められる適切な応答性を確保することが困難になります。エッジAIはエッジデバイス側で判断を下せ、通信ラグがないため、リアルタイムに応答することができます。エッジAIを使えば、現場の閉じた空間で入力に対する応答を確認でき、例えば、検出対象を追尾するような制御システムも構築できます。

3.データ・セキュリティの確保
エッジデバイス側で取得した画像・動画・音声などをエッジデバイス側で処理し、必要に応じて判別結果のみクラウドへ送信すればよいため、データ・セキュリティが確保できます。

エッジAIの適用例〜予知保全

エッジAIは、自動運転車、スマートウォッチなどのウェアラブルデバイス、遠隔患者モニタリングなど様々な分野で活用が進んでいます。特に工場、航空機、エネルギーインフラなどの産業オートメーションにおけるエッジAIの適用例として、「予知保全」が注目を集めています。

予知保全は機器に取り付けたセンサーから取得したデータを基に故障や劣化を予測・検知し、異常が発生する前の適切なタイミングでメンテナンスを行うことを目標としています。

近年、予知保全におけるエッジAIの活用が進んでいる理由として、エッジデバイスの性能向上が挙げられます。これは、センサーを用いて手軽にデータを取得できるようになったとともに、エッジデバイス側で、信号や画像の前処理や機械学習を行う”AI処理”が可能となってきたことを意味します。このため、これまで通信環境の制約などによってクラウド型での実装が難しかった予知保全の課題に対しても、エッジAIのアプローチが可能となっています。

エッジAIの開発〜Raspberry Piの活用

エッジAIシステムは、一般的に以下のような工程を経て開発されます。

・データの取得
・前処理
・AIアルゴリズムの設計
・モデル圧縮
・ハードウェアに適したコード生成/デバイスへの展開

エッジAIを開発する際、性能や応答性、またバッテリーの稼働時間など、プロジェクトのコンセプトに影響を及ぼしそうな要因について、開発の初期の段階で実現可能性の見通しを立てることが重要です。これらの課題は相互に関連するため、調整と検証のサイクルを繰り返しながらAI処理性能とハードウェアリソースのトレードオフ関係を探索する必要があります。

エッジAIの反復的な開発過程においては、シングルボードコンピューターの代表格でもあるRaspberry Piがよく活用されます。Raspberry Piは、低コストで入手性が良いだけでなく、小型で設置性も良いため、予知保全の処理も担えます。

予知保全システムでは、過酷な環境に耐えられるようエッジデバイスを筐体に収めたり、山林や畑などのフィールドで通信を含めた電力を太陽光で賄えるかを検証することがあります。このような状況では、コンパクトで可搬性のある装置をRaspberry Piで迅速に構築できることは大きなメリットとなります。

予知保全におけるエッジAI開発~具体的手法

Raspberry Piは、一般的な組込み用途の基板と比較すると大幅にリソースに余裕のあるデバイスですが、AIアルゴリズムの実装に関しては処理性能の限界があります。そのため所要メモリを削減したり、応答性の向上のため処理負荷を軽くする工夫が必要となります。

予知保全でよく用いられる時系列データ、とりわけ音声データや振動データは、そのままAIモデルへの入力として扱うよりも、特徴抽出などの前処理を施し、AIモデルへの入力サイズを落とすことで、計算時間の短縮やモデルサイズの縮小につながります。

具体的なプロセスと手法の一例は以下の通りです。

1.特徴抽出および機械学習
特徴抽出は、モデルが注目すべき特徴量を特定する重要なステップとなり、モデルの精度にも影響します。代表的な特徴抽出として、時間領域では基本的な統計量(平均や標準偏差など)、周波数領域ではピーク値やピークの周波数などを算出します。また、限られた演算リソースを有効利用するために、データ量の大幅な削減を可能とする、"ウェーブレットスキャッタリング"という手法も提案されています。

故障や劣化の検知には、機械学習により得られたモデルを使用しますが、代表的な手法としてはニューラルネットワークがあげられます。画像判別で実績のあるCNN(畳み込みニューラルネットワーク)を、センサー信号の様な時系列データに応用する手法もありますが、信号の推移パターンから異常の発生事象を類別するLSTMネットワークも選択肢の一つです。

2.機械学習により得られた予測モデル圧縮
「モデル圧縮」とは、精度をできるだけ落とさず、メモリ使用量を削減し、推論時間を短縮したモデルに変換する手法です。例えば、LSTMをはじめとするニューラルネットワークでは、以下の手法でモデル圧縮をすることができます。

圧縮のための手法 圧縮の度合い
量子化(数値のビット数削減) 1/2(64bit倍精度型->単精度型)
1/8 (倍精度型->8bit int)
プルーニング(枝刈り) ~1/4程度
プロジェクション(投射) ~1/10程度


3.システム開発ワークフロー
実際の開発では、所要リソースと性能のトレードオフを探るサイクルを回すことになります。その際、性能とリソース消費の検討を、統合開発環境で行い、システム全体のパフォーマンスを最適化します。開発したアルゴリズムは、組み込みデバイス(Raspberry Piの場合はARMプロセッサー)向けの言語によるプログラミングが必要になりますが、アルゴリズム開発環境から、組み込み用のC/C++のコードを自動生成するような、ノーコードのワークフローも注目されています。

まとめ

エッジAI開発では、性能を維持しながらハードウェアの制約もクリアする必要があります。その際に、「特徴抽出」や「モデル圧縮」などの手法を活用することにより、エッジデバイスのリソースを最大限に活用したAIシステムを構築することができます。ここでは、予知保全システムを例に、エッジAI開発の概要と、その具体的な手法について紹介しました。

関連リソース

エッジAI向けMATLABおよびSimulink
https://jp.mathworks.com/solutions/deep-learning/edge-ai.html

予知保全が重要である理由、仕組み、始め方
https://jp.mathworks.com/discovery/predictive-maintenance-matlab.html

量子化、投影、または枝刈りの実行による深層ニューラル ネットワークの圧縮
https://jp.mathworks.com/help/deeplearning/quantization.html

[PR]提供:MathWorks Japan(マスワークス合同会社)