STの新しい組込みAI(人工知能)ソリューションにより、幅広いSTM32マイクロコントローラ(マイコン)のポートフォリオに、学習済み人工ニューラル・ネットワーク(ANN)の実装が可能になりました。 STM32Cube.AIは、広く使用されている初期設定/コード生成ツールSTM32CubeMXの拡張パックで、Arm® Cortex® -MベースのSTM32マイコンにAIを実装します。このツールは、 STM32CubeMX(バージョン5.0.1以降)をダウンロードおよびインストールすることで利用できます。
ニューラル・ネットワーク実装を実現するSTM32Cube.AI
開発効率の向上
ディープラーニングを駆使して信号処理性能を強化し、STM32を採用したアプリケーションの可能性を向上させます。STM32用のニューラル・ネットワークを生成、実装できます(最適化されたコードを自動生成)。コードを手作業で作成する必要はありません。
詳細情報のダウンロードはこちら
モデル化対象の現象に関する十分な分量の代表的データを収集します。
通常、モニタする対象物の近辺にセンサを配置し、対象物の状態や変化を記録します。記録する物理パラメータには、アプリケーションに応じて加速度、温度、音、映像などがあります。
STは、スマートフォン向けアプリケーションST BLE Sensorをはじめとする、データ収集およびラベリング・ツールを提供しています。ST BLE Sensorは、小型かつバッテリ駆動の開発キットであるSensorTileをリモート制御できます。SensorTileは、モーション・センサ、環境センサ、マイコン、SDカード・コネクタ、Bluetooth®接続機能を搭載しています。
人工ニューラル・ネットワークの構築には、センサによって収集し、ラベリングされた教材データと前処理が必要です。
いわゆる「教師あり学習」を行うためには、さまざまな出力を正確に分類できるよう、データ・セットの特徴付けを行う必要があります。この分類されたデータ・セットは「正解データ(Ground Truth)」として、ANNの学習と妥当性検証に使用します。
開発者は、データによる学習を最適化し、ターゲット・アプリケーションにとって有益な出力が得られるように、ANNトポロジのタイプを決定する必要があります。通常は、既製の一般的なディープラーニング・フレームワークを使用して、ANNトポロジのアーキテクチャを決定し、学習を行います。
STのパートナー企業が、人工ニューラル・ネットワークの開発サービスや、専門のデータ・サイエンティストおよびANNアーキテクトによるサポートを提供しています。
ANNの学習では、データ・セットを繰り返しニューラル・ネットワークに入力し、その出力が、目標とする誤差基準を最小化できるようにします。多くの場合、ANNの定義、学習、テストは既製のディープラーニング・フレームワークを使用して行います。通常、この作業は、多くの反復処理を短期間で完了できるように、膨大なメモリ容量と計算能力を持つ強力なコンピュータ・プラットフォームで行われます。この学習の結果得られるのが、学習済みニューラル・ネットワークです。
STM32Cube.AIツールは、人工知能の開発者コミュニティで広く使用されている一般的なディープラーニング・ツールとの、シンプルかつ効率的な相互運用が可能です。 これらのツールの出力は、STM32Cube.AIに直接インポートできます。
次のステップでは、学習済みニューラル・ネットワークをマイコンに組み込みます(コードの最適化により、複雑さや必要メモリ容量も最小化されます)。
STM32Cube.AIソフトウェア・ツールにより、この作業は極めて簡単かつ直感的に行えます。STM32Cube.AIは、広く使用されているSTM32CubeMXツールの拡張機能として、STM32ソフトウェア開発エコシステムに完全に統合されています。
このため、学習済みニューラル・ネットワークをマイコンで実行可能な最適化されたコードに、高速で自動変換できます。ツールは、適切なマイコンの選定をガイドし、選定されたマイコンによるニューラル・ネットワークの性能に関して、迅速にフィードバックを提供します。これには、PCとターゲットとなるSTM32マイコンの両方で実行した妥当性検証の結果も含まれます。STの導入ビデオをご覧ください。
最後のステップでは、マイコンに組み込んだニューラル・ネットワークを目標アプリケーションに実装します。
ここでも、STの統合ソフトウェア・パッケージであるファンクション・パックが効果的で、設計者は革新的なアプリケーションの試作開発をより簡単かつ迅速に実施できます。これらのパックは、ロー・レベル・ドライバ、ミドルウェア・ライブラリ、サンプル・アプリケーションを合わせて1つのソフトウェア・パッケージを構築しており、すべての要素を網羅した設計サンプルです。開発者は、これらのサンプルをベースに開発を進め、個別アプリケーションに適した設計を実現できます。組込みAIのサンプルとして、オーディオおよびモーションの検出と処理を実行するファンクション・パックを提供しています。
開発者は、STM32コミュニティのAIフォーラムでも、サポートを受けたり、アイデアの交換が可能です。
製品型番 | 製造元 | 概要 |
STM32CubeMX | ST | STM32Cube initialization code generator |
製品型番 | 製造元 | 概要 |
X-CUBE-AI | ST | AI expansion pack for STM32CubeMX |
FP-AI-SENSING1 | ST | STM32Cube function pack for ultra-low power IoT node with artificial intelligence (AI) application based on audio and motion sensing |
製品型番 | 製造元 | 概要 |
B-L475E-IOT01A | ST | STM32L4 Discovery kit IoT node, low-power wireless, BLE, NFC, SubGHz, Wi-Fi |
STEVAL-STLKT01V1 | ST | SensorTile development kit |
製品型番 | 製造元 | 概要 |
ST BLE Sensor | ST | BLE sensor application for Android and iOS |
STM32Cube.AI: Convert Neural Networks into Optimized Code for STM32
We are launching STM32Cube.AI, the industry’s most advanced toolkit capable of interoperating with popular deep learning libraries to convert any artificial neural network for STM32 microcontrollers (MCU) to run optimized inferences.
AI helps keep trains on the tracks
At ST we believe that Artificial Intelligence (AI) has a bright future in a wide variety of industrial applications. That is why we were delighted to be present at Electronica 2018 together with Lenord + Bauer to jointly present an example of AI in industrial sensor systems, with a use case for vibration analysis in trains.
Getting Started with STM32Cube.AI (13:57)
X-CUBE-AI is an STM32Cube Expansion Package extending STM32CubeMX capabilities with automatic conversion of pre-trained Neural Network and integration of generated optimized library into the user's project.