Token导航 LogoToken导航

AI 资讯 · 科技行者

信用卡欺诈检测中AI如何从无异常样本模型识别异常

更新 2026-11-03科技行者正文 6483字阅读约 21分钟

2018年,一群信用卡欺诈检测的研究者遇到了一个很尴尬的问题。

他们想训练一个系统,让它学会分辨"正常交易"和"欺诈交易"。按理说这应该简单,给系统看一堆标注好的正常样本,它就该学会什么叫正常。可现实是,用来训练的"正常样本"里,混进了没被发现的欺诈交易。调查员根本没时间核实每一笔账,查不过来的那部分,就直接被当成正常记录存进了历史数据库。

这就像让一个新警察去学习"什么是守法公民",结果教材里混进了几个还没被抓的罪犯照片,标注着"好人"。警察学出来的判断标准,自然也会跟着跑偏。

这篇来自以色列理工学院的论文,讲的就是怎么在这种"教材本身不干净"的情况下,还能训练出一个靠谱的异常检测系统。而且它用了一个挺意外的工具:原本是用来做表格数据预测的AI模型。

**表格数据的异常检测,一直缺一个"好用的大脑"**

你可能用过图像识别软件,拍张照片就能认出猫狗、认出商品。这背后很大程度要感谢深度学习在图像领域的一个关键突破:预训练模型。

预训练模型:提前在海量数据上训练好、可以直接拿来用或稍加调整就能用于新任务的AI模型,省去了从零开始训练的成本。

简单说,图像识别领域有个巨大的福利,就是有一堆已经训练好、效果拔群的通用图像模型,随便拿来提取特征,效果就比很多精心设计的专用算法还好。这就好比你搬家不用自己打家具,直接去宜家买现成的,又快又好。

但表格数据,比如银行交易记录、医疗病历、网络日志,一直没有这种"宜家家具"。每次换一个新的表格任务,模型往往得从头学起。论文里提到一篇叫PANDA的图像异常检测论文,作者直接承认,这种方法用不到表格数据上,就是因为"缺乏通用的特征提取器"。

转机出现在最近几年,一类叫做PFN的模型横空出世。

PFN(prior-data fitted network,先验数据拟合网络):一种专门为表格数据设计的Transformer模型,它不需要针对每个新数据集重新训练,看一眼新表格就能直接给出预测,这种能力叫"上下文学习"。

TabPFN是这类模型里最知名的一个,它在大量人工合成的表格数据上提前训练好,拿到一张新表格后,只需要一次前向计算就能给出预测结果,效果能打平甚至超过精心调过参的传统方法。

这就提出了一个有意思的问题:TabPFN这种模型,从来没被专门训练去找异常,它天生是用来做预测的。那它学到的那套"理解表格数据"的本事,能不能被挪用来干异常检测这件事?

这篇论文的答案是:能,而且效果很好。

**先别训练,直接看"谁离谁远"**

研究者给出的第一个方案,叫做ZEN。

ZEN(Zero-training Embedding Neighbors,零训练嵌入近邻法):完全不改动TabPFN模型参数,只利用它原本的内部表示来做异常打分的方法。

ZEN的核心思路其实很朴素:把每个样本丢进TabPFN,让它吐出一串内部数字(这串数字叫"嵌入",可以理解成模型对这个样本的"理解摘要"),然后看一个新样本的嵌入和训练集里的样本们离得有多远。离得越远,就越可能是异常。

这个想法并不新鲜。它本质上是最古老的异常检测方法之一:看某个样本周围是不是很"孤独"。但问题在于,直接用原始数据算距离效果一般,而研究者发现,如果换成用TabPFN内部某一层算出来的嵌入去算距离,效果立刻好了一大截。

这里有个技术细节值得展开说。TabPFN内部有24层Transformer结构,研究者没有用模型最终输出的那一层,而是专门挑了倒数第四层到最后一层这四层的信息拿来用。

这就好比你想判断一个人靠不靠谱,不能只看他最后说的那句场面话,但也不能听他从头到尾每句车轱辘话都当真,得挑他聊到关键问题时那几句最实在的发言来判断。论文里专门做了实验验证这个选择,如果只用最后一层的输出,或者把24层全部用上,效果都会打折扣,用全部24层会让准确率掉2.7到2.9个点,这说明太深层的表示已经过度专门化为"做预测"服务,不一定适合用来衡量"正常不正常"。

