文 | Jerry Qiu
编 | 小轶

我们都知道,人类在很多任务上都可以很好地完成“外推”,例如:

啊不——我是说——例如,我们学会两位数的加减乘除后,就可以轻松将其推广至任意大整数的四则运算:

从数学的角度来讲,外推其实是与内插并列的一个概念。想必大家对多项式插值、样条插值等插值方法不陌生。通过已知的、离散的数据点,在范围内推求新数据点,即称为内插(Interpolation)。而如果我们在已知数据在范围外推求新数据点,则是外推(Extrapolate)

在通用人工智能被广泛讨论的今天,我们不禁发问,神经网络能像人类一样完成外推吗?即神经网络在训练分布的支撑集[1]之外,会如何表现?前辈们对于这一问题已经进行了一定的探究。然而令人困惑的是,他们对神经网络的外推给出了截然不同的结论。

早期的工作表明,多层感知机(Multi-layer Perceptron,MLP)在学习简单的多项式函数时不能很好地外推[2,3]。然而近期的⼀些工作则表明,在部分具有挑战性的算法任务上(例如求解数学方程、预测物理系统的时间演化),图神经网络(Graph Neural Network,GNN)具有很好的泛化能力,能够将训练结果推广至比训练集更大的图上[4,5,6]

多层感知机与图神经网络截然相反的表现引人深思:什么样的网络,在什么样的条件下才会具有较强的外推能力呢?

今天给大家分享的这篇论文便研究了这一问题。该文在ICLR'21的review阶段获得了最高的平均得分。审稿人们纷纷赞其见解之深刻,在神经网络外推能力的分析上迈出了重要的一步。

论文题目

How Neural Networks Extrapolate: From Feedforward to Graph Neural Networks

论文链接:

https://arxiv.org/pdf/2009.11848.pdf

Arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【1231】 下载论文PDF~

论文概述

为了解释为何不同神经网络的外推能力不尽相同,论文作者详细探究了使用梯度下降训练的神经网络是如何外推的。直觉上来说,神经网络在训练分布之外的表现是任意的、不可预料的[7],但事实上,如果网络用梯度下降算法进行训练,则它的外推能力是有规律可循的

在我们评价神经网络的外推能力前,我们需要先确定一个指标来衡量它。为此,论文作者定义了外推误差这一概念。一个模型的外推误差越小,则其外推能力越强。作者基于此讨论了MLP和GNN的具备外推能力的条件。

外推误差

在机器学习中,我们通常都希望在训练集




























上学习一个函数












,训练目标是使




满足















。注意,这里






是训练分布的支撑集,且






只是






的一个子集。

然而由于种种因素的限制,神经网络一般难以学到完美符合要求的函数




,而只能得出一个与




存在差距的函数




,从而我们定义外推误差如下:

不难看出,外推误差就是函数




在训练分布支撑集之外的误差上界

MLP

多层感知机是结构最简单的神经网络,也是众多复杂网络架构(例如GNN)的组成部分。

收敛至线性

作者发现,使用ReLU激活函数、过参数化的MLP在训练分布外,总是沿着从原点出发的各个方向都收敛为线性函数,如下图所示。

图中灰色部分是MLP需要学习的非线性函数,蓝色部分是MLP在训练分布内学得的结果,黑色部分是MLP在训练分布外的表现

作者也从理论上给出了双层ReLU MLP收敛速率的证明,发现这种收敛常常出现在靠近训练数据的位置,这表明ReLU MLPs在大多数非线性任务上的外推能力都较弱

MLPs外推误差小的条件

同时作者也发现,当目标函数为线性函数时,MLPs的外推表现较好。然而MLPs能否成功地进行外推,还取决于训练数据的几何形状。如果训练分布的支撑集包括了各个方向(例如包含原点的超立方体),则MLPs的外推误差较小。这一条件听起来可能无法理解,不妨一睹作者给出的数学定义:

Suppose the target function is













for some











. Suppose the training data

















is sampled from a distribution whose support






contains subset






, where for any non-zero











, there exists






so that









.

即MLPs 外推误差小的条件是:训练数据是从支撑集






中采样得到的,它包含一个子集






,满足:对于任意的




维向量




,存在正数




使得





属于






,我们不难发现,显然这个






需要包含原点。

