预训练模型的记忆机制解密!

5d65a4e34648e345c987c33eb06f1724.png

文 | python

近年来,大规模预训练语言模型给自然语言处理领域带来了翻天覆地的变化。

一提到预训练模型为什么好,标准回答往往是:利用了无标注自监督学习数据,习得了语言学与语义知识,并有效迁移到下游任务中。

然而,预训练模型究竟如何运用预训练过程中记住的内容呢?

本文作者借助英文习语生成任务,探秘预训练模型的记忆唤起机制。

作者发现,在记忆唤起中,底层结构存储与检索可能的表达组合,并形成若干候选,而上层结构会进一步强化模型的信心。

论文题目
Understanding Transformer Memorization Recall Through Idioms

论文链接
https://arxiv.org/abs/2210.03588
https://github.com/adihaviv/idiomem/

习语生成检测

为了探索预训练模型运用记忆的方式,首先需要找到一种上下文无关的生成文本。否则,无法确定文本生成的过程激活的是模型的“泛化”能力,还是唤醒了“记忆”。

作者认为“习语”就是一种很合适的研究对象。因为习语不像普通语言那样有很多可替换性,且和组成词汇间的语义关联较低。

比如“我喜欢猫/狗/猴子”都是可行,但“play it by ear”不能改成“play it by nose”,并且其含义“随机应变”也同“玩耳朵”没啥关联。所以其生成过程完全依赖“记忆”而不适用组合泛化及词义相关的泛化机制。

因此,作者选用习语生成任务作为探索预训练模型记忆唤起机制的检测方法。

具体而言,作者给定一个习语的前面若干个词,让模型预测其最后一个词,以检测预训练模型的记忆唤起能力。

如果最后一个词被分割成了多个sub-word,仅预测其第一个token。

一般情况下,如果引起了基于语义的生成,对于“play it by ear”而言,生成的内容会是任何一个可以被“玩”的名词,而只有唤起了预训练中的记忆,才会高概率地生成“ear”。

作者认可的习语例如:

play it by ear
make a mountain out of a molehill think outside the box
there’s no such thing as a free lunch

但还有一些不太合适的习语,通常是动宾搭配、词义相似度等上下文语义信息带来了很强的提示。作者采用了启发式规则+人工标注的手段,去除了这些习语。

总体而言,大概只保留了MAGPIE[1]、EPIE[2]、LIDIOMS[3]三个数据集中收集的习语的45%。

不合适的习语例如:

go back to the drawing board
boys will be boys
take it or leave it

实验与结果

作者进一步构建了3个集合:习语中,模型能记住,即能预测对的那些习语(绿色);模型不能记住,即预测错的那些习语(黄色);及随机采样的wiki句子(蓝色),作者这里假设大多数普通的句子不会被预训练模型记住。

实验结果如下图所示,作者针对预训练模型每一层的建模向量,加一个全连接层后进行预测,并汇报了正确的词在预测中的平均排名与平均概率。

其中,检测的预训练模型包括 GPT2 medium,GPT2 large, BERT base, BERT large。

59a7f4aa299acfb79aecbeaabfdb7058.png

作者发现:

  1. 对于记住的习语部分(绿色),排名在浅层部分急速下降的同时(同其他颜色一样,且预测排名更靠后),概率却一直保持在相对较低的水平,接近零,甚至比其它颜色还低。作者对此的解释是,浅层预测时更多关注一些常见的n-gram组合,导致习语排序落后[4]。而排序快速上升,概率基本不变,表示模型在检索可能出现的搭配组合,但并没有给他们分配很高的概率,以便后续结构从全局上进一步调整概率分布。

  2. 在后半部分,能记住的习语部分(绿色)的正确答案的平均概率急速上升。而对于没有记住的那些习语及随机采样的语句,正确答案的概率相对较低。作者解释是,在这一阶段模型调整了预测的概率分布,对绿色部分表现出单峰分布,体现出习语的不可替代性。而没有记住的那两部分(黄色、蓝色),模型在应用泛化能力,预测出了多个语法和语义上潜在可能的答案,形成一种多峰分布。

