鱼羊 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

深度神经网络(DNN)如今已经无处不在,从下围棋到打星际,DNN已经渗透到图像识别、图像分割、机器翻译等各种领域,并且总是表现惊艳。

然而,深度神经网络到底是怎样工作的,至今仍困扰着广大研究者。

黑盒子总是让人诟病,为了让AI更好地服务于人类,更深入地理解AI是必要的。

谷歌AI的研究人员们正致力于此,他们在ICLR 2019的一篇论文中提出用边缘分布来预测深度神经网络的泛化间隙,以便更有原则地设计DNN。

边缘分布成泛化预测因子

想要理解泛化,就要了解一个重要的概念泛化间隙(generalization gap),即模型在训练集上的准确率与在测试集上的准确率之间的差异。

谷歌AI的研究者建议在网络层上使用归一化的边缘分布来预测泛化间隙。他们进行了实验统计,发现在对距离进行适当的归一化之后,边缘分布的一些基础统计可以准确地预测出模型的泛化间隙。

上面的三张图分别对应在CIFAR-10上训练过的三个卷积神经网络,它们的分类准确率分别是55%、71%和85%,从左到右,泛化能力越来越强。

y轴表示归一化边缘分布(x轴)在模型的4层网络中的概率密度,很显然,边缘分布和测试准确率具有很强的关联性。

这里他们采用了一个名为Deep Model Generalization(DEMOGEN)的数据集,这个数据集由756个训练过的深度模型组成,囊括了这些模型在CIFAR-10和CIFAR-100数据集上的训练及测试表现。数据集现已开源

实验结果

如果边缘分布的统计数据真实地预测了泛化性能,那么简单的预测方案应该就能够建立起对应关系。于是研究者们选择了线性回归的方案。

研究者在CIFAR-10数据集上训练了216个九层卷积网络,测试集的准确率范围在60%-90.5%之间,泛化间隙在1%到35%之间。

作者表示,Bartlett在2017年发表的研究提供了目前最佳的深度网络泛化界限之一,将其作为基线方法进行对比,完整的20维特征空间的对数空间回归模型预测效果提升明显。

而在CIFAR-100数据集上,研究者训练了324个ResNet-32网络,测试准确率范围在12%-73%之间,泛化间隙范围在1%-75%之间。

在CIFAR-100+ResNet-32上预测的泛化间隙已经非常符合真实值了。泛化间隙和边缘分布的对数变换统计之间的关系几乎是完全线性的。

专家评价

对于这项研究,评审专家们褒贬不一,但他们大都承认把边缘分布引入深度学习框架是一个有趣的想法。

赞赏这项研究的专家认为这是一篇很好的实证论文,结论令人鼓舞:

这篇文章没有尝试提出另一个“空洞的”泛化界限,而是令人信服地说明了边缘统计和泛化间隙之间存在着有趣的联系,这对于帮助人们了解深层神经网络的泛化很有帮助。

但也有专家指出,这篇论文展示了丰富的实验结果,但却没有提供更多的理论验证。

OMT

论文一作是本科毕业于伯克利的谷歌AI程序猿Yiding Jiang。

论文合作者中还有和图灵奖得主Yoshua Bengio一起被誉为“AI兄弟”的Samy Bengio。

Yoshua Bengio同样开展过有关深度学习泛化问题的研究,他的团队提出了一个深度学习泛化保障方案(《Generalization in Deep Learning》),这篇ICLR 2019的论文里也引用了他们的文章。

传送门

Google AI博客:

https://ai.googleblog.com/2019/07/predicting-generalization-gap-in-deep.html

论文地址:

https://openreview.net/forum?id=HJlQfnCqKX

DEMOGEN数据集:

https://github.com/google-research/google-research/tree/master/demogen

AI社群 | 与优秀的人交流

