Доска расследования с нитями, документами и светящейся лампочкой в центре.

Как нейронная сеть выучила собственные правила мошенничества: нейросимволический эксперимент в области искусственного интеллекта

Использование дифференцируемой индукции правил для извлечения проверяемых правил IF-THEN, свидетельствующих о мошенничестве, из обученной нейронной сети — без написания ни одного правила вручную.

Делиться

2fbe44c582b3541b46405fe68ebcdcbb
Изображение предоставлено автором и сгенерировано с помощью ChatGPT (DALL·E).

Большинство нейросимволических систем внедряют правила, написанные людьми. Но что, если бы нейронная сеть могла сама обнаруживать эти правила?

В этом эксперименте я расширяю гибридную нейронную сеть модулем обучения правилам с возможностью дифференциации, который автоматически извлекает правила мошенничества типа «ЕСЛИ-ТО» во время обучения. На наборе данных Kaggle о мошенничестве с кредитными картами (уровень мошенничества 0,17%) модель выучила интерпретируемые правила, такие как:

IF V14 < −1.5σ AND V4 > +0.5σ → Fraud

где σ обозначает стандартное отклонение признака после нормализации.

Модель обучения правилам достигла показателя ROC-AUC 0,933 ± 0,029, сохранив при этом 99,3% точности предсказаний нейронной сети.

Что особенно интересно, модель самостоятельно заново обнаружила V14 — признак, который, как давно известно аналитикам, тесно коррелирует с мошенничеством, — без указания искать его.

В данной статье представлен воспроизводимый нейросимволический эксперимент в области искусственного интеллекта, демонстрирующий, как нейронная сеть может обнаруживать интерпретируемые правила мошенничества непосредственно из данных.

Полный код: github.com/Emmimal/neuro-symbolic-ai-fraud-pytorch

Что обнаружила модель

Вот что получилось, не считая архитектуры, функции потерь или каких-либо деталей обучения.

После 80 эпох обучения (с ранней остановкой большинство начальных значений сходились между эпохами 56–78) алгоритм обучения правилам выдал следующие значения в двух начальных значениях, где правила проявились четко:

Начальное значение 42 — наиболее чистое правило (5 условий, достоверность = 0,95)

Правило обнаружения мошенничества — Зародыш 42 · Правила никогда не кодировались вручную

 IF V14 < −1.5σ AND V4 > +0.5σ AND V12 < −0.9σ AND V11 > +0.5σ AND V10 < −0.8σ THEN FRAUD

Семя 7 — правило комплементарного соответствия (8 условий, conf=0,74)

Правило обнаружения мошенничества — Семя 7 · Правила никогда не кодировались вручную

 IF V14 < −1.6σ AND V12 < −1.3σ AND V4 > +0.3σ AND V11 > +0.5σ AND V10 < −1.0σ AND V3 < −0.8σ AND V17 < −1.5σ AND V16 < −1.0σ THEN FRAUD

В обоих случаях низкие значения V14 лежат в основе логики — поразительное совпадение, учитывая отсутствие каких-либо предварительных указаний.

Модели так и не было указано, какая именно функция имеет значение.

Однако, независимо от других факторов, оно заново обнаружило ту же самую особенность, которую аналитики-люди выявляли на протяжении многих лет.

Нейронная сеть, обнаруживающая собственные правила мошенничества, — это именно то, что обещает нейросимволический ИИ: сочетание статистического обучения с понятной человеку логикой. В остальной части статьи объясняется, как и почему градиент продолжал находить V14, даже когда ему ничего о нем не сообщалось.

От внедренных правил к изученным правилам — почему это важно

У каждой модели мошенничества есть свои границы принятия решений. Однако команды по борьбе с мошенничеством работают, руководствуясь правилами. Разрыв между ними, между тем, что узнала модель, и тем, что аналитики могут прочитать, проверить и обосновать перед регулирующим органом, — это то, где команды по обеспечению соответствия риску преуспевают.

В моей предыдущей статье из этой серии я закодировал два правила аналитика непосредственно в функцию потерь: если сумма транзакции необычно высока и если сигнатура PCA аномальна, считать образец подозрительным. Этот подход сработал. Гибридная модель показала результаты обнаружения, сопоставимые с чистой нейронной сетью, оставаясь при этом интерпретируемой.

Но было одно очевидное ограничение, которое я не учел. Я написал эти правила. Я выбрал эти две особенности, потому что они показались мне интуитивно понятными. Правила, написанные вручную, кодируют то, что вы уже знаете, и являются хорошим решением, когда схемы мошенничества стабильны, а знания в предметной области глубоки. Они являются плохим решением, когда схемы мошенничества меняются, когда наиболее важные признаки анонимизированы (как в этом наборе данных) или когда вы хотите, чтобы модель выявляла сигналы, которые вы не догадались искать.

