Kenji Kawaguchi、Leslie Pack Kaelbling作者Geek AI 刘晓坤编译

如何找到全局最小值?先让局部极小值消失吧

通过添加一个神经元,就可以让一种二分类深度神经网络损失函数局部极小值消失。早在去年 5 月就有人发现了这个有趣的结果,MIT 将其进一步推广到了更广泛的损失函数类。

目前,深度神经网络计算机视觉机器学习人工智能等领域取得了巨大的实际成功。然而,从理论上对深度神经网络的理解相对于其在经验上的成功来说是较为缺乏的。在理论上,理解深度神经网络的一个主要难点是用于训练网络的目标函数的非凸性以及高维度。由于非凸性和高维度,能否保证深度神经网络在训练过后具有理想的性质,而不是陷入一个随机的糟糕的局部极小值点附近,往往还不清楚。实际上,寻找一个通用的非凸函数(Murty & Kabadi, 1987)以及用于训练特定种类神经网络的非凸目标函数(Blum & Rivest, 1992)的全局极小值是 NP-Hard 的问题,这引起了研究人员对高维问题的关注(Kawaguchi et al., 2015)。在过去,这类理论问题被认为是人们偏向于选择只需要进行凸优化的经典机器学习模型(无论带不带有核方法)的原因之一。尽管深度神经网络近来取得了一系列的成功,但始终绕不开一个问题:能否在理论上保证深度神经网络避开糟糕的局部极小值点?

近来,有许多研究分析了神经网络的训练中目标函数的变化情况和局部极小值。一些研究在假设深度神经网络被显著简化(Choromanska et al.,2015;Kawaguchi,2016;Hardt & Ma,2017)和显著过参数化(Nguyen & Hein,2017;2018)的条件下取得了积极的结果。对于仅仅包含一个隐藏层的浅层网络,已经取得了许多积极的结果,但往往带有很强的假设,例如,需要使用显著的过参数化处理、简化处理和高斯化的输入(Andoni et al., 2014; Sedghi & Anandkumar, 2014; Soltanolkotabi, 2017; Brutzkus & Globerson, 2017; Ge et al., 2017; Soudry & Hoffer, 2017; Goel & Klivans, 2017; Zhong et al., 2017; Li & Yuan, 2017; Du & Lee, 2018)。

除了强假设之外,深度神经网络中渐渐出现了两种明显的积极结果。首先,某些深度神经网络在损失处于所有局部极小值点时的性能已经被证明并不亚于相应的经典机器学习模型在全局最小值点的性能(Shamir, 2018; Kawaguchi & Bengio, 2018; Kawaguchi et al., 2018);通过不可忽略的残差表征(Kawaguchi & Bengio, 2018)以及对网络深度和宽度的增加,即使并没有经过显著的过参数化处理,也能够保证模型性能可以被进一步提升。其次,研究表明,增加一个神经元可以为一个带有特定类型的平滑的铰链损失(hinge loss)函数(Liang et al., 2018)的二分类器消除所有的次优局部极小值(即不是全局最小值的局部极小值)。第二种类型的结果已经被多篇不同的论文提及(Nguyen et al., 2018; Wang et al., 2018; Zhang et al., 2018)。然而,由于假设二分类问题带有特定的损失函数,目前这种技术还不适用于许多常见的深度学习任务,而这也正是该技术的一个主要的局限性(如 Fessler, 2018 的论文所述)。

在本文中,作者证明了,在没有任何强假设的情况下,对于带有任意损失函数的多分类、二分类以及回归任务,为每个输出单元增加一个神经元可以消除所有次优局部极小值。据作者所知,这是第一个在没有任何典型的未满足的假设的情况下,能够保证许多常见的深度学习任务没有次优局部极小值的结果。此外,作者还展示了用这种方法消除次优局部极小值的局限性。

论文:Elimination of All Bad Local Minima in Deep Learning

论文地址:https://arxiv.org/abs/1901.00279

摘要:本文从理论上证明了,对于带有一个任意的损失函数的多分类、二分类以及回归问题,我们可以通过向任意深度神经网络的每个输出单元添加一个神经元,消除所有的次优局部极小值。在任意加入了神经元深度神经网络的每一个局部极小值处,可以保证原神经网络(不增加神经元)的参数设置可以使原神经网络处于全局极小值。本文证明了,新加入的神经元的作用效果可以自动地在每个局部极小值消失(从而不影响神经网络的输出)。与先有工作中的许多相关结果不同,我们的理论结果直接适用于常见的深度学习任务,因为这些结果仅仅依赖于在常见任务中自然成立的假设。此外,我们还提供了额外的理论结果和几个例子,讨论了以这种方式消除次优局部极小值的几个限制。

理论损失函数局部最优点
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

凸优化技术

凸优化,或叫做凸最优化,凸最小化,是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化的问题。凸优化在某种意义上说较一般情形的数学最优化问题要简单,譬如在凸优化中局部最优值必定是全局最优值。凸函数的凸性使得凸分析中的有力工具在最优化问题中得以应用,如次导数等。 凸优化应用于很多学科领域,诸如自动控制系统,信号处理,通讯和网络,电子电路设计,数据分析和建模,统计学(最优化设计),以及金融。在近来运算能力提高和最优化理论发展的背景下,一般的凸优化已经接近简单的线性规划一样直捷易行。许多最优化问题都可以转化成凸优化(凸最小化)问题,例如求凹函数f最大值的问题就等同于求凸函数 -f最小值的问题。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~