论文解读:Knowledge Neurons in Pretrained Transformers
论文发表于自然语言处理顶会ACL-2022(原文链接)。本文引入知识神经元 (Knowledge Neuron) 的概念,初步研究了预训练Transformer中是如何存储事实知识的:
1、通过研究预训练的BERT,本文发现预训练语言模型的知识是独立存在于中间神经元激活中的
2、可以通过编辑FFN层权重来修改模型对相应知识的记忆,而不用进行微调。
阅读本文请同时参考原始论文图表。
思想
本文发现Transformer的知识在模型内部被其中的FFN模块的知识神经元所表示,所谓的知识神经元 (Knowledge Neurons) 即为输入通过第一个权重$W_1$再激活后的向量,如图1和图2所示。
因此提出一种特征归因方法来定位能表示某个知识的知识神经元,知识通过一个事实三元组来表示$(h,r,t)$。本文使用某个包含 $h,r$ 的prompt让模型来预测 $t$ ,搞成一个完形填空任务的形式。
知识归因
对于某个神经元$w_i^{(l)}$,当其为某个值$\hat{w}_i^{(l)}$时,根据某个待完形填空的prompt $x$,模型预测正确答案$y^*$的概率定义为文中式(4)。则这个神经元$w_i^{(l)}$的归因分数定义为文中式(5),也就是一个集成梯度 (Integrated Gradients)。可以理解为这个神经元从无到有对模型输出正确答案的平均影响程度。这个积分文中实现为求和的形式,把求和区间定义为20.
知识神经元精炼
选择归因分数大于阈值$t$的神经元,得到神经元粗糙集作为某个prompt的答案的知识归因集合。一个prompt可能有多个归因分数大于阈值$t$的神经元被定位,但它们并不一定都是正确答案的知识神经元,也可能是其它信息。为了正确定位正确答案的知识神经元,文章使用多个有相同正确答案的prompt来得到多个知识神经元粗糙集,然后选择这些粗糙集中共享比例大于$p$的神经元作为正确答案的知识神经元,即3.3所谓的知识神经元精炼。
实验
实验设置
实验在BERT模型上进行,每个注意力模块隐藏层元素为768,FFN隐藏层元素为3072。
将归因分数阈值$t$设为最大归因分数的0.2倍,神经元共享比例阈值 $p$ 初始化为0.7,然后在实验过程中逐步增加或减小这个值,直到知识神经元数量在[2,5]以内。
实验基于PARAREL数据集,PARAREL数据集由专家策划,包含来自T-REx数据集(ElSahar et al., 2018)的38个关系的各种提示模板。关系事实模板如表1所示。
实验结果
知识神经元识别结果
图3:发现大部分与事实相关的知识神经元分布在模型的顶层,也就是最后几层。
表2:关系事实识别出来的平均知识神经元数量,baseline是直接使用知识神经元本身$\overline{w}_i^{(l)}$作为归因结果。其中inrta-rel和inter-rel分别表示有相同关系的事实对和有不同关系的事实对,可以看出本文的归因方法能有效识别出相同关系事实对共享的知识神经元,并且不同关系的事实对没有贡献的知识神经元。
图4:通过抑制定位的知识神经元,即直接设置为0,发现本文归因方法有效使正确答案的预测概率降低,平均降低29.03%。而beseline几乎无效。
图5:通过增强定位的知识神经元,即将激活值加倍,发现本文归因方法有效使正确答案的预测概率提升,平均提升31.17%。而baseline几乎无效。
研究什么样的prompt能激活知识神经元
通过在Bing上爬取,构建了一个新的更广泛的数据集BINGREL,抓取数据如下:
1、限制特定头尾实体对的句子,每个对最多抓取10句。共抓取210217句。
2、仅限制头实体的句子,每个头实体最多抓取10句。共抓取266020句。
根据远程监督假设,第一类文本通常包含完整的关系事实,而第二类不一定包含。实验分为三组:
$\mathcal{T}_1$:mask第一类文本的尾实体获得表达知识的prompt。
$\mathcal{T}_2$:随机mask第二类文本部分单词,作为对照组。
$\mathcal{T}_3$:使用随机采样的prompt,作为另一个对照组。
表4:展示了三个组的知识神经元定位结果,发现知识神经元更容易被表达知识的prompt即$\mathcal{T}_1$激活。此外,由于知识神经元是通过PARAREL数据集提取的,而没见过BINGREL,所以展现了提取的知识神经元的泛化能力,它的确表达了某种知识。
表3:展示了在相应知识神经元上平均激活值(注意不是归因值)最大和最小的prompt,发现表达相应知识的prompt能使相应的知识神经元激活值更大。
事实更新与关系擦除
表6:将$<h,r,t>$对应的知识神经元选定的FFN的第二个线性权重的slots,修改为$<h,r,t'>$对应的slots时的结果:将原始预测的$t$修改为$t'$的比例 (Change rate)、使$t'$的预测概率最大的成功率 (Success rate)、有相同关系$r$的其它prompt的PPL的提升(Delta Intra-rel. PPL)、不同关系的其它prompt的PPL的提升 (Delta Inter-rel. PPL)。后面两个表示了这样的修改操作对无关事实的影响程度,越小越好。其中修改操作就是5.1的Methods,但是为什么要用词嵌入来修改,还不太清楚。PPL (Perplexity)就是模型正确预测一个句子的概率的倒数的表征,越小越好。
表5:展示了将某个关系的知识神经元对应的$FFN^{(val)}$擦除(直接设置为0向量)后,模型对有该关系的知识的预测的PPL大幅增加,而没有该关系的知识的预测的PPL增加不大。说明定位到的知识神经元的确能独立地表征相应的关系概念,并且删除后不会影响其它概念。定位方法如5.2 Methods所示。
未来工作
1、弄清楚知识神经元在多语言预训练模型中的工作机制。感觉可以用有相同事实的不同语言prompt来归因。(本文指出)
2、归因方法还可以进一步改进,毕竟文中的结果指标并不高。
3、大模型中的知识神经元机制研究。
4、知识神经元仅仅出现在FFN中吗?自注意力层是否也存在?两者是否有某种交互作用?
论文解读:Knowledge Neurons in Pretrained Transformers的更多相关文章
- 【论文翻译】KLMo: Knowledge Graph Enhanced Pretrained Language Model with Fine-Grained Relationships
KLMo:建模细粒度关系的知识图增强预训练语言模型 (KLMo: Knowledge Graph Enhanced Pretrained Language Model with Fine-Graine ...
- 自监督学习(Self-Supervised Learning)多篇论文解读(上)
自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...
- 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)
摘要:本文提出一种基于局部特征保留的图卷积网络架构,与最新的对比算法相比,该方法在多个数据集上的图分类性能得到大幅度提升,泛化性能也得到了改善. 本文分享自华为云社区<论文解读:基于局部特征保留 ...
- 自监督学习(Self-Supervised Learning)多篇论文解读(下)
自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...
- 论文解读第三代GCN《 Deep Embedding for CUnsupervisedlustering Analysis》
Paper Information Titlel:<Semi-Supervised Classification with Graph Convolutional Networks>Aut ...
- 论文解读(IDEC)《Improved Deep Embedded Clustering with Local Structure Preservation》
Paper Information Title:<Improved Deep Embedded Clustering with Local Structure Preservation>A ...
- 论文解读(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》
论文信息 论文标题:How Powerful are K-hop Message Passing Graph Neural Networks论文作者:Jiarui Feng, Yixin Chen, ...
- itemKNN发展史----推荐系统的三篇重要的论文解读
itemKNN发展史----推荐系统的三篇重要的论文解读 本文用到的符号标识 1.Item-based CF 基本过程: 计算相似度矩阵 Cosine相似度 皮尔逊相似系数 参数聚合进行推荐 根据用户 ...
- CVPR2019 | Mask Scoring R-CNN 论文解读
Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...
- AAAI2019 | 基于区域分解集成的目标检测 论文解读
Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...
随机推荐
- Web前端入门第 14 问:HTML 语义化是什么?
HELLO,这里是大熊学习前端开发的入门笔记. 本系列笔记基于 windows 系统. 语义化:通俗地说,就是让机器可以理解编写出来的 HTML 代码.比如:搜索引擎.屏幕阅读器等. 非语义化写法 网 ...
- Basics of using bash, and shell tools for covering several of the most common tasks
Basics of using bash, and shell tools for covering several of the most common tasks Introduction M ...
- Shell脚本实现服务器多台免密
简介 本脚本(auto_ssh_batch.sh)用于在多台主机之间快速配置SSH免密登录,并支持远程传输脚本/文件及执行命令.通过 pass 文件提供统一认证凭据,通过 nodes 文件定义目标主机 ...
- google_hacking_study
简单了解一下Google Hacking语法. 这是goolehacking十个基本语法. ""完全匹配 据说匹配比较精准,但是我不加引号好像也没什么区别耶 *模糊匹配.?表示单个 ...
- oracle怎么查询重复的数据
在oracle中,可以利用count()函数配合select查询语句来查询重复的数据,语法为"select userCode from user group by userCode havi ...
- delphi 让子窗体显示最大化
procedure TForm2.FormCreate(Sender: TObject); begin perform(WM_SIZE,SIZE_MAXIMIZED,0); end;
- HTB-UnderPass
该靶机nmap扫描udp发现161端口snmp服务,利用snmpwalk扫描得到目录信息,使用dirsearch扫描得到一个yml文件,存放数据库账号密码,记录下来,此时需要登录口,使用字典扫描拼接/ ...
- Oracle的listagg函数(多行按顺序合并字符串)(与wm_concat的区别)
场景: 使用wm_concat函数时,会发现无法对其拼接的字符串进行排序 使用listagg函数可实现按排序进行字符串拼接 select myGroup, listagg(myStr, ',') wi ...
- Git错误,fatal: refusing to merge unrelated histories
错误:fatal: refusing to merge unrelated histories 中文意思就是拒绝合并不相关的历史, 解决 出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立 ...
- Asp.net core 少走弯路系列教程(一)了解 W3C
前言 新人学习成本很高,网络上太多的名词和框架,全部学习会浪费大量的时间和精力. 新手缺乏学习内容的辨别能力,本系列文章为新手过滤掉不适合的学习内容(比如多线程等等),让新手少走弯路直通罗马. 作者认 ...