北京大学 & 微软:预训练模型(Transformer)中的知识神经元

0040f2d1b7973ff719d6cd92401c3300.gif

©作者 | 方鱼

单位 | 北京科技大学

研究方向 | 问答系统

大型预训练语言模型能很好的记忆训练语料中的事实知识。在这篇文章中,我们探究隐式知识如何存储在预训练 Transformers 中,引出了一个概念——知识神经元(Knowledge Neurons)。给定一个关系型事实,我们提出了一个知识归因方法去识别哪些神经元存储表示了这个事实。我们提出了这种知识神经元的 activation 是和它们的所表示的知识高度相关的。另外,不需要微调(fine-tuning),我们也能利用知识神经元去显式地编辑(更新,删除)特定事实知识。

Contribution:

  • 提出了知识神经元的概念,提出了知识归因方法,去定位事实知识的特定神经元;

  • 我们进行了定性的和定量的研究,展示了知识神经元和 PTM 表示知识的相关性;

  • 我们演示了如何去修改 Transformers 中的知识(更新,删除),不需要任何 fine-tuning。

7f144ed7f68a706bb8d800974c834e84.png

论文标题:

Knowledge Neurons in Pretrained Transformers

论文地址:

https://arxiv.org/abs/2104.08696

cb7b7f039dd25e8d099ee7b073cd411c.png

作者认为知识神经元是存储在 FFNs 中的,因为:

09b85021ad56c53168f38aa3e32d9abc.png

Self-AttFFN 的形式类似。所以,将 FFN 视为 key-value bank 是合理的。 

事实知识的定位分为两步:知识归因 (Knowledge Attribution)、精炼神经元 (Knowledge Neuron Refining)。

058de7719acb83d24f5102bfdb632ba0.png

知识归因 (Knowledge Attribution)

使用积分梯度法(Integrated Gradients)去归因。积分梯度法是由发表在 PMLR 2017 上的一篇文章《Axiomatic Attribution for Deep Networks》提出的。

论文链接:

http://proceedings.mlr.press/v70/sundararajan17a.html

论文介绍:

https://zhuanlan.zhihu.com/p/371240882

4b9e23852f73dc59ae7151d18384099a.png

e9087038c5a23b9885b3fc1a8b2ede89.png

这个工作来解释模型预测和输入特征之间的关系,使用梯度积分法来计算每一个特征对输出的归因。 表示 gold, 表示实际输入,它们都有 n 个特征,对于每个特征 ,计算出来的 InteGrad 就是这个特征对于最终输出的归因,并且所有特征的归因相加之和,等于实际输出和 gold 输出的差。

本文利用了积分梯度法的思想:

的意思代表第 L 个 FFN 的第 i 个中间神经元。

能度量最终的 output 对于这个神经元 的敏感程度。首先计算 的归因。

c8ab6c154e00136e729796da025de409.png

由于计算连续的积分是不实际的,我们采用一种近似的方法来计算,这里的 m 取 20。这个也来自于 PMLR 2017 的文章。

5c2ee95650ed7e885b595d65acee4d98.png

通过计算 attribution,我们可以得到每个神经元的分数,通过设置一个阈值 T,来初步筛选出合适的神经元。

a087e029e43c1e568956d25e1d3f1387.png

精炼神经元 (Knowledge Neuron Refining)

在这一步,我们通过一种精炼策略,去更准确地定位事实知识。虽然经过初筛的知识神经元主要对最后的输出做贡献,但是还有很多“false-positive”知识神经元,它们表示其他知识(比如句法信息和词汇信息),所以,我们通过筛选出这些“false-positive”知识神经元来提升定位效果。

有相同 relation 的不同 prompts,它们的“false-positive”知识神经元不同,因为它们之间有着各种各样的句法,词汇信息,但是,它都有相同的事实信息。所以,我们能通过提炼出不同 prompts 之间不共享的神经元,从而定位出那些普遍的事实信息。

所以,对于一个给定的事实:

  • 用 n 个不同的 prompts 去表达这个事实;

  • 对于每个 prompt,计算每一个中间神经元的归因分数;

  • 对于每个 prompt,设置一个阈值 T,达到这个 T 值的神经元被初步筛选;

  • 对于初步筛选的神经元,设置一个共享阈值 p%(是否被多个 prompt 共享),最终只保留达到这个阈值的神经元。

最终,这个事实就被定位成功了。

70e9faec85ced7375a3369214218964c.png

实验

3.1 实验设置

数据集 ParaRel(TACL2021,测试模型的一致性),每一个关系有 8.64 个不同的 prompt 模板,最多 20 个,最少 2 个,有不同的句法,词汇变化。 

由于我们的知识归因和提炼方法对于事实的数量不敏感,所以我们对于每一个关系,采样 50 个事实。 

使用 BERT-base-cased,它包含 12 个 Transformer 块,FFN 的 hidden size 是 3072。 