Естественно возникает следующий вопрос: какие характеристики выбрал бы градиент, если бы ему была предоставлена ​​свобода выбора?

Эта закономерность выходит за рамки мошенничества. Медицинским диагностическим системам необходимы правила, которые врачи могут проверить, прежде чем предпринимать какие-либо действия. Модельным системам кибербезопасности необходимы правила, которые инженеры могут проверить. Системы борьбы с отмыванием денег работают в рамках нормативных требований, предусматривающих объяснимые решения. В любой области, сочетающей редкие события, экспертные знания и требования соответствия, возможность извлечения проверяемых правил типа «ЕСЛИ-ТО» из обученной нейронной сети имеет непосредственную ценность.

С архитектурной точки зрения, изменение удивительно простое. Вы не заменяете многослойный перцептрон (MLP), вы добавляете второй путь, который учится выражать решения MLP в виде удобочитаемых символических правил. MLP обучается обычным образом. Модуль правил учится согласовываться с ним в символической форме. Это и есть тема данной статьи: дифференцируемая индукция правил примерно в 250 строках кода PyTorch, без предварительного знания того, какие функции имеют значение.

«Вы не заменяете нейронную сеть. Вы учите её объяснять саму себя».

Архитектура: три обучающих элемента

Архитектура сохраняет стандартную нейронную сеть, но добавляет второй путь, который обучается символическим правилам, объясняющим решения сети. Два пути работают параллельно, получая один и тот же входной сигнал, а их выходные данные объединяются с помощью обучаемого веса α:

Два параллельных пути от одного входа: верхний путь поступает в трехслойный многослойный персептрон с пакетной нормализацией для получения mlp_prob; нижний путь поступает в обучаемый дискретизатор, а затем в алгоритм обучения правилам для получения rule_prob. Оба выхода объединяются во взвешенную комбинацию α·mlp + (1-α)·rule, чтобы получить окончательную вероятность мошенничества.
Гибридный алгоритм обучения правилам запускает два пути параллельно, используя одни и те же 30 признаков на входе. Путь MLP отвечает за обнаружение; путь правил учится его объяснять. α — это обучаемый скаляр, а не гиперпараметр. Изображение предоставлено автором.

Путь MLP идентичен предыдущему: три полносвязанных слоя с пакетной нормализацией. Путь правил — новый. Альфа — это обучаемый скаляр, который модель использует для взвешивания двух путей; он начинается с 0,5 и обучается методом градиентного спуска, как и любой другой параметр. После обучения α сходился к приблизительно 0,88 в среднем по всем начальным значениям (диапазон: 0,80–0,94). Модель научилась взвешивать нейронный путь примерно на 88%, а путь правил — на 12% в среднем. Правила не заменяют MLP, они представляют собой структурированное символическое резюме того, чему научился MLP.

1. Обучаемый дискретизатор

Правилам необходимы бинарные входные данные — находится ли V14 ниже порогового значения? Да или нет. Нейронным сетям необходимы непрерывные, дифференцируемые операции. Мягкий сигмоидный пороговый метод объединяет оба подхода.

Для каждого признака f и каждого обучаемого порога t:

bf,t=σ ⁣(xf−θf,tτ)b_{f,t} = sigma!left(frac{x_f – theta_{f,t}}{tau}right)

Где:

  • xfx_f — это значение признака *f* для данной транзакции.
  • θf,ttheta_{f,t}t​ — обучаемый пороговый параметр , инициализируемый случайным образом и обучаемый методом обратного распространения ошибки.
  • τtau — температура : высокая в начале обучения (исследовательский этап), низкая позже (четкий этап).
  • bf,tb_{f,t} — это мягкий бинарный выходной сигнал: «Превышает ли признак *f* пороговое значение *t*?»

Модель обучается трем пороговым значениям для каждого признака, что дает ей три «среза» на каждое измерение. Каждый порог является независимым — модель может распределять их по всему диапазону признака или концентрировать вокруг наиболее дискриминантной точки среза.

Три расположенных рядом графика, демонстрирующие сигмоидные кривые для трех изученных пороговых значений при θ = −1,5, θ = 0,0 и θ = 1,5. На каждом графике показаны две линии: почти плоская синяя линия (τ = 5,0, мягкая) и резкая оранжевая ступенчатая функция (τ = 0,1, четкая). Пунктирная вертикальная линия отмечает положение порогового значения.
Та же сигмоидная функция при τ=5,0 (синий) и τ=0,1 (оранжевый) для трех изученных пороговых значений. При высокой температуре каждое значение признака создает градиент. При низкой температуре функция представляет собой почти бинарную ступеньку — понятную для человека. Изображение предоставлено автором.

