Perturbed Masking:分析和解释BERT的无参数探针 Perturbed Masking:Parameter-free Probing for Analyzing and Interpreting BERT

相关博客
【自然语言处理】【可解释性】NKB:用于预训练Transformers的神经知识银行
【自然语言处理】【可解释性】自注意力归因:解释Transformer内部的信息交互
【深度学习】【积分梯度】深度网络的公理归因(Axiomatic Attribution for Deep Networks)
【自然语言处理】【可解释性】Perturbed Masking:分析和解释BERT的无参数探针
【机器学习】【可解释性】LIME
【自然语言处理】【聚类】TELL:可解释神经聚类
【自然语言处理】【Prompt】语言模型即知识库(Language Models as Knowledge Bases)
【自然语言处理】【Prompt】P-tuning

一、简介

  • 近些年,预训练语言模型ELMo、BERT、XLNet\text{ELMo、BERT、XLNet}ELMo、BERT、XLNet在各种下游任务中都实现了SOTA。为了更深入的了解预训练语言模型,许多探针任务被设计出来。探针(probe)通常是一个简单的神经网络(具有少量的额外参数),其使用预训练语言模型输出的特征向量,并执行某些简单任务(需要标注数据)。通常来说,探针的表现可以间接的衡量预训练语言模型生成向量的表现。
  • 基于探针的方法最大的缺点损失需要引入额外的参数,这将使最终的结果难以解释。因此,难以区分是预训练语言模型捕获了语义信息还是探针任务学习到了下游任务的知识,并将其编码至引入的额外参数中。
  • 本文提出了一种称为Perturbed Masking的无参数探针,其能用于分析和解释预训练语言模型。
  • Perturbed Masking通过改进MLM\text{MLM}MLM任务的目标函数来衡量单词xjx_jxj​对于预测xix_ixi​的重要性。

二、贡献

  • 引入了新的无参数探针技术Perturbed Masking,其能用来估计单词间相关性和全局语法信息抽取;
  • 在大量语言任务中评估了Perturbed Masking的有效性;
  • 将基于Perturbed Masking诱导出度依赖结构输入至下游任务中,并与解析器提供的依赖结构进行比较,发现论文中方法的性能与解析器相当,甚至更好。

三、Perturbed Masking

1. Token扰动(Token Perturbation)

一个句子可以表示为token列表:x=[x1,…,xT]\textbf{x}=[x_1,\dots,x_T]x=[x1​,…,xT​]。BERT将每个xix_ixi​映射为上下文表示Hθ(x)iH_\theta(\textbf{x})_iHθ​(x)i​,参数θ\thetaθ表示网络参数。我们的目标是设计一个能够捕获上下文单词xjx_jxj​对预测xix_ixi​影响的函数f(xi,xj)f(x_i,x_j)f(xi​,xj​)。

论文提出了一种两阶段的方法来实现这个目标。首先,使用[MASK]\text{[MASK]}[MASK]来替换单词xix_ixi​,并将替换后的句子x∖{xi}\textbf{x}\setminus\{x_i\}x∖{xi​}输入至BERT,得到单词xix_ixi​的向量表示Hθ(x∖{xi})iH_\theta(\textbf{x}\setminus\{x_i\})_iHθ​(x∖{xi​})i​。其次,为了计算xj∈x∖{xi}x_j\in\textbf{x}\setminus\{x_i\}xj​∈x∖{xi​}对Hθ(x∖{xi})iH_\theta(\textbf{x}\setminus\{x_i\})_iHθ​(x∖{xi​})i​的影响,论文进一步将xjx_jxj​替换为[MASK][MASK][MASK]来获得第二个句子x∖{xi,xj}\textbf{x}\setminus\{x_i,x_j\}x∖{xi​,xj​}。类似地,得到xix_ixi​的新向量表示Hθ(x∖{xi,xj})iH_\theta(\textbf{x}\setminus\{x_i,x_j\})_iHθ​(x∖{xi​,xj​})i​。

