ICLR 2020 Spotlight!从梯度信噪比来理解深度学习泛化性能 | AI TIME PhD
AI TIME欢迎每一位AI爱好者的加入!
深度学习在诸多应用领域取得了巨大的成功,但是其背后的基础理论确相对有些滞后。与传统浅层学习模型不同,深度学习所得到的深度神经网络(DNNs)层次更为复杂,然而泛化性能却很好!在第二期AI Time PhD ICLR专题分享直播间,毕业于北京大学的刘锦龙博士,从全新的角度和大家探讨了这个问题!一起来看看这篇ICLR顶会焦点论文,是如何从梯度信噪比来理解深度学习的泛化性能为什么这么好吧!
一、深度学习的泛化能力问题
对传统的机器学习浅层模型(比如线性回归、SVM)而言,参数量越大,越容易过拟合,泛化性能也就越差。
相比之下,深度神经网络模型包含巨大的参数量, 通常比训练样本数目多得多,按照经典泛化理论,应该会出现严重的过拟合问题。
然而在实践中,在真实数据上训练的深度学习模型通常具有很好泛化性能。很多时候DNN模型越大,泛化效果可能会越好。传统的泛化理论无法解释其中机理!
二、两个定义
a)
One-Step Generalization Ratio
一步泛化比例 (OSGR):在梯度下降过程的每一步迭代中,测试集的loss下降和训练集的loss下降的期望值的比值。该指标用于刻画梯度下降法训练过程中的泛化性能。
一般测试集的loss下降比训练集的loss下降更慢,意味着每一步迭代中,这个比值应该小于1。OSGR越接近1,泛化性能越好,反之则越差。
上图分别为OSGR值为0、0~1以及1的情况。
OSGR=0时,training loss在下降,但test loss无变化;OSGR=1时,test loss和training loss的下降速度一致,说明没有generation gap,泛化性能为最为理想;然而OSGR大部分处于0~1之间,中间这种曲线在训练中最为常见。
b)
Gradient Signal to Noise Ratio
参数的梯度信噪比 (GSNR):在所有样本逐个分别计算每个参数的梯度,对每个参数分别计算sample-wize的梯度均值和方差,得到梯度的均值的平方与梯度的方差之间的比值。该指标刻画了在梯度下降过程中不同sample的梯度的一致性。
如果所有sample梯度一样,则方差为0,梯度信噪比为无穷大。因此GSNR值越大,各个sample的梯度方向的一致性越高。
三、结论:OSGR与GSNR有关
刘博士提出:梯度信噪比越大,一步泛化比例越接近于1,即Larger GSNR leads to better generalization。
该结论基于两个假设:
(1)Learning rate足够小(接近于零)。
(2)训练集的平均梯度和测试集的平均梯度服从同一分布。(训练后期此条假设不成立,因为模型参数在训练后期会很好地拟合训练集,使得训练集的梯度和测试集的梯度不再服从同一分布。)
上式中,左边代表OSGR,与右边的GSNR有关。
也就是说,如果训练过程中各个sample之间梯度方向趋于一致,则test loss和training loss 的gap比较小,泛化性能比较好,测试集和训练集的下降速度就比较接近;如果不同sample的梯度方向相差很大,分布不一致,那么训练过程中training loss和test loss下降速度的比值会很小(接近与0),泛化性能也就很差。具体的结论推导过程可以参考文章。
由于等式左边可以通过定义计算,右边也可以统计均值、方差从而计算出来。因此我们可以通过实验验证该等式是否成立!
上图是在MNIST上的试验。训练初期,比如epoch=20的时候,蓝线和红线重合,表示等式左边等于右边,但是训练后期会有很大偏差。虽然后期左边不等于右边,但是左、右依然有很强的正相关性,相关系数在0.9以上,因此Larger GSNR leads to better generalization这个结论依然成立。
四、解释DNN的泛化性能
目前为止,刘博士的分析和实验得到了一个结论:在梯度下降法训练过程中,GSNR越大,OSGR越大,最终泛化越好。但这个结论适用于任何梯度下降法训练的模型,如何用它解释DNN的泛化性能呢?
如果我们将样本标签设置成随机(randomized),仍然可以在训练集上把loss下降到零,但由于这样的训练集已经不包含任何知识(标签全是错的),无法学到什么,所以没有任何泛化性能。实验结果中,黄线(random label)的GSNR始终很低。这符合我们的结论:GSNR可以揭示模型的泛化能力。
图中蓝线显示,深度学习GSNR在训练初期会有明显上升过程。按理说,随着训练进行,梯度均值会越来越小,在收敛时接近于零,同时方差会越来越大,因此梯度信噪比GSNR应该不断下降才对。对于浅层的模型,确实如此。
但DNN为什么有上升过程?
答案:正是这个GSNR初期上升的过程使得GSNR在DNN的训练中始终保持在一个比较高的值,这就是深度学习泛化能力较好的原因!
刘博士展示了一个简单的对比实验,用一个两层MLP模型,分别冻结和打开它的第一层参数,训练这个模型。显然,在冻结第一层参数的情况下,模型等价于线性回归。在这两种情况下,分别统计模型第二层的平均GSNR,发现在冻结的情况下,GSNR始终在下降,而在打开的情况下,GSNR会有一个明显的上升过程。这就清楚地表明了深度学习和浅层(linear regression)模型GSNR不同的表现。
分析认为,在打开的情况下,模型第一层的参数能够学习到较好的特征,而模型第二层的和这些特征相乘的权重的梯度在不同的sample上会具有更好的一致性。即大部分sample都同时倾向于使这个权重增大或者减小,对应的此权重的GSNR也会较大。
解析的分析上,刘博士在全连接网络的情况下,通过推导阐述了一个有趣的机制,这个机制使得在模型训练的初期,模型大部分参数的平均梯度(GSNR的分子)会倾向于增大。具体大家可以参见文章。
总结
1.刘博士的团队在若干假设下证明了,对于梯度下降法,训练过程中GSNR越大,最终模型的泛化性能越好。
2.对于深度学习模型,训练初期会存在一个GSNR快速上升的现象,这个现象使得深度学习具有很好的泛化性能。它和深度学习模型的特征学习能力密切相关,可通过实验和解析分析论证这一点。
答疑互动
最后分享直播结束后,微信群里大家与嘉宾的部分互动。
Random label如何实现?怎么去做loss呢?例如在cifar10上如何做random label?
每个样本随机分配一个标签,这样以后数据中就不包含知识。具体可以去看2017年ICLR best paper: Rethinking Generalization.
是否考虑过不同深度学习模型,比如LSTM或CNN等?原文用的数据集都是图像分类吗?
我们实验用的就是CNN,我们的理论推导其实是一般性的推导,不依赖于模型结构。LSTM的实验确实没做。原文用的数据集都是图像分类,详情参见文章。
文章结论会受任务类型影响吗?
不会,我们也用toy回归模型验证了。因为是先理论推导,再实验验证,二者在初期能完美符合,所以我们有很强的信心不会因为任务的改变而改变。
整理:鸽鸽
审稿:刘锦龙
参考文章:
https://zhuanlan.zhihu.com/p/99516219
https://openreview.net/forum?id=HyevIJStwH
AI Time欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你,请将简历等信息发至yun.he@aminer.cn!
微信联系:AITIME_HY
AI Time是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。
更多资讯请扫码关注
(点击“阅读原文”下载本次报告ppt)
(直播回放:https://www.bilibili.com/video/BV1Lz4y197uH)
ICLR 2020 Spotlight!从梯度信噪比来理解深度学习泛化性能 | AI TIME PhD相关推荐
- 干货合集 | 带你深入浅出理解深度学习(附资源打包下载)
作者:Shashank Gupta 翻译:倪骁然 校对:卢苗苗 本文约2300字,建议阅读10分钟. 本文提供资源帮助你在放置一个conv2d层或者在Theano里调用T.grad的时候,了解到在代码 ...
- 一份帮助你更好地理解深度学习的资源清单
摘要: 深度学习朝着可解释的方向发展,理解背后的基本原理显得更加重要.本文是一份帮助读者更好地理解深度学习基本过程的清单,便于初学者和部分起步者针对性地补充自己的知识体系. 人工智能和深度学习太火了, ...
- 一份帮助你更好地理解深度学习的资源清单 1
摘要: 深度学习朝着可解释的方向发展,理解背后的基本原理显得更加重要.本文是一份帮助读者更好地理解深度学习基本过程的清单,便于初学者和部分起步者针对性地补充自己的知识体系. 人工智能和深度学习太火了, ...
- 由线性回归来理解深度学习的理论基础
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 这会是一篇比较长的文章,本来应该是分几次来po,但考虑到这个话题的 ...
- 前沿丨DeepMind提出神经元删除法:通过理解每个神经元来理解深度学习
近日,DeepMind 发表博客介绍其对神经网络可解释性的最新研究成果.受神经科学启发,他们通过删除神经元来探索其对网络性能的影响.研究发现,和过去的经验直觉相反,选择性神经元(如「猫神经元」)对于网 ...
- 从Image Caption Generation理解深度学习
作者:李理 from: http://geek.csdn.net/news/detail/97193 Part I 从Image Caption Generation理解深度学习(1) 0. 前面的话 ...
- 线性Frequency Principle动力学:定量理解深度学习的一种有效模型
关于作者:本文的作者是来自上海交通大学致远学院 08 级理科班的四位研究人员.本文由许志钦执笔,张耀宇修改,罗涛和马征审阅校正.这个小组的研究兴趣主要是深度学习理论. 深度学习的广泛成功吸引了大量的科 ...
- 收藏 | 一文带你深入理解深度学习最新进展
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 本文整合自机器之心.网络资源 AI博士笔记系列推荐 周志华<机 ...
- 0基础怎样理解深度学习的工作原理?做个票价预测工具就懂了
原作:Radu Raice 安妮 编译自 Medium 量子位 出品 | 公众号 QbitAI 这篇文章颇!具!人!气! 软件工程专业的学生Radu Raice近日发表了文章<Want to k ...
最新文章
- Oralce Plsql 中文显示乱码问题无需修改注册表完美解决
- adb devices 找不到设备的解决方法
- 【转载】SAP内部订单概念信息
- 计算机学英文是什么,“计算机科学与技术专业本科课程”的英文翻译是什么?...
- 还是畅通工程1233
- Cookie与Session的联系与区别
- RN和React路由详解及对比
- php论坛管理系统,PHPWind论坛站群管理系统-PHPWind自动采集-PHPWind自动更新
- MINGW里面没有mingw32 make.exe
- 关于 jspx 文件的一些说明
- GRACE专题--提供一个转换ICGEM网站的gfc文件为mat的代码
- 开心庄园html的代码,HTML第五章(示例代码)
- 大象 ThinkingUML
- LPC1768 PWM单边沿触发
- HarmonyOS鸿蒙学习笔记(12)@Link的作用
- 什么是云原生架构和K8S?
- 敲黑板!划重点!今天微软人工智能大会到底说了些什么
- android cm12 截屏,CM系列ROM精简列表 可删软件服务汇总
- 外汇走势k线图,经典k线形态分析
- [前端] html入门练手——微信对话框
热门文章
- 2018 国庆节 LeanCloud 放假通知
- idea debug时提示”Method breakpoints may dramatically slow down debugging
- 激光SLAM理论与实践 - 第四期 作业解答(课件和作业网盘)
- 当年课设期末大作业,班主任让我们做一个新闻发布管理系统
- 【国科大课程】AI院 数字图像处理-杨戈、彭思龙
- AUTOCAD——缩放上一个
- 天天模拟器显示获取服务器失败,天天模拟器无法安装如何解决?来看解决方法...
- DocSys的Office在线编辑配置
- SAP ABAP SD 销售和分销相关数据库表结构关系
- win10 Oracle11g的安装