![]()
Window 3时,所有指标都完美。RWSS=1.000,输出概率纹丝不动,标签一个没动。系统显示"一切正常"。
然后警报响了。
Window 3: severity=warning RWSS=1.000 fired=True ← FIDI Z在这里触发
模型预测层还没察觉任何异常,符号层已经拉响警报。这是实验真实发生的一幕,也是每个在生产环境跑欺诈模型的人都该看的场景。
三种漂移,只有一种能让你毫无察觉地翻车
概念漂移检测比听起来难得多。三种常见漂移里,只有一种会真正改变模型学到的关联含义。实验在Kaggle信用卡欺诈数据集(284,807笔交易,欺诈率0.17%)上模拟了三种漂移,每种分8个渐进窗口推进。
协变量漂移。输入特征分布偏移,V14、V4、V12逐步移动最多+3.0个标准差。欺诈模式本身没变,只是世界看起来有点不同。
先验漂移。欺诈率从0.17%爬升到2.0%。特征不变,欺诈变得更常见。
概念漂移。欺诈样本的V14符号被逐步翻转,8个窗口后,模型学会标记为欺诈的交易现在看起来像正常交易。规则"IF V14 < −1.5σ → Fraud"指向了错误方向。
第三种才是生产环境真正的噩梦。协变量和先验漂移都有外部信号——输入分布变了,欺诈率肉眼可见地涨,你可以独立监控。概念漂移不留任何脚印,唯一变化的是模型学到的关联含义。等F1开始掉,你已经晚了。
除非有东西比你先看到。
![]()
符号层当"金丝雀":零标签监控是怎么做到的
这个实验用的HybridRuleLearner架构训练两条并行路径:一条MLP做检测,一条规则路径从同样数据中学符号化的IF-THEN条件。规则路径在两个随机种子下都自己找到了V14,没人告诉它要盯这个特征。
学到的规则(IF V14 < −1.5σ → Fraud)现在成了监控对象。问题是:当V14开始行为异常,规则能当金丝雀吗?神经符号概念漂移监控能在推理时跑起来、完全不用标签吗?
答案是FIDI Z-Score,FIDI的Z分数扩展版,专门给符号层做异常检测。5组实验全部用它检测到欺诈模式偏移,有时提前1个窗口,全程零标签。
核心机制很朴素:监控规则触发模式的统计稳定性。不是看模型输出变没变,而是看"什么样的输入会触发这条规则"的分布是否漂移。符号层的规则有明确语义,比黑盒神经网络的隐层状态更容易建立统计基线。
为什么RWSS=1.000时警报还能响
RWSS(Random Walk with Staying State)是常见的漂移检测指标,衡量预测分布的稳定性。Window 3时它完美无瑕,因为模型输出确实没变——神经网络还没反应过来。
但符号层监控的是规则触发条件的输入分布。V14的欺诈样本开始悄悄变号时,规则"IF V14 < −1.5σ → Fraud"的触发率、触发样本的特征协方差都在偏移。这些信号比模型性能衰减早1-2个窗口出现。
换句话说,符号层监控的是"世界怎么变",神经网络监控的是"我现在的判断是什么"。世界变了,判断还没变,这就是危险窗口。
实验代码已开源:https://github.com/Emmimal/neuro-symbolic-drift-detection
不熟悉这个系列的读者,一句话概括:HybridRuleLearner让神经网络自己学会符号规则,然后用这些规则当早期预警系统。前两篇讲架构和规则学习,这篇讲漂移检测。
生产环境的欺诈模型平均多久重训一次?如果答案是"等F1掉了再看",这个实验给你另一个选项。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.