小程序 | 全类别AI学习教程

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...相关推荐

  1. 训练集山准确率高测试集上准确率很低_拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 深度神经网络(DNN)如今已经无处不在,从下围棋到打星际,DNN已经渗透到图像识别.图像分割.机器翻译等各种领域,并且总是表现惊艳. 然而, ...

  2. R语言决策树、bagging、随机森林模型在训练集以及测试集的预测结果(accuray、F1、偏差Deviance)对比分析、计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况

    R语言决策树.bagging.随机森林模型在训练集以及测试集的预测结果(accuray.F1.偏差Deviance)对比分析.计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况 ...

  3. 第5章【思考与练习2】将数据集划分为训练集与测试集,查看决策树分类器的性能。 将例5-3中的分类器保存到文件中,然后重新加载预测给出的新数据。

    P101思考与练习2 1.将数据集划分为训练集与测试集,查看决策树分类器的性能. #1. #划分为测试集与训练集 import pandas as pd data = pd.read_csv('dat ...

  4. 链接预测中训练集、验证集以及测试集的划分(以PyG的RandomLinkSplit为例)

    目录 1. 链接预测的基本概念 2. 一些术语 3. 实例 3.1 数据集介绍 3.2 RandomLinkSplit 1. 链接预测的基本概念 在图任务中,所谓链接预测,一般有两种含义:在静态网络中 ...

  5. 训练集、测试集的划分——K折交叉验证

    文章目录 一.训练集.测试集 二.交叉验证法 1.目的 2.原理 3.具体步骤 一.训练集.测试集 训练集(Training Set):帮助我们训练模型,简单的说就是通过训练集的数据让我们确定拟合曲线 ...

  6. ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...

    首先三个概念存在于 有监督学习的范畴 Training set: A set of examples used for learning, which is to fit the parameters ...

  7. 1. 训练集、开发集、测试集(Train/Dev/Test sets)

    1.在以往的机器学习中 如上图所示,以往机器学习中,对训练集.开发集.测试集的划分比例为60/20/20,如此划分通常可以获得较好的效果. 训练集(training set):训练算法. 开发集(de ...

  8. label y 训练集测试集x_Adversarial validation-对抗验证| 一种解决训练集与测试集分布不一致的方法...

    导语: 马上就要五一了,祝全世界人民五一快乐!在这之前,想过好几个准备这些天可以完成的专题,比如Boosting系列在搞点最近几年的新玩意,或者开一个新专题,如心心念念的GNN/GCN(主要是又可以去 ...

  9. 训练集、验证集、测试集区分

    转载链接: validation set,是有标注,用于验证的 test set,是没有标注的 在有监督的机器学习中,经常会说到训练集(train).验证集(validation)和测试集(test) ...

最新文章

  1. [React Router v4] Intercept Route Changes
  2. python 压缩 解压
  3. IntelliJ IDEA 修改单行注释的格式
  4. 1698 -Access denied for user 'root@xxxx'
  5. All Roads Lead to Rome (30)
  6. ES 处理日志字段超出 1000 引发的报错
  7. 【排序算法】快速排序-迭代方法
  8. 训练深度学习模型的小技巧
  9. 二十年后我发明了保姆机器人作文_我想发明保姆机器人作文500字
  10. SQL语句基本增删改查操作总结
  11. html5 下拉框 美化,实用select下拉框美化jquery插件
  12. IDEA格式化代码的快捷键是什么
  13. Android 使用so库的遇到的坑
  14. 安全宝冯景辉:每周都有超过100G大型DDoS攻击
  15. 【PHP学习】Yii2框架Gii模块使用
  16. WCF服务通过TCP实时监控客户端状态,并可以向客户端广播推送消息,实现双向通信
  17. 骨架屏-vue3中实现
  18. 提高写文档的能力(程序员)
  19. android的照片恢复,安卓手机删除的照片如何恢复呢
  20. java 静态分析_静态代码分析与代码质量安全

热门文章

  1. Linux操作系统下以不同颜色命名的文件类型
  2. NHbiernate 配置
  3. java中gson的简单使用
  4. Xamarin Essentials教程屏幕常亮ScreenLock
  5. iOS 11开发教程(七)编写第一个iOS11代码Hello,World
  6. 51单片机c语言测距,求助 关于C51单片机超声波测距 C语言程序设计 高手帮帮忙...
  7. python多线程同步与互斥_Python之多线程:线程互斥与线程同步
  8. 标记三维点_三维扫描仪对汽车钣金外形检测折弯件钣金件热成型加工件的应用...
  9. gets会读取回车键吗_Linux Shell 读取从键盘输入的数据
  10. 可穿戴的脑机接口设备将运动意念转化为行动