你的 GNN,可能 99% 的参数都是冗余的

7c156a05d22bb158a1f0cb844e263db0.png

文 | iven

自从图卷积神经网络(GCN)面世以来,图神经网络(GNN)的热潮一瞬间席卷 NLP。似乎在一切 NLP 任务上,引入一个图结构,引入一个 GNN,就能让模型拥有推理能力。更重要的是,似乎在实验结果上,也能证明 GNN + NLP 的有效性。

具体地,GNN + NLP 可以分成以下两类任务:

在本来就需要图的任务上,比如知识图谱问答(KBQA),大家从问题和答案中抽取关键实体,从知识图谱中将这些实体,以及及所有路径提取出来,作为知识图谱针对这个问题提取出的子图,在这上使用 GNN 进行推理。

在本来没有图的任务上,比如文档级的抽取或者理解任务,大家将文档中的关键实体作为节点,并用一些简单的规则连边(比如,在同一个句子里的实体连边、指代同一个概念的实体连边,等等),得到一张文档对应的图,在上面用 GNN 推理。

看起来建图是有用的,可接下来,为啥一定要用 GNN 呢?最近的文章里,人们都说 GNN 有“推理能力”,即 GNN 在图上的信息传播过程相当于在图上找路径,这些路径可以解释答案得到的推理步骤。

在 KBQA 任务里,GNN 能在图中挑选出从问题实体到答案的推理路径。比如:

0a29e5fd181f2bfa9d769d8439fb2d00.png

这里提问:哪里能找到有电梯的地下室呢?衣柜、教堂、办公楼,三选一,答案显然是办公楼。在这个 case 里,模型预测出了 elevator → building → office building 和 basement → building → office building 两条路径,这看起来都能解释答案的选择逻辑。

在文档级关系抽取任务里,GNN 的推理路径就表示了关系的传递。比如:

5d95adebc58ac03576467b47cac8cdcb.png

图中右边是文本,大概讲的是二战中几个国家军队的故事,下划线的是实体;左边是 World War II 这个实体,在两层 GNN 中,分别对所有实体的注意力权重。这样我们也能得到与前一个例子相似的一些推理路径:World War II → New Ireland → Japan 和 World War II → New Ireland → Imperial Japanesae Army。这也解释了为什么 Japan 与 World War II 是“参与者”的关系。

但是,问题来了!推理的必要条件其实只有一张图,我们真的需要 GNN 中复杂的节点与边的表示、复杂的信息聚集和传播,才能“推理”吗?

今天我们带来一篇杨迪一老师领衔的文章 GNN is a Counter? Revisiting GNN for Question Answering。这篇文章表明,GNN 被我们滥用了,推理真的不需要 GNN!简简单单的一个计数器就足够!

论文题目:
GNN is a Counter? Revisiting GNN for Question Answering

论文链接:
https://arxiv-download.xixiaoyao.cn/pdf/2110.03192.pdf

GNN 真的有用吗

在介绍这篇文章之前,我们还是先来回顾下在 KBQA 问题上,大家用 GNN 的做法。

KBQA 的主要知识来源有两个方面:预训练模型中隐含的知识、知识图谱中显式的知识。为了用上预训练模型的知识,大家用预训练模型作为 encoder,得到实体和问题的表示;为了用上知识图谱中的知识,大家从知识图谱中抽取问题相关的子图。接下来将节点表示、边的表示作为输入,过几层 GNN,得到优化的节点表示,最后送给分类器分类。

为了探究有没有必要使用 GNN,作者使用 Sparse Variational Dropout (SparseVD) 给 GNN 的网络结构解剖。SparseVD 原本是用来寻找网络结构中,哪些参数是不重要的,以此对模型进行剪枝和压缩。在这篇文章中,作者使用 SparseVD 探寻 GNN 中各层对推理过程的贡献,sparse ratio 越低,代表这些参数越没用。

作者在之前的 SOTA QA-GNN[1] 上进行剪枝,得到的结果令人震惊:

a379c18e006a185d2fd6add766bc57de.png

随着训练的推进,GNN 前面节点的 embedding 层越来越没用,但边的表示一直对最后的预测准确率有很大影响。

32aa7f431d1113453fce4383012d2a51.png

这张图表明,不仅节点 embedding 层参数没用,节点的初始化也没用。甚至作者在其他模型中也对节点初始化剪枝,发现所有方法里都没用!

4227d2df1ef6ada5eb0bce396ab1afd5.png

在第二层 GNN 上,图注意力模块中的 key 和 query 完全没用,只有 value 比较有用。那么图注意力计算注意力权重不也就完全无效了吗?注意力模块注意不到任何元素,这和一个线性变换又有什么区别呢?

