2020-01-22 05:41:34

作者 | 丛末

编辑 | Camel

本科毕业于清华姚班、博士毕业于普林斯顿大学,师从 Sanjeev Arora 教授,马腾宇作为 AI 学界一颗冉冉升起的新星,如今已在国际顶级会议和期刊上发表了 20 篇高质量的论文,曾拿下 2018 ACM 博士论文奖等诸多重量级的学术荣誉。

日前,在北京智源人工智能研究院主办的海外学者报告会上,马腾宇带来了一场干货味十足的报告,不仅基于近期聚焦的研究工作“设计显式的正则化器”分享了理解深度学习的方法,还基于自己的研究经验分享了不少研究方法论和观点。

他指出,现在用来理解深度学习的常用方法是隐式的正则化方法,然而他们在研究中发现,显式的正则化方法可能是更好的选择。

同时,他强调,计算机科学跟物理、生物等传统科学的不同之处在于:可以不断地设计新的算法。“虽然我们无法理解现有的深度学习算法,但我们可以设计我们既能理解又能保证有效的新算法。”

我们下面来看马腾宇的报告内容:

一、为什么过参数化的深度学习模型能实现泛化

深度学习是马腾宇研究组的重要研究方向,他们的主要研究思路是从方法论层面,通过一些数学或理论的分析从技术的角度提高深度学习模型的性能。

他指出,从方法论的层面来看,深度学习当前存在的一个非常核心的挑战就在于需要很大规模的数据才能实现泛化,并且数据量的规模需要大到非常夸张的地步,以至于他认为学术界很难完全收集这么多数据,往往只有工业界能做到。

因此,如果希望深度学习模型减少对数据的依赖,就需要理解如何能用更少的数据来实现深度学习模型的泛化

那为什么现在过参数化(Overparametrized)的深度学习模型能够泛化呢?

这是因为现在的深度学习模型与之前的模型相比,一个核心区别就在于:此前的传统观点认为,当数据数量远超过参数数量时,模型才能泛化;而在深度学习时代,观点则相反,认为成功的模型应该有更多的参数、更少的数据量。所以现在深度学习模型要实现泛化,需要的参数多于数据量。

