本文中,剑桥和 ETH Zurich 的研究者从一个新的角度探讨了 probing,不关心模型编码了多少信息,而是关心它的组件可以提取多少信息。然后使用 V-information 来量化这个数量。通过评估流行的 transformer 语言模型注意力机制,该研究发现关于句子的语法树信息大部分都可以由模型提取。然而,对于随机初始化的 transformer 模型而言,情况并非如此。因此,该研究得出结论,对 transformer 的训练会导致注意力头具有解码语法树的潜力。

预训练语言模型在各种自然语言处理任务上的惊人表现,引起了人们对其分析的兴趣。Probing 是进行此类分析所采用的最普遍的方法之一。在典型的 probing 研究中,probing 是一个插在中间层的浅层神经网络,通常是一个分类器层。其有助于探查不同层捕获的信息。使用辅助任务对 probing 进行训练和验证,以发现是否捕获了此类辅助信息。

一般来讲,研究者首先冻结模型的权重,然后在模型的上下文表示的基础上训练probe,从而预测输入句子的属性,例如句法解析(其对句子结构进行分析,理清句子中词汇之间的连接规则)。不幸的是,关于如何设计此类 probe 的最佳实践仍然存在争议。

一方面,有研究者倾向于使用简单的 probe,这样就可以将 probe 与 NLP 任务区分开来;另一方面,一些人认为需要复杂的 probe 才能从表示中提取相关信息。此外,还有一些人考虑折中的方法,主张将复杂性 - 准确性帕累托曲线上的 probe 考虑在内。

本文中,来自剑桥大学、苏黎世联邦理工学院的研究者提出架构瓶颈原则 (ABP,architectural bottleneck principle) 作为构建有用 probe 的指南,并试图测量神经网络中的一个组件可以从馈送到它的表示中提取多少信息。为了估计给定组件可以提取多少信息,该研究发现 probe 应该与组件完全相同。根据这一原理,该研究通过注意力 probe 来估计有多少句法信息可用于 transformer。

论文地址:https://arxiv.org/pdf/2211.06420.pdf

举例来说,该研究假设 transformer 的注意力头是其使用句法信息的瓶颈,因为这是 transformer 中唯一可以同时访问多个 token 的组件。根据 ABP,该研究提出注意力 probe,就像注意力头一样。该 probe 回答了这样一个问题:transformer 在计算其注意力权重时可以使用多少句法信息?

结果表明,大多数(尽管不是全部)句法信息都可以通过这种简单的注意力头架构提取:英语句子平均包含 31.2 bit 的句法树结构信息,而注意力 probe 可以提取 28.0 bits 信息。更进一步,在 BERT、ALBERT 和 RoBERTa 语言模型上,一个句子的语法树大部分是可以被 probe 提取的,这表明这些模型在组成上下文表示时可以访问句法信息。然而,这些模型是否真的使用了这些信息,仍然是一个悬而未决的问题。

注意力 Probe

目前,有许多方法用来设计有效的 probe,分类原则大致包括:线性原则、最大信息原则、易提取原则,此外还包括本文提出的 ABP 原则。

可以说 ABP 将前三个原则联系起来。最重要的是,ABP 泛化了线性原则、最大信息原则,此外,ABP 还通过限制 probe 的容量来隐式控信息制提取的难易程度。

该研究重点关注 transformer 注意力机制。此前研究人员曾断言,在计算注意力权重时,transformer 会使用句法信息。此外,注意力头是 transformer 中唯一可以同时访问多个单词的组件。因此,在注意力头的背景下探索 ABP 是一个自然的起点。具体而言,根据 ABP,我们可以研究 transformer 的注意力头可以从输入表示中提取多少信息。

实验结果

对于数据,研究者使用了通用依赖(UD)树库。他们分析了四种不同类型的语言,包括巴斯克语、英语、泰米尔语和土耳其语。此外,研究者将分析重点放在未标记的依赖树上,并注意到 UD 使用特定的句法形式,这可能会对结果造成影响。

对于模型,研究者探讨了以上四种语言的多语言 BERT 以及仅支持英语的 RoBERTa 和 ALBERT。根据 ABP,他们保持 probe 的隐藏层大小与 probed 架构中的相同。最后,他们还将一个具有与 BERT 相同架构的未训练 transformer 模型作为基线。

下图 1 展示了主要结果。首先,研究者的 probe 估计大多数句法信息可以在中间层提取。其次,大量句法信息在馈入注意力头的表示中进行编码。虽然他们估计使用英语、泰米尔语和巴斯克语句子编码的信息接近 31 bits,但使用土耳其句子编码的信息约为 15 bits。研究者怀疑这是因为土耳其语在语料库中的句子最短。

研究者还发现,句子中的几乎所有句法信息都可用于考虑中的基于 transformer 的模型。例如在英语中,他们发现信息量最大的层在 BERT、RoBERTa 和 ALBERT 中的 V 系数分别为 90%、82% 和 89%,具体如下表 1 所示。这意味着这些模型可以访问一个句子中约 85% 的句法信息。不过未训练的 BERT 表示并不适合这种情况。