作者后续又用事实组合重复了这一实验,并得到了类似的结果。该实验采用了LAMA-UHN[5]数据集的一个筛选的子集。形式例如:

Federico López was born in <MASK>

在GPT medium上的结果如下图所示。

a92cf6f1300821148463b7dcf49899f2.png

作者指出,在事实数据上的实验,相比习语数据上的,主要有一点不同:在最后两层时,正确词汇的预测概率有明显下降。

作者人工检查发现,82%的样本实际上有多个正确答案,不像习语具有唯一性(编者猜测可能是类似于两个同名的人出生地不同之类的)。

这一差异彰显了本文所构建的习语数据集的优越性。

小编的话

个人认为,这篇文章算不上什么大发现。这篇文章研究的问题——预训练模型如何唤醒记忆,是一个很有意思的问题。

但在神经网络不可解释的大背景下,作者只能设计一系列验证任务,通过模型表现来做一些推测。这种做法并非作者首创,也不是第一次被用在预训练模型记忆机制的分析上,所以并没有很高的创新性。

作者采用习语生成这个任务,是一个很聪明的想法,习语的一系列特点让它很适合用来分析预训练模型的记忆召回机制。

作者也用了较大的篇幅描述为什么习语更合适,描述其构建的习语数据集,以及作者在这方面的贡献。

实验结果上,最初的层中,习语的正确答案的排名更靠后这一点上,作者用[4]的结论来解释,认为浅层预测更多关注常见的n-gram,这点相对比较合理。而最后层的表现中,用习语中答案分布的单峰性来解释习语的正确答案概率更高也是说的通的。

然而,对于中间阶段,作者声称的两段式过程并非唯一解释。

我觉得看起来,中间的变化过程很像是给定起点和终点状态之后的一个指数函数拟合。之所以是指数函数,是因为随着层数的加深,微小的变化会得到正反馈的累加。这样,这篇文章的结果就只是一个数学上的现象,而非作者生成的记忆召回的语用过程了。

47308aac2f5bca4fb2eb10383d9e96ce.png卖萌屋作者:python

北大毕业的NLP博士。日常写点论文,码点知乎,刷点leetcode。主要关注问答、对话、信息抽取、预训练、智能法律等方向。力扣国服第一python选手(经常掉下来)。知乎 ID 是 Erutan Lai, leetcode/力扣 ID 是 pku_erutan,欢迎没事常来逛逛。

作品推荐

  1. 恕我直言,你的实验结论可能严重依赖随机数种子!

  2. AllenAI 发布万能问答系统 MACAW!各类题型样样精通,性能大幅超越 GPT-3!

  3. 吐血整理:论文写作中注意这些细节,能显著提升成稿质量

  4. ‍恕我直言,你的模型可能并没看懂 prompt 在‍说啥‍

d0cd88fb8b4dc7a297c186999b2b4623.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜广推与求职讨论群

f6729c1cf088f3396be7266a9b377c96.png

[1] Hessel Haagsma, Johan Bos, and Malvina Nissim. 2020. MAGPIE: A large corpus of potentially idiomatic expressions. In Proceedings of the 12th Language Resources and Evaluation Conference, pages 279–287, Marseille, France. European Language Resources Association.

[2] Prateek Saxena and Soma Paul. 2020. Epie dataset: A corpus for possible idiomatic expressions. In Text, Speech, and Dialogue, pages 87–94, Cham. Springer International Publishing.

[3] Diego Moussallem, Mohamed Ahmed Sherif, Diego Esteves, Marcos Zampieri, and Axel-Cyrille Ngonga Ngomo. 2018. LIdioms: A multilingual linked idioms data set. In Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC 2018), Miyazaki, Japan. European Language Resources Association (ELRA).

[4] Mor Geva, Roei Schuster, Jonathan Berant, and Omer Levy. 2021. Transformer feed-forward layers are key-value memories. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pages 5484–5495, Online and Punta Cana, Dominican Republic. Association for Computational Linguistics.