然而在深度学习的时代,模型的泛化都非常难以解释,原因就是很多传统的观点并不再适用了。但是有一个传统的观点还是有效的,它就是奥卡姆剃刀定律(Occam's Razor),指的是低复杂度的模型也可能泛化得很好。

不过这种「低复杂度」其实是很难定义的,因此更核心的问题是如何正确定义模型复杂度,以及我们可以通过什么方法能衡量并找到正确定义的复杂度。这是他们希望通过一些理论研究来解决的问题。

常见的方法是隐式的正则化方法,分析该方法可以聚焦于两个方面:第一,算法更偏好低复杂度的方案;第二,低复杂度的模型泛化得很好。分析好这两个方面,就可以理解现有的算法,同时探索新的度量复杂度的方法——因为算法偏好的复杂度基本就是正确的复杂度度量方法。

马腾宇以其团队开展的一些工作为例阐述了一些发现:

  • 第一,在模型训练和收敛方面,学习率至关重要。例如在他们最近的一篇 NeurIPS 论文中证明了,一个使用了大学习率的两层神经网络,只能表示线性的函数,因而即使使用了很复杂的模型,在有噪声的情况下也只能表示一些非常简单的解,从而使得模型要比想象中更简单些,这实际上是噪声在深度学习中起到了正则化的作用。

  • 第二,初始化方法对模型的复杂度,也有同样的效果。例如 Chizat Bach 在 2019 年发表了一篇论文,证明了大的初始化状态更容易得到最小的神经切线核范数解。而他们自己的一些工作,则证明了小的初始化更偏向于得到更加「丰富」的状态,会比核状态更有意思,比如说最小的 L1 解或者原子核范数解。Woodworth 等人有一项工作基本上就说明:一个较小的初始化的模型,会收敛到一个最小的 L1 解而不是 L2 解上。

这些工作的核心思想是,不同的算法有不同的偏好,而不同的偏好则会有不同的复杂度量,学习率会有偏好,初始化状态也有偏好。

二、隐式/算法的正则化是理解深度学习的唯一方法吗?

如果想要理解深度学习,是不是只有理解隐式/算法的正则化这一种方法呢?

对此,马腾宇认为应该要重新回顾一下经典的方法——理解显式的正则化方法。他表示,显式的正则化方法确实也值得被大家关注,而且从短期来讲,它可能是一个更有成效的方法。

隐式/算法的正则化方法,为了达到要求,需要对算法进行正则化,算法会倾向于得出低复杂度的解。然而从很多算法正则化相关的论文中,他们发现在说明「算法倾向于得出低复杂度的解」方面遭遇瓶颈,而在说明「低复杂度的解泛化得更好」方面则比较简单。

因此,显式的正则化方法可能是理解深度学习更好的选择。

在这种经典的机器学习范式下,重点关注的则是研究怎样的复杂度可以让模型实现更好的泛化性能。而对于「算法倾向于得出低复杂度的解」这一研究瓶颈,则「全看运气」。

显式的正则化方法的不足点是需要改变算法,因为正则化复杂度势必就会改变算法。然而其优势在于,不仅仅能够理解现有的算法,还可以设计一些新的复杂度度量或正则器,设计一些新的算法,并将优化和统计数据分离开来。

他指出,最近机器学习领域的一个很火的话题是「双重下降」(Double Descent)现象,就是说测试误差并不是单一下降的,而是双重下降。而最近他们在一项工作中,尝试展示的则是在将算法正则化之后,可能就不会再出现双重下降现象。

2019 年 Nagarajan 等人的一篇 NeurIPS 最佳论文奖展示了一致收敛无法说明深度学习中发生的现象。他们举出了一个反例来说明这一点,虽然这个反例非常令人信服,但是仅仅是针对现有算法成立的一个反例。即算法加入正则化之后,这些反例很有可能就不再成立了。

那如何检验是否做到了将优化和统计数据分离呢?

方法则是,模型在正则化目标函数后,不管使用什么算法都能实现同样的泛化能力,这就能说明优化和统计数据分离了。

马腾宇表示,他们现在也证明了能够使用显式的正则化方法来替代隐式的正则化方法,虽然还无法完全替代,但他相信正在朝着这个方向前进。

三、无法理解现有的深度学习算法?那就设计一个能理解的!

在当下 AI 界的普遍认知中,深度学习的内在机理无法理解,本质上变成了一个科学问题。对此,马腾宇指出,计算机科学跟物理、生物等传统科学的不同之处在于:可以不断地设计新的算法。

科学研究的内容更多的是世界上已经发生或存在的客观现象(比如黑洞),而在计算机科学中,研究者可以不研究发什么什么,而是去研究任何想要研究的事情。

他呼吁道:「虽然我们无法理解现有的深度学习算法,但我们可以设计我们既能理解又能保证有效的新算法。我认为计算机科学领域的研究者可以把研究做得更主动一些。」

报告中,马腾宇还基于自己近期的研究工作,事无巨细地分享了显式正则化的具体研究示例,AI 科技评论这里附上马博士 PPT 的相关内容:

斯坦福大学马腾宇:无法理解现有的深度学习算法?那就设计一个能理解的相关推荐

  1. 智源论坛报名丨斯坦福大学马腾宇博士:为深度模型设计显示正则器

    深度模型有高超的学习(数据拟合)能力,但为了提高模型的泛化能力.让模型在新的数据上也有好的表现,我们需要寻找一些方法干扰模型的训练过程,避免模型"记住"训练数据,这就是正则化. 本 ...

  2. 人工智能:深度学习算法及应用——简单理解CNN卷积神经网络并python实现(带源码)

    深度学习算法及应用 一. 实验目的 二. 实验要求 三. 实验的硬件.软件平台 四. 实验原理 1.1. 深度学习概述 1.2. 深度学习的常见结构 1.3. 卷积神经网络(CNN) **卷积** * ...

  3. DL之随机性:理解和探究采用深度学习算法预测时导致多次运行结果不一致的问题

    DL之随机性:理解和探究采用深度学习算法预测时导致多次运行结果不一致的问题 目录 理解和探究采用深度学习算法预测时导致每次运行结果不一致的问题

  4. 深度学习算法训练和部署流程介绍--让初学者一篇文章理解算法训练和部署流程

    目录 1 什么是深度学习算法 2 算法训练 2.1 训练的原理 2.2 名词解释 3 算法C++部署 3.1 嵌入式终端板子部署 3.3.1 tpu  npu推理 3.3.2 cpu推理 3.2 服务 ...

  5. 【深度学习入门基础】二、简单理解 Transformer

    [深度学习入门基础]二.简单理解 Transformer 文章目录 [深度学习入门基础]二.简单理解 Transformer 自注意力层 多头注意力 Transformer 输入(输出)嵌入 位置编码 ...

  6. 深度学习:模型的泛化能力浅显理解

    深度学习:模型的泛化能力浅显理解 通俗易懂的浅显理解 通俗易懂的浅显理解 模型的泛化能力通俗易懂的说就是模型在测试集(其中的数据模型以前没有见过)中的表现,也就是模型举一反三的能力,但是这些数据必须满 ...

  7. 上海交大发布「人类行为理解引擎」:深度学习+符号推理,AI逐帧理解大片中每个动作...

    博雯 发自 凹非寺 量子位 | 公众号 QbitAI 看图看片,对现在的AI来说早已不是什么难事. 不过让AI分析视频中的人类动作时,传统基于目标检测的方法会碰到一个挑战: 静态物体的模式与行为动作的 ...

  8. 深度学习TensorFlow取名由来,张量的理解

    以下部分为CSDN博主「麦地与诗人」的原创文章,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/YPP0229/article/details/94321792 ...

  9. 【深度学习】更大规模的完整视频理解

    译者:蓝燕子 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 摘要 近年来,视频识别技术在具有丰富注释的基准中得到了发展.然而研究仍然主要限于人类的行动或运动的认识-集中在高度具体的. ...

最新文章

  1. 深度学习实现场景字符识别模型|代码干货
  2. Java Review - ArrayList 源码解读
  3. 计算两个日期相差的天数
  4. boost::mp11::mp_eval_if_not_q相关用法的测试程序
  5. [PHP] 现代化PHP之路:composer的安装和升级
  6. 使用海康威视设备在Web端显示实时视频
  7. Canvas制作动态进度加载水球
  8. Hbase Compaction 源码分析 - RatioBasedCompactionPolicy 策略
  9. scanf 输入十六进制_使用C语言中的scanf()在字符变量中输入十进制,八进制和十六进制值...
  10. 微软拆分操作系统的计划初现雏形
  11. C语言操作符详解 隐式类型转换 (整型提升 算数转换)
  12. 远程桌面连接无法相互拷贝文件了?
  13. 《2021年度中国开发者有奖大调查》首批中奖名单火热出炉,下一个会是你吗?
  14. 即将发布的 JDK 11 包含了什么?
  15. 445.两数相加II(力扣leetcode) 博主可答疑该问题
  16. Java集合源码解读(一):集合总体框架
  17. 好用的万年历API推荐
  18. 宽度学习(一):宽度学习体系:有效和高效的无需深度架构的增量学习系统
  19. STM32单片机基础知识总结(一)
  20. basler相机参数简要中文说明_Basler相机全部型号参数及特点

热门文章

  1. Java中的实现马赛克效果以及灰度效果----整张图片
  2. python3.7安装numpy pandas失败的处理方案
  3. (Python)numpy的argmax用法
  4. AttributeError: module ‘sys‘ has no attribute ‘maxint‘
  5. Log probability 维基百科
  6. 成为Java高手的25个学习要点
  7. Class.forName( )你搞懂了吗?——转
  8. Michael Jordan:人工智能研究的目标变了,不再是构建单个智能
  9. 基于三维数据的深度学习综述
  10. 北京智源行动计划发布,北京智源人工智能研究院揭牌成立