作为 2019 年最后一场重量级的人工智能国际学术顶会,NeurIPS 2019 所反映出的一些人工智能研究趋势,例如神经网络可解释性、深度学习新方法、神经科学等等,想必对于大家在新的一年开展研究工作,具有一定的借鉴和参考价值。
NeurIPS 2019 共举办 51 场研讨会,接收了 1,428 篇论文,以及有超过 13,000 名参会者,可谓万众瞩目。
来自英伟达的工程师小姐姐 Chip Huyen 基于自己的参会体验,较为全面地总结了 NeurIPS 2019 反映的关键研究趋势。
下面我们一一来看:
一、 解构深度学习的黑盒
最近,研究人员对深度学习的局限性进行了大量的反思,以下为几个例子:
Facebook 的人工智能总监表达了对算力达到瓶颈的担忧。人工智能企业不应该仅仅寄希望于通过更大的深度学习系统来不断取得进步。因为「现在,一个实验可能要花费七位数的金钱,但现实情况不会让这一数字增长到九位数或十位数,因为没人负担得起这样的开销」
Yoshua Bengio 认为以 Gary Marcus 为代表的一些人经常指出深度学习的局限性。Bengio 将 Gary Marcus 的观点总结为「你们看,我就说深度学习不行吧」,而 Gary Marcus 则反驳了这种说法。
针对这一趋势,Yann Lecun 谈到:「我不明白,为什么突然之间,我们看到了许多新闻和推特声称人工智能的进步正在放缓,或称深度学习正在碰壁。在过去的五年中,我几乎在每一次演讲上都会指出这两个局限和挑战。所以,认识到这些局限性并不是什么新鲜事。而且,实际上人工智能的发展并没有慢下来」。
在这种大环境下,我们很高兴看到探究深度学习背后的理论(深度学习为何有效?它是如何工作的?)的论文的数量迎来了爆炸式增长。
在今年的 NeurIPS 上,有 31 篇融合了各种技术的论文。本届大会的杰出新方向论文奖授予了 Baishnavh 和 J.Zico Kolter 的论文「Uniform convergence may be unable to explain generalization in deep learning」
他们认为一致收敛理论本身并不能解释深度学习的泛化能力。随着数据集的规模增大,泛化差异(Generalization Gap,模型在见过和未见过的数据上的性能差异)的理论界限也会增大,而经验泛化差异则会减小。
论文链接:https://arxiv.org/abs/1902.04742
图 1:泛化差异和泛化边界随训练集规模变化的情况
神经切线核(NTK,https://arxiv.org/abs/1806.07572)是近年来提出的一个研究方向,旨在理解神经网络的优化和泛化。有关 NTK 的讨论多次出现在本届 NeurIPS 的亮点演讲中,我在 NeurIPS 期间也与其他人多次谈到 NTK。
Arthur Jacot 等人提出了「全连接的神经网络等价于宽度无限时的高斯过程」这一众所周知的概念,能够在函数空间而不是参数空间中研究它们的训练动力学(Training Dynamics)。他们证明了「在人工神经网络参数梯度下降的过程中,网络函数(将输入向量映射到输出向量)遵循关于一种新的核——NTK的函数代价的核梯度」。
他们还表明,当我们使用梯度下降法训练一个有限层版本的 NTK 时,其性能将收敛到宽度无限的 NTK 上,然后在训练中性能保持不变。
下面,我们列出本届 NeurIPS 上一些基于 NTK 构建的论文:
Learning and Generalization in Overparameterized Neural Networks, Going Beyond Two Layers,论文链接:https://arxiv.org/abs/1811.04918
On the Inductive Bias of Neural Tangent Kernels,论文链接:http://papers.nips.cc/paper/9449-on-the-inductive-bias-of-neural-tangent-kernels
然而,许多人认为 NTK 不能完全解释深度学习。一个神经网络要接近 NTK 状态需要具备学习率小、初始化宽度大、无权值衰减等超参数设置,而在实际训练中并不经常使用这样的设置。
NTK 的观点还认为,神经网络只会像核方法一样泛化,但根据我们的经验来看,它们可以更好地泛化。
Colin Wei 等人的论文「Regularization Matters: Generalization and Optimization of Neural Nets v.s. their Induced Kernel」从理论上证明了带有权值衰减的神经网络具有比 NTK 更好的泛化能力,这说明研究 L2 正则化神经网络可以为泛化问题提供更好的研究思路。此论文链接:
https://nips.cc/Conferences/2019/Schedule?showEvent=14579
本届 NeurIPS 上也有几篇论文说明了,传统的神经网络可以具有比 NTK 更好的性能:
What Can ResNet Learn Efficiently, Going Beyond Kernels?论文链接:http://papers.nips.cc/paper/9103-what-can-resnet-learn-efficiently-going-beyond-kernels
Limitations of Lazy Training of Two-layers Neural Network,论文链接:http://papers.nips.cc/paper/9111-limitations-of-lazy-training-of-two-layers-neural-network
许多论文分析了神经网络的不同组成部分的表现。比如,Chulhee Yun 等人提出了「Small ReLU networks are powerful memorizers: a tight analysis of memorization capacity」,说明了「带有 O(sqrt(N)) 个隐藏节点的 3 层的 ReLU 网络可以完美地记忆大多数带有 N 个数据点的数据集」。论文链接:https://arxiv.org/abs/1810.07770
Shirin Jalali 等人在论文「Efficient Deep Learning of Gaussian Mixture Models」(论文链接:https://papers.nips.cc/paper/8704-efficient-deep-approximation-of-gmms)中,开篇就提出了这样一个问题:通用近似定理(Universal approximation theorem,一译万能逼近定理)表明,任何正则函数都可以通过一个单隐层神经网络近似。
那么,增加深度能让它更有效率吗?他们说明了,在高斯混合模型的最优贝叶斯分类的情况下,这些函数可以用带有单个隐层的神经网络中的 o (exp (n)) 个节点以任意精度近似,而在两层网络中只需要用 o (n) 个节点近似。
在一篇更为实用的论文「Control Batch Size and Learning Rate to Generalize Well: Theoretical and Empirical Evidence」中,Fengxiang He 和他的团队在 CIFAR 数据集上使用随机梯度下降算法(SGD)训练了 1,600 个 ResNet-110 模型和 VGG-19 模型,发现这些模型的泛化能力与批处理大小呈负相关,与学习率呈正相关,与「批处理大小/学习率」的比值呈负相关。
论文链接:https://papers.nips.cc/paper/8398-control-batch-size-and-learning-rate-to-generalize-well-theoretical-and-empirical-evidence
图 2:测试准确率于批处理大小、学习率的诶关系。第四行分别是(1)使用 CIFAR-10 数据集训练的 ResNet-110 模型(2)使用 CIFAR-100 数据集训练的 ResNet-110 模型(3)使用 CIFAR-10 数据集训练的 VGG-19 模型(4)使用 CIFAR-100 数据集训练的 VGG-19 模型。每条曲线都是根据 20 个网络的情况综合绘制而出。
与此同时,Yuanzhi Li 等人的论文「Towards Explaining the Regularization Effect of Initial Large Learning Rate in Training Neural Networks」指出:「一个具有较大的初始学习率并使用退火算法训练的双层网络,比使用较小的初始学习率训练的相同的网络具有更好的泛化性能。这是因为学习率较小的模型首先会记忆低噪声、难以拟合的模式,它在较高噪声、易于拟合的情况下的泛化性能比学习率较大的情况下差一些。」
论文地址:https://arxiv.org/abs/1907.04595
尽管这些理论分析非常吸引人,也很重要,但是很难讲它们聚合成一个大的研究体系,因为这其中的一个研究都集中在整个系统的一个较为狭窄的方面。
二、深度学习新方法
在今年的 NeurIPS 上,研究者们提出了一系列新颖的方法,而不仅仅是在别人的工作上叠加上新的网络层。我感兴趣的三个方向是:贝叶斯学习、图神经网络,以及凸优化。
1、使用贝叶斯原理进行深度学习
正如 Emtiyaz Khan 在他的演讲「Deep Learning with Bayesian Principles」中所强调的,贝叶斯学习和深度学习是有很大的而区别。
根据 Khan 的说法,深度学习使用的是一种「试错」的方法,我们通过实验看看会得到什么结果,然而贝叶斯原理迫使你事先考虑一个假设(先验)。
图 3:贝叶斯学习与深度学习对比
与常规的深度学习相比,贝叶斯深度学习有两个主要的优势:非确定性估计以及在小数据集上更好的泛化性能。
在现实世界的应用中,让系统能够进行预测是远远不够的。弄明白每个预测的可靠性是很重要的。例如,对癌症进行预测时,可靠性为 50.1% 和可靠性为 99.9% 时的治疗方案是不同的。在贝叶斯学习中,非确定性估计是一个内在的特质。
传统的神经网络给出的是单点估计——它们使用一组权值针对一个数据点输出一个预测。另一方面,贝叶斯神经网络使用一个关于网络权重的概率分布,并输出该分布中所有权重组合的平均预测值,这与对许多神经网络求平均的效果相同。
因此,贝叶斯神经网络是一种自然的集成,它的作用类似于正则化,并且能够防止过拟合。
训练具有数百万参数的贝叶斯神经网络仍然需要非常大的计算开销。要想使网络收敛到一个后验上可能需要花费数周的时间,因此诸如变分推断这样的近似方法越来越流行。本届 NeurIPS 的「概率方法-变分推断」环节共有 10 篇论文与这类变分贝叶斯方法有关。