二、有监督机器学习优化问题
假设给定 个数据点 ,其中分别代表样本点的特征向量与相应的标签向量。有监督机器学习任务通常是利用的信息来预测相应的。当我们使用一个神经网络 来近似到的映射函数时,需要选择神经网络中的参数,使得预测输出 最接近真实输出。这种接近程度可以用某种距离测度进行度量。假设代表 和之间的距离,那么优化问题就变成寻找最优参数,使得距离函数最小。在回归问题中,距离测度通常用二次损失函数 来表示,而在二分类问题中,经常选择 。
三、梯度下降
四、使用神经网络的技巧
在没有先验经验的情况下,训练一个神经网络以求得到一个合理的精度是相当困难的。如今,人们也从大量的实验中总结出一些使用神经网络的技巧。
4.1 梯度爆炸/梯度消失
4.2 初始点的选择
4.3 标准化方法
第二种解决梯度爆炸/消失的方法是在算法过程中进行规范化。它被认为是前一种方法的扩展,因为除了改进初始点之外,还要改进后续迭代过程的网络。一种代表性的方法是批处理规范化(BatchNorm),其目标是对样本中每一层的输出进行规范化,将规范化过程视作一个非线性变换“BN”,并将BN层添加到原始神经网络中。BN层与激活函数和其他网络层发挥相同的作用。
BatchNorm方法被证明在理论上具有显著的优点,例如减少了李普希兹常数,增加了学习率等。其缺点在于,BatchNorm使用小样本的均值和方差来作为样本总体的均值与方差的近似,从而导致训练具有不同统计量的小批量样本时表现不佳。因此研究者提出了另外一些标准化法,如权重标准化,网络层标准化,实例标准化,群标准化,谱标准化以及可换标准化。
4.4 改变神经架构
第三种解决方法是改变神经结构。ResNet采用了一个简单的技巧:每隔几层网络就增加一个身份跳转连接。之前的神经网络,每一层可以表示为:
其中是层的权重,是层的输出。ResNet的每一层网络则变换为:
其中F代表原始网络的几层,例如。ResNet已经取得了显著的成功。神经架构设计是当前深度学习研究的主要思路之一。
4.5 训练极深神经网络
目前有几种方法可以训练非常深的网络(比如说超过1000层),并在图像分类任务中取得不错的准确性。
除了这三个技巧之外,还有相当多的影响神经网络表现的设计选择,例如数据处理,优化方法,正则化,神经结构和激活函数等。
五、训练神经网络的通用算法
5.1 随机梯度下降与学习速率调整
固定学习率与递减学习率的比较与分析一直是SGD的理论分析的重点。理论分析表明,神经网络优化具有特殊的结构,因此经典优化理论可能不适用于神经网络。梯度下降的收敛加速问题也是理论研究的重点。相关实验证明,SGD相对于普通梯度下降的收敛速度有所加快。但这种加速效果也取决于许多其他因素。
5.2 动量和加速SGD
带动量的SGD的工作原理如下:在第次迭代中,随机选取小批样本,并通过以下方式更新动量项和参数:
5.3 自适应梯度方法
第三类流行的方法是如 AdaGrad,RMSProp和Adam的自适应梯度下降。AdaGrad的描述如下:在第次迭代中,随机选择小批量样本并将参数更新为:
,其中。
AdaGrad的一个缺点是它对所有过去的梯度都一视同仁,因此对过去的梯度使用指数递减权重。的这一新定义启发了RMSProp和一个更复杂的算法AdaDelta。AdaGrad自适应梯度方法是用来处理稀疏和高度不平衡的数据,也被普遍认为比普通的SGD和带动量的SGD有更快的收敛速度但更差的泛化性。
5.4 大规模分布式计算
六、神经网络的全局优化
前述的方法主要用来求解局部最优参数,但由于机器学习的优化问题具有非凸性,这些方法难以保证求得全局最优参数。目前有越来越多的研究正在试图解决全局最优问题,例如:算法何时能收敛到全局最小值?是否存在次优局部极小值?优化环境有哪些特性?如何选择一个初始点来保证收敛到全局最小值?这些问题分属于以下的细分领域:
可处理的问题 什么样的问题是可处理的?人们通常认为非凸问题无法处理,但实际上许多非凸优化问题可以被重新表示为凸问题,因此可处理与不可处理问题的界限并不清晰。作者猜想一些神经网络问题属于“易处理的”问题。
全局优化 旨在设计和分析算法,找到全局最优解。
非凸矩阵/张量分解 这是与神经网络全局优化最相关的子领域,尝试解释为什么许多非凸矩阵/张量问题可以容易地求解到全局最小值。
6.1 实证探索
6.2 深度神经网络的优化理论
6.3 浅层网络研究
七、总结
作者简介:
孙若愚,UIUC(伊利诺伊大学香槟分校)助理教授,研究数学优化和机器学习 。在加入UIUC之前,曾担任Facebook人工智能研究所的访问科学家。他曾于斯坦福大学随INFORMS冯诺依曼奖获得者叶荫宇教授从事博士后研究,博士于美国明尼苏达大学师从加拿大皇家科学院院士、Farkas奖获得者罗智泉教授,本科毕业于北京大学数学科学学院。最近的研究方向包括神经网络的优化理论和算法、生成对抗网络、大规模优化算法、非凸矩阵分解等等。个人网站 https://ruoyus.github.io/
编辑:黄继彦
校对:林亦霖