张倩、小舟、杜伟编译

性能媲美BERT,但参数量仅为1/300,这是谷歌最新的NLP模型

在最新的博客文章中,谷歌公布了一个新的 NLP 模型,在文本分类任务上可以达到 BERT 级别的性能,但参数量仅为 BERT 的 1/300。

在过去的十年中,深度神经网络从根本上变革了自然语言处理(NLP)领域的发展,但移动端有限的内存和处理能力对模型提出了更高的要求。人们希望它们可以变得更小,但性能不打折扣。

去年,谷歌发布了一种被称为 PRADO 的神经架构,该架构当时在许多文本分类问题上都实现了 SOTA 性能,并且参数量少于 200K。大多数模型对每个 token 使用固定数目的参数,而 PRADO 模型使用的网络结构只需要很少的参数即可学习与任务最相关或最有用的 token。

论文链接:https://www.aclweb.org/anthology/D19-1506.pdf

在最新的博客文章中,谷歌的研究者宣布它们改进了 PRADO,并将改进后的模型称为 pQRNN。新模型以最小的模型尺寸达到了 NLP 任务的新 SOTA。pQRNN 的新颖之处在于,它将简单的投影运算与 quasi-RNN 编码器相结合,以进行快速、并行的处理。该研究表明,pQRNN 模型能够在文本分类任务上实现 BERT 级别的性能,但参数量仅为原来的 1/300

PRADO 的工作原理

在一年前开发该模型时,PRADO 在文本分割上充分利用特定领域的 NLP 知识,以降低模型大小和提升模型性能。通常来说,首先通过将文本分割成与预定义通用词典中的值相对应的 token,将 NLP 模型的文本输入处理成适用于神经网络的形式。然后,神经网络使用可训练参数向量(包括嵌入表)来唯一识别每个文本片段。但是,文本分割的方式对模型性能、大小和延迟都有显著的影响。

下图展示了 NLP 社区使用的各种文本分割方法及其相应的优缺点:

由于文本片段的数量是影响模型性能和压缩的重要参数,因此引出了一个问题,即 NLP 模型是否需要能够清楚地识别每个可能的文本片段。为了回答这个问题,研究者探索了 NLP 任务的固有复杂性。

只有语言建模和机器翻译等少数 NLP 任务需要了解文本片段之间的细微差异,因此可能需要唯一识别所有可能的文本片段。其他大多数任务仅通过了解这些文本片段的子集即可解决。此外,任务相关的文本片段子集并不一定是频率最高的部分,因为可能很大一部分是专用的冠词,如 a、an 和 the,而这些对很多任务来说并不重要。

所以,允许网络决定给定任务的最相关片段可以实现更好的性能。并且,网络不需要唯一识别这些文本片段,只需要识别出文本片段的聚类即可。举例而言,情感分类器只需要了解与文本中的情感强相关的片段聚类就行了。

基于此,PRADO 被设计成从词(word)中学习文本片段的聚类,而不是 word piece 或字符,从而使它能够在低复杂度 NLP 任务中实现良好的性能。由于 word unit 更有意义,而且与大多数任务最相关的词并不多,所以学习相关词聚类的简化子集所需要的模型参数就少了很多。

改进 PRADO

谷歌研究者在 PRADO 的基础上开发了一个更强的 NLP 模型——pQRNN。该模型由三个构建块组成——一个是将文本中的 token 转化为三元向量序列的投影算子、一个密集 bottleneck 层和若干 QRNN 编码器

pQRNN 中投影层的实现与 PRADO 中所用到的一致,帮助模型学习相关性最强的 token,但没有一组固定的参数来定义这些 token。它首先对文本中的 token 进行识别,然后使用一个简单的映射函数将其转换为三元特征向量。这将产生一个三元向量序列,该序列具有平衡对称分布,用来表示文本。这种表示没有直接用途,因为它不包含解决感兴趣任务所需的任何信息,而且网络无法控制这种表示。

研究者将其与一个密集 bottleneck 层结合在一起,以使网络可以学习到一个与手头任务相关的逐词表示。bottleneck 层产生的表示仍然没有考虑到词的上下文。因此,研究者利用若干双向 QRNN 编码器学习了一个上下文表示。这样可以得到一个仅从文本输入就能学到上下文表示的网络,并且无需任何预处理。

pQRNN 的性能

研究者在 civil_comments 数据集上评估了 pQRNN,并将其与 BERT 模型在相同的任务中进行了比较。模型的大小与其参数量成正比,因此 pQRNN 比 BERT 小得多

此外,pQRNN 还进行了量化处理(quantized),因此模型体积进一步缩小到原来的 1/4。公开训练的 BERT 在本文的任务中表现不好,因此拿来对比的 BERT 其实是在几个不同的相关多语言数据源上进行预训练得到的,以使其达到最好的表现。

在实验中,研究者得到了两个模型的 AUC 信息。在没有任何预训练、只在监督数据训练的情况下,pQRNN 的 AUC 是 0.963,用到了 130 万个量化(8-bit)参数。在几个不同数据源进行预训练并在监督数据上进行微调之后,BERT 模型得到的 AUC 是 0.976,用到了 1.1 亿个浮点参数

为了鼓励社区在谷歌研究成果的基础上做出进一步改进,谷歌还开源了 PRADO 模型。

项目地址:https://github.com/tensorflow/models/tree/master/research/sequence_projection

博客链接:https://ai.googleblog.com/2020/09/advancing-nlp-with-efficient-projection.html

理论参数量BERT文本分类谷歌
1
相关数据
文本分割技术

文本分割是将书面文本分割成有意义的单位的过程,如单词、句子或主题。这个术语既适用于人类阅读文本时使用的心理过程,也适用于计算机中实现的人工过程,计算机是自然语言处理的主题。这个问题并不简单,因为虽然有些书面语言有明确的词界标记,例如书面英语的单词空间和阿拉伯语独特的最初、中间和最后的字母形状,但这种信号有时是含糊不清的,在所有书面语言中都不存在。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

情感分类技术

情感分类是对带有感情色彩的主观性文本进行分析、推理的过程,即分析对说话人的态度,倾向正面,还是反面。

推荐文章
暂无评论
暂无评论~