What can neural networks reason about?ICLR2020高分论文解析

论文地址:论文地址

最近在看这篇论文作者MIT研究生keyulu Xu的2021ICLR最高分论文时,发现很多地方与此片论文有联系,所以先回头来看看他2020年的论文。

论文干了什么

此篇论文正式定义此算法比对,并得出样本复杂度界限,并且该界限随着更好的比对而降低。并且作者展示GNNs和DP(动态规划)问题的对比,发现GNNs很有希望取解决DP等问题,在几个推理任务上,(Summary statistics, Relational argmax, Dynamic programming, NP-hard problem)提出的理论得到了经验结果的支持。

其中GNN在和DP(动态规划)的问题的算法有很高的相似性,因此能够有效采样地学习这些任务(有效采样:因为我们机器学习时从一个支持及上面采样一个训练集来做训练,所以采样的样本越少效果越好就说明这个模型good,这就是后面的PAC学习大概要说的东西)


上图将GNN的计算结构和Bellman-Ford算法对比,可以看出GNN中只需要MLP去学习一个简单的推理步骤,两个计算结构就基本相似了,那如果用MLP直接来模拟Bellman-Ford算法的话,还要去学习一个for循环,通过论文中的定理3.5也说明了for循环是一个非常难学习的算法步骤。

所以,与不正确对齐的神经网络相比,能够更好地与正确的推理过程(算法解决方案)保持一致的神经网络可以更轻松地学习推理任务。换句话就是说,针对不同的任务应该选择和此任务解决算法保持一致的神经网络框架何以使神经网络更好的学习此任务。

PAC learning and sample complexity

计学习理论中最基本的是概率近似正确(Probably Approximately Correct)简称PAC。
这里我对sample complexity理解为:最少有多少的训练样本能学习到目标概念。
所以我们之间看到定义3.3

具体的就是PAC学习的定义,包括PAC Identify(PAC辨识)和PAC Learnable(PAC 可学习),那我们可以看到||f(x) - g(x)||为误差,那就是误差小于ε的概率大于等于σ(误差小于ε的概率是比较大的),那么就说明这个算法是PAC可学习的。
样本复杂度是满足上式最小的M(M是样本个数),在学习算法A之下,function g就是(M, ε, σ)可学习的。

基于PAC定理,作者定义了算法比对的数字度量(这里algorithmic alignment 我就统一叫成算法比对了呀。)

最后的这个M就是最大的一个模块的采样复杂度*n,就是这个模型的Algorithmic alignment Value.
一个好的算法,应该是有一个小的M,也就是说所有算法步骤fi,去模拟 的算法步骤g都是非常容易去学习的。

定理3.6说明了样本复杂度界限随算法对齐值M的增加而增加,这也不难理解, M越小说明对齐(匹配)的越好。
定理3.6我下来再去研究一下,不是很懂 ,提出了三个假设,分别是算法稳定性,序列学习(对前面较好的学习效果是有记忆保存的),Lipschizness约束。

预测神经网络的推理能力


上图是对4个复杂任务的测试集准确率。(a)Summary statistics,除了MLP其他模型都泛化了,(b)Relaational argmax, Deep Set失败。©Dynamic programming 只有GNN在有足够的循环次数下泛化了。(d)NP-hard problem,GNNs失败,但是NES泛化了。
SO, GNN > MLP

其实我对这个实验设置挺感兴趣的,如何用GNN去做DP问题的实现,看了作者的github代码和附录,这里的GNN应该就是fig2中的那样,是一个有点怪的GNNs,不过这样写也没得毛病,就是for循环加MLP,MLP学习的是每个node和邻居节点的信息。不过GNN是需要构建graph使用邻居信息的,所以上面4个复杂任务都有位置信息,考虑了距离远近,我觉得应该是一张完全图,不过每条边都有距离信息。

然后,就是对4个复杂任务的具体描述了。。。

这张图表是各个模型在DP任务下,随着训练集采样个数增加各模型测试集准确率的变化。
如果一个神经网络模型和算法解法很匹配的话,那么该神经网络的测试集准确率就会非常快速的上升,比如训练集采样个数在40000 ~ 80000的阶段GNN4提升了23%, DeepSet提升了0.2%,那就说明GNN比DeepSet更加匹配DP问题的算法框架!

总结

  • 这篇论文是正式了解神经网络如何学习推理的第一步,提出了算法框架对比的概念,使神经网络的设计可以学习一些推理范例。比如DP,并且用实验证明了其分析的确实是正确的。
  • 对于一个神经网络来说学习for训练时相当难的。
  • 通过实验我们可以看出GNN的推理能力是很强的,因为GNN的框架概括了许多推理任务。

