Использование FIDI Z-Score, расширения Z-score для FIDI в целях обнаружения аномалий в символическом слое, для выявления сдвигов в паттернах мошенничества во всех 5 экспериментах, иногда на 1 окно раньше, без единой метки.
Emmimal P Alexander
23 марта 2026 г.
24 минуты чтения
На окне 3 все метрики выглядели идеально.
RWSS = 1.000. Выходные вероятности не изменились. Ни одна метка не переместилась.
Всё говорило: «всё в порядке».
Затем сработал сигнал тревоги.
Window 3: severity=warning RWSS=1.000 fired=True ← FIDI Z срабатывает здесь
Предсказания модели ничего не знали о том, что что-то не так.
Но символический слой знал.
Это то, что на самом деле произошло в эксперименте — и почему это важно для каждого, кто использует модели мошенничества в production.
Полный код: https://github.com/Emmimal/neuro-symbolic-drift-detection
TL;DR: что вы получите из этой статьи
- FIDI Z-Score обнаруживает дрейф концепции в 5 из 5 seeds, иногда до падения F1, без требуемых меток
- RWSS в одиночку пропустил 3 из 5 seeds. Расширение Z-score FIDI — вот что делает это работающим
- Ковариативный дрейф — это полная слепая зона. Ему нужен отдельный монитор сырых признаков
- Система оповещения занимает ~50 строк кода и означает разницу между запланированной переподготовкой и экстренной
- RWSS (Rule Weight Stability Score): косинусное подобие между базовым средним вектором активации правил и текущим. В простых словах: правила все ещё срабатывают так же, как на чистых данных?
- FIDI (Feature Importance Drift Index): насколько изменился вклад каждого признака в активации правил от базовой линии. В простых словах: стал ли какой-либо признак более или менее важен для правил?
- RFR (Rule Firing Rate): какая доля транзакций срабатывает каждое правило.
Незнакомы с серией? Hybrid Neuro-Symbolic Fraud Detection: Guiding Neural Networks with Domain Rules охватывает архитектуру. How a Neural Network Learned Its Own Fraud Rules: A Neuro-Symbolic AI Experiment объясняет, как модель открывает свои собственные правила. Это глава об обнаружении дрейфа.
История до сих пор
Это часть 3 серии. Впервые здесь? Одного параграфа достаточно.
HybridRuleLearner тренирует два параллельных пути: MLP для обнаружения и путь правил, которые учит символические IF-THEN условия из одних и тех же данных. Путь правил нашел V14 самостоятельно в двух seeds, без указания на что-либо. То выученное правило (IF V14 < −1.5σ → Fraud) теперь является объектом мониторинга. В этой статье рассматривается, что происходит, когда V14 начинает себя вести иначе.
| Часть | Что она сделала | Ключевой результат |
|---|---|---|
| Guiding Neural Networks with Domain Rules | Кодировала правила аналитика в функцию потерь | ROC-AUC 0.967 → 0.970, согласованно на 5 seeds |
| How a Neural Network Learned Its Own Fraud Rules | Позволила модели открывать свои собственные IF-THEN правила | Градиент нашел V14 без руководства. Фидельность 99.3% |
| Эта статья | Мониторить эти правила на предмет дрейфа концепции | FIDI Z-Score срабатывает в 5/5 seeds до падения F1 |
Могут ли правила действовать как канарейка? Может ли нейро-символический мониторинг дрейфа концепции работать во время вывода без меток?
Три способа, которыми может измениться мошенничество
Обнаружение дрейфа концепции в мошенничестве сложнее, чем кажется, потому что только один из трёх распространённых типов дрейфа действительно меняет смысл того, что выучила модель. Эксперимент моделирует три типа дрейфа на датасете Kaggle Credit Card Fraud (284,807 транзакций, 0,17% мошенничества) на 8 прогрессивных окнах [9].
Ковариативный дрейф. Распределения входных признаков смещаются. V14, V4 и V12 смещаются на +3,0σ прогрессивно. Паттерны мошенничества остаются прежними. Мир просто выглядит немного иначе.
Дрейф приоров. Частота мошенничества увеличивается с 0,17% к 2,0%. Признаки не изменяются. Мошенничество становится более распространённым.
Дрейф концепции. Знак V14 для случаев мошенничества постепенно переворачивается на 8 окнах. В конце концов, транзакции, которые модель выучила флагировать как мошенничество, теперь выглядят как законные. Правило IF V14 < −1.5σ → Fraud теперь указывает в неправильном направлении.
Третий вариант — тот, который должен вас беспокоить в production. При ковариативном и дрейфе приоров есть внешние сигналы. Входные распределения смещаются или видимо меняются частоты мошенничества. Вы можете независимо мониторить это. Дрейф концепции не оставляет таких следов. Единственное, что меняется — это смысл того, что выучила модель. Вы не узнаете до тех пор, пока F1 не начнёт падать.
Если что-то не заметит это первым.
Проблема с первыми тремя метриками
Модель из How a Neural Network Learned Its Own Fraud Rules: A Neuro-Symbolic AI Experiment выдала три сигнала мониторинга без меток как побочный продукт символического слоя. Идея: если правила учат паттерны мошенничества, изменения в том, как эти правила срабатывают, должны раскрыть, когда паттерны мошенничества смещаются.
Я ожидал, что первый будет ранним предупреждением. Это было не так.
Проблема специфична тому, как тренируется эта модель. Все пять seeds сходились между эпохами 3 и 10 (Val PR-AUC: 0.7717, 0.6915, 0.6799, 0.7899, 0.7951), когда температура τ всё ещё находится между 3,5 и 4,0. При такой температуре активации правил мягкие. Каждый вход производит почти идентичный счет активации независимо от его фактических признаков. В простых словах: правила срабатывали почти одинаково на каждой транзакции, чистой или дрейфующей. Метрика подобия на близких к константе векторах возвращает 1.000 почти всегда. Первый сигнал срабатывал только в 2 из 5 seeds для дрейфа концепции, и в обоих случаях это было в одном окне с F1 или позже.
Почему высокая температура делает мониторинг сложнее
LearnableDiscretizerиспользует сигмоид, управляемый температурой τ:σ((x − θ) / τ). При τ = 5,0 (эпоха 0) этот сигмоид почти плоский — каждое значение признака производит активацию близкую к 0,5 независимо от того, где оно находится относительно выученного порога. По мере того как τ отжигается к 0,1, сигмоид заостряется в почти двоичный шаг. Ранняя остановка срабатывает при τ ≈ 3,5–4,0 — до того, как правила полностью кристаллизовались. Результат: векторы активации близки к константе на всех входах, так что любая метрика подобия между ними остаётся близкой к 1.000 даже когда паттерны мошенничества действительно смещаются.
Второй сигнал имел противоположную проблему. Абсолютное изменение вклада любого признака ничтожно (значения в диапазоне 0.001–0.005), потому что сами веса правил малы в контрольной точке ранней остановки. В простых словах: сигнал был реальным, но невидимым в масштабе, который мы измеряли. Фиксированный абсолютный порог 0,02 никогда не срабатывает.
Вот какие три исходных сигнала:
Этот диагноз привел к правильному вопросу. Вместо вопроса «изменился ли FIDI более чем на X?», правильный вопрос: «изменился ли FIDI более чем на X стандартных отклонений от его собственной истории?»
На этот вопрос есть другой ответ. И ответ — V14.
Метрики: построение системы обнаружения дрейфа без меток
Три новые метрики присоединились к исходным трём.
RWSS Velocity измеряет скорость изменения за окно: RWSS[w] − RWSS[w−1]. Внезапное падение более чем на 0,03 за окно срабатывает оповещение даже до того, как абсолютное значение пересечет порог. Если RWSS падает на −0,072 за один шаг, это сигнал независимо от того, откуда он начался.
FIDI Z-Score — это тот, что действительно работал. Скорее чем совершенно новый сигнал, это простое расширение FIDI, используя нормализацию Z-score против собственной истории окна признака. Вместо вопроса о том, пересекает ли абсолютное изменение фиксированный порог, он спрашивает, является ли изменение аномальным относительно того, что этот признак делал. В отличие от традиционных методов обнаружения дрейфа, полагающихся на распределения входов или выходные метки, этот подход работает чисто на символическом слое, что означает, что он работает во время вывода, без необходимой истины. Он опирается на дифференцируемую работу обучения правилам, включая ∂ILP [3], FIN