基于两个向量表示,论文定义了f(xi,xj)f(x_i,x_j)f(xi​,xj​):
f(xi,xj)=d(Hθ(x∖{xi})i,Hθ(x∖{xi,xj})i)f(x_i,x_j)=d(H_\theta(\textbf{x}\setminus\{x_i\})_i,H_\theta(\textbf{x}\setminus\{x_i,x_j\})_i) f(xi​,xj​)=d(Hθ​(x∖{xi​})i​,Hθ​(x∖{xi​,xj​})i​)
其中,d(x,y)d(\textbf{x,y})d(x,y)是衡量两向量距离的函数。论文中设计了两种d(x,y)d(\textbf{x,y})d(x,y):

  • Dist:向量x\textbf{x}x和y\textbf{y}y的欧几里得距离;
  • Prob:d(x,y)=a(x)xi−a(y)xid(\textbf{x,y})=a(\textbf{x})_{x_i}-a(\textbf{y})_{x_i}d(x,y)=a(x)xi​​−a(y)xi​​;

其中,a(⋅)a(\cdot)a(⋅)会将一个向量映射为词表中单词的概率分布,a(x)xia(\textbf{x})_{x_i}a(x)xi​​表示基于x\textbf{x}x预测单词xix_ixi​的概率。

通过对x\textbf{x}x中的单词xi,xj∈xx_i,x_j\in\textbf{x}xi​,xj​∈x重复执行两阶段的扰动,并计算f(xi,xj)f(x_i,x_j)f(xi​,xj​),可以得到一个影响矩阵(impactmatrix\textbf{impact matrix}impact matrix)F\mathcal{F}F,其中Fi,j∈RT×T\mathcal{F}_{i,j}\in\mathbb{R}^{T\times T}Fi,j​∈RT×T。

论文后续会从F\mathcal{F}F中抽取语法树,并与benchmark进行比较。但是,由于BERT是基于byte-pair进行编码的,因此可能会将一个词划分为多个token(或者成为子词)。为了能够更好的评估论文的方法,针对影响矩阵做了一些调整。

  • 在每次进行扰动是,会将同一个词的多个token均替换为[MASK][MASK][MASK]。
  • 被拆分词的影响分数为拆分后所有token的影响分数平均值。

2. Span扰动(Span Perturbation)

上面是token级别的扰动,其可以直接扩展至span级别的扰动(这里的span可以是短语、子句或者段落)。

论文将文档DDD建模为NNN个无覆盖文本片段(span)D=[e1,e2,…,eN]D=[e_1,e_2,\dots,e_N]D=[e1​,e2​,…,eN​],其中每个文本片段eie_iei​均包含一个token序列ei=[x1i,x2i,…,xMi]e_i=[x_1^i,x_2^i,\dots,x_M^i]ei​=[x1i​,x2i​,…,xMi​]。

对于span级别的扰动,不再是将单个token替换为[MASK][MASK][MASK],而是将整个文本片段(span)替换为一组[MASK][MASK][MASK]。我们通过将文本片段中所有token的向量表示进行平均来获得整个文本片段的向量表示。

类似地,eje_jej​对eie_iei​的影响为
f(ei,ej)=d(Hθ(D∖{ei})i,Hθ(D∖{ei,ej})i)f(e_i,e_j)=d(H_\theta(D\setminus\{e_i\})_i,H_\theta(D\setminus\{e_i,e_j\})_i) f(ei​,ej​)=d(Hθ​(D∖{ei​})i​,Hθ​(D∖{ei​,ej​})i​)
其中, ddd是Dist函数。

四、使用影响图(Impact Map)进行可视化

在讨论语法现象前,先分析一下从例句中导出的影响矩阵。这里使用影响图(Impact Map)来指代影响矩阵所表示的热力图。

1. 设定(Setup)

将来自English Parallel Universal Dependencies(PUD) treebank of the CoNLL 2017 Shared Task\text{English Parallel Universal Dependencies(PUD) treebank of the CoNLL 2017 Shared Task}English Parallel Universal Dependencies(PUD) treebank of the CoNLL 2017 Shared Task的1000个句子作为样本输入BERT,并抽取影响矩阵。图1是其中一个样本的影响图。

2.依赖(Dependency)

