超细粒度分析 XLNet 中神奇的 Attention Mask

XLNet通过Permutation Language Modeling避免使用[Mask]标志,利用Attention Mask在不改变输入顺序的情况下实现上下文利用。文章详细解释了Attention Mask的生成过程和为何不能简单mask对角线,以及PLM采样排列不会丢失时序信息的原因。
摘要由CSDN通过智能技术生成

BERT后时代,XLNet 在20个任务上超越BERT,引起不小的关注。最重要的改进是 XLNet 实现了不在输入中加[Mask] 标志,同样可以利用上下文信息,解决了BERT预训练和微调不一致的问题。

1、XLNet如何实现在不加 [Mask] 情况下利用上下文信息呢?

XLNet 通过 Permutation Language Modeling (PLM) 重排输入文本,使得当前词的下文也有可能出现在当前词的「上文」中,而实际的操作不是通过改变文本输入顺序来实现,而是依靠关键的 Attention Mask 机制来完成的。

img

上图就是文中Attention Mask的机制,只看图并不是那么好理解,这里引用张俊林老师:XLNet:运行机制及和Bert的异同比较 [1] 文章中非常关键的一句话:

在Transformer内部,通过Attention掩码,从 T 的输入单词里面,也就是Ti的上文和下文单词中,随机选择i-1个,放到Ti的上文位置中,把其它单词的输入通过Attention掩码隐藏掉,于是就能够达成我们期望的目标(当然这个所谓放到Ti的上文位置,只是一种形象的说法,其实在内部,就是通过Attention Mask,把其它没有被选到的单词Mask掉,不让它们在预测单词Ti的时候发生作用,如此而已。看着就类似于把这些被选中的单词放到了上文Context_before的位置了)

以图中的排列序列:3->2->4->1为例,通过 Attention Mask,在 self-attention 的加权平均计算中,假设要计算attention之后第2个词对应的向量 E 2 ′ E_{2^{'}} E2

根据图中Content stream中的mask, E

XLNetBERT都是当前领先的预训练语言模型,它们在NLP任务表现出色。以下是XLNetBERT的比较分析: 1. 训练方式: - BERTBERT采用了掩码语言模型(Masked Language Model,MLM)和下一句预测(Next Sentence Prediction,NSP)的训练任务。 - XLNetXLNet采用了自回归语言模型(Autoregressive Language Model)的训练方式,通过预测单词的顺序来建模语言。 2. 上下文建模: - BERTBERT是基于Transformer的模型,它采用了双向上下文建模,即在预训练过程同时考虑了上下文信息。 - XLNetXLNet也是基于Transformer的模型,但采用了自回归方式,能够建模所有可能的排列组合,因此它可以更好地处理长距离依赖性。 3. 掩码策略: - BERTBERT在输入时随机掩盖一部分单词或片段,然后通过上下文的其他单词进行预测。 - XLNetXLNet在输入时不进行掩码操作,而是通过自回归方式逐个预测每个单词。 4. 目标函数: - BERTBERT使用交叉熵作为目标函数,通过最大化正确预测的概率。 - XLNetXLNet使用了一种排列语言模型(Permutation Language Model)的目标函数,通过最大化所有可能排列的联合概率。 5. 训练效率: - BERT:由于BERT是基于掩码的方式进行训练,因此在训练过程需要处理大量的掩码操作,相对较慢。 - XLNetXLNet采用自回归方式进行训练,避免了掩码操作,因此在训练过程可以更高效地处理。 综上所述,XLNetBERT在训练方式、上下文建模、掩码策略、目标函数和训练效率等方面存在差异。具体选择哪个模型取决于任务的需求和性能的考量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海晨威

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值