高级训练配置 - AWS IoT SiteWise

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

高级训练配置

采样率配置

采样率定义了记录传感器读数的频率(例如,每秒一次或每分钟一次)。此设置直接影响训练数据的粒度,并影响模型捕捉传感器行为的短期变化的能力。

访问高频数据采样以及训练和推理之间的一致性以了解最佳实践。

配置目标采样率

您可以选择在训练配置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文件形式提供,其中每行都指定了设备无法正常运行的时间范围。

每行包含两个时间戳:

  • 开始时间,表示认为异常行为何时开始。

  • 结束时间,表示首次观察到故障或问题的时间。

此 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 日的维护事件,有 12 小时的时间段(从2024-06-21T00:00:00.000000Z2024-06-21T12:00:00.000000Z) AWS IoT SiteWise 来查找异常行为。

第 2 行表示 2024 年 7 月 11 日的维护事件,有 12 小时的时间段(从2024-07-11T00:00:00.000000Z2024-07-11T12:00:00.000000Z) AWS IoT SiteWise 来查找异常行为。

第 3 行表示 2024 年 7 月 31 日的维护事件,有 12 小时的时间段(从2024-07-31T00:00:00.000000Z2024-07-31T12:00:00.000000Z) AWS IoT SiteWise 来查找异常行为。

AWS IoT SiteWise 使用所有这些时间窗口来训练和评估可以识别围绕这些事件的异常行为的模型。请注意,并非所有事件都是可检测到的,而且结果在很大程度上取决于基础数据的质量和特征。

有关采样最佳做法的详细信息,请参阅最佳实践

数据标签步骤

  • 根据标签数据先决条件中的标签先决条件配置您的 Amazon S3 存储桶。

  • 将文件上传到您的标签存储桶。

  • 将以下内容添加到anomaly-detection-training-payload.json

    • 在文件labelInputConfiguration部分中提供位置。labels-bucket替换为存储桶名称、files-prefix文件路径或前缀的任何部分。该位置的所有文件都会被解析,并且(成功后)用作标签文件。

{ "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 训练模型的 Pointwise 模型诊断是对单个事件中模型性能的评估。在训练期间,为输入数据集中的每一行 AWS IoT SiteWise 生成异常分数和传感器贡献诊断。异常分数越高表示发生异常事件的可能性越高。

当您使用 ExecuteActionAPI 和AWS/ANOMALY_DETECTION_TRAINING操作类型训练模型时,可以使用逐点诊断。

要配置模型评估,

  • 根据标签数据先决条件中的标签先决条件配置您的 Amazon S3 存储桶。

  • 将以下内容添加到anomaly-detection-training-payload.json

    • 在用于评估模型性能的窗口中为数据提供evaluationStartTimeevaluationEndTime(均以纪元秒为单位)。

    • 提供 Amazon S3 存储桶位置 (resultDestination) 以便写入评估诊断。

注意

模型评估间隔 (dataStartTimet dataEndtime o) 必须与训练间隔重叠或相邻。不允许出现任何间隙。

{ "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" } } }