
こんにちは,HACARUS 東京R&Dセンター所属のエッジ・エバンジェリスト 田胡治之です.この連載では,半導体業界で長年知識や情報を得てきた私,田胡がこれまでと異なるAI業界に飛び込み,そこから感じる業界のニュースやトピックを独自の視点で紹介したいと思います.カーボンフットプリントの大小やSDGsへの親和性が AI 業界でも取り上げられるようになりました.深層学習(ディープラーニング)の課題として,多大な電力を消費することが指摘されています [2].多大な電力消費は SDGs の課題でもあります.Hacarus AI-lab Vol.18 では,画像の欠陥検出課題に対して AI 学習時の消費エネルギーを調べました [3].スパースモデリング学習時消費エネルギーは,深層学習のそれの約1/100でした.本稿では,(1) エッジAIの推論時カーボンフットプリントにフォーカスします.エッジAIとは,IoT機器やセンサーなどの端末にAIを搭載し,端末が学習・推論を行う技術のことです.端末で収集したデータを基に端末内で推論を処理し,瞬時に判断を出します.クラウドにデータを送信しクラウド上のAIが処理を行う形態とは異なります.振動センサデータの異常検出課題を例に,エッジAIに最適なMACNICA製SENSPIDERを使いました.同一のハードウェアとソフトウェアプラットフォーム下で,エッジAI推論時のスパースモデリングのカーボンフットプリントを, 深層学習のそれと定量比較します.
SENSPIDER
SENSPIDER は.幅150ミリ,奥行き85ミリ,高さ100ミリ.ひとたび設置したら,存在を忘れてしまうほどのコンパクトさです[4].モニタリングに必要な,センサー用アンプ,データロガー,コンピューティング端末(PC等),センサー用電源,外部通信インターフェイスをひとつのユニットに集約していて,コンパクトなオールインワンが代名詞です.5 in 1と言えるでしょう.振動センサーをSENSPIDER に接続すれば,すぐに使い始められます [5].

Figure 1 SENSPIDER [4]
実験フロー
実験フローを Figure.1 に示します.課題は,正常振動か異常振動の判定です.パソコン冷却ファン振動データを入力データに使いました.AI手法として,スパースモデリング(SpMと略)と,深層学習の一種である オートエンコーダ(Auto Encoder,AEと略)を使います.初めに正常データのみを使って,SpMのAI モデルとAEのAIモデルを作ります(Figure 2 Training枠内).学習またはトレーニングと呼ばれるフェーズで,正常データの特徴を抽出した AIモデルが生成されます.本稿では学習フェーズの詳細を省略します.次に,実際のデータを判定する推論フェーズ(Figure 2 Prediction)に移ります.テストフェーズとも呼ばれます.SpMのAI モデルが出力した結果(正常/異常)と,そのときの入力信号の正常/異常(人間が決める)を比べ,AI出力が正解か不正解かを記録します.オートエンコーダについても同様です.これを入力データを変えて多数回行いました.SpM,AEそれぞれの異常時の検知精度と誤報率が Figure 2 右側の表です.詳しくは後述します.
実験のポイントは,SENSPIDER という同一ハードウェア・ソフトウェアプラットフォーム上で,同一入力データを使って比較したこと,と考えます.異なっている部分は,AIプログラム,即ちスパースモデリングプログラムとオートエンコーダプログラムだけです.もちろん,どちらのプログラムも様々なパラメータがあり,最適化はあまりされていない段階ですが,オーダーレベルの大ざっぱな消費エネルギー比較にはなると,筆者は考えます.(1) 少ないデータから解釈性の高いAIモデルを得やすいスパースモデリングモデルと,(2) 深層学習の一つであるオートエンコーダモデルについて,性能と推論時消費エネルギーを比較します.

Figure 2 実験フロー
パソコン冷却ファンの振動データ例を,Figure 3 に示します.連続したデータを,21.33ms 毎に一セグメントとして切りだします.AI 推論はセグメント毎に行います.

Figure 3 入力データ例 (パソコン冷却ファンの振動データ)
推論フロー
スパースモデリングの推論フロー
スパースモデリングの学習フェーズでは,正常データのみを分析してセグメントの特徴的な波形断片(Figure 3 Dictionary example,Figure 4 X0, X1, X2)を抽出します.これをまとめて辞書と呼びます.
推論フェーズでは,入力データを分析し辞書の組合せ(線形結合)でそれを近似します.再構成(Reconstruction)と呼びます.Figure 4 a0 x X0 + a1 x X1 + a2 x X2 が再構成例です.入力データと近い正常入力データの場合,辞書の組合せでそれに近い出力信号(Figure 4 Output)を作り出せます.従って Outputと Input の差(二乗誤差など)は小さくなり,正常と判定できます.異常入力データの場合は,辞書にはない波形が含まれているので出力信号の近似は悪くなります.異常入力データとの差が大きくなり,異常と判定できます.