最后,研究者将 BERT 的注意力权重(通过其预训练的注意力头计算)直接插入到原文公式 (8) 并分析产生的未标记附件分数。英语相关的 BERT 结果如下图 2 所示。简言之,虽然注意力头可以使用大量的句法信息,但没有一个实际的头可以计算与句法树非常相似的权重。

但是,由于 BERT 有 8 个注意力头,因此可能以分布式方式使用句法信息,其中每个头依赖该信息的子集。

用注意力probe估计神经网络组件提供多少句法信息相关推荐

  1. Google新作:注意力机制是否真的能够提供模型的可解释性?

    ©PaperWeekly 原创 · 作者|张琨 学校|中国科学技术大学博士生 研究方向|自然语言处理 论文标题: The elephant in the interpretability room: ...

  2. Landslide detection from an open satellite imagery 使用注意力增强卷积神经网络从开放的卫星图像和数字高程模型数据集检测滑坡

    2020.01 武汉大学 论文下载地址:https://sci-hub.st/10.1007/s10346-020-01353-2 目录 Landslide detection from an ope ...

  3. Paddle-NEAT——飞桨进化神经网络组件

    Paddle-NEAT--飞桨进化神经网络组件 目录 Paddle-NEAT--飞桨进化神经网络组件 写在前面: NEAT 简介 基因组的表示 基因组的变异 节点变异 连接变异 基因组的交叉 最后稍微 ...

  4. 空间注意力机制sam_一种基于注意力机制的神经网络的人体动作识别方法与流程...

    本发明属于计算机视觉领域,具体来说是一种基于注意力机制的神经网络的人体动作识别的方法. 背景技术: 人体动作识别,具有着非常广阔的应用前景,如人机交互,视频监控.视频理解等方面.按目前的主流方法,可主 ...

  5. 计算机内部组件三种电压,电源通常向计算机内部的各种组件提供哪三种电压

    此资源收集于兔客源码网www.tukebbs.com 电源通常向计算机内部的各种组件提供的三种电压:1.5V,主要供给主板:2.3.3V,主要为CPU供电:3.正负12V,主要为音频电路,硬盘供电.计 ...

  6. php定位和天气,基于thinkphp实现依据用户ip判断地理位置并提供对应天气信息的应用...

    基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用 我们都知道,在很多的网站都提供了给用户提供天气预报的功能,有时会发现,用户即使不输入任何和自己有关的地理位置信息,同样的网站也 ...

  7. [vue] 怎么捕获组件vue的错误信息?

    [vue] 怎么捕获组件vue的错误信息? errorHandler 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

  8. php定位和天气,基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用_PHP教程...

    基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用 我们都知道,在很多的网站都提供了给用户提供天气预报的功能,有时会发现,用户即使不输入任何和自己有关的地理位置信息,同样的网站也 ...

  9. 深度学习——卷积神经网络是否能编码位置信息?

    文章目录 前言 猜想 实验 实验思路 网络结构--position encoding network 评价指标 实验结果 前言 卷积神经网络在图像领域性能十分卓越,不仅可应用于图像识别,也可应用于目标 ...

最新文章

  1. android小米计算器布局,小米这8个逆天小功能一定用起来!不会用,手机简直白买...
  2. html和css可以用在ssh里面么,在网站中使用SSH
  3. filereader php,AJAX_File, FileReader 和 Ajax 文件上传实例分析(php),File FileReader 可以干什么? Ajax...
  4. Openstack Object Store(Swift)设置公有存储的方法
  5. python字符串一(字符串的书写输入输出)
  6. 线程池框架-Executor
  7. 简单又帅气的折纸机器人教程_几张纸做出帅气纸飞机,做法简单飞行速度超快,手工折纸飞机...
  8. 《结对-航空购票系统-开发环境搭建过程》
  9. Spark SQL 执行计划详解
  10. Structs的执行流程
  11. 极域电子教室功能讲解-电子教室
  12. 实现童年梦想——RPG游戏入门(RPG制作大师使用教程)
  13. 2021中兴捧月杯算法大赛模面大赛总结
  14. 深度学习---卷积神经网络+tensorflow实现
  15. 【LGP5108】仰望半月的夜空
  16. 华为机试HJ55:挑7
  17. 机器学习基础 EM算法
  18. Glide如何加载项目中的图片资源
  19. 栈与堆的区别(内存分配与数据结构)
  20. 异常处理:.net.UnknownHostException nodename nor servname provided, or not known

热门文章

  1. 大学操作系统上机实验
  2. 弹性盒子----思路分析 flex-wrap align-content
  3. 《跨境电商 —— 阿里巴巴速卖通实操全攻略》一一1.1 账户的注册流程
  4. (四)electron尝试使用win32 API——node-gpy到底是干嘛的?
  5. 如何画一只年兽(附代码及教程)
  6. python招聘信息-【Python招聘_最新热搜Python人才招聘信息】-前程无忧
  7. easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(三)日志输出
  8. 播放ftp服务器视频文件,远程播放ftp服务器上的文件
  9. 本周大新闻|15000nit亮度Micro OLED面世;印度市场再推行VR盒子
  10. 【Python】python面向对象编程