可以发现影响图(impact map)中包含了许多的条纹(stripes)。以单词different\text{different}different为例,能够在主对角线上观察到清晰的垂直条纹。这说明单词different\text{different}different的出现强烈影响了之前单词的出现,这能够通过影响图倒数第二列中深色像素块表现出来。观察的这种现象与真实的依赖树一致。同理,在单词transitions\text{transitions}transitions和Hill\text{Hill}Hill上也能观察到相似的模式,这也促成了从影响矩阵中提取依赖树的想法。

3. 层次结构(Constituency)

图2展示了从例句中使用Standford CoreNLP\text{Standford CoreNLP}Standford CoreNLP抽取的层次结构树(Constituency Tree)。在这个例句中,单词meida\text{meida}meida和on\text{on}on均与transitions\text{transitions}transitions相邻。但是,相较于on\text{on}on,从树结构上看media\text{media}media和transitions\text{transitions}transitions更加接近。在语法不知情的情况下,media\text{media}media和on\text{on}on对transitions\text{transitions}transitions预测具有相同的影响。但是,在例子中media\text{media}media对transitions\text{transitions}transitions的影响显著大于on\text{on}on。

4. 其他结构

沿着影响图的对角线,可以看到词被聚集为4个连续的块,并且这些块具有特定的意图。此外,中间的两块具有较强的相互影响,从而形成一个更大的短语。

五、语法探针

1. Dependency探针

(略)

2. Constituency探针

由顶向下的解析方法

给定一个句子的token序列:x=[x1,…,xT]\textbf{x}=[x_1,\dots,x_T]x=[x1​,…,xT​]及其对应的影响矩阵F\mathcal{F}F。解析的目标是找到最好的划分位置kkk,然后将矩阵划分为((x<k),(xk,(x>k)))((\textbf{x}_{<k}),(x_k,(\textbf{x}_{>k})))((x<k​),(xk​,(x>k​))),,其中x<k=[x1,…,xk−1]\textbf{x}_{<k}=[x_1,\dots,x_{k-1}]x<k​=[x1​,…,xk−1​]。最优的划分位置能够保证每个划分后的成分具有最大的平均影响(impact)且成分间的单词影响要尽量小。可以按照下面的优化方式为成分x=[xi,xi+1,…,xj]\textbf{x}=[x_i,x_{i+1},\dots,x_j]x=[xi​,xi+1​,…,xj​]决定最优的划分位置kkk:
arg maxkFi,…,ki,…,k+Fk+1,…,jk+1,…,j−Fi,…,kk+1,…,j−Fk+1,…,ji,…,k\mathop{\text{arg max}}_k\quad \mathcal{F}_{i,\dots,k}^{i,\dots,k}+\mathcal{F}_{k+1,\dots,j}^{k+1,\dots,j}-\mathcal{F}_{i,\dots,k}^{k+1,\dots,j}-\mathcal{F}_{k+1,\dots,j}^{i,\dots,k} arg maxk​Fi,…,ki,…,k​+Fk+1,…,jk+1,…,j​−Fi,…,kk+1,…,j​−Fk+1,…,ji,…,k​
其中,Fi,…,ki,…,k=∑a=ik∑b=ikf(xa,xb)2(k−i)\mathcal{F}_{i,\dots,k}^{i,\dots,k}=\frac{\sum_{a=i}^k\sum_{b=i}^k f(x_a,x_b)}{2(k-i)}Fi,…,ki,…,k​=2(k−i)∑a=ik​∑b=ik​f(xa​,xb​)​。

递归的划分x<k\textbf{x}_{<k}x<k​和x>k\textbf{x}_{>k}x>k​,直至称为单词。

