题目: Optimization for deep learning: theory and algorithms

摘要:

什么时候以及为什么能够成功地训练神经网络?本文概述了神经网络的优化算法和训练理论。首先,我们讨论了梯度爆炸、消失问题,然后讨论了实际的解决方案,包括初始化和归一化方法。其次,我们回顾了用于训练神经网络的一般优化方法,如SGD、自适应梯度方法和分布式方法以及这些算法的理论结果。第三,我们回顾了现有的关于神经网络训练的全局问题的研究,包括局部极值的结果、模式连接、无限宽度分析。

作者:

Ruoyu Sun是伊利诺伊大学厄本那香槟分校 (UIUC)电子与计算机工程系的助理教授,研究优化和机器学习,尤其是深度学习。最近,一直在研究深度学习中的最优化,例如神经网络,GANs和Adam。

摘要

什么时候以及为什么能够成功地训练神经网络?本文概述了神经网络的优化算法和训练理论。首先,我们讨论了梯度爆炸/消失问题和更一般的不期望谱问题,然后讨论了实际的解决方案,包括仔细的初始化和归一化方法。其次,我们回顾了用于训练神经网络的一般优化方法,如SGD、自适应梯度方法和分布式方法,以及这些算法的现有理论结果。第三,我们回顾了现有的关于神经网络训练的全局问题的研究,包括局部极值的结果、模式连接、彩票假设和无限宽度分析。

  1. 概述

本文的一个主要主题是了解成功训练神经网络的实际组成部分,以及可能导致训练失败的因素。假设你在1980年试图用神经网络解决一个图像分类问题。如果你想从头开始训练一个神经网络,很可能你最初的几次尝试都没有得到合理的结果。什么本质的变化使算法能有效进行?在高层次上,你需要三样东西(除了强大的硬件): 合适的神经网络、合适的训练算法和合适的训练技巧。

合适的神经网络。这包括神经结构和激活功能。对于神经结构,您可能想要用一个至少有5层和足够神经元的卷积网络来替换一个完全连接的网络。为了获得更好的性能,您可能希望将深度增加到20甚至100,并添加跳跃skip连接。对于激活函数,一个好的起点是ReLU激活,但是使用tanh或swish激活也是合理的。

训练算法。一个大的选择是使用随机版本的梯度下降(SGD)并坚持它。良好调整的步长足够好,而动量和自适应步长可以提供额外的好处。

训练技巧。适当的初始化对于算法的训练是非常重要的。要训练一个超过10层的网络,通常需要两个额外的技巧:添加规范化层和添加跳过连接。

哪些设计选择是必要的?目前我们已经了解了一些设计选择,包括初始化策略、规范化方法、跳过连接、参数化(大宽度)和SGD,如图1所示。我们将优化优势大致分为三部分: 控制Lipschitz常数、更快的收敛速度和更好的landscape。还有许多其他的设计选择是很难理解的,尤其是神经架构。无论如何,似乎不可能理解这个复杂系统的每个部分,目前的理解已经可以提供一些有用的见解。

图1: 成功训练具有理论理解的神经网络的几个主要设计选择。它们对算法收敛的三个方面有影响:使收敛成为可能、更快的收敛和更好的全局解。这三个方面有一定的联系,只是一个粗略的分类。请注意,还有其他一些重要的设计选择,特别是神经体系结构,它们在理论上还没有被理解,因此在该图中被省略了。还有其他好处,比如泛化,也被忽略了。

为了使综述调查简单,我们将重点研究前馈神经网络的监督学习问题。我们将不讨论更复杂的公式,如GANs(生成对抗网络)和深度强化学习,也不讨论更复杂的体系结构,如RNN(递归神经网络)、attention和Capsule。在更广泛的背景下,监督学习理论至少包含表示、优化和泛化(参见1.1节),我们不详细讨论表示和泛化。一个主要的目标是理解神经网络结构(由许多变量连接的参数化)如何影响优化算法的设计和分析,这可能会超越监督学习。

这篇文章是为那些对神经网络优化的理论理解感兴趣的研究人员写的。关于优化方法和基础理论的先验知识将非常有帮助(参见,[24,200,29]的准备)。现有的关于深度学习优化的调查主要针对一般的机器学习受众,如Goodfellow等[76]的第8章。这些综述通常不深入讨论优化的理论方面。相反,在这篇文章中,我们更多地强调理论结果,同时努力使它对非理论读者具有可访问性。如果可能的话,我们将提供一些简单的例子来说明这种直觉,我们将不解释定理的细节。

1.1 大景观:分解理论

分解是发展理论的一个有用且流行的元方法。首先简要回顾了优化在机器学习中的作用,然后讨论了如何分解深度学习的优化理论。

表示、优化和泛化。监督学习的目标是根据观察到的样本找到一个近似底层函数的函数。第一步是找到一个丰富的函数家族(如神经网络),可以代表理想的函数。第二步是通过最小化某个损失函数来识别函数的参数。第三步是使用第二步中找到的函数对不可见的测试数据进行预测,产生的错误称为测试错误。测试误差可以分解为表示误差、优化误差和泛化误差,分别对应这三个步骤引起的误差。