但光是换一个距离度量方式,还不足以解决开头说的那个"教材本身不干净"的问题。如果训练集里混进了没被发现的异常样本,一个新来的异常样本恰好跟它们长得像,那算距离的时候反而会显得这个新样本很"正常",因为它旁边刚好站着几个同类。

研究者对此设计了一套叫"软清洗"的机制。

软清洗:给训练集里的每个样本计算一个"可信度权重",判断依据是这个样本本身离它自己的近邻有多远。如果一个样本自己都显得很孤立(说明它很可能本身就是混进来的异常),它的权重就被调低,这样它在后续给别的样本当"参照物"时,影响力就会被削弱。

这里的巧妙之处在于,软清洗并不会把可疑样本直接从训练集里删掉,而是把它的"发言权"降低。实际测出来的数字很说明问题:被怀疑是异常的训练样本,平均权重是0.70,而正常样本的平均权重是1.16。这意味着,一个真正的测试异常样本,哪怕凑巧靠近训练集里那个"伪装成正常"的异常,这个邻居现在的分量也打了对折,不再能轻易把它带偏。

为了让这套判断更靠谱,研究者还加了一个"多角度投票"的设计:不是只用全部特征算一次嵌入,而是每次随机抽取一半特征,重复算上五六遍,再把结果汇总平均。

这就像你要判断一个陌生人靠不靠谱,光听他一次发言容易被带偏,但如果换着话题问他好几轮,每次聊不同的方面,再综合判断,误判的概率就小多了。论文的数据也证实了这一点:汇总多个特征子集的孤立度估计,判断训练集里哪些是异常的准确率能到76.7%,而单用一次全特征的判断只有74.6%,单用一个随机子集只有71.9%。

这一整套零训练方案ZEN,在ADBench基准测试的47个数据集上,平均AUROC(一种衡量分类效果好坏的指标,越接近100越好)达到了79.7分,超过了之前所有对比方法,包括经典的孤立森林(76.4分)和原始特征直接算近邻的方法(73.9分)。

**让模型主动把"正常"往一块儿挤**

ZEN已经很能打,但研究者没有就此打住。

他们接着问了一个问题:TabPFN的内部表示,终究是为了做监督学习任务训练出来的,并不是专门为了区分"正常"和"异常"。既然用的是预训练模型,能不能像图像领域那样,用少量数据对它进行微调,让它的表示更贴合当前这个异常检测任务?

这就是第二个方案,FOCUS。

FOCUS(Fine-tuned One-Class Unsupervised Scoring,微调单类无监督打分法):在ZEN的基础上,用训练集对TabPFN的部分参数做进一步调整,让"正常样本"的嵌入在空间里彼此靠得更近,从而拉开和异常样本的距离。

这个思路继承自一个叫DeepSVDD的经典方法,核心做法是设定一个固定的"中心点",然后训练模型,让所有正常样本的表示都尽量往这个中心点收缩。

想象你在整理一个杂乱的衣柜,把所有常穿的衣服都挂到柜子中间那个最顺手的区域,不常穿的、过时的衣服自然就会显得格格不入,堆在角落。FOCUS做的就是这件事:让模型主动把"看起来正常"的样本往一起挤,这样一来,那些真正的异常样本,不管是训练集里混进来的还是测试时冒出来的,都会显得更加突兀。

但这里有个陷阱,论文也诚实地提到了:如果不加约束地去"挤压"特征空间,模型很容易走捷径,直接把所有东西都挤成同一个点,这样看起来"损失函数"数值很低,但其实什么信息都没学到,这叫"坍缩"。

为了避免这个问题,FOCUS做了几个限制。一是固定住那个中心点,不让它随着训练来回跑;二是只微调TabPFN最后几层(污染场景下只调6层,干净场景下调12层),而不是整个模型都动;三是训练集里每个样本参与"往中心挤"这个过程时,也要按照之前ZEN里算出的可信度权重来加权,可疑样本的拉力被削弱,这样异常样本就不会"带着"模型一起往错误的方向收缩。

还有一个细节很值得一提。训练这类单类模型,正常做法需要一个干净的验证集来判断什么时候该停止训练,免得训练过头导致特征质量下降。但异常检测场景根本没有带标签的验证集可用。研究者的解法是,只训练固定的两轮,然后把第一轮和第二轮结束时的模型参数取平均,当作最终模型。