作者给出了MLP学习线性目标函数的示例(灰色部分是MLP需要学习的线性函数,蓝色部分是训练分布,黑色部分是MLP在训练分布外的表现):

由于图上已经说得比较清楚,笔者尝试换个角度给出说明:假定数据分布定义在一个矩形区域内(蓝色部分),左一的原点在矩形区域内,此时训练数据自然是包含从原点出发的各个方向的,可以看出这时MLP外推效果较好;左二的原点在矩形的边上,那么从原点出发的红色箭头的反方向就没有训练数据,MLP外推开始出现了一些偏差;右二的原点在矩形的角上,MLP外推的偏差也较大;右一中,数据分布定义在一条经过原点的线上,使得训练分布之外的部分有明显的外推误差。

GNN

图神经网络在多项非线性算法任务上表现出不错的外推能力,例如图算法、符号数学等。作者基于前文关于MLP的结论,继续探究GNN的外推效果。

作者猜想,如果编码适当的非线性至GNN的架构和输入表示中,让MLP组件仅学习线性函数,那么GNN就能在动态规划任务中顺利外推,获得较小的外推误差。

编码非线性至架构

以最短路问题为例,著名的的Bellman-Ford算法中的更新式如下:

而使用最小值聚合(min-aggregation)的GNN架构的节点表示如下:

不难发现以上两式十分相似。因此, 如果我们让GNN中的MLP模块学习线性函数



















,则GNN就可以模拟Bellman-Ford算法。由于我们已知MLP在线性任务上外推能力较强,因此使用最小值聚合的GNN也可以在这个最短路问题上具备较强的外推能力。

编码非线性至输入表示

对于某些任务,改变输入表示,会更容易达到好的外推能力。在这种情况下,我们可以将目标函数




分解嵌入(Embedding)




和一个模型外推效果较好的目标函数




,使得








,就可以有助于外推。

作者在动态规划中的多体问题上验证了这一观点(多体问题:预测多个物体在引力作用下随时间的演化情况)。作者对输入表示进行了转换,使得MLP只需学习线性函数。与转换前MLP需要学习非线性函数相比,平均绝对百分比误差(Mean Average Percentage Error)大大下降。

总结

本论文是麻省理工CSAIL实验室研究生Keyulu Xu继ICLR 2020论文 What can Neural Networks Reason About? 之后的又一力作。论文兼具严谨的理论推导及有力的实验验证,甚至有一位审稿人直言40页的附录太长没看。

作为一篇数理性较强的研究,它的行文也做到了较高的流畅性和易读性。适逢GNN大红大紫之时,作者高屋建瓴,对GNN的外推能力提出了新的观点,对社区做出了可观的贡献,确实令人钦佩。

最后,愿大家都能在学术领域中勇闯无人之境!

Boldly go where no one has gone before. ——《Star Trek》

后台回复关键词【入群

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

后台回复关键词【顶会

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

 

[1]Support (mathematics): https://en.wikipedia.org/wiki/Support_(mathematics)

[2]Barnard E, Wessels L F A. Extrapolation and interpolation in neural network classifiers[J]. IEEE Control Systems Magazine, 1992, 12(5): 50-53.

[3]Haley P J, Soloway D. Extrapolation limitations of multilayer feedforward neural networks[C]// IJCNN International Joint Conference on Neural Networks. IEEE, 1992, 4: 25-30.

[4]Battaglia P, Pascanu R, Lai M, et al. Interaction networks for learning about objects, relations and physics[C]//Proceedings of the 30th International Conference on Neural Information Processing Systems. 2016: 4509-4517.

[5]Veličković P, Ying R, Padovano M, et al. Neural Execution of Graph Algorithms[C]//International Conference on Learning Representations. 2019.

[6] Lample G, Charton F. Deep Learning For Symbolic Mathematics[C]//International Conference on Learning Representations. 2019.

[7]Zhang C, Bengio S, Hardt M, et al. Understanding deep learning requires rethinking generalization[J]. arXiv preprint arXiv:1611.03530, 2016.

