皆さん こんにちは ST Microelectronics では 組み込みアプリケーション上で動作する人工知能 いわゆる 組み込みAI向けのソリューションを多数提供しています 今回は ARM Cortex M-BaseのSTM32マイコン向けの組み込みAIについて デモを交えて紹介します 今回紹介する組み込みAIとは AIの学習と 水論という2つの側面のうち 水論についてのアルゴリズム を組み込みアプリケーションに入れ込んだものを差します 汎用マイコン で動作するため 専用のハードウェアや処理性能を必要とするクラウド サーバー GPUを必要としませんまた 組み込みアプリケーション 自体がスタンドアロンでAIを実行しますので ネットワークに つながらずに AIによる水論が可能です そのため ご覧のような 小型なデバイスでも AIが実現できるという特徴を持っています 組み込みAI実現に向けたステップは 大きく学習フェーズと水論フェーズ に分けられます まず ニューラルネットワークモデルを作成する 学習フェーズでは その学習のための教材となるデータ収集から 始まります さらに教材データが何に分類されるかのラベリング いわゆるアノテーションをしこのデータを使ってディープラーニング フレームワークにて ニューラルネットワークモデルを学習させます さらにマイコンを使った組み込みアプリケーションでは 通常パイソン言語で記述されているこの学習済みニューラルネットワークは そのままでは実行できませんそこで 水論フェーズでは 学習済みニューラルネットワークをマイコン用コードへ変換し マイコンに実装することでマイコン上での水論実行が可能 となります STでは 学習済みニューラルネットワークをマイコン 用コードに変換するツール STM32QVAIを用意しています このツールはカフェ ケラス テンソルフローライトオニキスフォーマットといった各種 ディープラーニングフレームワークとの総合運用性を持ち 簡単に STM32マイコンに最適化されたニューラルネットワークコード を生成することができますこのマイコン用ニューラルネットワークコード 生成ツールの使い方を説明します STM32QVAIのでも行います最初に使用するモデルのネットワーク タイプを選択します次に 学習済みモデルのファイル を指定しますファイルを選択しましたら 解析 ボタンをクリックします解析が終わりますと 指定した 学習済みモデルの変換後のレイヤ情報やメモリ使用料 などが表示されますまた グラフオプションで これらの情報を可視化することも可能です次に コード生成ボタンをクリックしますコード生成が完了しますと そのまま 統合開発環境でプロジェクトを起動することができます メイン関数に AI処理の関数が含まれていることが確認できます また 学習済みモデルの変換後のソースファイルが ネットワーク.c および ネットワークデータ.cというファイルで確認できますこのように STM32 Cube AIを使用することで ネューラルネットワークの学習済みモデルを簡単に マイコンに組み込むことができますさて この組み込み AIは どのようなところに応用ができるでしょうか一例として IoTサービスの最適化を紹介しますIoTの現状は ご覧のように IoT端末からセンサで取得した生データを クラウドまで送信する形になっていますこの際 IoT端末は センサデータのアップロードのみの役割でAIなどを使用した データを価値のある情報に変える処理は全てクラウドで行われています 生データを送り続けることにより通信量は増大し IoT端末は通信電力が増大通信比は重のばかりです クラウドも処理が集中することにより負荷が高くなります 組み込みAIでこの問題を緩和することができますIoT端末に組み込みAIを搭載することで 処理をクラウドから端末側に分散し最適化をします アップロードするデータを生データから不動かしたデータに変えることで データサイズを大幅に復帳端末の通信電力から ネットワークの通信量 通信比 クラウドの使用量まで削減することができます これにより IoTサービス全体のコストを下げられるだけでなく 端末のバッテリ寿命が長くなることでメンテナンスのコストまで 提言することが可能となりますこのような可能性を持った 組み込みAIのデモをお見せしますこちらは ARM Cortex M7を搭載した STM32H7マイコンによる人物認識のデモですディープラーニングフレームワークに テンソルフローライトを使用してSTM32QVAIにより マイコン用コードに変換 実装したもので約25fps 1秒間に25回の頻度で カメラの画角内に人物がいるかいないかを認識することができます また より低消費電力なSTM32L4マイコン向けのデモも準備しています 応用例として 監視アプリケーションの人物認識による機器の起動やアラーム に 特に 人物の動きにより人物検出していたアプリケーションの機会 には有効です また 家電や店内街中に設置される機器に搭載 することで スイッチをしたりすることの不要な 近未来的なユーザー 体験を実現するインターフェースとすることも可能となります いかがでしたでしょうか このようにSTでは組み込みAIのソリューション やデモを豊富に準備していますより詳細な情報はWebページに ございますので ぜひお立ち寄りくださいありがとうございました