最后不得不佩服作者的深厚的算法基础和数学能力

What can neural networks reason about?论文解析相关推荐

  1. Moir´e Photo Restoration Using Multiresolution Convolutional Neural Networks 摩尔纹领域论文阅读复现

    写在前面 最近去广图借了几本书,啃了一下pytorch相关的书,大概了解了这个框架内部一些常用的API,马上就开始推进摩尔纹的进度,挑了这篇领域内的经典论文来品读并且复现. 本次论文复现的github ...

  2. ImageNet Classification with Deep Convolutional Neural Networks(AlexNet论文翻译(附原文))

    原论文如下: 链接:https://pan.baidu.com/s/1lnzMOD6tFRIqFeMbCvt6oQ  提取码:uvpa 原文连接https://dl.acm.org/doi/10.11 ...

  3. 分形网络结构——FractalNet: Ultra-Deep Neural Networks without Residuals论文笔记

    转自:http://blog.csdn.net/wspba/article/details/73251731 前言 自从ResNet提出以来,倍受人们的追捧,在ResNet基础上延伸出来的模型结构越来 ...

  4. 【论文解析】Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks

    <Run, Don't Walk: Chasing Higher FLOPS for Faster Neural Networks> Pconv 论文链接:https://paperswi ...

  5. 论文阅读:Meta-Learning in Neural Networks: A Survey

    题目:Meta-Learning in Neural Networks: A Survey 论文地址:https://arxiv.org/abs/2004.05439 作者:Timothy Hospe ...

  6. 论文阅读 - Joint Beat and Downbeat Tracking with Recurrent Neural Networks

    文章目录 1 概述 2 信号预处理 3 分类神经网络 4 动态贝叶斯网络(HMM) 4.1 原始的bar pointer model 4.2 原始的bar pointer model的缺点 4.3 改 ...

  7. 二值神经网络(Binary Neural Networks)最新综述

    作者|秦浩桐.龚睿昊.张祥国 单位|北京航空航天大学 研究方向|网络量化压缩 本文介绍了来自北京航空航天大学刘祥龙副教授研究团队的最新综述文章 Binary Neural Networks: A Su ...

  8. 2019_AAAI_Hypergraph neural networks

    [论文阅读笔记]2019_AAAI_Hypergraph neural networks 论文下载地址: https://deepai.org/publication/hypergraph-neura ...

  9. 神经网络损失函数特别大_二值神经网络(Binary Neural Networks)最新综述

    作者|秦浩桐.龚睿昊.张祥国 单位|北京航空航天大学 研究方向|网络量化压缩 本文介绍了来自北京航空航天大学刘祥龙副教授研究团队的最新综述文章 Binary Neural Networks: A Su ...

最新文章

  1. shell脚本--03免密疑云
  2. 【 Notes 】INS Preliminary Introduction
  3. 从点云中重建三维物体实例RfD-Net
  4. jsp里面java和js交互_jsp与js交互实例 | 学步园
  5. 类的加载顺序和对象的实例化
  6. JAVA垃圾回收机制-史上最容易理解看这一篇就够了
  7. 怎么样让body、div占满整个浏览器的窗口
  8. 在 .NET Core 中使用 ViewConfig 调试配置
  9. Linux配置rsylogs日志发送,syslog强大而安全的日志处理系统
  10. MKCMS6.2.3视频程序源码修复列表页
  11. app软件测试是否强制升级_这些测试方法对于任何软件都必须是强制性的
  12. 深入理解java中的线程池
  13. windows 中获取字体文件名
  14. svn分支和主干的同步操作
  15. 随机发生器:线性同余法
  16. feature map理解
  17. 法拉克机器人自动怎么调_FANUC机器人:参考位置功能介绍与设定方法
  18. 用最通俗易懂的话告诉你交换机和路由器的区别
  19. 基于物化视图创建分区(分区的物化视图)
  20. 【解决方案】Command failed due to signal: Segmentation fault: 11

热门文章

  1. 浏览器网站密码忘记了、xshell里面的服务器密码忘记了
  2. android开发打开wifi密码,【Android开发】wifi开关与wifi连接(密码连接)
  3. 两种以太网 RDMA 协议: iWARP 和 RoCE
  4. 10小时入门大数据视频教程
  5. 链接诱饵黑客大刀阔斧新闻点被认为有癌性要求采取行动
  6. think php框架案例,ThinkPHP框架设计及扩展详解
  7. gsoap初始化释放_gsoap内存管理与释放
  8. win7虚拟机永恒之蓝漏洞复现
  9. python代码重构技巧_Python代码重构
  10. Microchip’s BM83 蓝牙模块