3、传感器分类与异常检测任务概述

在TFLite时序模型量化的实际落地场景中,传感器分类与异常检测是最具代表性的两类任务。无论是可穿戴设备上的人体活动识别(HAR)、工业旋转机械上的故障诊断,还是环境监测站点的空气质量异常预警,其本质都是从连续采样的传感器时序数据中提取有效特征,并映射到离散的类别标签或异常分数。理解这些任务类型、数据标注方式以及评估指标的适用边界,是后续进行模型量化、部署和调优的前提。本章将系统梳理常见任务类型、数据标注与评估指标,并结合一个设备故障检测案例,展示从指标选择到模型评估的完整闭环。

传感器时序任务分类与评估框架 传感器数据源 IMU / 振动 / 温度 / 气体 预处理与分段 滑动窗口 / 去噪 / 重采样 分类任务 HAR / 故障类型识别 异常检测任务 设备故障 / 环境异常 评估指标 准确率 / 召回率 F1 / AUC 混淆矩阵 PR曲线 数据标注 专家标注 / 半自动 时间点 / 区间 / 弱标签 TFLite量化部署 INT8 / 动态范围 / 混合 迭代优化 关键要点 • 窗口长度影响特征提取 • 类别不平衡需加权指标 • 异常检测多用无监督 • 量化后需重评估指标 图:传感器分类与异常检测任务从数据到评估的完整链路

3.1 常见任务类型:从信号到决策的三种范式

传感器时序任务虽然形态多样,但按决策输出的性质可归纳为三大类:人体活动识别(HAR)、设备故障检测与环境监测。这三类任务在数据形态、模型输出和部署约束上存在显著差异。

任务类型典型传感器输出形式部署设备量化敏感度
人体活动识别加速度计、陀螺仪多分类(走、跑、跳、静止)手表、手机中(需保持时序特征)
设备故障检测振动、电流、温度二分类/多分类(正常、轴承磨损、齿轮断裂)工业网关、PLC高(微小故障特征易丢失)
环境监测温湿度、PM2.5、气体回归/异常分数物联网节点低(数值范围相对稳定)

人体活动识别通常采用滑动窗口将连续加速度信号切分为1-3秒的片段,每个片段对应一个活动标签。设备故障检测则更关注频域特征,如振动信号的FFT谱包络,因为早期故障往往表现为特定频带的能量异常。环境监测任务常面临概念漂移问题——季节变化导致温湿度基线偏移,需要模型具备在线自适应能力。

在TFLite量化场景中,设备故障检测对量化误差最敏感。原因是故障特征往往表现为小幅值的高频分量,INT8量化后这些分量可能被舍入到零,导致漏报。因此,这类任务建议优先采用混合量化(保留敏感层的浮点权重)或感知量化训练(QAT)。

3.2 数据标注:质量决定模型上限

传感器数据的标注比图像文本更困难,因为信号本身缺乏直观语义。标注方式直接影响模型可学习的信息边界。

3.2.1 标注粒度与策略

  • 时间点标注:适用于事件型任务,如设备故障发生瞬间。标注成本高,但时间精度高。
  • 区间标注:适用于活动识别,标注一段连续时间内的状态。需注意边界模糊问题(如从走到跑的过渡段)。
  • 弱标签:仅标注整个文件或批次的状态,如“该设备运行了3小时后出现故障”。适合大规模预训练,但模型无法定位具体时间点。

对于异常检测任务,标注策略更为特殊。多数场景下,我们只能获得正常数据的可靠标注,异常样本稀缺且形态多样。此时常采用半监督或无监督方法:仅用正常数据训练自编码器或单类分类器,将重建误差或距离分数作为异常指标。

3.2.2 标注质量验证

标注完成后需进行一致性检查。常用方法包括:随机抽取10%样本由第二位专家复标,计算Cohen's Kappa系数;对于连续信号,可检查相邻窗口标签的平滑性(活动标签不应在1秒内频繁跳变)。若Kappa值低于0.7,需重新培训标注人员或简化标注规则。

注意:在量化模型评估中,标注噪声会被放大。例如,若训练集中存在5%的错误标签,INT8量化后模型可能因容量下降而过度拟合这些噪声,导致验证集指标下降幅度超过浮点模型。因此,量化前务必清洗训练数据。

3.3 评估指标:选择与业务目标匹配的度量

不同任务对误报和漏报的容忍度不同,评估指标必须反映业务代价。以下是指标选择的决策框架。

3.3.1 分类任务核心指标

  • 准确率(Accuracy):所有样本中预测正确的比例。适用于类别均衡的场景,如四类活动识别(各占25%)。
  • 精确率(Precision):预测为正类的样本中实际为正类的比例。高精确率意味着误报少。
  • 召回率(Recall):实际为正类的样本中被正确预测的比例。高召回率意味着漏报少。
  • F1分数:精确率与召回率的调和平均,适用于类别不平衡场景。