ICLR最高分论文揭秘模型泛化,GNN是潜力股相关推荐

  1. ICLR 2020论文投稿2600篇,GNN、BERT、Transformer领跑热门研究方向

    (图片由AI科技大本营付费下载自视觉中国) 出品 | AI科技大本营(ID:rgznai100) 2019 年 4,ICLR 2020 论文征集活动开始,截止 9 月 25 日,大会共收到近 2600 ...

  2. 从2021年多篇顶会论文看OOD泛化新理论、新方法和新讨论

    ©PaperWeekly 原创 · 作者 | 张一帆 学校 | 华南理工大学本科生 研究方向 | CV,Causality arXiv 2021 论文标题: Towards a Theoretical ...

  3. ICLR 2019论文接收结果揭晓:24篇oral论文有没有你?

    机器之心报道 机器之心编辑部 不久之前,ICLR 2019 的论文评审结果出炉,评审们已经在论文的 openreview 页面公布了他们的评论和分数.今日,ICLR 2019 官方 Twitter 宣 ...

  4. 《预训练周刊》第55期:中文预训练进展、大模型泛化、模型下游性能预测

    No.55 智源社区 预训练组 预 训 练 研究 观点 资源 活动 周刊订阅 告诉大家一个好消息,<预训练周刊>已经开启"订阅功能",以后我们会向您自动推送最新版的&l ...

  5. 模型泛化技巧“随机权重平均(Stochastic Weight Averaging, SWA)”介绍与Pytorch Lightning的SWA实现讲解

    文章目录 SWA简介 SWA公式 SWA常见参数 Pytorch Lightning的SWA源码分析 SWALR 参考资料 SWA简介 SWA,全程为"Stochastic Weight A ...

  6. DeepLearning | 图注意力网络Graph Attention Network(GAT)论文、模型、代码解析

    本篇博客是对论文 Velikovi, Petar, Cucurull, Guillem, Casanova, Arantxa,et al. Graph Attention Networks, 2018 ...

  7. 伯克利大神一人投中16篇!ICLR 2021论文接收统计出炉

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:机器之心  |  作者:魔王 ICLR 2021 会议 ...

  8. ICLR 2021论文接收统计出炉!Top20 机构,国内仅清华在榜!

    转载自:AI科技评论 ICLR 2021于前些天正式放榜,本次ICLR 2021一共有2997篇有效论文投稿,最后一共860篇被接收,录取率达到了28.7%,相比去年的26.5%有提升,与其他一些AI ...

  9. 伯克利大神一人投中16篇:ICLR 2021论文接收统计出炉

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 ICLR 2021 会议中投稿量和论文接收量最多的作者和机构都有哪些?这个 GitHub 项目 ...

最新文章

  1. 1136 A Delayed Palindrome 需再做
  2. 【c语言】符号常量的使用
  3. WINCE屏蔽NK的串口输出信息
  4. C和C++循环链表的设计与实现
  5. mysql开启binlog启动慢_mysql的binlog和slow_log慢日志
  6. Linux基础篇_01_计算机概论
  7. python实例 87,88
  8. icmp端口_pingtunnel搭建icmp隧道
  9. LinkButton中添加删除确认框
  10. 学习 shell —— 相对路径转换为绝对路径
  11. 离职阿里4年后,我给年轻人的7点建议
  12. Alpha和索引色透明
  13. chartControl
  14. Python代码打包在xp系统上运行~~
  15. 制造业MES系统数字化转型
  16. EBU5502 Database Coursework Specifications
  17. 脸书AI首席开发布道师:如何贡献PyTorch代码
  18. Nginx使用的php-fpm的三种进程管理方式及优化 pm.start_servers pm.max_children参数说明
  19. php出生年月日怎么写,出生年月日五行查询表,五行属性查询表
  20. 打开cmd命令提示不能输入命令

热门文章

  1. 《BI那点儿事》运用标准计分和离差——分析三国超一流统帅综合实力排名 绝对客观,数据说话...
  2. js 获取url的get传值函数
  3. linux中如何快速进入某个目录
  4. 字符串2在字符串1中第一次出现的位置strstr()
  5. 为什么Linux内核里大量使用goto,而很多书籍却不提倡使用?
  6. C语言-数组a 和a 的区别
  7. php函数可变参数列表,PHP函数可变参数列表的具体实现方法介绍
  8. Python3 —— 变量和简单数据类型
  9. 每日一题(12)—— .h头文件中ifndef/define/endif的作用
  10. Linux C高级编程——网络编程之TCP(3)