ICLR2022顶会论文分享-PoNet:使用多粒度Pooling结构替代attention的网络

简介: 近年来,在机器学习领域Transformer模型已成为最先进的(SOTA) 序列建模模型,包括在自然语言处理 (NLP)、计算机视觉、语音处理、基因组数据等都有着广泛的应用。

image.png

近年来,在机器学习领域Transformer模型已成为最先进的(SOTA) 序列建模模型,包括在自然语言处理 (NLP)、计算机视觉、语音处理、基因组数据等都有着广泛的应用。

Transformer 成功的关键原因在于它的自我注意(self-attention)机制,计算输入表征的每个位置之间的点积。Transformer被证明在学习上下文表征方面非常有效,它成为最主要的主干模型,例如 BERT和 RoBERTa。这些预训练语言模型展示了强大的迁移学习能力,并在广泛NLP任务中实现了 SOTA。

然而,由于Transformer模型中的self-attention机制相对于句子长度的复杂度是二次的(O(N^2)),因此在计算速度和显存空间方面都制约了它在长序列中的应用。我们提出了一种具有线性复杂度 (O(N)) 的计算模型 PoNet ,使用 pooling 网络替代 self-attention 机制对句子词汇进行混合,从而捕捉上下文信息。

实验表明,PoNet 在长文本测试 Long Range Arena (LRA) 榜[1] 上在准确率上比 Transformer 高 2.28 个点,在GPU上运行速度是Transformer的 9 倍,显存占用只有 1/10。此外,实验也展示了 PoNet 的迁移学习能力,PoNet-Base 在 GLUE 基准上达到了 BERT-Base 的 95.7% 的准确性。

|| 模型

受到用于视觉任务的外部注意EA[2]的启发,我们将其简化为 多层感知器 softmax,并观察到 softmax 通过分母项将序列信息融入到 token 中提供了上下文建模能力。然而,softmax 涉及到指数的计算,这仍然是很慢的。因此,我们考虑使用池化法作为替代方法,以显著降低的复杂度来捕捉语境信息。

模型主要由三个不同粒度的 pooling 组成,一个全局的pooling模块(GA),分段的segment max-pooling模块(SMP),和局部的max-pooling模块(LMP),对应捕捉不同粒度的序列信息:

在第一阶段,GA沿着序列长度进行平均得到句子的全局表征g。为了加强对全局信息的捕捉,GA在第二阶段对g和输入训练计算cross-attention。由于g的长度为1,因此总的计算复杂度仍为O(N)。

 SMP按每个分段求取最大值,以捕获中等颗粒度的信息。

 LMP沿着序列长度的方向计算滑动窗口max-pooling。

 然后通过池化融合(PF)将这些池化特征聚合起来。由于GA的特征在整个token序列是共享的,SMP的特征在segment内部也是共享的,直接将这些特征加到原始token上会使得token趋同(向量加法),而这种token表征同质化的影响将会降低诸如句子对分类任务的性能。因此,我们在PF层将原始的token于对应的GA,SMP特征计算元素乘法得到新的特征,使得不同的token对应了不同的特征。

image.png

|| 实验结果

长序列任务

Long Range Arena(LRA) 是用来评估捕捉长距离依赖关系的基准测试。在LRA上,PoNet取得了比Transformer更好的分数。

image.png

在速度和显存方面,仅次于FNet[3],显著优于Transformer。

image.png

迁移学习

我们用大规模语料库对PoNet进行预训练,然后测试它在下游任务上的性能。下图是预训练的  MLM[4] 和 SSO[5] 两个子任务的训练曲线,可以看到,我们的模型在 MLM 上略微弱于 BERT ,在 SSO 上与 BERT 还有一定的差距,两个任务上都明显要优于 FNet 。

image.png

GLUE

PoNet取得了76.80的AVG分数,达到了 BERT 在 GLUE 上的准确率(80.21)的95.7%,相对来说比 FNet 要好4.5%。这些性能比较与图2中显示的预训练准确率一致。

image.png

长文本任务

我们还评估了预训练的 PoNet 在四个长文本分类数据集上的性能。从表4可以看出,PoNet-Base 在 HND 和 Arxiv 上优于 BERT-Base,在 IMDb 和 Yelp-5 上的F1分数达到了 BERT-Base 的99%。

image.png

消融分析

下面的消融实验也证明了每个组件的重要性。同时与 L_MN(MLM+NSP),L_OM(MLM) 也说明了预训练任务使用 MLM+SSO 的必要性。

image.png

|| 总结

我们提出了一个使用多粒度的 Pooling 结构来替代 attention 的网络(PoNet),它可以捕捉到不同层次的上下文信息,让序列的 token 之间能够得到有效的交互。实验表明,PoNet 既实现了有竞争力的长距离依赖性建模能力,又实现了强大的迁移学习能力,而且具有线性的时间和显存复杂度。

|| Future Work

未来的工作包括进一步优化模型结构和预训练,以及将 PoNet 应用于包括生成任务在内的更广泛的任务。我们希望PoNet模型可以对探索更高效的序列建模模型提供一些启发。

参考资料:

[1] Yi Tay, Mostafa Dehghani, Samira Abnar, Yikang Shen, Dara Bahri, Philip Pham, Jinfeng Rao, Liu Yang, Sebastian Ruder, and Donald Metzler. Long Range Arena : A benchmark for efficient transformers. ICLR 2021. URL

https://openreview.net/forum?id=qVyeW-grC2k.

[2] Meng-Hao Guo, Zheng-Ning Liu, Tai-Jiang Mu, and Shi-Min Hu. Beyond self-attention: External attention using two linear layers for visual tasks. CoRR, abs/2105.02358, 2021. URL

https://arxiv.org/abs/2105.02358.

[3] James Lee-Thorp, Joshua Ainslie, Ilya Eckstein, and Santiago Ontanon. FNet: mixing tokens with fourier transforms. CoRR, abs/2105.03824, 2021. URL

https://arxiv.org/abs/2105.03824.

[4] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: pre-training of deep bidirectional transformers for language understanding. NAACL-HLT 2019. URL

https://doi.org/10.18653/v1/n19-1423.

[5] Wei Wang, Bin Bi, Ming Yan, Chen Wu, Jiangnan Xia, Zuyi Bao, Liwei Peng, and Luo Si. StructBERT: incorporating language structures into pre-training for deep language understanding. ICLR 2020. URL

https://openreview.net/forum?id=BJgQ4lSFPH.

论文地址:

https://openreview.net/forum?id=9jInD9JjicF

https://arxiv.org/abs/2110.02442

代码已在GitHub上开源:

https://github.com/lxchtan/PoNet

相关文章
|
1月前
|
机器学习/深度学习 资源调度 自然语言处理
不同类型的循环神经网络结构
【8月更文挑战第16天】
29 0
|
10天前
|
编解码 人工智能 文件存储
卷积神经网络架构:EfficientNet结构的特点
EfficientNet是一种高效的卷积神经网络架构,它通过系统化的方法来提升模型的性能和效率。
18 1
|
1月前
|
机器学习/深度学习 算法 文件存储
【博士每天一篇文献-算法】 PNN网络启发的神经网络结构搜索算法Progressive neural architecture search
本文提出了一种名为渐进式神经架构搜索(Progressive Neural Architecture Search, PNAS)的方法,它使用顺序模型优化策略和替代模型来逐步搜索并优化卷积神经网络结构,从而提高了搜索效率并减少了训练成本。
34 9
|
1月前
|
机器学习/深度学习 人工智能 PyTorch
AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比
AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比
57 1
|
1月前
|
机器学习/深度学习 算法 网络架构
神经网络架构殊途同归?ICML 2024论文:模型不同,但学习内容相同
【8月更文挑战第3天】《神经语言模型的缩放定律》由OpenAI研究人员完成并在ICML 2024发表。研究揭示了模型性能与大小、数据集及计算资源间的幂律关系,表明增大任一资源均可预测地提升性能。此外,论文指出模型宽度与深度对性能影响较小,较大模型在更多数据上训练能更好泛化,且能高效利用计算资源。研究提供了训练策略建议,对于神经语言模型优化意义重大,但也存在局限性,需进一步探索。论文链接:[https://arxiv.org/abs/2001.08361]。
30 1
|
1月前
|
机器学习/深度学习 Linux TensorFlow
【Tensorflow+keras】用代码给神经网络结构绘图
文章提供了使用TensorFlow和Keras来绘制神经网络结构图的方法,并给出了具体的代码示例。
35 0
|
1月前
|
机器学习/深度学习 API 数据处理
《零基础实践深度学习》2.4手写数字识别之网络结构
这篇文章介绍了手写数字识别任务中网络结构设计的优化,比较了多层全连接神经网络和卷积神经网络两种模型结构,并展示了使用PaddlePaddle框架实现这些网络结构,训练并观察它们在MNIST数据集上的表现。
|
1月前
|
机器学习/深度学习 人工智能 调度
显著提升深度学习 GPU 利用率,阿里云拿下国际网络顶会优胜奖!
显著提升深度学习 GPU 利用率,阿里云拿下国际网络顶会优胜奖!
145 0
|
1月前
|
人工智能 算法 安全
【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 赛后总结之31页论文及代码
本文总结了2023年第十三届MathorCup高校数学建模挑战赛C题的解题过程,详细阐述了电商物流网络在面临突发事件时的包裹应急调运与结构优化问题,提出了基于时间序列预测、多目标优化、遗传算法和重要性评价模型的综合解决方案,并提供了相应的31页论文和代码实现。
46 0
|
1天前
|
人工智能 安全 算法
网络安全与信息安全:构建数字世界的防线
在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系社会秩序、保障个人隐私与企业机密的关键。本文旨在探讨网络安全漏洞的成因、加密技术的应用及安全意识的提升策略,以期为读者提供一个全面而深入的网络安全知识框架。