综上所述,似乎 GNN 里面很多部分都是不需要的?为了证明这一点,作者设计了一个 GNN 的简化版本 —— graph soft counter。

简单的 counter,一样有效

通过上面的实验我们可以发现,GNN 中边的表示,以及信息传递和聚合,都是很重要的;其它诸如图注意力、节点表示,都可有可无。于是作者只留下两个结构:Edge encoder 用来构建边的表示,Graph Soft Counter layer 用来做信息传递和聚合。

Edge encoder 是最简单的两层 MLP,输入边的 1-hot 表示 。其中 表示四种节点类别, 表示 38 种边的类别(这里的 38 种是 17 种关系类别,加上问题/答案的边,以及所有类别的反向)。MLP 最后就输出一个 [0,1] 之间的 float 数字,作为边的表示。

Graph Soft Counter layer(GSC) 完全遵照了 MPNN 信息聚合与传播的思路,并且这是无参数的!具体步骤如下图所示,一层 GSC 包含两步,即先将节点的值加到边上,再将边的值加到节点上。

ab6cc3ee368984498f783dc14c516557.png

对,就是这么简单的一个模型!参数还不到 GNN 的 1%!

边的表示的维度是 1,因此这个表示就可以被看做边的重要性分数;GSC 的信息聚集,因此也能被看做“数数”:数一数边两端的结点有多重要,数一数结点周围的边有多重要。

实验

作者们在 CommonsenseQA 和 OpenBookQA 两个数据集进行了实验。CommonsenseQA 需要模型对常识进行推理,而 OpenBookQA 需要对科学知识进行推理。作者们不仅在这两个数据集的 leaderboard 上进行了评测,还基于同一个预训练模型,与前人所有基于 GNN 推理的模型进行了对比。

在 CommonsenseQA 上,GSC(本方法)超过了所有基于 GNN 的方法,在 dev 和 test 上分别由 2.57% 和 1.07% 的提升。

31ad7cd7a32efa1a28fcccb53555c80e.png

在 CommonsenseQA 的 Leaderboard 上,GSC 排名也非常靠前。这里排在首位的 UnifiedQA,其参数量是 GSC 的 30 倍。

70411345b63b2d48c3ede87614eeec15.png

在 OpenBookQA 上,GSC 也有相似的惊人效果,甚至在 leaderboard 上超过了 30 倍参数的 UnifiedQA!

7cd840987c7f964dab684eff4e6239cd.png2577c8f8e3c43e300ae9e8c21fc0394c.png

怎么才能证明 GSC 也有推理的能力呢?作者们采用了这样的一个假设:如果 GSC 的预测结果和基于 GNN 推理的模型预测结果比较一致,那么就说明 GSC 也有与 GNN 差不多的推理能力。实验发现,两次 GSC 的结果与 ground truth 的交集有 69% 的重合率(下图第一个),而 GSC 与前面不同 baseline 和 ground truth 也有 60% 左右的重合率,且与基于 GNN 推理的模型重合率更大。这表明 GSC 与 GNN 有差不多的推理能力。

5c66c9a9a5d30a75ab5f6d9eafa52240.png

此外,作者还举出一个例子,来演示 GSC 的推理过程。直接通过每一步的分数,我们就能得到推理路径,最终答案节点也得到一个分数,在不同的答案之间就用这个分数做出选择。

dbe354ac25d11d5b9e38d184804a2a92.png

思考和总结

这篇文章表明 GNN 中很多模块对于推理都是可有可无的。但似乎这和我们之前的印象有些不同?

大家一直都说,信息在图上传播的路径就是推理路径。GAT 的 attention 权重就是传播信息的一个权重,因此大家在 case study 上看信息传播路径的时候,都是找 attention score 大的,看做信息传播的下一跳。然而本文却表明,attention 这部分参数对于结果几乎没有用?另外,在基于 counter 的模型上,case study 中依然能复现出信息传播的过程。那这是不是说,节点之间的 attention score 没有必要,节点自己的表示就足够了?那 GAT 为什么又会比 GCN 好呢?

GNN 里面到底哪些是有用的参数?推理真正需要什么模块?这些都需要更多的研究和思考。

41027a97878ca5b95858d15138eb2206.png萌屋作者:𝕚𝕧𝕖𝕟

在北大读研,目前做信息抽取,对低资源、图网络都非常感兴趣。希望大家在卖萌屋玩得开心 ヾ(=・ω・=)o