Figure 4 スパースモデリングの推論フロー
オートエンコーダの推論フロー
オートエンコーダは,入力データを加えるエンコーダ層(Encoder layer),正常データの特徴を表す隠れ層(Hidden layer)と,出力を行うデコーダ層(Decoder layer)から構成されます(Figure 5 中央).
オートエンコーダの学習は,入力データ(Figure 5 Input)と一致するデータを出力(Figure 5 Output)することを目的とする教師なし学習です.それに何の意味があるのか?というと,隠れ層ノード数(NH)が,エンコーダ層ノード数(NEnc)とデコーダ層ノード数(NDec)より小さいことです.入力から出力への単なるコピーは不可能で.入力データの次元数をいったん下げ,再び戻して出力するという構造になっています.データの中から復元のために必要となる重要な情報だけを抽出し,それから効率的に元のデータを生成するネットワークが形成されると考えられます.正常データだけを学習したオートエンコーダは,正常データ間のゆらぎや重畳したノイズがあった場合でもそれらを除去した平均的な正常データを出力します.
推論フェーズを見てみましょう.正常データが入力された場合(Figure 5 左)は,平均的な正常データがオートエンコーダ出力に現れます.両者の差(二乗誤差など)は小さくなり,正常と判定できます.異常データが入力された場合(Figure 5 右)は,デコーダ出力は平均的な正常データに近くなるので,これと異常データの差は大きくなり異常と判定できます [6].

Figure 5 オートエンコーダの推論フロー
実験結果
スパースモデリングとオートエンコーダ(深層学習の一種)について,推論一回の実行時間,メモリ使用量,検出精度と誤報率を調べました [7].推論一回あたりの実行時間は,スパースモデリングが 3.1ms,オートエンコーダが 87.3ms でした.スパースモデリングはオートエンコーダより約28倍高速でした.検出精度は,スパースモデリングが 95.9%,オートエンコーダが 90.0% でした.誤報率は,スパースモデリングが 8.2%,オートエンコーダが 4.5% でした(Figure 6).

Figure 6 推論実行時間,メモリ使用量,性能(検出精度と誤報率 )[7]の比較例
本実験は入力データ(Figure 3)は正常データと異常データの差が比較的大きいケースと考えられ,スパースモデリングの辞書サイズが小さくても正常と異常の差を検出でき,実行時間は短くてすみました.しかし正常データと異常データの差が小さいケースでは事情が異なります.微妙な差を見分けるためにはスパースモデリングの辞書サイズを大きくする必要があり,実行時間は長くなります.
またアルゴリズムの性質からは, 深層学習AIモデルはスパースモデリングAIモデルよりも高い表現能力があります.1つのAIでモデリングしたいデータの状態が複数あるようなケースでは,深層学習を用いたオートエンコーダがスパースモデリングより適しているケースもあると考えます.
本稿では,推論一回あたりの消費エネルギー比がカーボンフットプリント比になる,と考えました.Figure 7 のように,消費エネルギー比は,大ざっぱに推論実行時間比になります.スパースモデリングのカーボンフットプリントはオートエンコーダのそれの約1/28 と,とても小さいことがわかります.

Figure 7 推論一回あたりの消費エネルギー比
まとめ
- MACNICA製SENSPIDER に2種類のAIアルゴリズムを実装し,振動データの正常/異常の判定実験を行いました.SENSPIDER は,モニタリングに必要なセンサー用アンプ,データロガー,コンピューティング端末(PC等),センサー用電源,外部通信インターフェイスを,幅150ミリ,奥行き85ミリ,高さ100ミリのコンパクトな筐体に収めたオールインワン・エッジ端末です.
- SENSPIDER 上に2種類のAIアルゴリズム,スパースモデリングとオートエンコーダ(深層学習の一種)を実装し,同一の振動データの正常/異常判定をしました.検出精度は,スパースモデリングが 95.9%,オートエンコーダが 90.0%でした.誤報率は,スパースモデリングが 8.2%,オートエンコーダが 4.5% でした.
- 推論一回あたりの実行時間は,スパースモデリングが 3.1ms,オートエンコーダが 87.3ms でした.スパースモデリングはオートエンコーダより約28倍高速でした.推論一回あたりのカーボンフットプリント比率は,大ざっぱに推論実行時間比率になります.スパースモデリングのカーボンフットプリントはオートエンコーダのそれの約1/28 ととても小さく,SDGs フレンドリーと言えると考えます.
参考文献
[1] MACNICA, メーカー様向け SENSPIDER組み込み開発PoCキット
https://www.macnica.co.jp/business/ai_iot/products/hardware/134193/
[2] 藤原健真,課題解決に効く,次世代AI活用術,クロスメディア・パブリッシング,2021年,ISBN 978-4-295-40611-2
[3] 田胡,『半導体業界の第一人者,AI業界を行く!』 Vol.18: 少量データ型AI開発でカーボンフットプリントが100分の1に/深層学習型に比べ「脱炭素」実現
https://hacarus.com/ja/ai-lab/03102022-tech-blog-18/
[4] マクニカ,インダストリアル IoT(IIoT)市場向け製品「SENSPIDER」を開発
https://www.macnica.co.jp/business/ai_iot/news/2018/1284/
[5] MACNICA スマートセンシングから始まるスマートメンテナンス
https://www.macnica.co.jp/business/ai_iot/products/hardware/senspider/
[6] MathWorks オートエンコーダ(自己符号化器)とは
https://jp.mathworks.com/discovery/autoencoder.html
[7] 神奈川県DXプロジェクト推進事業成果報告会 動画
https://www.youtube.com/watch?v=nU1g19mVThE 動画開始後 8分40秒付近に実験結果の説明あり.