论文赏析[EMNLP18]用控制任务来设计并解释探测任务

简介: 论文赏析[EMNLP18]用控制任务来设计并解释探测任务

介绍


NLP任务都存在着一个常见的问题:我的神经网络有没有学到某个性质image.png 所以我们需要构造出一种方法,来告诉我们模型是否真的学到了某些性质。

例如对于ELMo,我们想知道它是否学到了POS tag信息,所以我们需要设计一种探测任务(probe task)。

image.png

如上图所示,我们将句子输入到ELMo中,得到每个单词的上下文表示。然后用probe函数(一般是MLP或者linear)进行分类,得到每个单词的POS tag。

注意到这里的ELMo是不进行fine-tune的,也就是固定住不变的,模型参数只有probe参数。

但是我们能否说,POS tag效果好,那么ELMo学的就好呢?其实是不行的,因为有三点因素可能影响到最终的tag准确率:

  • ELMo真的学到了POS tag信息。
  • probe函数设计的比较复杂,可以很好的拟合出POS tag分布。
  • POS tag任务的监督信息加的比较多。

所以本文主要研究了如下三个问题:

  • 高的探测准确率是否意味着表示真的学到了某种性质?
  • 探测方法对结果有着什么样的影响?
  • 上面提到的三点影响因素对探测结论是否有影响?

下面我们一一关注这三个问题。

问题1


首先答案是否定的,探测任务上准确率越高,并不能代表着表示学到了你想要的性质。

image.png

还是用ELMo和POS tag举例子,上面这个模型用1000隐层维度的MLP作为probe函数,最终取得了97.3的高准确率。但是我们不能说EMLo能够很好的学到了POS tag信息,因为可能是MLP很好的拟合出了POS tag分布。

所以我们提出了控制任务(control task)的概念,也就是用同样的模型去预测一个随机任务。例如对于POS tag任务,PTB数据集里一共有45个tag,我们给每个单词重新随机分配一个tag,然后用探测模型预测句子的随机tag。这样其实有个小问题,就是消除了单词的一词多义问题,一个单词在所有语境下tag都是一样的了。

image.png

测试下来结果如上图所示。可以看到MLP和linear对POS tag结果基本没有影响,都非常的高。但是对control任务也就是随机tag影响很大,MLP并没有降低很多(92.8),但是linear降低了很多(71.2)。于是我们将这个差值叫做selectivity。如果selectivity越大,说明probe函数影响越小,可能不是probe函数拟合出来的结果。如果selectivity越小,说明不管是gold的label还是随机的label,准确率都很高,这就可能是probe函数拟合出来的结果了,而不是表示学出来的。

问题2


显然linear的学习能力明显不如MLP,那么不同的参数设置对最终结果是否有影响呢?

image.png


上图举了两个例子,分别是dropout和隐层维度对结果的影响。可以看出简单的正则化对selectivity影响不是很大,但是隐层维度影响特别大。

image.png

具体的参数影响如上图所示,最终选取了使得准确率比较高,selectivity相对大的参数配置。

问题3


答案也是肯定的。

image.png

比如上面这个例子,一般认为ELMo第1层POS tag效果是要好于第2层的,probe测试下来也是这样。但是可以发现,第2层的selectivity更大,说明其实第2层才更好的学到了POS tag信息。那为什么第1层效果更好呢?可能是因为它更靠近单词层,所以保留了更多单词的信息。这也说明了selectivity方法可能也不是完美的,可能通过聚类预测POS tag,第2层效果会更好。

结论


具体的实验细节和分析就不说了,大体就是这么个思想。这篇主要就是说明了,光靠准确率并不能说明一个encoder的表示学到了某种性质,而可能是模型拟合的结果。所以他们提出了control task,同时预测一个随机输出,如果准确率差距较大,则验证了表示学到了性质。当然这个方法还有一些问题,比如probe函数的挑选,还有文中依存句法分析的control task的设计是有瑕疵的。


相关文章
|
Kubernetes Java 测试技术
ChaosBlade常见问题之在K8s环境下演练cpu满载报错如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
599 0
|
缓存 监控 网络性能优化
从内核的视角观测容器——SysOM 容器监控
从内核的视角观测容器——SysOM 容器监控
|
算法
最小生成树算法:Prim算法
在图论中,最小生成树(Minimum Spanning Tree,简称MST)是一种常用的算法问题。最小生成树是指在一个加权连通图中选取边的子集,使得所有顶点都被覆盖,并且边的总权值最小。
865 0
|
SQL Java 数据库连接
Mybatis中强大的resultMap
Mybatis中强大的resultMap
376 0
|
5月前
|
安全 Linux Shell
CentOS恢复或重置遗忘的root用户密码的方法
至此,整个手术过程完成。没有繁复的迷魂阵,也无需烧香拜佛,就这样直截了当,你已经成功将被遗忘的密码变成了新的秘密。就像你的影子随形,但却更加隐秘安全。这不仅限于CentOS,其实许多Linux系统对于这样的技巧也会乖乖听话。这样的流程就像变魔术一样,让你重新掌握了“开关命运”的钥匙。
307 12
|
11月前
|
机器学习/深度学习 自然语言处理 算法
政府部门文档管理革新:实现90%自动内容抽取与智能标签化处理!
本文介绍了多模态数据处理技术,涵盖自然语言处理(NLP)、光学字符识别(OCR)和图像识别的技术原理,以及智能分类、标签化处理、系统集成与国产化适配、安全与合规、算法优化等方面的内容。通过这些技术的应用,实现了文档管理的全流程智能化,为用户提供高效、可靠的解决方案。
355 3
|
机器学习/深度学习 人工智能 算法
从数据增强的隐藏作用出发,揭示视觉强化学习可塑性损失的独特机制
【10月更文挑战第22天】视觉强化学习(VRL)通过智能体与环境的交互学习最优策略,但可塑性损失是其关键挑战。近期一篇论文《Revisiting Plasticity in Visual Reinforcement Learning: Data, Modules and Training Stages》通过实证研究,揭示了数据增强、评论家可塑性损失及早期干预在维持智能体可塑性方面的作用,并提出了一种动态调整重放率的方法,为解决高重放率困境提供了新思路。
254 2
|
消息中间件 负载均衡 大数据
Kafka - 分区中各种偏移量的说明
Kafka - 分区中各种偏移量的说明
470 0
Kafka - 分区中各种偏移量的说明
|
存储 Shell 应用服务中间件
[ansible]wget批量调用shell脚本
[ansible]wget批量调用shell脚本
207 3
|
机器学习/深度学习 数据采集 算法
【Python机器学习专栏】数据标准化与归一化技术
【4月更文挑战第30天】在机器学习中,数据预处理的两大关键步骤是标准化和归一化,旨在调整数据范围以优化算法性能。标准化将数据缩放到特定区间,如[-1, 1]或[0, 1],适合基于距离的算法,如KNN、SVM。归一化则将数据线性变换到[0, 1],保持相对关系。Python中可使用`sklearn.preprocessing`的`MinMaxScaler`和`StandardScaler`实现这两种操作。选择哪种方法取决于数据分布和算法需求。预处理能提升模型理解和性能,增强预测准确性和可靠性。
520 0