作品推荐

  1. 老板让我用少量样本 finetune 模型,我还有救吗?急急急,在线等!

  2. 谷歌:CNN 击败 Transformer,有望成为预训练界新霸主!LeCun 却沉默了...

  3. 中文 BERT 上分新技巧,多粒度信息来帮忙

  4. 恕我直言,很多小样本学习的工作就是不切实际的

c667b7a371420b4c16bea3ebc1e53b44.png后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

3a5ccf7df482c73547606799e381fd02.gif 690bfef5388e7407e989b0c098ddad18.png

[1] Michihiro Yasunaga, et.al., "QA-GNN: Reasoning with Language Models and Knowledge Graphs for Question Answering", NAACL 2021, https://arxiv-download.xixiaoyao.cn/pdf/2104.06378.pdf

[2] Guoshun Nan, et.al., "Reasoning with Latent Structure Refinement for Document-Level Relation Extraction", ACL 2020, https://arxiv-download.xixiaoyao.cn/pdf/2005.06312.pdf

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

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

相关文章

LeetCode 874. 模拟行走机器人(set)

1. 题目 机器人在一个无限大小的网格上行走&#xff0c;从点 (0, 0) 处开始出发&#xff0c;面向北方。该机器人可以接收以下三种类型的命令&#xff1a; -2&#xff1a;向左转 90 度-1&#xff1a;向右转 90 度1 < x < 9&#xff1a;向前移动 x 个单位长度 在网格上有…

高级语言的编译:链接及装载过程介绍

引言 随着越来越多功能强大的高级语言的出现&#xff0c;在服务器计算能力不是瓶颈的条件下&#xff0c;很多同学会选择开发效率高&#xff0c;功能强大的虚拟机支持的高级语言&#xff08;Java&#xff09;&#xff0c;或者脚本语言&#xff08;Python&#xff0c;Php&#xf…

图谱实战 | 基于半结构化百科的电影KG构建、查询与推理实践记录

转载公众号 | 老刘说NLP本文围绕基于半结构化百科的电影知识图谱构建、查询与推理实践这一主题&#xff0c;完成基于百度百科的电影元组抽取、基于protg的电影本体构建、基于D2RQ的RDF数据转换与查询、基于Apache jena的电影知识推理四个环节的实践。这是半结构化知识图谱构建和…

推荐系统精排:看阿里妈妈再试线性模型

文 | 水哥源 | 知乎saying1.科学总是要求我们有深度&#xff0c;但在实际业务中这却是一条悖论&#xff1a;越有深度的事情往往投入产出比不够高2.当我有一个方法A&#xff0c;还有一个方法B。且B的某种简单形式就是A的时候&#xff0c;我就会很快乐&#xff0c;因为这时候B获取…

LeetCode 686. 重复叠加字符串匹配

1.题目 给定两个字符串 A 和 B, 寻找重复叠加字符串A的最小次数&#xff0c;使得字符串B成为叠加后的字符串A的子串&#xff0c;如果不存在则返回 -1。 举个例子&#xff0c;A “abcd”&#xff0c;B “cdabcdab”。 答案为 3&#xff0c; 因为 A 重复叠加三遍后为 “abcd…

如何提升大规模Transformer的训练效果?Primer给出答案

文 | 舞风小兔编 | 智商掉了一地如何进一步提升大规模Transformer的训练效果&#xff1f;Primer给出了答案&#xff0c;一起来看看吧&#xff01;Transformer是深度学习界的明星模型。由于其具有高度的并行性&#xff0c;十分容易在并行计算系统中扩展至超大规模。自然语言处理…

会议交流|大模型与图学习等知识图谱相关技术实践探索

2021年&#xff0c;在疫情隔离和复杂国际形势的背景下&#xff0c;我们越发认识到重视核心基础技术&#xff0c;对保持国家独立自主发展的关键价值&#xff0c;互联网和科技行业也面临着新的挑战和变革机遇&#xff0c;新的AI技术正发挥越来越大的作用&#xff0c;AI技术本身正…

Kafka文件存储机制那些事

Kafka是什么 Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、分区的、多副本的、多订阅者&#xff0c;基于zookeeper协调的分布式日志系统(也可以当做MQ系统)&#xff0c;常见可以用于web/nginx日志、访问日志&#xff0c;消息服务等等&#xff0c;Linkedin于2010年贡…

LeetCode 392. 判断子序列(双指针二分查找)

1. 题目 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长&#xff08;长度 ~ 500,000&#xff09;&#xff0c;而 s 是个短字符串&#xff08;长度 <100&#xff09;。 字符串的一个子序列是原始…