在机器学习中,表示、优化和泛化这三个学科经常被分开研究。例如,在研究一类函数的表示能力时,我们往往不关心优化问题能否很好地解决。在研究泛化误差时,我们通常假设已经找到了全局最优值(概化调查见[95])。类似地,在研究优化属性时,我们通常不明确地考虑泛化误差(但有时我们假定表示误差为零)。

优化问题的分解。深度学习的优化问题比较复杂,需要进一步分解。优化的发展可以分为三个步骤。第一步是使算法开始运行,并收敛到一个合理的解,如一个固定点。第二步是使算法尽快收敛。第三步是确保算法收敛到一个低目标值的解(如全局极小值)。要获得良好的测试精度,还有一个额外的步骤,但是这超出了优化的范围。简而言之,我们将优化问题分为三个部分: 收敛性、收敛速度和全局质量。

大部分工作的回顾分为三个部分: 第四部分,第五部分和第六部分。大致说来,每个部分主要是由优化理论的三个部分之一。然而,这种划分并不精确,因为这三个部分之间的边界是模糊的。例如,第4节中讨论的一些技术也可以提高收敛速度,第6节中的一些结果解决了收敛问题和全局问题。划分的另一个原因是它们代表了神经网络优化的三个相当独立的子领域,并且在一定程度上是独立发展的。

1.2 文章结构

这篇文章的结构如下。在第二节中,我们提出了一个典型的监督学习神经网络优化问题。在第三节中,我们提出了反向传播(BP),并分析了将经典收敛分析应用于神经网络梯度下降的困难。在第四节中,我们将讨论训练神经网络的神经网络特定技巧,以及一些基本理论。这些是神经网络相关的方法,打开了神经网络的黑盒子。特别地,我们讨论了一个主要的挑战,称为梯度爆炸/消失和一个更普遍的挑战,控制频谱,并回顾了主要的解决方案,如仔细的初始化和归一化方法。在第五节中,我们讨论了将神经网络视为一般非凸优化问题的泛型算法设计。特别地,我们回顾了SGD的各种学习速率调度、自适应梯度方法、大规模分布式训练、二阶方法以及现有的收敛和迭代复杂度结果。在第六节中,我们回顾了神经网络的全局优化研究,包括全局景观、模式连接、彩票假设和无限宽度分析(如神经正切核)。

更多请下载论文查看

便捷下载,请关注专知公众号(点击上方蓝色专知关注)

后台回复“

成为VIP会员查看完整内容
146

相关内容

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。 最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。
图神经网络火了?谈下它的普适性与局限性
机器之心
21+阅读 · 2019年7月29日
常用的模型集成方法介绍:bagging、boosting 、stacking
7个实用的深度学习技巧
机器学习算法与Python学习
16+阅读 · 2019年3月6日
腊月廿八 | 强化学习-TRPO和PPO背后的数学
AI研习社
17+阅读 · 2019年2月2日
learn to see in the dark-低照度图像增强算法
计算机视觉life
16+阅读 · 2019年1月14日
已删除
将门创投
10+阅读 · 2018年5月2日
精品公开课 | 随机梯度下降算法综述
七月在线实验室
13+阅读 · 2017年7月11日
从浅层模型到深度模型:概览机器学习优化算法
机器之心
26+阅读 · 2017年7月9日
A Survey of Deep Learning for Scientific Discovery
Arxiv
29+阅读 · 2020年3月26日
Optimization for deep learning: theory and algorithms
Arxiv
104+阅读 · 2019年12月19日
Learning to Weight for Text Classification
Arxiv
8+阅读 · 2019年3月28日
Arxiv
18+阅读 · 2019年1月16日
Accelerated Methods for Deep Reinforcement Learning
Arxiv
6+阅读 · 2019年1月10日
Arxiv
22+阅读 · 2018年8月30日
A Multi-Objective Deep Reinforcement Learning Framework
Arxiv
8+阅读 · 2018年5月15日
VIP会员
相关VIP内容
相关资讯
图神经网络火了?谈下它的普适性与局限性
机器之心
21+阅读 · 2019年7月29日
常用的模型集成方法介绍:bagging、boosting 、stacking
7个实用的深度学习技巧
机器学习算法与Python学习
16+阅读 · 2019年3月6日
腊月廿八 | 强化学习-TRPO和PPO背后的数学
AI研习社
17+阅读 · 2019年2月2日
learn to see in the dark-低照度图像增强算法
计算机视觉life
16+阅读 · 2019年1月14日
已删除
将门创投
10+阅读 · 2018年5月2日
精品公开课 | 随机梯度下降算法综述
七月在线实验室
13+阅读 · 2017年7月11日
从浅层模型到深度模型:概览机器学习优化算法
机器之心
26+阅读 · 2017年7月9日
相关论文
A Survey of Deep Learning for Scientific Discovery
Arxiv
29+阅读 · 2020年3月26日
Optimization for deep learning: theory and algorithms
Arxiv
104+阅读 · 2019年12月19日
Learning to Weight for Text Classification
Arxiv
8+阅读 · 2019年3月28日
Arxiv
18+阅读 · 2019年1月16日
Accelerated Methods for Deep Reinforcement Learning
Arxiv
6+阅读 · 2019年1月10日
Arxiv
22+阅读 · 2018年8月30日
A Multi-Objective Deep Reinforcement Learning Framework
Arxiv
8+阅读 · 2018年5月15日
微信扫码咨询专知VIP会员