高度なトレーニング設定 - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

高度なトレーニング設定

サンプルレート設定

サンプルレートは、センサーの読み取り値が記録される頻度 (1 秒に 1 回、1 分に 1 回など) を定義します。この設定は、トレーニングデータの粒度に直接影響し、センサーの動作の短期的な変動をキャプチャするモデルの能力に影響します。

ベストプラクティスについては高頻度データとトレーニングと推論間の整合性のサンプリング、「」を参照してください。

ターゲットサンプリングレートを設定する

必要に応じて、トレーニング設定TargetSamplingRateで を指定して、データがサンプリングされる頻度を制御できます。サポートされている値は以下のとおりです。

PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H

これらは ISO 8601 期間形式であり、次の時間形式を表します。

  • PT1S = 1 秒

  • PT1M = 1 分

  • PT1H = 1 時間

データ解決トレーニング効率の適切なバランスを取るサンプリングレートを選択します。次のレートを使用できます。

  • サンプリングレートが高いほど (PT1S) 詳細が細かくなりますが、データ量とトレーニング時間が長くなる可能性があります。

  • サンプリングレート (、) を低くすると、データサイズとコストを削減できますが、存続期間の短い異常を見逃す可能性があります。PT10M PT1H

タイムスタンプのずれの処理

AWS IoT SiteWise は、トレーニング中に複数のデータストリーム間でタイムスタンプのずれを自動的に補正します。これにより、入力信号が時間内に完全に整列しなくても、一貫したモデル動作が保証されます。

ベストプラクティスについては高頻度データとトレーニングと推論間の整合性のサンプリング、「」を参照してください。

サンプリングを有効にする

次のコードを に追加しますanomaly-detection-training-payload.json

データのサンプリングレートを使用して、トレーニングアクションペイロードTargetSamplingRateに を追加してサンプリングを設定します。使用できる値は ですPT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H

{ "exportDataStartTime": StartTime, "exportDataEndTime": EndTime, "targetSamplingRate": "TargetSamplingRate" }
例 サンプルレート設定の :
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360, "targetSamplingRate": "PT1M" }

データのラベル付け

データにラベルを付けるときは、異常な機器動作の期間を表す時間間隔を定義する必要があります。このラベル情報は CSV ファイルとして提供され、各行は機器が正しく動作しなかった時間範囲を指定します。

各行には 2 つのタイムスタンプが含まれます。

  • 異常な動作が開始されたと考えられる時刻を示す開始時刻

  • 障害または問題が最初に検出された時刻を表す終了時刻

この CSV ファイルは Amazon S3 バケットに保存され、モデルトレーニング中に使用され、システムが異常な動作の既知の例から学習するのに役立ちます。次の例は、ラベルデータを.csvファイルとして表示する方法を示しています。ファイルには ヘッダーがありません。

例 CSV ファイルの :
2024-06-21T00:00:00.000000,2024-06-21T12:00:00.000000 2024-07-11T00:00:00.000000,2024-07-11T12:00:00.000000 2024-07-31T00:00:00.000000,2024-07-31T12:00:00.000000

行 1、2024 年 6 月 21 日のメンテナンスイベントを表し、 が異常な動作を探す AWS IoT SiteWise ための の 12 時間のウィンドウ ( から 2024-06-21T00:00:00.000000Z 2024-06-21T12:00:00.000000Z) があります。

行 2、2024 年 7 月 11 日のメンテナンスイベントを表し、 が異常な動作を探す AWS IoT SiteWise ための の 12 時間のウィンドウ ( から 2024-07-11T00:00:00.000000Z 2024-07-11T12:00:00.000000Z) があります。

行 3、2024 年 7 月 31 日のメンテナンスイベントを表し、 が異常な動作を探す AWS IoT SiteWise ための のウィンドウは 12 時間 ( から 2024-07-31T00:00:00.000000Z 2024-07-31T12:00:00.000000Z) です。

AWS IoT SiteWise は、これらのすべての時間枠を使用して、これらのイベントに関する異常な動作を特定できるモデルをトレーニングおよび評価します。すべてのイベントが検出可能であるわけではなく、結果は基盤となるデータの品質と特性に大きく依存することに注意してください。

サンプリングのベストプラクティスの詳細については、「」を参照してくださいベストプラクティス

データラベリングステップ

  • 「ラベル付けデータの前提条件」のラベル付けの前提条件に従って Amazon S3 バケットを設定します。

  • ファイルをラベル付けバケットにアップロードします。

  • に以下を追加しますanomaly-detection-training-payload.json

    • ファイルの labelInputConfigurationセクションで場所を指定します。labels-bucket をバケット名に置き換え、 files-prefix を file (s) パスまたはプレフィックスの一部に置き換えます。の場所にあるすべてのファイルが解析され、 (成功時に) ラベルファイルとして使用されます。