对于多分类任务,通常计算宏平均F1(每个类别F1的算术平均)和加权平均F1(按类别样本量加权)。宏平均更关注小类别的表现,加权平均更反映整体性能。

3.3.2 异常检测的专属指标

异常检测通常输出连续分数而非硬标签,因此需要阈值化处理。此时AUC(ROC曲线下面积)是首选指标,它衡量模型在不同阈值下的综合排序能力,不受阈值选择影响。但AUC对类别不平衡不敏感——即使异常样本只占1%,AUC仍能有效评估。若更关注低误报率下的召回表现,可使用PR曲线(精确率-召回率曲线)及其下面积AP。

# 计算AUC与AP的Python示例
from sklearn.metrics import roc_auc_score, average_precision_score
# y_true: 真实标签(0正常,1异常), y_score: 模型输出的异常分数
auc = roc_auc_score(y_true, y_score)
ap = average_precision_score(y_true, y_score)
print(f"AUC: {auc:.3f}, AP: {ap:.3f}")

3.3.3 量化部署后的指标重评估

模型经过TFLite INT8量化后,输出分数分布会发生变化。建议在量化前后分别计算指标,并关注以下差异:

  1. 若AUC下降超过0.02,说明量化损失显著,需考虑QAT或混合量化。
  2. 若精确率下降但召回率不变,说明量化导致误报增多,可适当提高决策阈值。
  3. 若召回率下降,说明模型对正类样本的区分能力减弱,需检查敏感层的量化误差。
经验值:对于振动故障检测,量化后AUC下降0.01-0.03属于正常范围;若超过0.05,应优先检查输入特征的数值范围是否过大(如振动加速度超过±16g),可先做特征归一化再量化。

3.4 案例拆解:工业风机轴承故障检测的指标选型与评估

某风电企业需要在边缘网关(ARM Cortex-A53,1GB RAM)上部署轴承故障检测模型。传感器为加速度计,采样率25.6kHz,每10分钟采集一段4秒的振动信号。历史数据显示,正常样本占比98.5%,故障样本仅1.5%(包括内圈磨损、外圈裂纹、滚动体点蚀三类)。

初始目标:在误报率不超过2%的前提下,尽可能提高故障召回率。业务约束:每次误报会导致运维人员无效巡检,成本约200元;每次漏报可能导致轴承彻底损坏,更换成本约5万元。

分析过程:由于类别极度不平衡,准确率指标无意义(模型全部预测正常即可达到98.5%准确率)。团队决定采用宏平均F1作为主要优化目标,同时监控PR曲线。经过特征工程(提取RMS、峰值因子、频带能量等12维特征)和随机森林训练,浮点模型在验证集上达到:AUC=0.97,宏F1=0.82,误报率1.8%,召回率91%。

量化与重评估:将随机森林转换为TFLite模型并应用动态范围量化(权重INT8,激活浮点)。量化后指标变化如下:

指标浮点模型动态范围量化变化
AUC0.9700.961-0.009
宏F10.8200.795-0.025
误报率1.8%2.3%+0.5%
召回率91.0%87.5%-3.5%

风险与代价:误报率上升0.5%意味着每月增加约36次无效巡检(按每月720次推断),成本增加7200元;召回率下降3.5%意味着每100次真实故障中约有3.5次漏报,潜在损失约1750元/次。综合评估,量化后模型仍满足业务要求(误报率<3%,召回率>85%),但需在部署时设置自适应阈值:当模型输出的异常分数超过0.7时触发告警,低于0.5时自动忽略,中间区域由人工复核。

复盘经验:量化对树模型的影响小于神经网络,但特征数值范围仍需归一化。此外,由于故障样本极少,团队采用SMOTE过采样扩充训练集,但量化后模型对合成样本的泛化能力下降,最终改为类别权重方案,在损失函数中加大故障类别的权重,量化后指标更稳定。

3.5 常见误区与总结复盘

在传感器分类与异常检测任务中,以下误区会直接影响量化部署效果:

  • 误区一:盲目追求高准确率。在类别不平衡场景下,准确率会掩盖模型失效。应优先查看混淆矩阵和类别召回率。
  • 误区二:忽略时间依赖。传感器数据天然具有时间相关性,若随机打乱训练集和验证集,会高估模型性能。应使用时间序列分割(按时间顺序划分训练/验证集)。
  • 误区三:量化后不重评估。量化会改变输出分布,必须重新计算阈值和指标,不能沿用浮点模型的阈值。
  • 误区四:异常检测只用AUC。AUC反映排序能力,但实际部署需要具体阈值。应结合PR曲线和业务代价选择操作点。

总结而言,传感器分类与异常检测任务的核心在于:明确业务代价、选择合适的指标、严格的时间序列数据划分、量化后重评估。在TFLite部署链路中,这些步骤决定了模型从实验到生产的可靠性。下一阶段将深入探讨时序模型的结构选择与量化适配策略。