皆さん こんにちは ST Microelectronics の木村です このセッションでは組み込み機器の革新に貢献する ST の配用32ビットマイコンマイクロプロセッサであるSTM32ファミリーをベースとした 組み込みAIソリューションについて解説します 組み込みAIというワード を聞き慣れない方もいらっしゃるかと思いますが 組み込みAIは従来 クラウドやPCで運用されてきたAIをマイコンやプロセッサといった エンドデバイス側へ組み込むという技術です HAIが注目される中 組み込みAIによりさらに独立し 電力とポストを下げることの できる組み込みシステムが普及していくことが予想されています 今回は組み込みAIがどのように機器を進化させるのかの具体的な ユースケースや組み込みAIに使用できるマイコンの種類 またSTが提供する組み込みAI向けの開発環境について説明します まずは 産業機器から民生機器まで組み込みAIで進化する機器の 具体例を紹介します 余地保存は HAIで近年注目されているキーワード です 製品やサービスの品質向上及びメンテナンスコストの低減に 貢献します 身の回りのさまざまな機器に搭載されているマイコン にはセンサーやモーターなどが接続されており これらの信号 を用いて 機器の異常状態の予兆を検出したり 故障状態の分類 故障や製品準備用の予測などの機能を実現することができます さらに 最新の技術では マイコンのような低コストデバイスでも オンデバイスの追加学習をさせることができるため 固体差や設置 環境差を吸収することが可能です 物体検出や認識といった ビジョン系AIは 本日では一般化していますが もちろん マイコン でも実現することができますマイコンを使用することにより 従来 では難しかった低コスト化や低消費電力化 小型化が可能になる ため ブレイクスルーになりうる製品の開発に貢献します 既存の センサーの用途を拡大することもできます 今までは 値としてしか 活用できていなかったセンサ出力をAIで活用 することにより 状況を正確に把握したり より低コストなセンサ に置き換えるなどの応用も考えられます このようにさまざまな 危機の進化への貢献が期待される組み込みAIですが 汎用マイコン の市場シェアNo.1のSTM32マイコンファミリー向けには充実した ソリューションが提供されていますところで 機械学習ベースのAIは 何が従来よりも優れているのでしょうか 従来のアルゴリズムは大半が経験 に基づくルフルベースの実装となっており 膨大な研究開発を通して 得た知識を基に 手続的なアルゴリズムを作成していく必要がありました さらに環境の変化があると それに伴ってコードやアルゴリズムを 修正していかなければなりませんでしたそれに対し 機械学習は入力データと それに対して必要とされる出力結果さえ用意すれば それを使用して 学習をさせることで特定の問題を解くアルゴリズムとしての 機械学習モデルを生成することができます 環境の変化に対しても 新たなデータを使って再学習することで即座に対応することが できます このように従来解けなかった問題や頻繁に変化する環境への 対応 開発期間の短縮などの課題がある場合 従来のルールベースの 実装よりも大幅な改善が見込まれます また クラウドで運用している AIを活用した IoTシステムに対しても改善が期待されています クラウド上のAIのみを活用する場合 クラウドにデータを集める 必要があります 各端末からは取得したセンサデータがそのまま送付 されます これに対し 組み込みAIを活用し AI処理を適在適所で分散 させることにより 応答性の向上 センサのデータがネットワーク 上に上がらないことによるプライワシーやセキュリティの改善 アップロード されるデータ量の大幅削減による消費点力やバンド幅の削減が可能 になります マイコンシステムはリアルタイム性能に優れている ため 礼定紙は最小限に抑えられますし スタンドアローンで 動作 することにより信頼性も向上します クラウド接続が不要 になることによるセキュリティとプライバシーのリスク低減 通信 量削減による端末の消費点力削減マイコン端末で従来実現できな かった機能によるユーザー体験の向上など 組み込みAIはシステム の改善に大幅に貢献します また従来 組み込み機器に搭載されている センサーのデータは 単なるセンサーのデータとして扱われていたのに 対して 組み込みAIにより意味のあるデータになり 交付価価値のサービス として活用することができるようになります 組み込みAIにより さまざまなセンサーの価値が一段上に引き上げられる可能性 があるのです このような組み込みAIですが STの提供するSTM32マイコン 向けには 2種類の開発ツールが提供されています 一つ目は主にディープ ラーニングを活用するケース向けのSTM32CubeAIです 学習済みニューラル ネットワークはほとんどの場合パイソン言語で技術されており その ままではマイコンで実行することはできません これをSTM32マイコン用のC言語コードに変換するのがSTM32CubeAIです もう一 つはナノエッジAIスタジオです こちらは学習済みのAIモデル を用意する必要はなくユーザーのデータセットからマイコン向けの 機械学習コードを自動生成できるという開発ツールです これら の開発環境はSTM32ポートフォリオの全製品をもうらしています 8ビットマイコンの置き換えにも最適なエントリレベルのSTM32C0シリーズはもちろん 超低消費電力マイコンからハイパフォーマンスマイコン まで対応しており ハードウェアに依存することなくAIを実装する ことが可能です 組み込みAIと相性の良い無線通信機能のついた ワイヤレスマイコンとも組み合せることが可能で 使いたいマイコン を縛ることなくAI機能をアドオンすることができます さらに 従来のマイコンアプリケーションの枠にとらわれない ブレークスルー になり得る新製品も開発中ですこちらのSTM32N6マイコンはST独自の ニューラルプロセッシングユニットを搭載しており マイコンレベルの電力効率 コスト感でありながらプロセッサーに匹敵するAIの 推論処理能力を持ち合わせていますこれまでプロセッサやFPGAもしく はPCを使わなければ処理できなかった画像処理系のビジョンAIなども マイコン で実行できるようになり 低消費電力 低コスト 小型のAI機器 を開発できるようになりますここからはSTが提供する組み込み AI 向けの開発環境を紹介しますまずはSTM32CubeAIです STM32CubeAIは STM32マイコンにニューラルネットワークを実装するための 開発ツールです ニューラルネットワークは通常マイコンに直接実装できない パイソン言語で技術されているため これをSTM32マイコン用のC言語コード に変換するのがSTM32CubeAIですニューラルネットワークの開発は 既に世界中で広く使用されているケラスやテンソルフローライト パイトウォーチといったオープンソースのディープランニングフレームワーク や機械学習のフレームワークが多数提供されているため それらを持ち いることができますこれをフレームワークヒーゾン の状態にし 純粋な水論用ニューラルネットワークとしてマイコン用 ランタイムで実行できる形式に変換します このSTM32CubeAI を使用したときの組み込みAI開発法を説明します まず 学習に使用するデータを準備します この際のデータ取得は STが提供 しているデータ取得用のサンプルアプリケーションプログラムである FP SNS データログ1を活用することもできます 取得したデータ を学習に使用できる形式に処理した後はモデルの開発です モデル の選択と学習 テストはオープンソースのフレームワークを使用します そして 学習済みのAIモデルはパイソン言語のため これをマイコン用ライブラリ にするステージで組み込みAIツールキットとしてSTM32CubeAIを使用 します STM32CubeAIで生成された組み込みAIライブラリは STM32マイコン 用プログラムに組み込むことでマイコン上でAIモデルの推論を実行 することができるようになりますまた STM32CubeAIは ただ学習済み ニューラルネットワークを変換するだけでなく メモリリソース や処理性能に限りのあるマイコンシステム環境で実行 するためにモデルを最適化する各種機能が搭載されています まず 入力された学習済みニューラルネットワークをマイコン上で実行するための自動 最適化が実行されます これによりメモリ使用量 計算量が調整されます 両しかモデルにも対応しています画像などを入力するユーラル ネットワーク処理では データを32ビットから8ビットに両しかして 処理をしても精度の劣化が少ないことが知られています 一方 計算量やメモリ使用量は8ビットデータになると大幅に削減する ことができるため 両しか技術はマイコン向けの組み込みAIには 最適です この両しかされたモデルをC言語に変換することが STM32CubeAIでは可能になっていますさらに マイコンシステムのメモリ領域において ニューラルネットワークの各レイヤーごとに どのアドレスに割り当てるかも 通常のGUIで細かく設定することができます 変換する ニューラルネットワークによってはマイコン内部メモリに収まり切らない ケースもありますが 外部メモリ領域も含めて微調整することが 可能になっていますマイコンシステムへ実装後に追加 学習されたニューラルネットワークへモデル更新をするケースにも 対応しており マイコンシステム上のニューラルネットワーク部分のみ のファームエアアップデートをすることができます STM32CubeAIは 現在 PC上で使用するデスクトップツールおよびオンラインツールとして 提供されていますデスクトップツールでは STM32マイコン 向けの初期化コード自動生成ツールである STM32CubeMX上に XCubeAIという 拡張パッケージをインストールしてくることで 使用可能なアドーン 機能としてを使いただけるようになっています また 時通用においては コマンドラインインターフェースでもお使いいただけます 一方 オンラインツール STM32CubeAIデベロッパークラウドでは Webブラウザベースでデスクトップツールと同じ機能が使えるほかレストAPIで使用することもできます さらに オンラインツールならではの機能が二つあります 一つ目は STモデルズーです 学習済みニューラルネットワークを準備されていない 場合でも STが用意しているマイコンシステム向けの学習済みのサンプル ニューラルネットワークをGitHubからホストする形で提供しており STM32CubeAIデベロッパークラウド上で直接選択してインポートすること ができるようになっていますこれにより 学習済みニューラル ネットワークを用意せずとも使用感や性能を事前に調査する ことが可能です二つ目のオンライン機能はベンチマーク ボードファームです これを使用すると 実際に手元にマイコンボードの 実機を用意しなくても ツールを返して ARM Cortex M7 M33 M4などの CPU 壊別であったり マイコンシリーズ別の複数のボードを 実際に変換スタートのニューラルネットワークモデルを実装した際 の 実行時間を確認することができますマイコンを選択する前に この機能 で使用するマイコンの辺りをつけてからマイコンボードを手配 することができるため 選定するための余計なコースを削減する ことができます次に機械学習ライブラリ開発 ツールであるNano edge AIスタジオを紹介します Nano edge AIスタジオでは 学習済みのAIモデルを事前に用意する必要はなく データ取得から マイコン用機械学習ライブラリの生成までワンストップで実施 することができます生成されるライブラリは 初めから STM32マイコンに最適化された超軽量な機械学習ライブラリ で ライブラリ実行時に使用するメモリサイズも1キロバイトから 数十キロバイトの範囲で指定して生成することができます 機械学習ライブラリはユーザ側で事前に選択する必要はなく 通常のベンチマーク機能により入力されたデータセットに最適な 前処理と機械学習モデルの組み合わせが数百万通りから自動的に順位 付けされます一般的なAI開発ではモデル選択 学習 モデルの性能評価を繰り返すことによって最適なAIモデルを見つけ出しますが ダノエッジAIスタジオではその手間が不要になるため 開発機関を大幅に短縮することが可能になります また ツールは無料で 常に最新版を使用することができるため 常に業界の最高品質 最高性能のAIモデルを使用することができ AIの専門技術動向を追う 必要はなくなりますダノエッジAIを使った組み込み AIの開発スローは データ取得からモデルのライブラリ生成まで 全て ダノエッジAIスタジオでもうらしており 非常に簡略化されたプロセスの中で AIの専門知識がなくても簡単に組み込み AIが開発できるように最適化されています現在 最新版のダノエッジAIスタジオで 対応できる技術課題は4つです1つ目が マイコン上で正常データを 動的に追加学習をさせることのできる異常検出 2つ目は 学習させた信号パターンから外れる辞書を検出できる 1クラス分類 3つ目は 2位のクラス数に状態であったり 振る前 挙動を分類することができる Nクラス分類4つ目は数学的なモデリングに基づく 回帰予測ができる外装ですこれらに加えて データ取得をするための データロガー機能など各種機能が搭載されており 組み込みAIの開発をトータルで完略化できるツールとなっています 異常検出ライブラリを例に挙げて開発から運用までのイメージを説明します まず 学習データとして正常信号と異常信号を 例えば CSVであったり テキストといったデータファイル もしくは データロガーを用意しNano-HAIスタジオに入力します ベンチマークを実行すると 入力されたデータセットに最適な前処理と 機械学習モデルの組み合わせが数百万通りから自動的に順位付け されます高精度でエモリ使用量を抑えた 軽量の機械学習ライブラリを選択し それを出力することでマイコンに実装可能な形式の ライブラリファイルができますこのライブラリをマイコン上に 実装することで運用ができます運用に関しても スイロンに加えて 追加学習が可能なため 同じライブラリでも搭載する装置上で 正常状態を追加学習することで 各装置の固体差であったり 設置環境差を普及することができ より 装置や環境ごとに 最適なパラメータに調整されたスイロンを実行することができますこのライブラリを使用すると 例えば ナノエッジAIスタジオ上で生成した同じライブラリを異なるポンプ に実装した際に ポンプごとに最適化された異常検出を実行 する運用が可能になります出力される機械学習ライブラリ は透明性が高く このように ライブラリの精度や使用メモリサイズと 含まれる 前処理及び 機械学習アルゴリズムが可視化されます どのような処理 が行われているのかの説明も可能なソリューションとなって います最後に紹介した内容をまとめ ます 今回は 組み込みAIが どのように機器を進化させるのかの 具体 的なユースケースとして 余地保全物体検出および認識 繊細用途の拡大 を紹介しましたこれらのユースケースを含む さまざまな応用が期待される組み込みAIには 史上シェア ナンバーワンの 汎用32ビットマイコンSTM32ファミリのすべての製品 がお使いいただけます そしてSTM32CubeAIとNano edge AIという2つの 組み込み AI向け開発環境によりディープラーニングから専門知識 がなくても簡単に使える機械学習ツールまでコンプリートソリューション を提供しています本セッションは以上となります いかがでしたでしょうかぜひアンケートに回答をお願いします さらに詳しい情報はSTのウェブサイトをご覧いただくか STもしくは販売代理 定へお問い合わせくださいご成長ありがとうございました