Notes · 2026.02.07

OOD 才是检测的日子

跨数据集。

1 min · paper

参与跨数据集 OOD 评测。生成器换了、领域换了,检测器还在不在。同分布是作业。OOD 是日子。MGAB、TextGuard-Bench 是为这些日子准备的。我写参与,不写我们全面解决了鲁棒。全面这个词会把没测的领域删掉。没测的当没测。测了仍散的,写进 limitation。散是日子的一部分。日子不是靠标题里有 OOD 四个字母就到来的。

作业和日子

作业有标准答案的味道:同一批生成器、同一类文本、划分已知。模型在这上面可以学到很多捷径。捷径在作业里加分。日子里生成器换了,捷径没了。没了之后还报同分布的数,是把作业当工作。

我见过检测器在作业上很稳,换一批文本就散。散的样子不一定是准确率崩到随机。有时只是某类改写、某个领域开始乱报。乱报对产品足够致命。产品里用户不会声明「我仍在你的训练集分布里」。

OOD 评测的意义是把这一天提前模拟出来。模拟不是真实世界的全部。模拟至少比只交作业诚实。诚实的代价是数字难看。难看的数字要留着。留着才知道方法停在哪。

跨生成器、跨领域

生成器换了,表层统计会变。领域换了,话题和格式会变。两变叠在一起,才接近有人把检测器丢进新场景。MGAB、TextGuard-Bench 把这些条件放进协议。协议比单次灵感重要。灵感会挑自己擅长的迁移。协议不让挑。

我协助整理对照和记录。记录里要写清:源是什么、目标是什么、划分有没有漏、seed 是什么。缺这些,OOD 四个字母只是标签。标签很好看。好看的标签和 Under Review 写成中了,是同一类满。

ChProv-Bench v5 那条线也强调隔离和版本。版本变了还用旧 OOD 结论,会把不同日子拼在一起。拼在一起的曲线,不能叫还在不在。叫拼图。

不写全面解决

鲁棒没有全面。全面这个词会把 limitation 删掉。limitation 里应该写:哪些迁移还散、哪些改写后信号弱、哪些领域没测。没测的当没测。没测写成已覆盖,是抢跑。

我参与 LPP、CDFI、GA-AT 相关工作时,同样只用参与。方法可以针对日子去设计。设计意图不是成绩。成绩是协议上的表。表未出门,意图只留在笔记。

站点上若出现「我们在 OOD 上全面领先」,我会当缺陷删掉。领先需要公开可指回的对比。对比没有,就写做了跨数据集评测。做了,和赢了,中间差一截审稿和复现。

日子也有假的过法

假的过法是:OOD 集和训练集有亲戚,只是文件夹名不同。亲戚关系要查。查的是题组、来源、切分键。查完才能叫跨。没查就跨,数字会像日子,底子仍是作业。

另一假是只报还站得住的子集。子集可以分析。分析要标明。标明了是分析。不标明是挑选。挑选过的日子,不是日子。

限制

这篇没有新表。不预测哪类生成器一定能挡住。NeurIPS 2026、AAAI 2027 仍是 Under Review。我能写的是:检测的日子在分布外面;我参与这些评测;结论说到证据停,停的地方叫 limitation,不叫即将解决。

同分布表我仍会跑。跑是为了确认实现没写崩。没写崩写进日志即可。对外主句如果还停在作业,日子就被推迟了。推迟的日子不会因为标题里有 OOD 就到来。到来要靠协议里真正换了生成器和领域,并且划分没把亲戚放进来。亲戚放进来的跨数据集,只是换了文件夹名。文件夹名骗得过自己,骗不过下一次真换生成器的那天。

跨之前先查亲戚

OOD 集和训练集有没有同一题组、同一来源、同一切分键,要查。没查就报跨,数字像日子,底子仍是作业。另一假是只报还站得住的子集却不标明。标明了是分析,不标明是挑选。这篇没有新表,也不预测哪类生成器一定能挡住。

同分布表放哪

同分布我仍会跑,确认实现没写崩。没写崩写进日志。对外主句如果还停在作业,日子就被推迟了。推迟不会因为标题里有 OOD 就结束。结束要靠协议里真的换了生成器和领域,并且划分没把亲戚放进来。 亲戚放进来的跨数据集,只是换了文件夹名。文件夹名骗得过自己,骗不过下一次真换生成器的那天。