При τ=5,0 (эпоха 0): сигмоидная функция почти плоская. Каждое значение признака создает градиент. Модель свободно исследует пространство. При τ=0,1 (эпоха 79): сигмоидная функция почти ступенчатая. Пороговые значения установлены. Границы читаются как условия, воспринимаемые человеком.

 class LearnableDiscretizer(nn.Module): def __init__(self, n_features, n_thresholds=3): super().__init__() # One learnable threshold per (feature × bin) self.thresholds = nn.Parameter( torch.randn(n_features, n_thresholds) * 0.5 ) self.n_thresholds = n_thresholds def forward(self, x, temperature=1.0): # x: [B, F] → output: [B, F * n_thresholds] soft binary features x_exp = x.unsqueeze(-1) # [B, F, 1] t_exp = self.thresholds.unsqueeze(0) # [1, F, T] soft_bits = torch.sigmoid( (x_exp - t_exp) / temperature ) return soft_bits.view(x.size(0), -1) # [B, F*T]

2. Слой обучения правилам

Каждое правило представляет собой взвешенную комбинацию бинаризованных признаков, пропущенных через сигмоиду: rule(x)=σ ⁣(∑iwr,i⋅biτ)text{rule}_r(x) = sigma!left(frac{sum_i w_{r,i} cdot b_i}{tau}right)

Знак каждого веса имеет прямое толкование после сжатия с помощью tanh:

  • w>+0.5w > +0.5 → для срабатывания этого правила параметр должен быть ВЫСОКИМ.
  • w<−0.5w < -0.5 → для срабатывания этого правила значение параметра должно быть НИЗКИМ.
  • ∣w∣<0.5|w| < 0.5 → признак не имеет отношения к этому правилу

Извлечение правил происходит напрямую: после обучения применяется пороговое значение к абсолютным значениям весов, чтобы определить, какие признаки использует каждое правило. Именно так возникают операторы IF-THEN из непрерывных параметров — путем считывания матрицы весов.

 class RuleLearner(nn.Module): def __init__(self, n_bits, n_rules=4): super().__init__() # w_{r,i}: which binarized features matter for each rule self.rule_weights = nn.Parameter( torch.randn(n_rules, n_bits) * 0.1 ) # confidence: relative importance of each rule self.rule_confidence = nn.Parameter(torch.ones(n_rules)) def forward(self, bits, temperature=1.0): w = torch.tanh(self.rule_weights) # bounded in (-1, 1) logits = bits @ wT # [B, R] rule_acts = torch.sigmoid(logits / temperature) # [B, R] conf = torch.softmax(self.rule_confidence, dim=0) fraud_prob = (rule_acts * conf.unsqueeze(0)).sum(dim=1, keepdim=True) return fraud_prob, rule_acts

3. Температурный отжиг

Температура следует экспоненциальному графику затухания: τ(t) = τstart ⋅ (τendτstart)t/Ttau(t) = tau_{text{start}} cdot left(frac{tau_{text{end}}}{tau_{text{start}}}right)^{t/T}

При τ_start=5.0, τ_end=0.1, T=80 эпох:

Эпоха τ Состояние
0 5.00 Правила полностью мягкие — градиентные потоки повсюду
40 0,69 Ужесточение правил — пороговые значения для совершения преступлений
79 0.10 Правила почти четкие — читаются как IF-THEN
Линейный график, показывающий снижение температуры τ по оси Y с 5,0 в нулевой эпохе до значения, близкого к 0,1, к 79-й эпохе. Кривая экспоненциальная. Три аннотации отмечают ключевые этапы: полная мягкость в нулевой эпохе, сужение в 40-й эпохе и почти хрусткость в 79-й эпохе.
Температура τ экспоненциально убывает на протяжении 80 эпох, от разведочной мягкости (τ=5,0) до почти бинарной четкости (τ=0,1). Заштрихованная область показывает регион, где градиенты все еще информативны. Изображение предоставлено автором.
 def get_temperature(epoch, total_epochs, tau_start=5.0, tau_end=0.1): progress = epoch / max(total_epochs - 1, 1) return tau_start * (tau_end / tau_start) ** progress

Без отжига модель остается «мягкой», и правила никогда не кристаллизуются во что-либо, что мог бы прочитать аналитик по борьбе с мошенничеством или утвердить отдел комплаенса. Отжиг — это то, что преобразует непрерывную оптимизацию в символический результат.

Перед описанием функции потерь — краткое замечание о том, откуда взялась эта идея и чем данная реализация отличается от предыдущих работ.

Опираясь на достижения ∂ILP, NeuRules и FINRule

Данная работа в контексте существующей литературы заслуживает рассмотрения не как всесторонний обзор, а для того, чтобы прояснить, какие идеи заимствованы, а какие являются новыми.