{ "exportDataStartTime": StartTime, "exportDataEndTime": EndTime, "labelInputConfiguration": { "bucketName": "label-bucket", "prefix": "files-prefix" } }
例 ラベル設定の :
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360, "labelInputConfiguration": { "bucketName": "anomaly-detection-customer-data-278129555252-iad", "prefix": "Labels/model=b2d8ab3e-73af-48d8-9b8f-a290bef931b4/asset[d3347728-4796-4c5c-afdb-ea2f551ffe7a]/Lables.csv" } }

モデルの評価

AWS IoT SiteWise トレーニングモデルのポイント単位のモデル診断は、個々のイベントでのモデルパフォーマンスの評価です。トレーニング中、 は入力データセットの各行の異常スコアとセンサー寄与度診断 AWS IoT SiteWise を生成します。異常スコアが高いほど、異常イベントが発生する可能性が高くなります。

ExecuteAction API とAWS/ANOMALY_DETECTION_TRAININGアクションタイプを使用してモデルをトレーニングする場合、ポイント単位の診断を使用できます。

モデル評価を設定するには、

  • 「ラベル付けデータの前提条件」のラベル付けの前提条件に従って Amazon S3 バケットを設定します。

  • に以下を追加しますanomaly-detection-training-payload.json

    • モデルのパフォーマンスを評価するために使用されるウィンドウ内のデータの evaluationStartTimeevaluationEndTime (両方ともエポック秒) を指定します。

    • 評価診断を書き込むには、Amazon S3 バケットの場所 (resultDestination) を指定します。

注記

モデル評価間隔 (dataStartTime から dataEndtime) は、トレーニング間隔と重複するか、連続している必要があります。ギャップは許可されません。

{ "exportDataStartTime": StartTime, "exportDataEndTime": EndTime, "modelEvaluationConfiguration": { "dataStartTime": evaluationStartTime, "dataEndTime": evaluationEndTime "resultDestination": { "bucketName": "s3BucketName", "prefix": "bucketPrefix" } } }
例 モデル評価設定の :
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360, "modelEvaluationConfiguration": { "dataStartTime": 1722789360, "dataEndTime": 1725174000, "resultDestination": { "bucketName": "anomaly-detection-customer-data-278129555252-iad", "prefix": "Evaluation/asset[d3347728-4796-4c5c-afdb-ea2f551ffe7a]/1747681026-evaluation_results.jsonl" } } }

モデルメトリクスを生成する

モデルメトリクスは、トレーニング済みの異常検出モデルのパフォーマンスと品質に関する包括的なインサイトを提供します。トレーニングプロセスでは、これらのメトリクスが自動的に生成され、指定された Amazon S3 バケットに発行されるため、再トレーニングワークフローの分析、モデル比較、昇格の決定に簡単にアクセスできます。

モデルメトリクスについて

トレーニングプロセスでは、モデルメトリクスが自動的に生成され、以下に関する詳細情報が提供されます。

  • モデルパフォーマンス: ラベル付きデータが利用可能な場合の精度、再現率、AUC などの定量的測定

  • Data Quality: 使用されたトレーニングデータと対象期間に関する情報

  • イベント検出: 特定された異常とラベル付きイベントに関する統計

  • モデル比較: 再トレーニング中の異なるモデルバージョン間の比較メトリクス

モデルメトリクスの送信先を設定する

