神经网络如何学习自己的欺诈规则:神经符号人工智能实验

大多数神经符号系统都会注入人类编写的规则。但如果神经网络本身能够发现这些规则呢?在本实验中,我使用可微规则学习模块扩展了混合神经网络,该模块在训练期间自动提取 IF-THEN 欺诈规则。在 Kaggle 信用卡欺诈数据集(欺诈率为 0.17%)上,该模型学习了可解释的规则,例如:神经网络如何学习其自己的欺诈规则:神经符号 AI 实验首先出现在《走向数据科学》上。

来源:走向数据科学

系统注入人类编写的规则。但如果神经网络能够自己发现这些规则呢?

在本实验中,我使用可微规则学习模块扩展了混合神经网络,该模块在训练期间自动提取 IF-THEN 欺诈规则。在 Kaggle 信用卡欺诈数据集(欺诈率为 0.17%)上,模型学习了可解释的规则,例如:

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

其中 σ 表示归一化后的特征标准差。

规则学习器实现了 ROC-AUC 0.933 ± 0.029,同时保持神经网络预测 99.3% 的保真度。

最有趣的是,该模型独立地重新发现了 V14——分析师长期以来都知道该功能与欺诈密切相关——而没有被告知要寻找它。

本文提出了一个可重复的神经符号人工智能实验,展示了神经网络如何直接从数据中发现可解释的欺诈规则。

完整代码:github.com/Emmimal/neuro-symbolic-ai-fraud-pytorch

模型发现了什么

在架构、损失函数或任何训练细节之前 - 这是另一端出现的内容。

经过最多 80 个 epoch 的训练(早期停止,大多数种子在 56-78 epoch 之间收敛),规则学习者在规则清晰出现的两个种子中产生了这些:

种子 42 — 最干净的规则(5 个条件,conf=0.95)

学习欺诈规则 - 种子 42 · 规则从未手动编码

IF V14 < −1.5σ

且 V4 > +0.5σ

且 V12 < −0.9σ

且 V11 > +0.5σ

且 V10 < −0.8σ

然后是欺诈

种子 7——互补规则(8 个条件,conf=0.74)

学习欺诈规则 - 种子 7 · 规则从未手动编码IF V14 < −1.6σ且 V12 < −1.3σ且 V4 > +0.3σ且 V11 > +0.5σ且 V10 < −1.0σ且 V3 < −0.8σ且 V17 < −1.5σ且 V16 < −1.0σ然后是欺诈在这两种情况下,V14 的低值都是逻辑的核心——在零先验指导的情况下,这是一个惊人的收敛。模型从未被告知哪个特征重要。然而,它独立地重新发现了人类分析师多年来已识别的相同特征。其中:披露