这个做法背后有个叫"随机权重平均"的技巧支撑,道理类似于你问路时同时问了两个路人,他们各自指的方向可能都有点偏差,但把两个方向取个中间值,往往比单独信任任何一个都更靠谱。

加上这套微调,FOCUS在污染场景下的平均AUROC达到80.0分,比ZEN又提高了0.3分,比表现最好的基线方法孤立森林高出3.6分,统计检验显示这个差距非常显著(p值只有0.01)。

**当训练数据被"下毒",谁扛得住?**

这篇论文最核心的一个发现,其实藏在一个对比里,就是"干净场景"和"受污染场景"之间的巨大落差。

论文把异常检测分成两种情况去测。一种是训练数据完全干净,没有任何异常混进去(这叫干净场景);另一种更贴近真实世界,训练数据里混着一定比例、但没人知道具体多少的异常样本(这叫污染场景)。

数据显示,很多在干净场景下表现极好的方法,一旦换到污染场景,表现直接崩盘。

论文给出的具体数字很扎心:直接用原始特征算近邻的方法,在干净场景下AUROC能到85.1分,是当时表现最好的基线之一,可一旦换成污染场景,直接掉到73.9分,整整掉了11.2个点。另一个经典方法LOF(局部异常因子),掉得更狠,从82.9分跌到65.4分,跌了17.5个点。

这说明什么?说明这些方法天生就对"教材不干净"这件事毫无抵抗力。一旦有一个异常样本混进了训练集,它就会在特征空间里形成一小团"伪装成正常"的区域,而那些真正的测试异常样本,只要凑巧落在这团区域附近,立刻就能蒙混过关。

而FOCUS的表现则稳健得多,从干净场景的85.9分降到污染场景的80.0分,只掉了5.9个点,是所有对比方法里掉得最少的几个之一。

这个对比也直接回答了开头提出的那个问题,为什么要专门设计"软清洗"和"信任加权"这套机制。如果没有它们,哪怕换上再好的预训练模型,照样会被几个混进训练集的异常样本带偏判断。软清洗不是锦上添花的小技巧,它是让整套系统能扛住"脏数据"这个现实世界常态的关键防线。

**换一个大脑,结论还成立吗**

研究者没有满足于只验证TabPFN一个模型,他们接着问了一个更根本的问题:这套"从冻结的预训练模型提取特征再做异常检测"的思路,是不是只对TabPFN这一个模型有效,还是说,这是一类预训练表格模型普遍具备、但从未被发掘的能力?

他们把同样的ZEN方法,不做任何针对性调整,直接套用到另外四个表格基础模型上:TabPFN v2、TabICL、Mitra,以及一个训练方式不太一样的TabDPT(前三个都是在合成数据上训练的PFN类模型,TabDPT则是直接在真实表格数据上预训练的)。

结果相当一致:ZEN给每个模型都带来了显著提升,幅度大约在5到8个AUROC点之间,而且每一个提升在统计上都是显著的。其中TabICL和TabDPT配上ZEN之后的表现,已经接近论文主推的TabPFN-3。

这个结果其实挺耐人寻味的。它说明这些模型在预训练阶段虽然压根没被教过"什么是异常",但它们学到的那套理解表格数据结构的内部表示,天然就携带着能区分"正常"和"异常"的信息,只是之前没人想办法把它挖出来用。

这就好比一个人从小学的是修理汽车发动机,从没专门学过怎么判断一台机器是不是出了故障。可当他真正面对一台陌生的机器时,凭借对"正常运转该是什么样子"的深刻理解,他照样能一眼看出哪里不对劲。表格基础模型的预训练目标是"预测标签",可它在学会预测的过程中,顺带把"什么样的数据长得正常"这件事也学会了,这是一种溢出能力。

**账本要算清楚:这套方法要花多少代价**

论文也很坦诚地交代了这套方法的成本。

ZEN和FOCUS都需要GPU才能跑,在一块A100显卡上,每分钟大约能处理3500个样本,这比很多经典的传统方法(比如孤立森林、PCA这类CPU上就能秒出结果的方法)要慢得多。原因在于,每打一个分数,背后都要让TabPFN跑好几次前向计算,因为要配合六个不同的特征子集、以及每个子集内部的十折留一法嵌入提取。