仅仅因为方法 Too Simple 就被拒稿,合理吗?

文 | 小戏编 | 小轶如果你看到自己实验行之有效的论文被退稿&#xff0c;而收到的退稿理由仅仅是“方法太简单”&#xff0c;你会怎么想&#xff1f;这两天在推特上&#xff0c;佐治亚理工的 Riedl 教授吐槽了自己收到的 AAAI phase 1 退稿理由居然是因为“这方法似乎太简单”&…

论文浅尝 | 从具有数值边缘属性的知识图谱中学习嵌入

论文笔记整理&#xff1a;朱珈徵&#xff0c;天津大学硕士链接&#xff1a;https://www.ijcai.org/proceedings/2021/0395.pdf动机从遗传数据到社会网络&#xff0c;在越来越多的场景下与知识图谱边缘相关的数值已经被用来表示不确定性、边的重要性&#xff0c;甚至是带外知识。…

LeetCode 459. 重复的子字符串(数学)

1. 题目 给定一个非空的字符串&#xff0c;判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母&#xff0c;并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。示例 2: 输入: &quo…

被放养导致申博论文难产,该不该硬gang导师?

最近一位粉丝给我发长文求助&#xff0c;说他因为申博论文的事情快崩溃了&#xff0c;让我给点建议。我把经过贴在这里跟大家探讨一下&#xff1a;985专硕一枚&#xff0c;CV方向&#xff0c;最近想申请国外博士&#xff0c;快被论文逼疯了。提交了初稿&#xff0c;隔了一个月&…

会议交流 | 第十五届全国知识图谱与语义计算大会(CCKS 2021)12月25日线上召开...

勘误&#xff1a;张伟老师为华东师范大学紫江青年学者OpenKGOpenKG&#xff08;中文开放知识图谱&#xff09;旨在推动以中文为核心的知识图谱数据的开放、互联及众包&#xff0c;并促进知识图谱算法、工具及平台的开源开放。点击阅读原文&#xff0c;进入 CCKS 2021 网站。

美团性能分析框架和性能监控平台

以下是我在 Velocity China 2014 做的题为“美团性能分析框架和性能监控平台”演讲的主要内容&#xff0c;现在以图文的形式分享给大家。 今天讲什么&#xff1f; 性能的重要性不言而喻&#xff0c;需要申明的是&#xff0c;我们今天不讲业界最佳性能实践&#xff0c;这些实践已…

LeetCode 581. 最短无序连续子数组(排序单调栈)

文章目录1. 题目2. 解题2.1 排序2.2 4次遍历2.3 单调栈1. 题目 给定一个整数数组&#xff0c;你需要寻找一个连续的子数组&#xff0c;如果对这个子数组进行升序排序&#xff0c;那么整个数组都会变为升序排序。 你找到的子数组应是最短的&#xff0c;请输出它的长度。 示例…

史上最大多模态图文数据集发布!

文 | 付瑶编 | 小轶最近多模态研究圈中出现了一个扬言 “史上最大规模”的多模态图文数据集&#xff1a;LAION-400。该数据集在今年8月完全公开&#xff0c;共计公开了 4亿图文对&#xff0c;可以依据不同的用途提供不同大小版本的子数据集。据小编调查&#xff0c;在 LAION-40…

图谱实战 | 知识图谱构建的一站式平台gBuilder

OpenKG地址&#xff1a;http://openkg.cn/tool/gbuilder网站地址&#xff1a;http://gbuilder.gstore.cn知识图谱能够让机器去理解和认知世界中的事物和现象&#xff0c;并解释现象出现的原因&#xff0c;推理出隐藏在数据之间深层的、隐含的关系&#xff0c;使得知识图谱技术从…

LeetCode 861. 翻转矩阵后的得分(贪心)

1. 题目 有一个二维矩阵 A 其中每个元素的值为 0 或 1 。 移动是指选择任一行或列&#xff0c;并转换该行或列中的每一个值&#xff1a;将所有 0 都更改为 1&#xff0c;将所有 1 都更改为 0。 在做出任意次数的移动后&#xff0c;将该矩阵的每一行都按照二进制数来解释&…

一文跟进Prompt进展!综述+15篇最新论文逐一梳理

文 | ZenMoore编 | 小轶自从 Dr.Pengfei Liu 的那篇 prompt 综述发表开始&#xff0c;prompt 逐渐红得发紫。近期清华、谷歌等单位你方唱罢我登场&#xff0c;涌现了好多好多 prompt 相关的论文。无论是工业界还是学术界&#xff0c;想必大家都在疯狂 follow。不少伙伴肯定从老…