[5] Nina Poerner, Ulli Waltinger, and Hinrich Schütze. 2020. E-BERT: Efficient-yet-effective entity embeddings for BERT. In Findings of the Association for Computational Linguistics: EMNLP 2020, pages 803–818, Online. Association for Computational Linguistics.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中的列表和元组_百度资讯搜索_python中的列表和元组

腾讯网 11小时前# 元组(tuple)是 Python 中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成。元组是一个有序列表,序列中的每个元素都分配一个数字(...百度快照数据分析师攻略 2020年11月11日 17:50分别使用max(tuple)、min(tuple)方法可以返回元组…

LeetCode 1395. 统计作战单位数(蛮力法)

1. 题目 n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。 每 3 个士兵可以组成一个作战单位&#xff0c;分组规则如下&#xff1a; 从队伍中选出下标分别为 i、j、k 的 3 名士兵&#xff0c;他们的评分分别为 rating[i]、rating[j]、rating[k]作战单位需满足…

站在2006的边缘

站在2006的边缘——代腾飞 2006年12月31日 于成都时光飞逝&#xff0c;中华元年2006年转眼来到了尽头明日清晨&#xff0c;冉冉升起的阳光将迎接新的一年的到来又将重新开始新的日月轮回站在这瞬间即逝的2006的边缘心潮难以宁静,我思索着、寻求着总想写下几句&#xff0c;也该…

谷歌Flan-T5诞生!1800种语言任务超大规模微调

编辑 | 泽南、小舟来源 | 机器之心不增加算力需求&#xff0c;谷歌总结的指令微调方法能让 8000 万到 5400 亿参数的模型都显著提升性能。人工智能一个重要的目标是开发泛化能力强的模型。在自然语言处理&#xff08;NLP&#xff09;领域中&#xff0c;预训练语言模型在这方面取…

fft的c语言和matlab对比_傅里叶级数(FS)、傅里叶变换(FT)快速傅里叶变换(FFT)及量子傅里叶变换(QFT)之间推导关系...

1 引言傅里叶级数 (Fourier Series, FS) 是《高等数学》中遇到的一个重要的级数&#xff0c;它可以将任意一个满足狄利克雷条件的函数为一系列三角级数的和。最早由法国数学家傅里叶在研究偏微分方程的边值问题时提出&#xff0c;极大地推动了偏微分方程理论的发展。根据欧拉公…

OraOLEDbpus.dll找不到指定的模块的解决办法

OraOLEDbpus.dll找不到指定的模块的解决办法 使用Oracle Provider for OLE DB 进行数据库连接的时候&#xff0c;报错:&#xff1a;OraOLEDbpus.dll 找不到指定的模块在oracle的安装目录下却能找到OraOLEDbpus.dll&#xff0c;应该是其未能找到该路径&#xff0c;打开系统的环境…

LeetCode 1396. 设计地铁系统(map/unordered_map)

1. 题目 请你实现一个类 UndergroundSystem &#xff0c;它支持以下 3 种方法&#xff1a; checkIn(int id, string stationName, int t) 编号为 id 的乘客在 t 时刻进入地铁站 stationName 。 一个乘客在同一时间只能在一个地铁站进入或者离开。 checkOut(int id, string st…

python中object是什么数据类型_自学Python2.1-基本数据类型-字符串str(object) 上