Дифференцируемое индуктивное логическое программирование (∂ILP) ввело ключевую идею о том, что индуктивное логическое программирование, традиционно рассматриваемое как задача комбинаторного поиска, может быть переформулировано как дифференцируемая программа, обучаемая с помощью градиентного спуска. Ключевая идея здесь заключается в использовании мягких логических операторов, которые позволяют градиентам проходить через структуры, подобные правилам . Однако ∂ILP требует предопределенных шаблонов правил и объявлений фоновых знаний, что затрудняет его интеграцию в стандартные конвейеры глубокого обучения.

Недавние исследования, в которых для обнаружения мошенничества применяются дифференцируемые правила, такие как FINRule , показывают, что подходы, основанные на обучении правилам, могут хорошо работать даже на сильно несбалансированных финансовых наборах данных. Эти исследования демонстрируют, что обученные правила могут соответствовать логике обнаружения, разработанной вручную, и при этом легче адаптироваться к новым моделям мошенничества.

Другие системы, такие как RIFF и нейросимволические списки правил, вводят дифференцируемые правила в стиле деревьев решений и делают акцент на разреженности для сохранения интерпретируемости. L1-регуляризация, используемая в этой реализации, следует тому же принципу: она побуждает правила опираться лишь на несколько условий, а не на все доступные признаки.

Представленная в этой статье реализация объединяет эти идеи — дифференцируемую дискретизацию и конъюнктивное обучение — но сводит их примерно к 250 строкам кода на PyTorch без зависимостей . Никакого шаблонного языка. Никаких объявлений фоновых знаний. Цель — минимальный модуль обучения правилам, который можно интегрировать в стандартный цикл обучения.

Трехкомпонентная функция потерь: обнаружение + согласованность + разреженность

Полная цель обучения:

Ltotal = LBCE + λc ⋅ Lconsistency + λs ⋅ Lsparsity + λconf ⋅ Lconfidence L_total = L_BCE + λc ⋅ Lconsistency + λs ⋅ Lsparsity + λconf ⋅ Lconfidence

L_BCE — Взвешенная бинарная кросс-энтропия

Аналогично предыдущей статье. pos_weight = count(y=0) / count(y=1) ≈ 578. Один размеченный образец мошенничества генерирует градиент в 578 раз больше, чем образец, не являющийся мошенничеством. Этот член остается неизменным, путь правила не добавляет сложности к основной задаче обнаружения.

L_последовательность — Новый термин

