论文发表于自然语言处理顶会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的更多相关文章

  1. 【论文翻译】KLMo: Knowledge Graph Enhanced Pretrained Language Model with Fine-Grained Relationships

    KLMo:建模细粒度关系的知识图增强预训练语言模型 (KLMo: Knowledge Graph Enhanced Pretrained Language Model with Fine-Graine ...

  2. 自监督学习(Self-Supervised Learning)多篇论文解读(上)

    自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...

  3. 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)

    摘要:本文提出一种基于局部特征保留的图卷积网络架构,与最新的对比算法相比,该方法在多个数据集上的图分类性能得到大幅度提升,泛化性能也得到了改善. 本文分享自华为云社区<论文解读:基于局部特征保留 ...

  4. 自监督学习(Self-Supervised Learning)多篇论文解读(下)

    自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...

  5. 论文解读第三代GCN《 Deep Embedding for CUnsupervisedlustering Analysis》

    Paper Information Titlel:<Semi-Supervised Classification with Graph Convolutional Networks>Aut ...

  6. 论文解读(IDEC)《Improved Deep Embedded Clustering with Local Structure Preservation》

    Paper Information Title:<Improved Deep Embedded Clustering with Local Structure Preservation>A ...

  7. 论文解读(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, ...

  8. itemKNN发展史----推荐系统的三篇重要的论文解读

    itemKNN发展史----推荐系统的三篇重要的论文解读 本文用到的符号标识 1.Item-based CF 基本过程: 计算相似度矩阵 Cosine相似度 皮尔逊相似系数 参数聚合进行推荐 根据用户 ...

  9. CVPR2019 | Mask Scoring R-CNN 论文解读

    Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...

  10. AAAI2019 | 基于区域分解集成的目标检测 论文解读

    Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...

随机推荐

  1. WebScoket-服务器客户端双向通信

    WebScoket学习笔记 1. 消息推送常用方式介绍 轮询 浏览器以指定的时间间隔向服务器发出HTTP请求,服务器实时返回数据给浏览器. 长轮询 浏览器发出ajax请求,服务器端接收到请求后,会阻塞 ...

  2. 一次h5活动页面的踩坑 过程

    托好奇心的福,这几天又接了一个bug,哦不,一个非常锻炼个人能力的h5页面,期间涉及到很多问题,在此打算先占个坑,等日后有时间再慢慢记录,无论是swiper插件的使用,还是关于硬件加速的运用,又或者是 ...

  3. selenium自动化测试-获取动态页面小说

    有的网站页面是动态加载的资源,使用bs4库只能获取静态页面内容,无法获取动态页面内容,通过selenium自动化测试工具可以获取动态页面内容. 参考之前的"bs4库爬取小说工具"文 ...

  4. SpringBoot的yml文件报org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here in 'reader', line 11, column 16:

    报错内容如下: 报错代码如下: 1 spring: 2 cloud: 3 gateway: 4 routes: 5 - id: query_route 6 uri: https://baidu.org ...

  5. leetcode3208. 交替组 II

    循环数组问题,指针问题 代码 比较好实现的,只需要对右端点维护,如果达到了>=k便可以被计数,循环数组可以两边循环做到 点击查看代码 class Solution { public int nu ...

  6. nodejs中使用websockets

    websockets介绍 websockets这个新协议为客户端提供了一个更快.更有效的通信线路.像HTTP一样,websockets运行在TCP连接之上,但是它们更快,因为我们不必每次都打开一个新的 ...

  7. AI工具推荐:使用AnythingLLM帮助你学习

    AnythingLLM介绍 AnythingLLM 是一个最容易使用的全能 AI 应用,可以进行 RAG.AI 代理等多种功能,无需编写代码或担心基础设施问题. GitHub地址:https://gi ...

  8. DHCP介绍与实现方法

    简介:动态主机配置协议(Dynamic Host Configuration Protocol,缩写:DHCP)是 RFC 1541(已被 RFC 2131 取代)定义的标准协议,该协议允许服务器向客 ...

  9. Sa-Token v1.42.0 发布 🚀,新增 API Key、TOTP 验证码、RefreshToken 反查等能力

    Sa-Token 是一款 免费.开源 的轻量级 Java 权限认证框架,主要解决:登录认证.权限认证.单点登录.OAuth2.0.微服务网关鉴权 等一系列权限相关问题. 目前最新版本 v1.42.0 ...

  10. Redis 持久化——混合持久化

    1.Redis 持久化--混合持久化 RDB 和 AOF 持久化各有利弊,RDB 可能会导致一定时间内的数据丢失,而 AOF 由于文件较大则会影响 Redis 的启动速度,为了能同时使用 RDB 和 ...