モデルメトリクスの生成を有効にするには、メトリクスが公開される Amazon S3 送信先を設定します。

  1. に従って Amazon S3 バケットを設定しますモデル評価の前提条件

  2. トレーニングアクションペイロードに以下を追加して、モデルメトリクスを保存する場所を指定します。

    { "trainingMode": "TRAIN_MODEL", "exportDataStartTime": StartTime, "exportDataEndTime": EndTime, "modelMetricsDestination": { "bucketName": "bucket-name", "prefix": "prefix" } }
    例 モデルメトリクス設定の例
    { "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360, "modelMetricsDestination": { "bucketName": "anomaly-detection-metrics-bucket-123456789012-iad", "prefix": "ModelMetrics/computation-model-id/asset-id/training-metrics.json" } }

再トレーニング用のモデルメトリクスを設定する

再トレーニングスケジュールを設定する場合、包括的なモデルパフォーマンスの追跡と比較を有効にするには、モデルメトリクスの送信先が必要です。

{ "trainingMode": "START_RETRAINING_SCHEDULER", "modelMetricsDestination": { "bucketName": "bucket-name", "prefix": "prefix" }, "retrainingConfiguration": { "lookbackWindow": "P180D", "promotion": "SERVICE_MANAGED", "retrainingFrequency": "P30D", "retrainingStartDate": "StartDate" } }
パラメータ
bucketName

モデルメトリクスが保存される Amazon S3 バケット

prefix

モデルメトリクスファイルを整理するための Amazon S3 プレフィックス/パス

モデルメトリクス構造

モデルメトリクスは、次の構造の Amazon S3 バケットに JSON ファイルとして保存されます。

{ "labeled_ranges": [], "labeled_event_metrics": { "num_labeled": 0, "num_identified": 0, "total_warning_time_in_seconds": 0 }, "predicted_ranges": [], "unknown_event_metrics": { "num_identified": 0, "total_duration_in_seconds": 0 }, "data_start_time": "2023-11-01", "data_end_time": "2023-12-31", "labels_present": false, "model_version_metrics": { "precision": 1.0, "recall": 1.0, "mean_fractional_lead_time": 0.7760964912280702, "auc": 0.5971207364893062 } }
主要なメトリクス
labeled_ranges

トレーニング中にラベル付けされた異常が提供された時間範囲

labeled_event_metrics

モデルが既知のラベル付きイベントをどの程度識別したかに関する統計

num_labeled

トレーニングデータ内のラベル付きイベントの合計数

num_identified

モデルが正しく識別されたラベル付きイベントの数

total_warning_time_in_seconds

ラベル付きイベントのモデルが警告状態で経過した合計時間

predicted_ranges

モデルが評価中に異常を予測した時間範囲

unknown_event_metrics

ラベル付けされていないデータで検出された異常に関する統計

data_start_time / data_end_time

トレーニングデータの対象となる時間枠

labels_present

トレーニング中にラベル付きデータが使用されたかどうかを示すブール値

model_version_metrics

モデル比較用のバージョン固有のメトリクスの追加

ラベル付きモデルの高度なメトリクス

トレーニング中にラベル付きデータを指定すると、追加のパフォーマンスメトリクスが Amazon S3 ファイルに含まれます。

  • リコール: 同じ期間にラベル付けしたイベントに AWS IoT SiteWise 正しく識別されたイベントの割合。たとえば、10 個のイベントにラベル付けしたが、そのうちの 9 個 AWS IoT SiteWise しか識別できなかったとします。この場合、リコールは 90% です。

  • 精度: 特定されたイベントの合計に対する真陽性の割合。たとえば、 が 10 個のイベント AWS IoT SiteWise を識別し、そのうち 7 つのイベントのみがラベル付けされたイベントに対応する場合、精度は 70% です。

  • MeanFractionalLeadTime: 平均して (イベントの長さに対して) が各イベント AWS IoT SiteWise を検出する速度の測定。たとえば、施設での一般的なイベントは 10 時間かかる場合があります。平均して、モデルがイベントを識別するまでに 3 時間かかる場合があります。この場合、平均小数リードタイムは 0.7 です。

  • AUC: 曲線下面積 (AUC) は、機械学習モデルが負の例と比較して正の例の高いスコアを予測する能力を測定します。モデルがデータセット内のカテゴリをどの程度分離できるかを示す 0~1 の値。値 1 は、カテゴリを完全に分離できたことを示します。

モデルのプロモーションとメトリクス

再トレーニングワークフロー中、Amazon S3 に保存されているメトリクスにより、情報に基づいたモデル昇格の決定が可能になります。

マネージドモード (自動昇格)

  • Amazon S3 に保存されたデータを使用して、古いモデルバージョンと新しいモデルバージョンのメトリクスが自動的に比較されます。

  • 改善されたパフォーマンス指標に基づいてモデルが昇格される

  • 昇格の決定には、メトリクスとともに保存される特定の理由コードが含まれます。

    • AUTO_PROMOTION_SUCCESSFUL: 新しいモデルメトリクスは最新バージョンよりも優れている

    • MODEL_METRICS_DIDNT_IMPROVE: 新しいモデルのパフォーマンスが改善しなかった

    • POOR_MODEL_QUALITY_DETECTED: 新しいモデルの品質評価が低い

手動モード (カスタマー管理プロモーション)

  • Amazon S3 から詳細なメトリクスをダウンロードして分析し、昇格に関する意思決定を行うことができます。

  • すべての履歴モデルバージョンとそのメトリクスは Amazon S3 で引き続きアクセスできます。

  • Amazon S3 に保存されたメトリクスを使用して、カスタムダッシュボードと分析ツールを構築できます。