效果如此炸裂,这篇 ACL Finding 论文为啥没被主会议录入呢?

几天前,ACL 2023 大奖公布,引起了极大的重视。

但在众多录入的论文中,一篇名为《 “Low-Resource” Text Classification: A Parameter-Free Classification Method with Compressors 》的论文开始引起咱们热议。这篇论文由滑铁卢大学、 AFAIK 组织联合完结,但既不是获奖论文更不是主会议论文。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

  • 论文地址:aclanthology.org/2023.findin…
  • 代码地址:github.com/bazingagin/…

UCSB 助理教授王威廉形容这篇论文比 95% 的 ACL 主要会议论文更有创造性,因而不明白为什么仅仅作为 Findings 论文被录取:

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

也有网友称这是他今年见到最滑稽的成果:

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

这篇论文到底有何立异,得到咱们如此的好评。接下来咱们看看具体内容。

这篇文章主要是针对文本分类使命的。文中表明文本分类作为自然语言处理(NLP)中最根底的使命之一,在神经网络的协助下取得了显著的改进。可是,大多数神经网络对数据的需求很高,这种需求随着模型参数数量的添加而添加。

在众多模型中,深度神经网络(DNN)由于准确率高,因而常常被用来进行文本分类。可是,DNN 是核算密集型的,在实践中运用和优化这些模型以及迁移到散布外泛化 (OOD) 的本钱十分高。

研讨者开始寻求代替 DNN 的轻量级办法,运用紧缩器进行文本分类开始得到咱们的重视。在这一范畴,已经有研讨者入局,可是,已有的办法在功能上还是无法与神经网络相媲美。

针对这一缺点,本文提出了一种文本分类办法,他们将无损紧缩器(如 gzip)与 k 最近邻分类器(kNN)相结合。

文中表明,采用这种办法在没有任何练习参数的情况下,他们在七个散布内数据集和五个散布外数据集上的试验表明,运用像 gzip 这样的简略紧缩器,他们在七个数据会集的成果有六个与 DNNs 成果相媲美,并在五个散布外数据集上胜过包括 BERT 在内的一切办法。即便在少样本情况下,本文办法也大幅逾越了一切模型。

网友也对这一成果感到惊讶,gzip+kNN 在文本分类使命中居然胜过了 BERT 和其他神经网络办法。更令人意外的是这个算法没有练习过程、没有调优、没有参数 —— 有的仅仅 14 行代码,这便是整个算法内容。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

办法概览

本文办法包含了一个无损紧缩器、一个基于紧缩器的间隔衡量以及一个 K 最近邻分类器。其间无损紧缩器旨在通过将较短代码分配给概率更高的符号,来运用尽或许少的比特表明信息。

运用紧缩器进行分类源于以下两个直觉常识:1)紧缩器长于捕捉规律,2)同一类其他目标比不同类其他目标具有更强的规律性。

举例而言,下面的 x_1 与 x_2 归于同一类别,但与 x_3 归于不同类别。假如咱们用 C (・) 来表明紧缩长度,会发现 C (x_1x_2) − C (x_1) < C (x_1x_3) − C (x_1),其间 C (x_1x_2) 表明 x_1 和 x_2 串联的紧缩长度。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

这一直觉常识能够方式化为从柯尔莫哥洛夫(Kolmogorov)复杂度中导出的间隔衡量。为了丈量两个目标之间同享的信息内容,Bennett 等研讨人员在 1998 年发表的论文《Information distance》中将信息间隔 E (x, y) 界说为将 x 转化成 y 的最短二进制程序的长度。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

由于柯尔莫哥洛夫复杂度的不行核算性导致了 E (x,y) 不行核算,因而 Li et al. 在 2004 年的论文《The similarity metric》中提出信息间隔的归一化和可核算版别,即归一化紧缩间隔(Normalized Compression Distance, NCD),它运用紧缩长度 C (x) 来近似柯尔莫哥洛夫复杂度 K (x)。界说如下:

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

运用紧缩长度的背面在于被紧缩器最大化紧缩的 x 的长度挨近 K (x)。一般来说,紧缩比越高,C (x) 就越挨近 K (x)。

研讨者表明,由于主要试验成果运用 gzip 作为紧缩器,所以这儿的 C (x) 表明 x 通过 gzip 紧缩后的长度。C (xy) 是连接 x 和 y 的紧缩长度。有了 NCD 提供的间隔矩阵,就能够运用 k 最近邻来进行分类。

本文办法能够用如下 14 行 Python 代码实现。输入的是 training_set、test_set,两者均由(文本、标签)元组数组和 k 组成。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

该办法是 DNN 的简略、轻量级和通用的代替方案。简略在于不需求任何预练习或练习;轻量级在于无需参数或 GPU 资源即可进行分类;通用在于紧缩器与数据类型无关,而且非参数办法不会带来潜在的假定。

试验成果

在试验部分,研讨者选择多种数据集来研讨练习样本数量、类别数量、文本长度以及散布差异对准确性的影响。每个数据集的细节如下表 1 所示。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

研讨者将自己的办法与 1)需求练习的神经网络办法和 2)直接运用 kNN 分类器的非参数办法,这儿有或没有对外部数据进行预练习。他们还对比了其他三种非参数办法,即 word2vec、预练习语句 BERT(SentBERT)和实例长度,它们全部运用 kNN 分类器。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

在散布内数据集上的成果

研讨者在下表 3 中七个数据集上练习一切基线办法,成果显现,gzip 在 AG News、R8 和 R52 上体现得十分好。其间在 AG News 数据集上,微调 BERT 在一切办法中取得了最佳功能,而 gzip 在没有任何预练习情况下取得了有竞争力的成果,仅比 BERT 低了 0.007。

在 R8 和 R52 上,唯一优于 gzip 的非预练习神经网络是 HAN。在 YahooAnswers 数据集上,gzip 的准确率比一般神经办法低了约 7%。这或许是由于该数据集上的词汇量较大,导致紧缩器难以紧缩。

因而能够看到,gzip 在极大的数据集(如 YahooAnswers)上体现欠安,但在中小型数据集上很有竞争力。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

研讨者在下表 4 中列出了一切基线模型的测试准确率平均值(TextLength 除外,它的准确率十分低)。成果显现,gzip 在除 YahooAnswers 之外的一切数据集上都高于或挨近平均值。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

在散布外(OOD)数据集上的成果

下表 5 中,无需任何预练习或微调,gzip 在一切数据集上优于 BERT 和 mBERT。成果表明,gzip 在 OOD 数据集上优于预练习和非预练习深度学习办法,表明该办法在数据集散布方面具有通用性。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

少样本学习

研讨者还在少样本设置下比较 gzip 与深度学习办法,并在 AG News、DBpedia 和 SogouNews 上对非预练习和预练习深度神经网络进行试验。

成果如下图 2 所示,在三个数据集上,gzip 的功能优于设置为 5、10、50 的非预练习模型。当 shot 数量少至 n = 5 时,gzip 的功能大幅优于非预练习模型。其间在 AG News 5-shot 设置下,gzip 的准确率比 fastText 高出了 115%。

此外,在 100-shot 设置下,gzip 在 AG News 和 SogouNews 上的体现也优于非预练习模型,但在 DBpedia 上的体现稍差。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现

研讨者进一步在五个 OOD 数据集上研讨了 5-shot 设置下,gzip 与 DNN 办法的比较成果。成果显现,gzip 大大优于一切深度学习办法。在相应的数据集,该办法较 BERT 准确率别离添加了 91%、40%、59%、58% 和 194%,较 mBERT 准确率别离添加了 100%、67%、40%、12% 和 130%。

Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现