【自然语言处理】【可解释性】Perturbed Masking:分析和解释BERT的无参数探针相关推荐

  1. Perturbed Masking:和参数无关的预训练模型分析方法

    ©PaperWeekly 原创 · 作者|蔡杰 学校|北京大学硕士生 研究方向|问答系统 论文标题: Perturbed Masking: Parameter-free Probing for Ana ...

  2. 【自然语言处理概述】文本词频分析

    [自然语言处理概述]文本词频分析 作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC) ...

  3. NLP:自然语言处理技术之词语级别相关术语解释(如上位词/WordNet)、基于词汇层面的词法分析六大任务(分词/词性标注/词干提取-词形还原/新词发现/形态分析/拼写校正)的简介及其应用

    NLP:自然语言处理技术之词语级别相关术语解释(如上位词/WordNet).基于词汇层面的词法分析(Lexical Analysis)六大任务(分词/词性标注/词干提取-词形还原/新词发现/形态分析/ ...

  4. 自然语言处理(NLP): 13 The Illustrated BERT, ELMo, and co.

    原文:The Illustrated BERT, ELMo, and co. (How NLP Cracked Transfer Learning) 作者:Jay Alammar 原文连接: http ...

  5. hppRNA-基于Snakemake的便捷无参数管道,可用于众多样品的RNA-Seq分析

    hppRNA-基于Snakemake的便捷无参数管道,可用于众多样品的RNA-Seq分析  王大鹏 生物信息学通报,第19卷,第4期,2018年7月,第622-626页,https: //doi.or ...

  6. CVPR 2019 | 基于可解释性以及细粒度的可视化解释卷积神经网络

    作者丨张彪 学校丨北京交通大学硕士生 研究方向丨卷积神经网络的内部可视化(可解释性) 研究目的 卷积神经网络(CNN)已经被证明在许多视觉基准测试上产生了最先进的结果,尽管如此,CNN 的黑盒特性使得 ...

  7. ElasticSearch评分分析 explian 解释和一些查询理解

    ElasticSearch评分分析 explian 解释和一些查询理解 按照es-ik分析器安装了ik分词器.创建索引:PUT /index_ik_test.索引包含2个字段:content和nick ...

  8. 功能点(FP)分析详细解释

    –转载 功能点(FP)分析详细解释 Allan J. Albrecht最初于1979年在IBM开发功能点分析, 后来国际功能点用户组(IFPUG)对其进行了进一步的修改. FPA用于估算软件项目, 包 ...

  9. DB2 锁问题分析与解释

    DB2 锁问题分析与解释 DB2 应用中经常会遇到锁超时与死锁现象,那么这种现象产生的原因是什么呢.本文以试验的形式模拟锁等待.锁超时.死锁现象,并给出这些现象的根本原因. 试验环境: DB2 v9. ...

最新文章

  1. SlackTextViewController
  2. java cms cpu占用率_cpu使用率过高和jvm old占用过高排查过程
  3. php ajax 框架,PHP开发框架kohana中处理ajax请求的例子
  4. 操作系统【连续式分配方式、隐式链接、显示链接、索引方式、混合索引、位示图、成组链接】
  5. 用C#实现pdf文件的完整性验证
  6. JavaBean、bean、POJO
  7. thunderx 循环获得_湖北专业生产CY310热循环风机厂商
  8. 百度宣布AI同传最新突破!能预测,低延时,演示效果惊人,外媒称媲美人类翻译...
  9. 学渣的心酸(求职篇)
  10. 《我也能做CTO之程序员职业规划》之四:直线定律
  11. 常见音频编码格式解析
  12. x10ti怎么禁用核显_笔电多显卡切换解决方案浅谈(ver2.2)
  13. 加解密算法 之base64 原理
  14. 电脑桌面底部显示计算机图标怎么隐藏,电脑底部的任务栏如何隐藏
  15. Python 自动化 30 个实用案例
  16. [Noi2015]小园丁和老司机
  17. vue3 + crypto-js加密解密(普通版本/TS版本)
  18. GRE隧道配置实验(静态路由)
  19. Keras Tuner官方教程
  20. ARM NEON - RGB转灰度的实现 (DSP Factory学习总结)

热门文章

  1. MM物料账在制品承担差异功能及配置
  2. VMware ESXi添加NVMe硬盘扩容
  3. 纸壳CMS(ZKEACMS)体验升级,快速创建页面,直接在页面中修改内容
  4. mysql命令行导入csv_MySQL命令行导入CSV文件
  5. 如何取消windows xp开机时的登录界面
  6. AI科普文章 | 语音识别准不准?—— ASR 效果评测原理与实践
  7. RK3128-android5.1-wifi兼容
  8. 金项奖入围展播 | 梦系来客,星耀有礼
  9. Ubuntu12.04 Skype4.2 提示Skype can't connect,安装Skype4.3
  10. 开机自动随机改计算机名,【优化电脑·禁止随机启动项·加速开机】