自学Python2.1-基本数据类型-字符串str(object) 上 字符串是 Python 中最常用的数据类型。我们可以使用引号(或")来创建字符串。 创建字符串很简单&#xff0c;只要为变量分配一个值即可。例如&#xff1a; var1 Hello World! var2 "Python Runoob" 1. Python…

.NET下使用DataAdapter保存数据时,如何生成command语句及使用事务

.NET下使用DataAdapter保存数据时&#xff0c;如何生成command语句及使用事务 在.NET下&#xff0c;运用DATASET对数据进行批量更新时&#xff0c;需要与 DataAdapter配合使用。DataAdapter数据适配器的作用是生成数据更新时所需的insert,delete,update等语句&#xff0c;这些语…

文档智能SOTA被刷爆,DocVQA榜单首次突破90大关

文档智能&#xff08;DI, Document Intelligence&#xff09;主要指对于网页、数字文档或扫描文档所包含的文本以及丰富的排版格式等信息&#xff0c;通过人工智能技术进行理解、分类、提取以及信息归纳的过程。文档智能技术广泛应用于金融、保险、能源、物流、医疗等行业&…

react 遍历对象_React 源码系列 | React Children 详解

本文基于 React V16.8.6&#xff0c;本文代码地址测试代码 源码讲解React 中一个元素可能有 0 个、1 个或者多个直接子元素&#xff0c;React 导出的 Children 中包含 5 个处理子元素的方法。map 类似 array.mapforEach 类似 array.forEachcount 类似 array.lengthtoArrayonlyR…

程序员面试金典 - 面试题 16.19. 水域大小(BFS/DFS)

1. 题目 你有一个用于表示一片土地的整数矩阵 land&#xff0c;该矩阵中每个点的值代表对应地点的海拔高度。 若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。 池塘的大小是指相连接的水域的个数。 编写一个方法来计算矩阵中所有池塘的大小&#xff0c;返回值需要从…

自定义组件--创建mxml组件

创建简单的mxml组件 Example components/CountryComboBox.mxml <?xml version"1.0" encoding"utf-8"?> <mx:ComboBox xmlns:mx"http://www.adobe.com/2006/mxml"> <mx:dataProvider> <mx:String>United States</mx…

19位算法工程师总结:机器学习项目成功落地的三条秘诀

文 | 天于刀刀又是一年金九银十&#xff0c;前几天小编刀刀在一次电话面试过程中被HR 的一个问题问得差点闪了腰。当时情况是这样的&#xff0c;在流利地介绍完之前的几个项目后&#xff0c;招聘小姐姐打断了我后续的&#xff08;忽悠&#xff09;节奏&#xff0c;郑重其事地反…

nodejs 获取cpu核心数量_用 NodeJS 充分利用多核 CPU 的资源[每日前端夜话0xCB]

每日前端夜话0xCA每日前端夜话&#xff0c;陪你聊前端。每天晚上18:00准时推送。正文共&#xff1a;1558 字预计阅读时间&#xff1a;7 分钟作者&#xff1a;Nick Major翻译&#xff1a;疯狂的技术宅来源&#xff1a;coderrocketfuel介绍单个 Node.js 程序的实例仅在一个线程上…

程序员面试金典 - 面试题 16.20. T9键盘(数组)

1. 题目 在老式手机上&#xff0c;用户通过数字键盘输入&#xff0c;手机将提供与这些数字相匹配的单词列表。 每个数字映射到0至4个字母。给定一个数字序列&#xff0c;实现一个算法来返回匹配单词的列表。 你会得到一张含有有效单词的列表。映射如下图所示&#xff1a; 示…

胃部不适,原来好辛苦!

这几天胃部都感觉不舒服&#xff0c;那种感觉很难形容&#xff0c;总之就非常辛苦&#xff0c;无胃口&#xff0c;浑身都不舒服&#xff0c;可能是之前几天早餐没吃饱&#xff0c;有几天很晚才入睡空着肚子的缘故吧&#xff0c;原来胃部不适是如此辛苦的&#xff0c;怕怕&#…

重磅!顶级一区期刊官宣:明年起将不再拒稿!

源 | 青塔学术、量子位等颠覆科学出版的“游戏规则”?10月20日&#xff0c;国际著名生物学综合期刊eLife官方宣布了一个重大决定&#xff1a;从2023年1月31日起&#xff0c;所有经过同行评审的文章&#xff0c;eLife都不会作出接受/拒绝的决定&#xff0c;而是直接发布在其网站…

EM(期望极大化)算法及其推广

文章目录1. EM算法2. EM算法收敛3. EM算法应用4. EM算法的推广5. sklearn.mixture.GaussianMixture概率模型有时既有观测变量&#xff08;observable variable&#xff09;&#xff0c;又有隐变量或潜在变量&#xff08;latent variable&#xff09;如果概率模型的变量都是观测…