设置 T 为 0.3,p% 为 50%。

Measuring and Improving Consistency in Pretrained Language Models. TACL 2021

a48064ed4d222cce2a14803d4345dba8.png

分析

通过两种方式来验证知识神经元:

  • 抑制:将知识神经元的 activation 为 0;

    放大:将只是神经元的 activation 翻倍。

另外还抽样了一些不相关的事实,用来验证知识神经元的专有性。结果发现,对神经元的增强和削弱都显著的提高/降低了准确率。但是不相关的知识基本没有影响。证实了:1)知识神经元能控制模型表达;2)知识神经元对其知识具有专有性。

389b79c2abd0ec6c3842e86a5a7cbcbe.png

5ff73dcdcdc280329410ea90fd5acc8d.png

4.1 知识神经元是被知识探测Prompt激活的

由于知识神经元的定位是基于 ParaRel 数据集的,所以用这些 Prompt 去比较它们的 activation 是不公平的。我们爬取 Bing 上的信息,获取新的 Prompt。

对于新数据集,我们比较有多少知识神经元被以下三种 Prompts 激活:1)10 个包含 head 和 tail 的 prompt;2)10 个只包含 head 的 prompt;3)10 个随机选取的 prompt。

第一个包含了知识,而后两个不包含。

9e7679ca216e9e6fa35b13fe7c2fb57a.png

这个实验证实:

  • 知识神经元是被知识探测 prompts 激活的;

  • 知识神经元甚至能被泛化到 open-domain 的没有见过的 prompt。 

我们揭示了事实知识和知识神经元之间的相关性。知识神经元被知识探测 Prompt 激活,被激活的知识神经元通过获取存储在 FFN memory 槽中的知识来表示关系知识。

4.2 激活知识神经元的例子

对于一个关系和它的激活神经元,我们输入 10 个新爬取的 prompts(包含 head 和 tail 实体),将它们放入 PTM 中,去获取知识神经元的平均激活。然后,我们对这些 prompts 进行排序,保留 top-2(activation 最高的),bottom-2(activation 最低的)。我们发现,top-2 总是表示相应的关系事实,而 bottom-2 尽管包含相同的 head 和 tail 实体,但没有表示相应的关系。这个发现表明,知识神经元可以捕获关系事实的语义模式,并且再一次验证了知识神经元是由知识探测 prompt 激活的。

4ef7f5d3aa4d8e1fc678823c0158041a.png

f205320c65d725e29aa2fbc7b7657b3c.png

知识编辑

5.1 更新知识

将 更新为 。知道了这个事实的知识神经元,我们对相应的 value slot(第二个表示 value 的 FFN 层)减去 ,加上 。 和 是它们的 word embedding。

通过这样的方式,完成知识修改。

f76858d64c4b82f7dec44fb47458f5f7.png

5.2 删除知识 

有一些知识需要被删除,比如一些不道德的,私人的知识。 

给定一个关系,我们要删除所有这个关系的知识。我们首先识别和这个知识有关的所有知识神经元。设置一个阈值 m=5。删除那些被多于 m 个事实所拥有的神经元。我们将这些被删掉的神经元的 word embedding 改为 [UNK]。 

为了验证删除方法的有效性,我们删除了 4 种关系。并且,为了确保删除这些关系不会影响到其他关系,我们计算了其他 prompt 的 Perplexity (PPL),证实了影响很小。

464b9cf57c507e714fa9c1e6637e9f53.png

917424dcabba4879712bb94864d540d3.png

72c6955e9adba26e60c79caa76cd7bb0.png

总结

我们发现,放大或抑制知识神经元的激活可以相应地影响对事实的记忆。此外,对开放域文本的定性分析表明,事实的表达与其知识神经元相关。此外,分析描述了我们如何利用知识神经元显式更新和删除预训练 Transformers 中的事实。

尽管识别知识神经元是有效的,但我们目前的研究仍然存在一些局限性。

首先,我们通过填写空白完形填空查询来检验事实知识,而许多文本以更隐含的方式表达知识。预训练语言模型能否利用存储具有一定泛化能力的知识,如推理,这是一个悬而未决的问题。

第二,在我们的实验中,我们关注关系型知识,因为它们的特殊性和易于评估,即使所提出的方法也可以应用于其他类型的知识。

第三,为了简单,我们在完形填空中使用 single-word 查询,这需要一些扩展来支持 multi-word 查询。此外,一个有趣的方向是找出知识神经元如何在多语言预训练模型中工作。

特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。

更多阅读

fabe2c57c29ed880f052d3a1c11056e3.png

06ab70ae32d458c9b8f757f72e763bab.png

a846ff0f7cc176975b11923dcb7dde7f.png

350d8cce3aee4f57808d994229a0686b.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

74db7c96dbccf08fdc452e65b62b0c29.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

aa7262ade9c8e77398547bb83ca880c3.png

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值