Правила должны соответствовать MLP там, где MLP уверен в их корректности. В операционном плане: среднеквадратичная ошибка (MSE) между rule_prob и mlp_prob, с учетом прогнозов, где MLP либо явно указывает на мошенничество (>0,7), либо явно не указывает на мошенничество (<0,3):

 confident_mask = (mlp_prob > 0.7) | (mlp_prob < 0.3) if confident_mask.sum() > 0: consist_loss = F.mse_loss( rule_prob.squeeze()[confident_mask], mlp_prob.squeeze()[confident_mask].detach() # ← critical )

Метод .detach() имеет решающее значение: мы обучаем правила следовать за многослойным перцептроном (MLP), а не наоборот. MLP остается основным обучающим алгоритмом. Неопределенная область (0,3–0,7) намеренно исключена, поскольку именно здесь правила могут обнаружить то, что MLP может пропустить.

L_sparsity — Keep Rules Simple

Штраф L1 для исходных (до применения tanh) весов правил: mean(|W_rules|) . Без этого правила поглощают все 30 признаков и становятся нечитаемыми. При λ_s=0,25 оптимизатор смещает нерелевантные признаки к нулю, оставляя действительно полезные признаки — V14, V4, V12 — на уровне |w| ≈ 0,5–0,8 после применения tanh-сжатия.

L_confidence — Правила подавления шума

Небольшой штраф L1 к логитам достоверности (λ_conf=0,01) приводит к тому, что правила с низкой достоверностью стремятся к нулевому весу в выходной комбинации, фактически исключая их. Без этого появляется множество технически активных, но бессмысленных правил с достоверностью 0,02–0,04, которые маскируют реальный сигнал.

Итоговые гиперпараметры: λ_c=0,3, λ_s=0,25, n_rules=4, λ_conf=0,01.

Вот что получилось, когда оборудование было установлено.

Результаты: Работает ли обучение правилам — и что оно показало?

Экспериментальная установка

  • Набор данных: Kaggle, Мошенничество с кредитными картами, 284 807 транзакций, уровень мошенничества 0,173%.
  • Разделение: 70/15/15, стратифицированное по метке класса, 5 случайных начальных значений [42, 0, 7, 123, 2024]
  • Пороговое значение: F1-максимизация на проверочном наборе данных, применяемая симметрично к тестовому набору данных.
  • Протокол оценки аналогичен протоколу статьи 1.

Эффективность обнаружения

Две расположенные рядом столбчатые диаграммы, показывающие F1-меру и PR-AUC для чисто нейронной сети (статья 1) синим цветом и для алгоритма обучения правилам оранжевым цветом, для 5 начальных значений. Погрешности показаны стандартным отклонением. Чистая нейронная сеть: F1=0,804±0,020, PR-AUC=0,770±0,024. Алгоритм обучения правилам: F1=0,789±0,032, PR-AUC=0,721±0,058.
Эффективность обнаружения при 5 случайных начальных значениях (среднее значение ± стандартное отклонение). Модель Rule Learner показывает результат примерно на 1,5 пункта F1 ниже, чем у чисто нейронной модели — реальная, но умеренная потеря для модели, которая теперь выдает проверяемые правила типа «ЕСЛИ-ТО». Изображение предоставлено автором.
Модель F1 (среднее значение ± стандартное отклонение) PR-AUC (среднее значение ± стандартное отклонение) ROC-AUC (среднее значение ± стандартное отклонение)
Изоляционный лес 0.121 0,172 0,941
Чисто нейронный (Статья 1) 0,804 ± 0,020 0,770 ± 0,024 0,946 ± 0,019
Программа для изучения правил (эта статья) 0,789 ± 0,032 0,721 ± 0,058 0,933 ± 0,029

Примечание: данные по изолированному лесу взяты из статьи 1 для справки. Все остальные модели оценивались с использованием идентичных разбиений, пороговых значений и начальных точек.

Модель, обучающаяся правилам, немного отстает от чисто нейронной модели по всем трем метрикам обнаружения, примерно на 1,5 пункта F1 в среднем. Компромисс заключается в объяснимости. Разбивка по каждому исходному узлу показывает полную картину:

Семя NN F1 RL F1 NN ROC РЛ РОК Верность Покрытие
42 0,818 0,824 0.9607 0.9681 0.9921 0.8243
0 0,825 0,832 0.9727 0,9572 0,9925 0,8514
7 0,779 0,776 0.9272 0.9001 0,9955 0.7568
123 0,817 0,755 0.9483 0.8974 0.9922 0.8108
2024 0,779 0,759 0.9223 0.9416 0,9946 0.8108

При использовании начальных значений 42 и 0 алгоритм обучения правилам превосходит базовый нейронный алгоритм по показателю F1. При использовании начального значения 2024 он превосходит его по показателю ROC-AUC. Разница в производительности между начальными значениями дает объективное представление о том, что дает индукция правил на основе градиента на наборе данных с 0,17% несбалансированности.

Качество правил — новый вклад

Три показателя, каждый из которых отвечает на вопрос, который мог бы задать инспектор по соблюдению нормативных требований.

Точность правил — могу ли я доверять этому набору правил в том, что он отражает фактические решения модели?

 def rule_fidelity(mlp_probs, rule_probs, threshold=0.5): mlp_preds = (mlp_probs > threshold).astype(int) rule_preds = (rule_probs > threshold).astype(int) return (mlp_preds == rule_preds).mean()

Охват правил — какую долю реального мошенничества выявляет хотя бы одно правило?

 def rule_coverage(rule_acts, y_true, threshold=0.5): any_rule_fired = (rule_acts > threshold).any(axis=1) return any_rule_fired[y_true == 1].mean()

Простота правил — сколько уникальных условий для каждого правила после удаления дубликатов?

 def rule_simplicity(rule_weights_numpy, weight_threshold=0.50): # Divide by n_thresholds (=3) to get unique features, # the meaningful readability metric. Target: < 8. active = (np.abs(rule_weights_numpy) > weight_threshold).sum(axis=1) unique_features = np.ceil(active / 3.0) unique_features = unique_features[unique_features > 0] return float(unique_features.mean()) if len(unique_features) > 0 else 0.0
Метрическая система среднее значение ± стандартное отклонение Цель Статус
Верность 0,993 ± 0,001 > 0,85 Отличный
Покрытие 0,811 ± 0,031 > 0.70 Хороший
Простота (уникальные особенности/правило) 1,7 ± 2,1 < 8 В среднем, преобладают три начальных значения, где путь выполнения правила полностью схлопнулся (простота = 0); в двух активных начальных значениях правила использовали 5 и 8 условий — что делает их легко читаемыми.
α (конечный) 0,880 ± 0,045 MLP доминирует

Это подчеркивает реальное противоречие в обучении дифференцируемым правилам: сильная регуляризация разреженности создает четкие правила, когда они появляются, но может привести к тому, что символический путь станет нечетким в некоторых начальных условиях. Именно из-за этой дисперсии крайне важно сообщать среднее значение ± стандартное отклонение по всем начальным значениям, а не выбирать лучшее начальное значение.

Показатель точности 0,993 означает, что в начальных точках, где правила активны, они совпадают с многослойным перцептроном в 99,3% случаев бинарных решений — функция потерь согласованности работает именно так, как задумано.

Два графика. Левый: Значения Val PR-AUC за эпоху для всех пяти начальных значений (42, 0, 7, 123, 2024), показанные в виде перекрывающихся синих линий различных оттенков, варьирующихся от 0,6 до 0,8 на протяжении до 80 эпох. Правый: График температурного отжига, показывающий снижение τ с 5,0 до почти 0 примерно за 57 эпох.
Слева: валидационный PR-AUC для всех пяти начальных значений на протяжении всего обучения. Справа: расписание температур в том виде, в котором оно фактически выполнялось — обратите внимание, что ранняя остановка срабатывала между эпохами 56 и 78 в зависимости от начального значения. Изображение предоставлено автором.

Извлеченные правила — что показал градиент

Визуализация в стиле темного терминала, показывающая одно извлеченное правило мошенничества, обозначенное как Правило 1, с уровнем достоверности 0,95. Правило гласит: ЕСЛИ V4 больше 0,471 (+0,5σ) И V10 меньше −0,774 (−0,8σ) И V11 больше 0,458 (+0,5σ) И V12 меньше −0,861 (−0,9σ) И V14 меньше −1,462 (−1,5σ) ТОГДА МОШЕННИЧЕСТВО. В нижнем колонтитуле указано, что модели никогда не указывалось, какие признаки использовать, и правила формировались исключительно методом градиентного спуска.
Полное правило, извлеченное из исходного кода 42 — пять условий, уровень достоверности 0,95. Каждый порог был обучен методом обратного распространения ошибки. Ни одно правило не было написано от руки. Изображение предоставлено автором.

Оба правила полностью приведены в начале этой статьи. Краткая версия: при посеве 42 было получено строгое правило с 5 условиями (уверенность = 0,95), при посеве 7 — более широкое правило с 8 условиями (уверенность = 0,74). В обоих случаях V14 < −1,5σ (или −1,6σ) является ведущим условием.

Анализ признаков, полученных при перекрестном посеве, подтверждает закономерность, наблюдаемую во всех пяти вариантах посева:

Особенность Появляется в Средневзвешенный балл
V14 2/5 семян 0.630
V11 2/5 семян 0,556
V12 2/5 семян 0,553
В10 2/5 семян 0,511
V4 1/5 семян 0,616
V17 1/5 семян 0,485

Даже при наличии всего двух начальных значений, дающих видимые правила, V14 занял первое или второе место в обоих случаях — статистически поразительное совпадение, учитывая отсутствие каких-либо предварительных указаний относительно признаков. Модели не нужно было указывать, что именно искать.

«Модель получила 30 анонимизированных признаков и градиентный сигнал. Тем не менее, она обнаружила V14».

Что показала модель — и почему это имеет смысл

V14 — один из 28 компонентов PCA, извлеченных из анонимизированных данных о транзакциях по кредитным картам. Что именно он представляет собой, не является общедоступной информацией — в этом и заключается смысл анонимизации. Многочисленные независимые анализы показали, что V14 имеет самую высокую абсолютную корреляцию с меткой мошенничества среди всех признаков в наборе данных.

Почему алгоритм обучения правилам это обнаружил? Механизм заключается в ошибке согласованности. Обучая правила таким образом, чтобы они соответствовали уверенным прогнозам многослойного перцептрона (MLP), алгоритм обучения правилам считывает внутренние представления MLP и преобразует их в символическую форму. MLP уже узнал из меток, что V14 важен. Ошибка согласованности перенесла этот сигнал в матрицу весов правил. Затем температурный отжиг закрепил этот вес в четком пороговом условии.

В этом заключается принципиальное различие между внедрением правил (статья 1) и обучением правилам (эта статья). Внедрение правил кодирует то, что вы уже знаете. Обучение правилам обнаруживает то, чего вы не знаете. В этом эксперименте открытием стал сигнал V14 — сигнал, который градиент обнаружил самостоятельно, без указания искать его.

В пяти вариантах начальных значений читаемые правила выявились в двух из них, неизменно выделяя V14. Это убедительно демонстрирует, что градиентный спуск может заново обнаруживать критически важные для предметной области сигналы, не требуя от пользователя специальных указаний по их поиску.

Гистограмма, показывающая прогнозируемую вероятность мошенничества по оси X от 0 до 1. Два перекрывающихся столбца: синий — для случаев отсутствия мошенничества, оранжевый — для случаев мошенничества. Случаи отсутствия мошенничества резко концентрируются около 0 с плотностью около 60. Случаи мошенничества резко концентрируются около 1,0 с плотностью около 25. Небольшой оранжевый столбец появляется около 0, а небольшой синий — около 0,85, что указывает на некоторое перекрытие.
Предсказанные распределения вероятностей мошенничества для начального значения 42. Модель научилась смещать вероятность отсутствия мошенничества к 0, а вероятность мошенничества к 1 с очень небольшим перекрытием — бимодальное разделение, которое выглядит как хорошая калибровка на несбалансированных данных. Изображение предоставлено автором.

Теперь группа по обеспечению соответствия может прочитать Правило 1, убедиться, что V14 < −1,5σ соответствует предметной области, и утвердить его — без необходимости открывать матрицу весов. Именно для этого и предназначено нейросимволическое обучение правилам.

Четыре момента, на которые следует обратить внимание перед развертыванием этого

  • Скорость отжига — ваш самый чувствительный гиперпараметр. Слишком быстро: правила кристаллизуются до того, как MLP успеет чему-либо научиться — вы получите четкий бессмысличный код. Слишком медленно: τ никогда не опускается достаточно низко, и правила остаются мягкими. Рассматривайте τ_end как первый параметр, который нужно настроить на новом наборе данных.
  • Параметр n_rules задает ваш бюджет интерпретируемости. При количестве правил от 8 до 10 у вас будет справочная таблица, а не набор правил, подлежащих аудиту. При количестве правил меньше 4 вы можете пропустить скрытые схемы мошенничества. Оптимальное количество правил для обеспечения соответствия требованиям — от 4 до 8.
  • Порог согласованности предполагает калибровку многослойного перцептрона (MLP). Если ваш базовый MLP плохо откалиброван — что часто встречается на сильно несбалансированных данных — маска срабатывает слишком редко. Постройте калибровочный график на основе результатов валидации. Рассмотрите возможность применения масштабирования Платта, если калибровка плохая.
  • Обученные правила необходимо проверять после каждого переобучения. В отличие от замороженных правил, написанных вручную, обученные правила обновляются при каждом переобучении модели. Команда по обеспечению соответствия не может утвердить правила один раз и уйти — утверждение должно происходить при каждом цикле переобучения.

Внедрение правил против обучения правилам — когда что использовать?

Ситуация Использовать
Глубокие знания в предметной области, устойчивые модели мошенничества. Внедрение правил (статья 1)
Неизвестные или изменяющиеся схемы мошенничества Изучение правил (эта статья)
Для соблюдения требований необходимы поддающиеся проверке и понятные правила. Обучение правилам
Быстрый эксперимент, минимальные инженерные затраты. Внедрение правил
Комплексный конвейер интерпретируемости Обучение правилам
Небольшой набор данных (<10 тыс. образцов) Внедрение правил — потеря согласованности требует сигнала

Метод обучения правилам добавляет примерно 200 строк кода и перебор гиперпараметров. Он не бесплатный. На очень маленьких наборах данных функция потерь согласованности может не накапливать достаточно информации для обучения значимым правилам — необходимо проверять достоверность, прежде чем считать извлеченные правила авторитетными. Этот подход — инструмент, а не решение.

Одно честное наблюдение из эксперимента с пятью начальными значениями: в 3 из 5 начальных значений сильное давление разреженности привело к тому, что все веса правил оказались ниже порога извлечения. Модель сошлась к правильному ответу на вопрос об обнаружении, но выразила его исключительно через путь многослойного перцептрона. Это расхождение реально. Результаты, полученные с использованием одного начального значения, дали бы обманчиво четкую картину — именно поэтому многоначальная оценка является обязательной для любой статьи, в которой делаются заявления о поведении изученных правил.

Следующий вопрос в этой серии статей — могут ли эти извлеченные правила сигнализировать о сдвиге концепции, то есть выявлять, когда модели мошенничества изменились настолько, что правила нуждаются в обновлении до того, как производительность модели начнет снижаться. Когда важность правил версии V14 снижается в весовых коэффициентах, а показатели обнаружения остаются стабильными, распределение мошенничества может меняться. Этот ранний предупреждающий сигнал станет темой следующей статьи.

Раскрытие информации

Данная статья основана на независимых экспериментах с использованием общедоступных данных (набор данных Kaggle о мошенничестве с кредитными картами, CC-0 Public Domain) и инструментов с открытым исходным кодом (PyTorch, scikit-learn). Не использовались никакие проприетарные наборы данных, ресурсы компаний или конфиденциальная информация. Результаты и код полностью воспроизводимы в описанном виде, а полная реализация находится в репозитории GitHub. Мнения и выводы, выраженные здесь, являются моими собственными и не отражают позицию какого-либо работодателя или организации.

Ссылки

[1] Эванс, Р., и Грефенстетте, Э. (2018). Изучение объяснительных правил на основе зашумленных данных. JAIR, 61, 1–64. https://arxiv.org/abs/1711.04574

[2] Вольфсон, Б., и Акар, Э. (2024). Дифференцируемое индуктивное логическое программирование для обнаружения мошенничества. Препринт arXiv:2410.21928. https://arxiv.org/abs/2410.21928

[3] Мартинс, Дж. Л., Браво, Дж., Гомес, А. С., Соарес, К., и Бизарро, П. (2024). RIFF: Построение правил обнаружения мошенничества на основе деревьев решений. RuleML+RR 2024. arXiv:2408.12989. https://arxiv.org/abs/2408.12989

[4] Сюй, С., Вальтер, Н.П., и Врикен, Дж. (2024). Нейросимволические списки правил. Препринт arXiv:2411.06428. https://arxiv.org/abs/2411.06428

[5] Кустерс, Р., Ким, Й., Коллери, М., де Сент-Мари, К., и Гупта, С. (2022). Дифференцируемая индукция правил с помощью изученных реляционных признаков. Препринт arXiv:2201.06515. https://arxiv.org/abs/2201.06515

[6] Даль Поццоло, А. и др. (2015). Калибровка вероятности с помощью недовыборки для несбалансированной классификации. IEEE SSCI. Набор данных: https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud (CC-0)

[7] Александр, Э.П. (2026). Гибридное нейросимволическое обнаружение мошенничества. К науке о данных. https://towardsdatascience.com/hybrid-neuro-symbolic-fraud-detection-guiding-neural-networks-with-domain-rules/

[8] Лю, Ф.Т., Тин, К.М., и Чжоу, З.-Х. (2008). Изоляционный лес. В сборнике трудов Восьмой международной конференции IEEE по интеллектуальному анализу данных (ICDM), стр. 413–422. IEEE. https://doi.org/10.1109/ICDM.2008.17

[9] Пашке А. и др. (2019). ПайТорч. NeurIPS 32. https://pytorch.org.

[10] Педрегоса, Ф. и др. (2011). Scikit-learn: машинное обучение на Python. JMLR, 12, 2825–2830. https://scikit-learn.org

Код: github.com/Emmimal/neuro-symbolic-ai-fraud-pytorch

Предыдущая статья: Гибридное нейросимволическое обнаружение мошенничества: управление нейронными сетями с помощью правил предметной области

Эммимал П. Александр. Посмотреть все работы Эммимал П. Александра.

Источник: towardsdatascience.com

✅ Найденные теги: искусственный интеллект, Как, Мошенничество, Нейронная Сеть, Нейросимволический Эксперимент, новости

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Военные готовят беспилотник к запуску в полевых условиях.
Абстрактные геометрические формы на синем фоне, разноцветные круги и линии.
Иллюстрации анатомии сердца и почки в винтажном стиле.
Таблица процессоров Intel для настольных ПК 2026 года с характеристиками.
Презентация MWC26: оратор на сцене обсуждает будущее интернета.
ClawRouter: автономный LLM-маршрутизатор для агентов, без учётных записей и API ключей.
Пошаговая инструкция: как поменять розетку для начинающих.
Штаб-квартира Alibaba с логотипом и фигурой на фоне современного здания.
Диаграмма занятости в США, визуализация распределения рабочих мест по отраслям.
Image Not Found
Военные готовят беспилотник к запуску в полевых условиях.

ИИ превращает беспилотники в боевых роботов

@ Алексей Коновалов/ТАСС На наших глазах происходит очередной этап технологической революции в военной сфере: беспилотники становятся полностью автономными боевыми системами. Они больше не требуют управления оператором, эту функцию берет на себя искусственный интеллект (ИИ). Первые образцы таких…

Мар 24, 2026
Таблица процессоров Intel для настольных ПК 2026 года с характеристиками.

Чуда не произошло: вышли обзоры Intel Core Ultra 5 250K Plus и Core Ultra 7 270K Plus

Вот и появились первые полноценные обзоры центральных процессоров Intel Core Ultra 200S Plus, а точнее моделей Core Ultra 5 250K Plus и Core Ultra 7 270K Plus. По сравнению с уже вышедшими ранее Core Ultra 5 245K…

Мар 23, 2026
Презентация MWC26: оратор на сцене обсуждает будущее интернета.

Ли Пэн, компания Huawei, — Ускорение перехода к эре агентского Интернета с использованием 5G-A и ИИ

На выставке MWC Barcelona 2026 Ли Пэн (Li Peng), старший вице-президент компании Huawei и президент подразделения по продажам и обслуживанию ИКТ, выступил с основным докладом о том, как операторы могут максимизировать ценность 5G-A и ИИ для ускорения…

Мар 23, 2026
Твердотельный аккумулятор Donut на выставочном стенде, современный дизайн.

Твердотельная батарея Donut Lab после повреждения едва держала заряд.

Но с другой стороны, оно не загорелось. Эндрю Дж. Хокинс, редактор раздела «Транспорт». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего сайта. Все работы Эндрю…

Мар 23, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых