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

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

近年来,在机器学习领域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对应了不同的特征。

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

|| 实验结果

长序列任务

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

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

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

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

迁移学习

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

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

GLUE

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

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

长文本任务

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

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

消融分析

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

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

|| 总结

我们提出了一个使用多粒度的 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

上一篇:如何拍好孩子的照片?父母拍好孩子的8个成功关键


下一篇:Photoshop给人物加上逼真帅气的纹身