论文部分内容阅读
深度学习在包括自然语言处理,语音识别,计算机视觉,计划和决策在内的各种挑战性领域中均取得了非常好的成绩。这些成就的获得离不开神经网络的发展,以及充足的算力、新颖的优化技术和各种数据集的支持。随着深度学习的发展,人们认识到在任务上取得最先进表现的一个关键要素是在越来越大的数据集上构建更大的模型。在深度神经网络的训练中,人们希望通过一个快速收敛的优化过程,来得到一个具有良好泛化能力的模型。然而,与浅层神经网络相比,更深/更宽的神经网络模型的优化存在许多问题,例如梯度消失/爆炸,模型退化和过度拟合等。这些问题将会阻碍训练的收敛并削弱训练模型的泛化性能。尽管已经有许多研究试图解释和解决神经网络训练中出现的各种问题。但是这些研究中的大多数,无论是在其研究视野还是在其所得结论上,都是只针对于优化过程的某个阶段或者某种特定的网络结构,因而缺乏一般性和通用性。针对这方面的不足,本文开展对神经网络的优化过程和泛化能力的研究,致力于得到与加速网络训练和提升泛化能力相关的通用且本质的数学特征(numerical characteristics)。并尝试基于这些数学特征设计出能够加速网络训练和提升泛化能力的通用技术。在研究与模型泛化能力相关的数学特征方面:(1)本文首先结合了随机游走的概念,研究了优化过程中的扰动对模型泛化能力的影响。本文使用模型在测试数据集De上的损失值LDe与训练数据集Ds上的损失值LDs之间的差值,来衡量模型在训练集和测试集之间的泛化差距gDe,Ds=LDe-LDs(generalizationgap)。通过理论分析,本文给出了模型在训练过程中,泛化差距的变化量△gDe.Ds的一个上下界B[|△gDe,Ds|],该上下界与梯度噪声相对于梯度的比例有关。本文进一步提出了泛化遗憾率(generalization regretratio)的概念,泛化遗憾率定义为模型的泛化差距的变化量△gDe,Ds与训练集上的经验损失值减少量-△LDs的比值-△gDe,Ds/△LDs,它可以衡量训练过程中泛化能力的变化。由于泛化理论的核心目的,是在保证模型在训练集上具有良好表现的前提下,尽量缩小模型在训练集和测试集之间的表现的差距。传统的△gDe,Ds忽略了模型在训练集上的表现而仅考虑泛化差距,因而不能衡量模型在训练集上的性能。相比较而言,泛化遗憾率-△gDe,Ds/△LDs考虑了模型在训练集上表现因而更能反映训练过程中泛化能力的变化。在此基础上,本文给出了泛化遗憾率的的上下界B[|-△gDe,Ds/△LDs|]。由于本文给出的这些上下界仅与训练集有关,因此在训练过程中,通过这些上下界,可以很方便地只利用训练集即可评估模型的泛化能力的变化。(2)本文研究了模型训练至驻点时与其泛化能力有关的数学特征。高斯混合模型(Gaussian Mixture Model,GMM)p(v|θ)=∑l=1k πipi(v|θi)=∑l=1k πiN(v|μi,∑i)是由多个高斯分布pi(v|θi)=N(u|μi,∑i)依照比例系数πi叠加而成的,其中θ={πi,μi,∑i}是高斯混合模型的参数,而{μi,∑i}是各个高斯分量的形状参数。由于高斯混合模型相较于神经网络更具解释性,而且高斯混合模型与神经网络无论是在原理上还是优化动力特性上都非常相似。因此,本文通过将数据分布假设为参数为θ的高斯混合模型p(v|θ),并将神经网络的优化类比成高斯混合模型p(v|θ)的参数推断,来解释当模型训练至驻点时扰动对模型泛化的影响。为了简化讨论,本文进一步假设各分量对损失函数L的影响相互独立,亦即:L(D;θ)=-∑iCi(Di;μi,∑i)πi,其中Di表示属于分量pi(v|θi)的数据。结合前面泛化差距的定义,本文使用gpi,v来表示,通过数据分布中的单个高斯分量pi采样得到的样本,来估计该个高斯分量的形状参数θi={μi,∑i}的估计误差。在数据分布为高斯混合模型时,本文给出了单个高斯分量的形状参数估计误差的方差Varpi(v)[gi,v]的一个下界LB[Var[gpi,v]]。该下界与分量pi(v|θi)的权重πi无关,而只与损失值函数的具体形式以及数据分布的结构有关。接下来,本文给出了模型在驻点时损失值估计误差(亦即是泛化差距)的方差Var p(D)[gp,D(θ)]的下界与各个数据分量的LB[Var[gpi,v]之间的关系:∑iδi/nLB[Var[gpi,v]](?)Varp(D)[gp,D(θ)]。在这个关系式中,当δi取0时表示模型中没有分量拟合数据分量pi,当δi取1时表示模型中有分量拟合了数据分量pi。结合该关系式与前面的假设L(D;θ)=-∑iCi(Di;μi,∑i)πi,可以知道,模型中权重较小的分量尽管对loss的贡献不大,但是对于泛化误差的贡献却可能与大分量一样大。本文进一步讨论了下界LB[Var[gpi,v]]与数据分布的结构之间的具体关系,发现数据分布中越高频的结构分量(区别于单个高斯分量,结构分量是由一组高斯分量叠加而成的),它的LB[Var[gpi,v]]之和越大。对于其他关于数据的估计子,如随机梯度等,它们的估计误差与数据分布的结构之间也具有类似的关系。综合而言,模型中不同结构分量对泛化误差的下界的贡献与结构分量本身的权重无关,而与该结构分量所拟合的数据分布中的结构分量的频率有关。基于该思想,我们在第6章提出了 Tango Loss正则化算法。在研究与加速模型训练相关的数学特征方面:(1)本文从优化动力学对于扰动的鲁棒性的角度出发,研究了内部协变量偏移现象(Internal Covariate Shift,ICS)对优化过程的影响机制。本文通过理论分析与相关实验,揭示了消除内部协变量偏移与加速网络优化之间没有直接的联系,而且内部协变量偏移也并不能全面地描述参数扰动对优化动力学的影响。这驳斥了主流的“消除内部协变量偏移能加速训练”这一观点。(2)根据内部协变量偏移的不足,本文提出了能够更全面地描述参数扰动对优化动力学的影响的内部梯度分布偏移(Internal Gradient Distribution Shift,IGDS)。为了能够定量地讨论内部梯度分布偏移对优化的影响,本文基于最优传输距离(Wassersteindistance),通过梯度分布变化与参数扰动的比率(theratio of the gradient distribution variation to parameter’s disturbance,GDDR)来作为指标来衡量内部梯度分布偏移的程度。基于GDDR指标衍生出了局部β光滑度(localβ-smoothness)指标,本文研究了内部梯度分布偏移对网络训练影响。理论分析的结果一方面表明,内部梯度分布偏移的程度越小,意味着更加平缓的损失函数曲面。而平缓的损失函数曲面允许模型在优化过程中保持较大的学习率,这可以加速优化。另一方面表明,可以让局部β光滑度较大的层具有较小的更新步幅,能够使得优化过程沿着更平缓的方向进行,这在加速优化的同时可使得优化更加稳定。基于前面提出的这些数学特征,本文提出了一系列用于加速网络训练和提升泛化能力的算法:(1)通过分析所提出的与模型训练相关的数学特征,可以发现,让模型中相邻的两个训练步之间真实梯度差异较小的而且梯度噪声较小的层具有较大的更新步幅,能够在提高训练速度的同时降低训练过程中的泛化遗憾率。基于这一思想,本文提出了一种基于数学特征的分层自适应学习率算法(layer-wise adaptive learning rate based on numerical characteristics,LANC)。通过理论分析与在常用数据集上的实验验证,本文展示了 LANC算法是一种能够加速模型训练同时提高模型的泛化能力的优化算法。(2)通过分析所提出的与泛化相关的数学特征,可以发现,由于高频的数据结构分量在损失值L中所占的权重一般较小,却对泛化误差的贡献很大,因此抑制模型对于高频的数据结构分量的拟合,能够有效提升模型的泛化能力。基于该思想,本文提出了带有与泛化误差成正相关的惩罚项的探戈损失函数(Tango Loss)。在模型拟合对泛化误差贡献大的数据结构分量时,探戈损失函数能够对模型施加更加大的惩罚。通过理论分析与实验验证,本文证实了探戈损失函数是一种能够显著提升泛化能力并且减少计算量的正则方法。这些算法成功地验证了本文提出的数学特征在指导如何加速网络训练和提升泛化能力方面的有效性与通用性。本文给出的数学特征与优化技术将有助于人们研究和训练神经网络,对于深度学习的发展和应用具有一定的意义。