機械学習モデルは現在、いたるところに存在しています。 日中はおそらく、思っている以上にこれらのモデルを活用しているでしょう。 機械学習モデルは、ソーシャル メディアの閲覧、写真撮影、天気の確認などの一般的なタスクで利用されます。
機械学習アルゴリズムがこのブログをあなたに推奨した可能性があります。 これらのモデルのトレーニングにどれだけ時間がかかるかについては誰もが聞いたことがあるでしょう。 これらのモデルのトレーニングには時間がかかるということを誰もが聞いたことがあるでしょう。
ただし、これらのモデルで推論を行うと、多くの場合、計算コストがかかります。
機械学習サービスの利用速度に対応できるだけの高速なコンピューター システムが必要です。 結果として、これらのモデルの大部分は、CPU および GPU クラスター (場合によっては TPU も) を備えた大規模なデータセンターで実行されます。
写真を撮るときに欲しいのは、 機械学習 すぐに改善することができます。 画像がデータセンターに転送され、処理されて返送されるまで待つ必要はありません。 この場合、機械学習モデルはローカルで実行する必要があります。
「Hey Siri」または「OK、Google」と言うと、ガジェットがすぐに応答することが望まれます。 あなたの声がコンピュータに送信され、そこで評価され、データが取得されるのを待っています。
これには時間がかかり、ユーザー エクスペリエンスに悪影響を及ぼします。 この場合、機械学習モデルをローカルでも機能させる必要があります。 ここでTinyMLが登場します。
この記事では、TinyML、その仕組み、使い方、使い始める方法などについて見ていきます。
何ですか タイニーML?
TinyML は、機械学習の革新的な可能性を小型デバイスや組み込みシステムのパフォーマンスと電力制限に適用する最先端の分野です。
この業界での導入を成功させるには、アプリケーション、アルゴリズム、ハードウェア、ソフトウェアを完全に理解する必要があります。 これは、マイクロコントローラー、デジタル シグナル プロセッサ、またはその他の超低電力専用プロセッサを使用する組み込みシステムでディープ ラーニングおよび機械学習モデルを使用する機械学習のサブジャンルです。
TinyML 対応の組み込みデバイスは、通常はデバイスの一部として、特定のジョブの機械学習アルゴリズムを実行することを目的としています。 エッジコンピューティング.
再充電やバッテリ交換を行わずに数週間、数か月、さらには数年も稼働するには、これらの組み込みシステムの消費電力が 1 mW 未満である必要があります。
システムを教えてください。
マイクロコントローラーとコンピューターで利用できる唯一の機械学習フレームワークは、 TensorFlow Lite。 これは、開発者がモバイル、組み込み、エッジ デバイス上でモデルを実行できるようにするツール セットで、オンザフライでの機械学習を可能にします。
マイクロコントローラーのインターフェイスは、センサー (マイク、カメラ、埋め込みセンサーなど) からデータを収集するために利用されます。
マイクロコントローラーに送信される前に、データはクラウドベースの機械学習モデルに組み込まれます。 これらのモデルのトレーニングには、通常、オフライン モードでのバッチ トレーニングが使用されます。 に使用されるセンサーデータ 学習と推論 特定のアプリケーションについては、すでに決定されています。
たとえば、モデルがウェイク ワードを検出するようにトレーニングされている場合、マイクからの連続オーディオ ストリームを処理するようにモデルはすでにセットアップされています。
TensorFlow Lite の場合、データセットの選択、正規化、モデルの過小適合または過適合、正則化、データ拡張、トレーニング、検証、テストなど、すべてが Google Colab などのクラウド プラットフォームを利用してすでに行われています。
完全にトレーニングされたモデルは、オフライン バッチ トレーニングの後、最終的に変換され、マイクロコントローラー、マイクロコンピューター、またはデジタル シグナル プロセッサーに転送されます。 モデルは、組み込みデバイスに移動された後、追加のトレーニングは行われません。 代わりに、センサーまたは入力デバイスからのリアルタイム データのみを使用してモデルを適用します。
結果として、TinyML 機械学習モデルは非常に耐久性があり、何年も経っても再トレーニングできる、またはまったく再トレーニングできないことが必要です。 モデルが長期間、理想的には無期限に関連性を維持できるように、潜在的なモデルのアンダーフィッティングとオーバーフィッティングをすべて調査する必要があります。
しかし、なぜ TinyML を使用するのでしょうか?
TinyML は、IoT のクラウド サービスへの依存を排除または軽減するための取り組みとして始まりました。 機械学習 オペレーション。 そのため、エッジ デバイス自体で機械学習モデルを使用する必要がありました。 これには、次の主な利点があります。
- 低電力 消費: TinyML アプリケーションは、できれば 1 ミリワット未満の電力を使用する必要があります。 このような低消費電力により、たとえコイン電池で駆動されていたとしても、デバイスは数か月または数年にわたってセンサー データから結論を導き続けることができます。
- 低コスト: 低コストの 32 ビット マイクロコントローラーまたは DSP 上で動作するように設計されています。 これらのマイクロコントローラーは通常、それぞれ数セントで、それを使用して開発された組み込みシステムの総額は 50 ドル未満です。 これは、小規模な機械学習プログラムを大規模に実行する場合に非常にコスト効率の高いオプションであり、機械学習を適用する必要がある IoT アプリケーションで特に有益です。
- 低レイテンシ: そのアプリケーションはネットワーク上でデータを転送したり交換したりする必要がないため、待ち時間が短くなります。 すべてのセンサー データはローカルに記録され、すでにトレーニングされたモデルを使用して結論が導き出されます。 推論の結果は、ログ記録や追加処理のためにサーバーまたはクラウドに送信される場合がありますが、これはデバイスの動作に必須ではありません。 これにより、ネットワークの遅延が最小限に抑えられ、クラウドやサーバー上で機械学習操作を実行する必要がなくなります。
- 個人情報保護: それはインターネットとモノのインターネットに関する大きな懸念事項です。 TinyML アプリの機械学習作業は、センサー/ユーザー データを保存したりサーバー/クラウドに送信したりすることなく、ローカルで実行されます。 その結果、ネットワークに接続されているときでも、これらのアプリケーションは安全に使用でき、プライバシーのリスクは生じません。
アプリケーション
- 農業 – いつ 農家が植物の写真を撮ると、TensorFlow Lite のアプリケーションがその植物の病気を検出します。 どのデバイスでも動作し、インターネット接続は必要ありません。 この手順は農業利益を保護するものであり、農村部の農家にとっては非常に必要なものです。
- メカニックメンテナンス – TinyML を低電力デバイスで使用すると、マシンの欠陥を継続的に特定できます。 それには予測ベースのメンテナンスが必要です。 オーストラリアの新興企業である Ping Services は、風力タービンの外側に取り付けて風力タービンを監視する IoT ガジェットを導入しました。 問題や故障の可能性を検出した場合は、当局に通知します。
- 病院 – ソーラー・スケアはプロジェクトです。 蚊は TinyML を使用して、デング熱やマラリアなどの病気の蔓延を阻止します。 太陽エネルギーを動力源としており、蚊の繁殖を抑制するよう水に信号を送る前に蚊の繁殖状況を検出します。
- 交通監視 – 作成者 リアルタイムの交通データを収集するセンサーに TinyML を適用すると、交通データをより適切に誘導し、緊急車両の応答時間を短縮するために使用できます。 たとえば、Swim.AI はストリーミング データにこの技術を使用して、乗客の安全性を高めると同時に、スマート ルーティングを通じて渋滞と排出ガスを削減します。
- 法律: TinyML は法執行機関で機械学習とジェスチャー認識を使用して暴動や盗難などの違法行為を特定するために使用できます。 同様のプログラムを使用して銀行 ATM を保護することもできます。 TinyML モデルは、ユーザーの行動を監視することで、そのユーザーが取引を完了する実際の消費者なのか、それとも ATM をハッキングまたは破壊しようとしている侵入者なのかを予測できます。
TinyML を始めるにはどうすればよいですか?
TensorFlow Lite で TinyML を使い始めるには、互換性のあるマイクロコントローラー ボードが必要です。 TensorFlow Lite for Microcontrollers は、以下にリストされているマイクロコントローラーをサポートしています。
- Wioターミナル:ATSAMD51
- Himax WE-I Plus EVB エンドポイント AI 開発ボード
- STM32F746 ディスカバリーキット
- Adafruit Edgeバッジ
- Synopsys DesignWare ARC EM ソフトウェア開発プラットフォーム
- ソニーSpresense
- Arduino Nano 33 BLEセンス
- SparkFun エッジ
- マイクロコントローラ用 Adafruit TensorFlow Lite キット
- アダフルーツ サーキット プレイグラウンド ブルーフルーツ
- Espressif ESP32-DevKitC
- エスプレシフ ESP-EYE
これらは、機械学習モデルを実行するのに十分なフラッシュ メモリ、RAM、およびクロック周波数を備えた 32 ビット マイクロコントローラーです。 ボードには、任意の組み込みプログラムを実行し、対象のアプリケーションに機械学習モデルを適用できる多数のオンボード センサーも搭載されています。 に 機械学習モデルを構築する、ハードウェア プラットフォームに加えて、ラップトップまたはコンピューターが必要になります。
各ハードウェア プラットフォームには、機械学習モデルの構築、トレーニング、移植のための独自のプログラミング ツールがあり、TensorFlow Lite for Microcontrollers パッケージを使用します。 TensorFlow Lite は自由に使用および変更できます。 オープンソース.
TinyML と TensorFlow Lite を使い始めるために必要なのは、上記の組み込みハードウェア プラットフォームの XNUMX つ、コンピューター/ラップトップ、USB ケーブル、USB シリアル コンバーター、そして組み込みシステムで機械学習を実践したいという願望だけです。 。
課題
TinyML の進歩は多くの肯定的な結果をもたらしましたが、機械学習業界は依然として大きな障害に直面しています。
- ソフトウェアの多様性 – ハンドコーディング、コード生成、および ML インタープリターはすべて、TinyML デバイスにモデルをデプロイするためのオプションであり、それぞれにかかる時間と労力は異なります。 この結果、さまざまなパフォーマンスが発生する可能性があります。
- ハードウェアの多様性 – あり いくつかのハードウェア オプションが利用可能です。 TinyML プラットフォームには、汎用マイクロコントローラーから最先端のニューラル プロセッサまであらゆるものを使用できます。 これにより、異なるアーキテクチャ間でのモデルのデプロイメントに問題が発生します。
- トラブルシューティング/デバッグ – いつ クラウド上では ML モデルのパフォーマンスが低下しても、データを見て何が問題になっているのかを見つけるのは簡単です。 モデルが数千の TinyML デバイスに分散され、データ ストリームがクラウドに返されない場合、デバッグが困難になり、別の方法が必要になる場合があります。
- メモリ制約 – 従来型 スマートフォンやラップトップなどのプラットフォームはギガバイトの RAM を必要としますが、TinyML デバイスはキロバイトまたはメガバイトを使用します。 その結果、展開できるモデルのサイズが制限されます。
- モデルのトレーニング – ただし TinyML デバイスに ML モデルをデプロイすることにはいくつかの利点がありますが、ML モデルの大部分は引き続きクラウド上でトレーニングされ、反復され、モデルの精度が継続的に向上します。
未来
TinyML は、設置面積が小さく、バッテリー消費量が少なく、インターネット接続への依存性がないか制限されているため、将来的には非常に大きな可能性を秘めています。 人工知能 エッジデバイスまたは独立した組み込みガジェットに実装されます。
IoT アプリケーションを活用することで、よりプライベートで安全なアプリケーションが実現します。 けれど TensorFlow Lite は現在、マイクロコントローラーおよびマイクロコンピューター用の唯一の機械学習フレームワークであり、センサーや ARM の CMSIS-NN など、他の同等のフレームワークも開発中です。
TensorFlow Lite は進行中のオープンソース プロジェクトであり、Google のチームによって素晴らしいスタートを切りましたが、主流になるにはまだコミュニティのサポートが必要です。
まとめ
TinyML は、組み込みシステムと機械学習を組み合わせた新しいアプローチです。 狭い AI が多くの業種や領域でピークに達するにつれて、このテクノロジーは機械学習と人工知能の顕著なサブ分野として浮上する可能性があります。
これは、IoT セクターと、多くのドメイン固有の分野に機械学習を適用する専門家が現在直面している数多くの課題に対するソリューションを提供します。
での機械学習活用のコンセプト 小規模なコンピューティングを備えたエッジ デバイス フットプリントと消費電力は、組み込みシステムとロボティクスの構築方法を大きく変える可能性を秘めています。
コメントを残す