论文给出的具体对比数据很直观:孤立森林处理完全部47个数据集只要7.8秒,而ZEN光是最后一步的特征提取和打分就要花掉将近2904秒,FOCUS的微调训练阶段更是要花7340秒。

研究者也给出了一些省钱的办法,比如把留一法的折数从10折降到2折,几乎不影响效果但能明显提速;或者减少随机特征子集的数量,用精度换速度。这些都算是开了个口子,但没有彻底解决问题。

另外论文测试的数据规模也有上限,官方测试里最大的训练集是1万个样本。虽然TabPFN-3本身号称能处理上百万样本,但这套异常检测方法在更大规模下是否依然稳健,论文里并没有给出答案,这是留给后续工作的一道题。

**结果汇总:数字说话**

在ADBench基准测试的47个经典表格数据集上,污染场景下FOCUS平均AUROC达到80.0分,是对比的18种方法里最高的,ZEN以79.7分紧随其后,第三名孤立森林是76.4分。干净场景下,FOCUS以85.9分同样排名第一,原始特征近邻法以85.1分紧跟其后。无论用哪种评价指标(AUROC还是AUPRC),FOCUS和ZEN都稳居前列,而且针对18种对比方法做的统计检验显示,FOCUS在污染场景下相较每一个基线方法的优势都具有统计显著性。

写在后面

读完这篇论文,最触动我的其实不是FOCUS或者ZEN具体的技术细节,而是论文里那张"损失曲线"背后透出的一种研究态度。

研究者明明可以把微调做得更复杂、更花哨,加更多正则化技巧、设计更精巧的损失函数,但他们最后选择的方案其实朴素到有点意外:只训练两轮,取两轮参数的平均值,不做任何额外的早停判断或验证集调参。这个选择背后的逻辑很诚实,因为异常检测这个任务天生没有标签可用于验证,与其硬凑一个可能带偏差的验证方案,不如选一个简单、稳定、不容易出错的笨办法。这种"知道自己不知道什么"的克制,在学术论文里其实并不常见,很多工作反而倾向于把流程设计得越复杂越显得有技术含量。

还有一个细节让我重新想了想"预训练模型"这件事的本质。论文里提到,TabPFN从来没有被告知过"什么是异常",它的全部训练过程都是在学怎么做监督预测。可当研究者换个角度去读取它内部某几层的表示时,这个从未见过异常概念的模型,居然天然具备区分正常和异常的能力。这让我想起一件事:一个只学过下棋规则、从没专门学过"骗术"的棋手,可能依然能一眼看出对手走了一步反常的棋,因为他对"正常对局该是什么样子"有足够深的理解。能力的边界,有时候比我们预设的要宽得多。

论文里有一组实验让我意外,软清洗机制在干净场景下反而会拖累成绩,拉低0.4到2.5个点不等。这其实提醒我们一件很朴素的事:没有万能药。一个为了对抗脏数据而设计的保险机制,在数据本身就干净的时候,反而成了多余的噪音,这是设计任何鲁棒性方案时都绕不开的权衡。

Q&A

Q1:ZEN和FOCUS是什么,两者有什么区别?

A:ZEN是一种不需要训练、直接用冻结的TabPFN模型提取特征再做近邻打分的异常检测方法;FOCUS是在ZEN基础上,进一步用训练集对TabPFN部分参数做微调,让正常样本的特征表示更靠拢,从而提升检测效果,FOCUS整体表现略优于ZEN。

Q2:为什么训练集里混入异常样本会严重影响异常检测效果?

A:因为很多检测方法依赖"离训练集样本远近"来判断异常,如果训练集里混进了未被发现的异常样本,测试阶段真正的异常样本如果恰好和它们相似,就会被误判为正常,论文测试显示部分传统方法在这种情况下AUROC会下降超过10个点。

Q3:这套基于TabPFN的异常检测方法是否只对TabPFN有效?

A:不是,论文将同样方法应用到TabPFN v2、TabICL、Mitra、TabDPT等另外四个表格基础模型上,均取得5到8个AUROC点的显著提升,说明这种从预训练表示中挖掘异常检测能力的思路具有普遍性。

文章标签AI资讯

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。