はじめに

はじめに

このシナリオでは、会議室のサーモスタット機能を自動化して、エネルギー使用を抑えるというタスクを担っている、フルスタックデベロッパーの助けになります。これまでのモジュールで、簡易雑音しきい値を使って部屋が利用中かどうかを判断するメカニズムの改善方法を見てきました。シンプルな機械学習モデルは、静的な数値のしきい値よりさらにインテリジェントな分類を特定でき、過去の部屋の利用状況データを考慮に入れることによって、ジッターまたは誤検知を軽減できます。

機械学習モデルのトレーニングは、最新のデータサイエンスのツールチェーンにより、現在では比較的容易になっています。一方で、最適なモデルのトレーニングは難しく、専門性、入力に対する総合的な理解、最適化のサイクルが必要となります。今日は、Amazon SageMaker ツールチェーンを実際に使って、IoT データがどのようにモデルのトレーニングに使用されるかを学びます。ただし、最初から最適なモデルを作成することは期待できません。

このモジュールの完了には、約 2 日間かかることを念頭に置いてください。完了しなければならない実践的作業は 1 時間のみですが、自動的に行われるステップが 2 つあります。最初のステップでは、調査する部屋にスマートサーモスタットデバイスを設置し、テレメトリを収集して機械学習トレーニング用に保存します。デバイスを設置し、データを数時間以上 (可能であれば 24 時間) 収集します。ただし、収集するデータが多いほど、機械学習モデルの精度が向上します。2 つ目の自動的ステップは、十分な量のデータを収集後、機械学習モデルが自動トレーニングプロセスに入ったときに行われます。このトレーニングプロセスには数時間かかるため、朝にプロセスを開始し、午後にまた戻ってくるか、夜通しも実行したままにしておくことをお勧めします。

問題解決

最後のモジュールで作成したソリューションは、受信する音声レベルに対して静的な数値のしきい値を使用し、roomOccupancy と呼ばれる新しいキー値に強制的に変換しています。シンプルな機械学習モデルをトレーニングし、同様の機能を実行するには、既存データをトレーニングのベースラインとして使用します。つまり、部屋の状態が利用中からそうでない状態へと頻繁に変化する部屋で、既存のソリューションを数時間実行する必要があります。自動機械学習トレーニング実験の実施に、そのデバイステレメトリの蓄積されたデータセットを使用します。その後、トレーニング済みの機械学習モデルが推測した新しい roomOccupancy 値の新しいデバイスレポートの分類に使用されます。繰り返しますが、最初のトレーニング済みモデルはそれほど正確ではない場合があります。ただし、このソリューションの目的は、IoT データの保存や新しい機械学習モデルのトレーニングと使用のワークフローを実施することで、実践的経験を得ることにあります。

ソリューションアーキテクチャ

Smart Spaces architecture

このモジュールで実現するワークフローには、次の主要なコンポーネントがあります。

  • IoT Core ルールは、AWS IoT Analytics と呼ばれるサービスに Device Shadow の更新を転送します。IoT Analytics は未加工の IoT データの一括保存、変換の実行、クレンジング処理を行うサービスです。未加工データを処理済みデータに変換し、分析ワークフローまたは機械学習トレーニング用に処理済みデータを細分化するクエリエンジンを提供します。
  • IoT Analytics プロジェクトには、互いにリンクした 4 つのリソースがあります。そのリソースとは、Device Shadow からの未加工の IoT データを保存するチャネル、データ変換/フィルター/エンリッチのためのパイプライン、処理済みデータのデータストア、保存済みのクエリを実行し、処理結果を送信するデータセットです。
  • Amazon SageMaker Studio は統合的な機械学習環境で、モデルのビルド、トレーニング、デプロイ、分析すべてが、同じアプリケーションでできます。
  • Amazon SageMaker エンドポイントは、トレーニング済みモデルを利用可能な API としてホストします。
  • AWS Lambda 関数は、いくつかのシンプルなコードを実行して、サーモスタットが発行したメッセージを処理し、新しい機械学習モデルのエンドポイントに対して推論を実行します。

それでは始めましょう

ビルドの準備はできていますか? 次の前提条件を満たしているか確認しましょう

  1. この一連のチュートリアルの中の前のモジュールである「スマートサーモスタット」は完了していますか?
  2. AWS IoT Core コンソールにあるようなテストクライアントを使って、スマートサーモスタットから届くメッセージが表示できることを確認しましたか? トピック $aws/things/<<CLIENT_ID>>/shadow/update/accepted (<<CLIENT_ID>> はデバイスのクライアント ID/シリアルナンバーで置換) にサブスクライブでき、テストクライアントに届くメッセージを表示できる必要があります。

すべての条件を満たしていれば、次章の データのルーティングとストレージ に進みましょう。


Questions? Please use M5Stack Forum

AWS IoT Kit now features direct access to M5Stack Forum , which is a community-driven, questions-and-answers service. Search re:Post using the Core2 for AWS tag to see if your question has been asked and answered. If not, ask a new question using the Core2 for AWS tag.