论文引用格式:Jiang L Y, Zheng Y F, Chen C, Li G H and Zhang W J. 2023. Review of optimization methods for supervised deep learning. Journal of Image and Graphics, 28(04):0963-0983(引用格式:江铃燚, 郑艺峰, 陈澈, 李国和, 张文杰. 2023. 有监督深度学习的优化方法研究综述. 中国图象图形学报, 28(04):0963-0983)[0 引 言随着智能技术的发展,深度学习备受青睐,广泛应用于计算机视觉(Agbo-Ajala和Viriri,2021;Abdolahnejad和Liu,2020)、图异常检测(陈波冯 等,2021)、推荐系统的数据分析(Khan等,2021)和自然语言处理(Torfi等,2020)等领域。研究人员主要致力于如何更好地提高深度学习模型的性能。Hinton和Salakhutdinov(2006)最早初步解决了“梯度消失”问题。首先通过无监督的学习方法逐层训练模型,每训练一层隐藏节点就作为下一层隐藏节点的输入(该过程称为预训练),再使用有监督的反向传播(Rumelhart等,1986)进行调优,以逐层预训练的方式提取数据的高维特征,初步解决梯度消失的问题。Glorot和Bengio(2010)提出Xavier初始化,使状态方差和梯度方差保持不变,进而提升模型分类性能。2011年,ReLU(rectified linear unit)激活函数被证明可以针对性控制梯度消失的情况(Glorot等,2011),此时深度学习仍处于理论研究阶段。直至2012年,Hinton团队在ILSVRC(ImageNet large scale visual recognition challenge)大赛上通过结合ReLU激活函数构建AlexNet(Krizhevsky等,2012),以碾压性的分类性能夺冠,进一步推动深度学习成为研究热点。此后,深度学习在其他领域也得以蓬勃发展。Girshick(2015)提出R-CNN(region convolutional neural network)将深度学习引入目标检测领域。作为一种机器学习方法,深度学习可与其他机器学习方法相结合,如图1所示。为了更加精简地描述优化问题,仅以有监督深度学习的优化作为切入点进行分析。监督学习的目标是通过得到的样本找到一个近似底层函数的函数,主要由“表示”(representation)、“优化”(optimization)和“泛化”(generalization)3个步骤组成(Sun,2020)。“表示”即找到一个丰富的函数族用以表示目标函数;“优化”即通过最小化损失函数以确定函数参数;“泛化”指用得到的目标函数进行预测,产生的误差称为测试误差,包括表示误差、优化误差和泛化误差。一般默认已经找到适合的目标函数再进行优化,因此不考虑表示误差。10.11834/jig.211139.F001图1机器学习方法相结合Fig.1Combination of machine learning methods神经网络本质上是一种对网络参数优化变量的方法。因此,在确定适合的目标函数后,深度学习的核心问题可归结为一个优化问题,其强大性能高度依赖经验,研究人员需要经过训练大量模型才能得到适合的参数。此外,在训练模型的过程中,现有的理论无法严谨地分析所用方法的有效性。因此,深度学习的优化问题可概括为:设计有效的优化方法来提升模型的拟合能力,降低训练误差;同时,还要考虑通过正则化方法提升模型的泛化能力,还能降低模型的复杂度,更加高效地训练神经网络。首先,介绍深度学习优化的理论基础,从拟合能力的角度将深度学习优化问题划分为3个具体研究方向,即收敛性、收敛速度和全局质量问题,并对每个方向进行总结分析。其次,针对集成多种优化方法可能存在过拟合进而降低模型泛化能力的问题,以提升模型泛化能力的正则化方法作为切入点,详细阐述分析不同正则化方法的作用。接着,讨论上述优化方法在生成对抗网络(generative adversarial network, GAN)中的使用。最后,在现有深度学习优化理论的基础上,分析目前深度学习领域仍存在的问题并分析未来研究方向。1 理论基础1.1 优化的形式化描述对于有监督学习而言,给定数据点xi∈R, yi∈R, i=1,⋯,n(n表示输入样本的个数),构建深度模型对xi进行预测y^i。首先,构造一个神经网络用以近似底层映射函数fθx,将 xi映射到yi。为了简化表述,忽略神经网络表达式中的偏差,将 fθx形式化表示为fθx=WLφWL-1φWL-2⋯φW2φW1x (1)式中,φ·是R→R的神经元激活函数,Wj是维数dj×dj-1的矩阵,j=1,⋯,L,θ=W1,⋯,WL表示所有参数的集合。在模型训练过程中,需最优的网络参数以提高模型的性能,即预测输出值y^i=fθxi更逼近于真实值yi。这意味着需要最小化y^i与yi之间的距离,故可将寻找最优参数的问题(即损失函数)表示为minθFθ=1n∑i=1n𝓁yi,fθxi (2)式中,𝓁为距离度量单位。对于回归问题,𝓁通常为二次损失函数𝓁y,z=y-z2;对于二分类问题,则采用交叉熵公式𝓁y,z=log1+e-yz。从式(2)可以看出,Fθ由3部分组成,即输入样本xi、参数矩阵Wj以及真实值yi。式中矩阵Wj是唯一不确定参数。因此,可对参数Wj求导以求解函数的极值点,间接找到模型的最优参数。然而,在实际操作中,损失函数的导函数多为不可逆,无法求解,从而导致深度学习的发展陷入瓶颈。1.2 优化的核心:梯度下降在实际应用中的深度学习模型结构更为复杂,为了便于理解优化问题,主要以全连接神经网络作为切入点。虽然损失函数的极值点不易得到,但只需将参数矩阵W代入即可获得极值点的导数值(即梯度)。梯度方向是指曲线切线向上的方向,沿着其反方向则为函数值下降最快的方向。因此,可按照给定步长沿梯度的反方向不断迭代,逐步逼近极值点。现阶段,研究人员以梯度下降作为优化最基本思想,其表示为θt+1=θt-αt∇Fiθt (3)式中,αt表示第t轮迭代步长(或学习率),∇Fiθt为第t轮迭代的第i小批次损失函数的梯度。值得注意的是,只需随机初始化W0,就可计算下一轮迭代的Wj,j=1,⋯,L。此外,在模型训练过程中,需使用链式法则对损失函数的每一个参数求偏导。在计算资源不足情况下,求解效率非常低。直至Hinton和Salakhutdinov(2006)提出无监督逐层训练的方法,将预训练结合反向传播算法(Werbos,1974),仅需一次正向传播就可计算其损失,再通过一次反向传播更新其网络参数,从而有效降低模型计算量。上述方法的核心思想在于先求解局部最优解,再将所有的局部最优解进行整合,从而获取全局最优解。2 优化拟合能力仅考虑拟合能力的情况下,将复杂的优化问题分为3步。首先运行算法并收敛到一个合理解,如一个驻点;然后使算法能够更快收敛;最后确保算法收敛于一个较低解,即全局最小值。因此,将优化问题归纳为收敛性(局部问题)、收敛速度(局部问题)和全局质量问题(全局问题)。注意,上述3个问题的边界较为模糊。例如,收敛性讨论所涉及的技术也可解释收敛速度的提高。2.1 收敛性问题在模型训练过程中,由于收敛速度缓慢可能导致神经网络无法在多项式时间内收敛,也称为梯度爆炸/消失问题。上述情况的原因在于多层网络中微小的变动可能在每一层放大而爆炸(也可能在每一层衰减而消失),即神经网络中的权值由于梯度反向传播中的连乘效应导致更新不稳定,尤其随着网络层数的增加,将会变得愈加严重。更加具体的解释,梯度爆炸/消失影响收敛速度缓慢可进一步归结为两点。其一,收敛速度通常是由Hessian矩阵的条件数决定,梯度爆炸/消失意味着梯度的每个分量可以非常大(或非常小),进而使得Hessian对角矩阵的Lipschitz常数也随之变化。因此,Hessian对角矩阵可能具有高度动态的范围,从而导致条件数呈指数级增大;其二,在实际应用中,更新学习率一般使用恒定步长或固定步长。而当Lipschitz常数发生急剧变化时,恒定步长或固定步长远小于理论步长,从而导致收敛缓慢。为了更直观地阐述,引用Sun(2020)中的例子。Fw=w7-12,式中w∈R。函数的曲线图如图2所示。假设c为常数(以0.2为例),-1+c,1-c区域曲线平缓,找不到下降梯度(即梯度消失);-∞,-1-c]⋃[1+c,+∞区域则过于陡峭(即梯度爆炸)。假如在全局极小值w=1附近开始初始化,则梯度下降可快速收敛,但如果在w=-1附近,会由于梯度消失而需更长的收敛时间。10.11834/jig.211139.F002图2F(w)=(w7-1)2曲线图Fig.2Function graph of F(w)=(w7-1)2综上所述,如何解决梯度爆炸/消失是模型训练过程中亟需解决的问题。正如上述例子所示,倘若选择盆地内接近全局极小值的位置作为初始点,则可有效减少迭代时间。因此,如何使深度模型能在一个接近全局极小值的盆地位置初始化,需从精细初始化、归一化和改变神经结构3方面入手。2.1.1 精细初始化研究初期,研究人员通常采用简单的点进行初始化(naive initialization)。例如,全0或仅一小部分权值为非0的稀疏初始点,或从随机分布中抽取权重。然而上述方法在实际应用中普适性较差。随后,Bottou(1988)和LeCun等人(2012)先后提出的具有特定方差的随机初始化,调整随机初始点的缩放来实现更快初始化,但不足之处在于缩放因子无法适用于其他神经网络。Glorot和Bengio (2010)通过分析深度神经网络的信号传播,提出预训练和Xavier初始化,可同时处理前馈和反向信号的传播。但两种初始化方法均基于sigmoid激活函数。此后,随着ReLU激活函数的普及,He等人(2016)提出凯明初始化。上述讨论的方法均与数据无关,直至Mishkin和Matas(2016)提出依赖数据的LSUV(layer sequential unit-variance)初始化,在一些问题上具有经验性的知识。由于凯明初始化无法推广到一般非线性网络,Poole等人(2016)提出采用平均场近似的具有一般非线性激活函数的无限宽网络。Hanin和Rolnick (2018)通过分析具有ReLU激活函数的有限宽网络,从而解释部分训练深度网络困难的原因,以及部分关于深度神经网络训练困难的猜测。随着研究的深入,Dauphin和Schoenholz (2019)提出元初始化,可不使用归一化方法发现效果最好的初始点。此外,还可采用基于动态等距的方法。Saxe等人(2014)研究深度线性网络的正交初始化。Pennington等人(2017,2018)对无限宽深度非线性网络进行形式化分析。Xiao等人(2018)提出卷积神经网络(convolutional neural networks,CNN)的动态等距,可训练10 000层CNN而无需批归一化或跳跃连接等技巧。Li和Nguyen (2019)以及Gilboa等人(2019)分别将动态等距分析应用于其他网络当中,针对网络提出新的初始化方案。2.1.2 归一化在模型中进行归一化,可看做精细初始化的扩展。归一化方法不仅修改初始点,而且可为接下来的所有迭代网络修改初始点。最具代表性的方法是批归一化方法(Ioffe和Szegedy,2015),其对神经网络的中间层也进行归一化处理,从而解决网络经过多层运算后使得数据分布发生较大改变的问题,可获得更好的训练效果。随着研究的深入,研究人员对批归一化的理解不断发生变化。Santurkar等人(2018)认为批归一化的成功与内部协变量无关,是减小了梯度的Lipschitz常数。Bjorck等人(2018)认为批归一化允许更大的学习率,讨论其与初始化方案的关系。此外,Arora等人(2019)、Cai等人(2019)和Kohler等人(2019)进一步分析批归一化在各种设置下的理论效益。Ghorbani等人(2019)发现对于未进行批归一化的网络,可能存在较大的孤立特征值,反之则不会出现该现象。批归一化的关键问题在于每个小批次的平均值和方差是作为所有样本的平均值和方差的近似值来计算。若不同小批次的数据存在不相似性,则会导致批归一化的效果不佳。基于这个问题,研究人员提出许多归一化方法。层归一化(Ba等,2016)对特征通道进行归一化,适用于样本较少的小批次训练;组归一化(Wu和He,2020)则不再按单个特征通道来归一化,而是将特征通道分组后以组为单位来归一化;实例归一化(Ulyanov等,2016)依据图像像素进行归一化,在风格迁移领域应用较广;可切换归一化(Luo等,2021)通过加权平均的方式将批归一化、实例归一化和层归一化结合起来,在对象检测等任务中表现出色;由于批归一化对所有的样本使用统一的仿射变换参数,所以条件归一化(Dumoulin等,2017)对每个类别设置不同的变换参数;权重归一化(Salimans和Kingma,2016)对网络中的连接权重进行归一化,由于共享权重,开销较批归一化小得多;谱归一化(Miyato等,2018)将每层的参数除以参数矩阵的最大奇异值,限制函数满足Lipschitz限制来提升模型的拟合能力。2.1.3 改变神经架构随着神经网络层数不断增加,模型性能越来越好。然而,在训练过程中发现,即使通过精细初始化和批归一化,也难以训练一个20~30层的网络。为此,研究人员倾向于改变神经结构以解决上述问题。例如,深度多达152层的ResNet(residual network)(He等,2016),其核心是引入residual representation的概念,通过使用多个有参层来学习输入输出之间的残差表示,并设计恒等跳跃连接层用于直接跳过一个或多个层。假设连续的两层权重分别为Wj和Wj+1,j=1,⋯,L。令φ(⋅)表示激活函数,则给定输入xi时,i=1,⋯,n,残差学习过程如图3所示。若下一层激活函数前的输出最优为原输入xi时,无需优化权重层Wj和Wj+1,直到Wj+1φ(Wjxi)=xi,通过残差学习简单优化Wj+1φ(Wjxi)-xi为0即可。更加高效的同时,确保在深度神经网络迭代的过程中,至少不会因为网络层的堆叠而导致模型退化。10.11834/jig.211139.F003图3ResNet中残差学习示意图Fig.3Schematic diagram of residual learning in ResNet此外,研究人员也相继提出与之相关的流行结构,包括high-way networks(Srivastava等,2015)、DenseNet(dense convolutional network)(Huang等,2017)、ResNeXt(Xie等,2017)和自动搜索神经结构(Zoph和Le,2017)。目前,在图像分类网络结构中,可借助额外的技巧达到比ResNet高出7%的准确率,例如EfficientNet(Tan和Le,2019)。2.2 收敛速度问题上一节主要分析如何采用优化方法以提高模型收敛性问题。本节主要从收敛速度角度作为切入点进行分析。2.2.1 随机梯度下降随机梯度下降法(stochastic gradient method,SGD)(Robbins和Monro,1951)的工作原理旨在每轮开始时,随机打乱样本集合顺序,再将其划分为多个小批次,迭代时仅计算每一批次的梯度并更新权重。假设第t轮中随机选择第i个批次,其更新参数θt定义为θt+1=θt-αt∇Fiθt (4)式中,∇Fiθt为第t轮的第i小批次训练损失的梯度,αt为步长。从式(4)可以看出步长的选择至关重要。为有效提升SGD的性能,研究人员提出3种不同的方法。1)Vanilla朴素SGD (Robbins和Monro,1951),在训练过程中每迭代几次就将步长除以一个固定的常数;2)预热学习率(Srivastava等,2015),在迭代开始时使用非常小的步长,后逐步增加到常规的步长;3)周期学习率(Smith,2017;Loshchilov和Hutter,2017),使步长在一个较低阈值和较高阈值之间跳动,有助于模型逃离鞍点。2.2.2 带动量的SGD带动量的SGD方法(Qian,1999)是重球法和加速梯度法的随机版,工作原理为在第t轮迭代中随机选择第i个批次,进而更新一阶动量项mt和参数θt,具体定义为mt=βmt+1+1-β∇Fiθt (5)θt+1=θt-αtmt (6)式中,β为初始动量参数,0≤β≤1。一般认为历史梯度的滑动均值是朝向最优方向,而当前的小批次的方差可能较大,可能使梯度下降方向发生偏移。引入动量的目的在于减小梯度方差,纠正方向,以此加速收敛。但在实际应用中,并不能保证该方法能适用不同的网络模型。2.2.3 自适应梯度法自适应梯度法是SGD算法的改进版。以AdaGrad(adaptive gradient)(Duchi等,2011)为例,工作原理为添加对步长的约束。离最优点越远,则使用较大步长,反之步长较小,能有效处理稀疏和不平衡的数据。假设在第t轮迭代中随机选择第i个批次,其参数θt更新为θt+1=θt-αtvt-1/2∘gt (7)式中,gt=∇Fiθt,vt=∑k=1tgk∘gk,“∘”表示矩阵的点积。但AdaGrad存在一个明显的弊端,即采用同样的方法处理所有的梯度,在迭代后期由于步长过小,可能较难找到有用的解。针对上述问题,研究人员提出RMSProp(root mean square propagation)(Tieleman和Hinton,2012),新增衰减系数用于控制历史信息的获取比例,结合历史梯度来分配学习率,加快收敛速度。假设第t轮迭代中随机选择第i个批次并计算gt,其二阶动量项vt和参数θt更新式定义为vt=βvt-1+1-βgt∘gt (8)θt+1=θt-αtvt-1/2∘gt (9)Adam(advanced digital asset management)则是将RMSProp与带动量加速的SGD相结合,对超参数相对不敏感,且在训练过程中收效较快。但其不足之处在于,模型的训练误差和测试误差相比SGD和带动量加速的SGD较大(Kingma和Ba,2015)。假设在第t轮迭代中随机选择第i个批次并计算gt,其一阶动量项mt、二阶动量项vt和参数θt更新为mt=β1mt-1+1-β1gt (10)vt=β2vt-1+1-β2gt∘gt (11)θt+1=θt-αtvt-1/2∘mt (12)2.3 全局质量问题上述内容注重于解决模型训练的“局部问题”,可以保证模型有效地收敛到局部最小值。但问题往往具有非凸性,如何有效地找到全局最小值值得进一步研究。损耗面是指RD+1中的高维面θ,Fθ(D为参数的总数),也称为优化“图景”(landscape)。本节将详细分析优化远景的有效性。随着图景的深入研究,研究人员发现以下3个重要性质。1)深度神经网络存在一种称为“模式连通性”的几何特性。网络中两个局部极小值可以通过几乎无损失的路径进行连接,也称“子级集的连通性”(Draxler等,2018;Garipov等,2018)。2)彩票假设(lottery ticket hypothesis,LTH)(Frankle和Carbin,2019)。研究人员发现若对大网络进行剪枝,并继承大网络已训练好的权重,则测试精度与原有网络基本相同。LTH假设的核心是根据一个半随机初始点训练出来的小网络可取得和大网络基本等效的性能。LTH假设不足之处在于,其工作大部分都是经验性的。3)已知测试损失函数与训练损失函数基本相似,在平且宽的曲线上极值点则相差不大,而在锐利的曲线则会产生较大的差别。Dinh等人(2017)认为可对锐利曲线进行重新参数化,使其变宽,从而达到与在平且宽曲线上类似的效果,如图4所示。10.11834/jig.211139.F004图4重新参数化锐利曲线Fig.4Reparameterize sharp curve3 优化泛化能力上述方法可有效降低模型的训练误差,有助于提升模型性能。但训练深度模型的目的在于提高模型在测试集上的泛化效果,而深度学习模型由于参数量庞大,容易因过拟合从而导致泛化效果较差。可见,提升模型的泛化效果也是优化问题中非常关键的部分。正则化能有效保证算法泛化能力,是深度学习领域中非常重要的研究课题之一。本节主要从数据预处理、模型参数限制两个方面进行分析。3.1 数据预处理3.1.1 数据集增强过拟合可视为对数据集中噪声点的过度捕捉,其防止过拟合最行之有效的方法就是增加更多的数据用于训练模型。在实际过程中,对于数据集进行标记成本昂贵。因此,可采用数据增强(data agumentation,DA)方法往数据集中人工增加假数据以进一步提升模型泛化效果。该方法已广泛应用于自然语言处理(Yu等,2018;Wei和Zou,2019)、语音识别(Hinton等,2012;Ko等,2015)和目标识别(Zoph等,2020)等领域。在实际应用过程中,根据是否提前设立变换规则来扩增数据集,具体可分为有监督的DA和无监督的DA。有监督的DA仅围绕所需变换样本本身进行操作(也称单样本DA),常见操作包括几何变换、颜色变换和仿射变换等。此外,还可结合多个样本用以产生新数据的多样本DA(Chawla等,2002)。而无监督的DA方法产生的数据更具有随机性,模型可将数据分布作为先验知识,随机生成与先验分布一致的新样本,生成对抗网络(generative adversarial networks,GAN)(Goodfellow等,2020)就应用了该方法。此外,Cubuk等人(2018)提出的AutoAugment也可以通过模型自主学习,产生一种适合当前任务的DA策略,以及能加快搜索时间的改进版Fast AutoAugment(Lim等,2019)。3.1.2 噪声注入在训练期间对神经网络进行噪声注入(noise injection,NI),相当于将一个额外的项添加到误差函数中,可显著提高泛化性能。在噪声注入过程中,需注意噪声的大小,过小的噪声对网络几乎没有影响,而过大的噪声会使得学习映射函数过程变得更加困难。噪声注入方式可分为以下6种:1)对输入数据NI。训练时对输入数据加入随机噪声以进一步提高模型的健壮性。Vincent等人(2008)提出降噪自编码器对输入数据NI,提高编码器的鲁棒性。2)对隐藏层NI。将噪声注入到隐藏层中(在多个抽样层上DA),一种通过加入噪声重构新输入的正则化策略,相比简单收缩参数,可获得更好的效果。Chu等人(2021)提出一种对跳跃连接层NI,在基本不添加额外计算开销的情况下解决跳跃连接层富集和性能损失问题。3)对权重NI。将噪声注入到权重中,在某种程度上可以等价地解释为传统的范数惩罚,是一种有效的正则化措施。Burton和Mpitsos(1992)证明在权重更新时增加噪声并将噪声的大小应用于输出误差可以实现更快的学习率。Hanson(1990)提出一个适应权重均值和标准差的随机增量规则,提高了收敛率。4)对梯度NI。在梯度中注入噪声则更适用于非凸问题。Neelakantan等人(2015)发现训练具有随机梯度下降的深度神经网络时注入退火高斯噪声到梯度成效明显,注入的噪声可通过鼓励模型积极探索参数空间来实现更低的训练损失。Zhuo等人(2019)提出一种用于深度神经网络优化的校正随机梯度下降算法,更容易建立CNN,并为深度学习范式中的无偏变量估计提供理论框架以优化模型参数的计算。5)对激活函数NI。激活函数用于提高神经网络对模型的表达能力,注入噪声可解决硬饱和问题。Gulcehre等人(2016)提出一种在激活函数的饱和部分注入噪声并学习噪声规模的训练技术,在解决优化和测试时激活函数存在硬饱和问题的同时,还发现可使用更加广泛的激活函数种类来训练神经网络。6)对标签NI。直接对数据集中的标签进行NI。Xie等人(2016)也提出在对抗训练每次迭代过程中将部分标签随机替换为错误标签。Vaswani等人(2017)则在机器翻译领域,使用标签平滑在BLEU(bilingual evaluation understudy)上获得较小但非常重要的提高。3.1.3 对抗训练现阶段,研究人员还提出一类利用反向思维作为切入点的正则化方法,即分析模型分类错误的样本。最早是在2014年,Szegedy等人(2014)提出对抗样本,并指出即使用不同超参数在训练集的不同子集上得到的模型,都会对同一组对抗样本产生误判,即DNN具有非直观的特征和固有的盲点。与传统的NI不同,对抗样本是通过对输入数据注入一些人类无法察觉的细微噪声,误导模型判断错误来最大化预测误差。正则化背景下,在模型训练过程中添加对抗样本的正则化方法称为对抗训练,可在灵活捕捉数据集线性趋势的同时,进一步提升模型对于局部扰动的鲁棒性。Madry等人(2018)提出的PGD(projected gradient descent)方法,通过多次迭代使损失函数局部线性假设基本成立。但在进行前向和后向计算时,PGD会计算出每次的参数梯度和输入梯度,前者仅用于梯度下降过程,后者仅用于梯度上升过程,存在计算效率低的问题。针对上述问题,Shafahi等人(2019)提出FreeAT(free adversarial training)用每次计算得到的梯度,同步更新噪声和模型参数,比传统对抗训练快3~30倍。Zhang等人(2019a)利用DNN的结构以及PMP(pontryagin’s maximum principle),提出仅求第1层的梯度来更新参数的YOPO(you only propagate once)方法。FreeLB(free large-batch)(Zhang等,2019a)累积多步的参数梯度和输入梯度,综合起来再进行更新,虽然未明显提升计算效率,但能更精确地更新参数。3.2 模型参数限制3.2.1 参数范数惩罚参数范数惩罚正则化在损失函数中加入对参数的范数惩罚项,通过限制模型的学习能力降低其过拟合的可能性。典型方法包括L2正则化、L1正则化、Elastic-Net正则化(Zou和Hastie,2005)和L0正则化。1)L2正则化。在原始的损失函数后加上L2正则化项。令L0代表原始的损失函数,增加L2正则化的损失函数定义为L=L0+λ2n∑j(Wj)2 (13)L0=minθFθ (14)式中,n为训练样本的总数,λ为正则化系数,Wj为权重矩阵,j=1,⋯,L。λ越小则正则化作用越小,模型侧重于优化原本的损失函数;而λ越大则表示正则化作用越明显,权重矩阵Wj则会趋于0。值得注意的是, L2正则化对偏差无影响。通常只对权重做惩罚而不对偏置做惩罚。2)L1正则化。在原始的损失函数L0后加上L1正则化项,损失函数可重定义为L=L0+λn∑j Wj (15)L1正则化在权重矩阵Wj大于0时起抑制作用,小于0时反而增大Wj,整体上使Wj趋于0来降低模型复杂度。一般情况下,会更偏向于使用L2正则化,因为其便于求导,从而方便优化。3)Elastic-Net正则化。Elastic-Net正则化结合L1正则化和 L2正则化,即在L1正则化的基础上加上 L2正则化项,损失函数可重定义为L=L0+λ1n∑j Wj+λ22n∑j(Wj)2 (16)式中,λ1为L1正则化系数,λ2为 L2正则化系数。由此可见,Elastic-Net正则化结合了L1正则化更易获得稀疏解和 L2正则化约束参数量级的优点。4)L0正则化。L0正则化主要对非0参数起限制作用,达到约束模型学习能力的目的。从理论上L0正则化可用于求稀疏解(Natarajan,1995),但L0范数的优化求解是一个NP(non-deterministic polynomial)难问题。3.2.2 作为约束的范数惩罚参数范数惩罚通过在损失函数中加入惩罚项以达到正则化目的,每个惩罚项可表示为KKT(Karush-Kuhn-Tucker)乘子和约束目标函数的表达式之间的乘积,可构建广义Lagrange函数为L=L0+αΩθ (17)式中,θ=W1,⋯,WL为所有参数集合,Ωθ是参数范数惩罚;α∈0,∞表示控制惩罚项作用大小的超参数,即KKT乘子,α越大惩罚程度越高。因此参数范数惩罚会强行将权重约束在一个区域中,如 L2正则化会将权重约束在一个 L2球区域中。但是,以惩罚强加约束并不适用于所有情况,还有一种通过显式限制来寻找最佳参数的方法,即作为约束的范数惩罚。该方法通过在参数范数惩罚的基础上,进一步限制参数范数惩罚项小于某个常数来正则化,即L=L0+αΩθ-k, 其中k为用于约束α的常数。作为约束的范数惩罚被认为是参数范数惩罚优化问题的显式形式,可先用梯度下降法计算L0的下降梯度,再投影到Ωθk区域的最近点。使用惩罚强加约束时,较高的学习率易诱导梯度迅速增大,导致权重远离原点并溢出,而显式约束中的常数k通过直接鼓励权重接近原点,避免了权重无限制增加的情况。此外,显式约束仅在权重逃离约束区域时起作用,有效避免损失函数非凸情况,进而规避将模型陷入局部极小值。3.2.3 稀疏表示函数稀疏表示最初主要用于信号处理领域以解决自然界中低频信号和高频噪声的问题(Donoho,1995)。Candès 等人(2006)发现稀疏度和L1范数之间存在联系,即当采样维度和信号的稀疏度能满足一定关系时,采样后的信号可以通过最小化L1范数来恢复。Donoho(2006)将这个过程归纳为压缩感知,直接推动Candès等人(2011)提出人脸识别的鲁棒主成分分析。与参数惩罚方法不同的是,稀疏表示是通过惩罚DNN的激活单元以提高隐藏层的稀疏性的,是一种间接的参数惩罚方法。与L1正则化类似,稀疏表示则是限制隐藏层的输出趋于或等于0,目的是希望输出更加稀疏。可认为对损失函数添加一个稀疏表示惩罚项,损失函数可重定义为L=L0+αΩh, h=WTX (18)式中,X为稀疏矩阵,h是权重参数的转置矩阵和稀疏矩阵的矩阵乘积,即稀疏编码。计算稀疏表示惩罚的方法可分为两种。1)使用与L1正则化相同的惩罚方法Ωh=∑ h;2)使用KL(Kullback-Leible)散度即相对熵来计算。Hinton和Salakhutdinov (2006)提出自编码器(AutoEncoder),即将数据样本输入到编码器中得到的特征再送进解码器中,得到的输出与原数据样本之间的误差称为重构误差,通过稀疏表示惩罚来调整编码器与解码器的参数,进而使得重构误差最小。Ng(2011)在自编码器的基础上增加L1正则化,构建稀疏自编码器(sparse AutoEncoder)。此外,Vincent等人(2008)在自编码器的基础上引入训练数据NI,构建降噪自编码器(denoising AutoEncoder)。3.2.4 参数绑定当任务之间足够相似时,如具有相似的数据分布和相同的特征空间,则可认为模型参数是相似的。将已训练模型中的参数作为未训练模型参数的先验知识的正则化方式就称为参数绑定。与针对偏离0的权重参数进行惩罚的 L2正则化相比,参数绑定是惩罚偏离先验参数的权重参数。参数绑定的惩罚项定义为Ω=WA-WB22 (19)式中,WA为已训练模型的参数,WB为未知模型的参数。最广为使用的参数绑定方法就是参数共享,即强迫某些参数与先验参数相等,多用于CNN和循环神经网络中。CNN当中主要通过卷积核的空间处理来共享参数,循环神经网络的参数共享则是利用一个类似“滑窗”的过程进行时间处理。参数共享使得不同长度的样本都能够在模型上扩展并进行泛化,尤其当多次出现某部分数据信息时,这样的共享可以避免重复学习(Goodfellow等,2016) 。3.2.5 半监督学习随着智能应用的普及,信息量呈爆发式增长,数据获取变得极为容易,但对数据进行标记的代价昂贵。对于这些数量巨大且蕴含较大有价值信息的未标记数据,最早由Shahshahani和Landgrebe (1994)开始对其优化模型进行研究。半监督学习假设未标记样本和标记样本具有相似的数据分布,则可利用未标记数据来帮助模型学习,提高泛化能力。半监督学习作为一种介于监督学习和无监督学习之间的学习方式,其核心在于添加约束未标记样本的正则项到目标函数当中。目前主要有两种设置正则项的方法。1)熵最小化(Grandvalet和Bengio,2004)。熵可以衡量信息的不确定性,熵越小则表明两个数据分布的重叠程度越高。因此,在半监督学习中,通过最小化模型对未标记数据的预测结果(伪标签)的熵,增强模型的泛化性能(Lee,2013)。2)一致性正则化。在半监督学习背景下,对于受到扰动的未标记数据,模型的预测输出应当是一致的。Laine和Aila(2017)及Tarvainen和Valpola(2017)选取L2正则化来计算一致性正则项,Miyato等人(2019)和Sohn等人(2020)则选取KL散度来计算。不仅如此,还有一部分研究者将上述两种方法融合使用(Berthelot等,2019a,2019b;Xie等,2020)。4 GAN中的优化方法GAN已作为一种典型的深度学习模型得到广泛应用(段宾 等,2020)。与传统深度学习不同之处在于,其目标是学习真实数据分布后生成逼真的新样本。GAN模型由生成网络(G)和判别网络(D)组成,G通过噪声(z)来生成假样本,而D则致力于将真假样本区分开来,二者在迭代过程中博弈并进化。但GAN的训练过程存在挑战性,主要包括Lipschitz限制和模式坍塌现象(2018)。1)Lipschitz限制。Arjovsky等人(2017)证明D的目标函数的梯度满足Lipschitz连续是稳定训练的关键。2)模式坍塌现象(Yoshida和Miyato,2017)。输入任何噪声,都生成相似假样本导致训练失败的情况。上述问题分别对应着优化问题中的拟合能力与泛化能力。因此,研究学者充分利用各种优化方法,研究适应GAN模型的变体模型。4.1 拟合能力4.1.1 收敛性若D的目标函数的梯度满足Lipschitz限制,任意的数据点xi∈R,xj∈R,i,j=1,⋯,n,存在一个大于等于0的Lipschitz常数K满足以下等式,即DLip=D(xi)-D(xj)xi-xj=K (20)目前,主要有3种方法来达到满足Lipschitz限制的目的。第1种方法是Arjovsky等人(2017)直接通过权重裁剪令权重参数有界,间接令梯度满足Lipschitz限制。然而该方法会使得神经网络中的权重参数大部分都趋于边界值,同时这个边界值的选取也是一个难题。因此,Gulrajani等人(2017)提出第2种方法,对梯度进行惩罚可以直接将相对于样本空间的梯度限制在一定范围内。但对于K的取值仍存在争议,Gulrajani等人(2017)和Kodali等人(2017)认为K值应取1,即满足1-Lipschitz限制;而一部分研究者则认为K值应取0(Mescheder等,2018;Zhou等,2019;Thanh-Tung等,2019),Wu等人(2018)也认为K值应取0,更是通过数学理论推翻Lipschitz限制这一说法,认为该方法有效的根本原因是由于满足Wasserstein散度公式;Petzka等人(2018)则宽泛地认为K ≤1即可。第3种方法是对网络中的每层输出使用归一化技术。目前,许多常见的归一化方法均已用于GAN的变体当中,如批归一化(Miyato等,2018;Kurach等,2019)、层归一化(Miyato等,2018;Kurach等,2019)、权重归一化(Miyato等,2018)、实例归一化(Karras等,2019)和条件归一化(Miyato等,2018;Zhang等,2019b)。Chen等人(2019)基于批归一化提出Self-Modulation对输出进行归一化,不以外部信息为条件,仅以生成器的输入为条件。GAN的变体模型通常在CIFAR-10(Canadian Institutes for Advanced Research)(Krizhevsky,2009)、STL-10(self-taught learning)(Coates等,2011)、ImageNet(Deng等,2009)、CelebA(large-scale CelebFaces attributes)(Liu等,2015)以及LSUN(large-scale scene understanding)的bedroom(Yu等,2015)数据集上进行训练和测试,并以IS(inception score)(Salimans等,2016)和FID(Fréchet inception distance)(Heusel等,2017)作为衡量指标。其中,IS越高表明生成的样本清晰且具有多样性,FID衡量生成样本分布与真实样本分布之间的差距,越低则说明生成的样本更加逼真。表1和表2分别展示为了满足Lipschitz限制的各优化方法在这5个数据集上的IS结果以及FID结果。10.11834/jig.211139.T001表1各优化方法在不同数据集上的IS结果Table 1IS results of each optimization method on different datasets方法CIFAR-10STL-10ImageNetCelebALSUN权重裁剪Arjovsky等人(2017)6.41±0.11(-)-7.57±0.10(-)--梯度惩罚K→1(Gulrajani等,2017)6.68±0.068.42±0.1312.17±0.092.80±0.084.72±0.11K→1(Kodali等,2017)6.11±0.05----K→0(Wu等,2018)-----K→0(Mescheder等,2018)6.45±0.12(-)-17.18±0.06(-)--K→0(Zhou等,2019)8.03±0.03-8.67±0.04--K→0(Thanh-Tung等,2019)11.42±0.09(-)----K≤1(Petzka等,2018)7.99±0.12----对每层输出归一化批归一化(Miyato等,2018)6.27±0.10----层归一化(Miyato等,2018)7.19±0.127.61±0.12---权重归一化(Miyato等,2018)6.84±0.077.16±0.10---谱归一化(Miyato等,2018)7.58±0.128.79±0.1411.29±0.123.26±0.164.32±0.17条件归一化(Zhang等,2019b)--12.52±0.03(-)--自调制归一化(Chen等,2019)7.71±0.59-11.52±0.072.92±0.135.28±0.18注:“-”表示对应文献中无数据,“(-)”表示对应原文献无数据,数值由本文利用文献代码得到。10.11834/jig.211139.T002表2各优化方法在不同数据集上的FID结果Table 2FID results of each optimization method on different datasets方法CIFAR-10STL-10ImageNetCelebALSUN权重裁剪Arjovsky等人(2017)42.6(-)-64.2(-)-24.6梯度惩罚K→1(Gulrajani等,2017)40.2(-)55.1(-)86.23(-)30.02(-)26.8(-)K→1(Kodali等,2017)-----K→0(Wu等,2018)18.1--21.515.9K→0(Mescheder等,2018)-----K→0(Zhou等,2019)15.64-14.9--K→0(Thanh-Tung等,2019)-----K≤1(Petzka等,2018)-----对每层输出归一化批归一化(Miyato等,2018)56.3----层归一化(Miyato等,2018)33.975.6---权重归一化(Miyato等,2018)34.773.4---谱归一化(Miyato等,2018)25.543.227.6226.1517.1条件归一化(Zhang等,2019b)--18.65--自调制归一化(Chen等,2019)26.93-78.3124.514.32注:“-”表示对应文献中无数据,“(-)”表示对应原文献无数据,数值由本文利用文献代码得到。从表1—表2中数据可以看出,在训练GAN变体模型时,对梯度进行惩罚或对每层输出采取归一化策略可以明显改善生成样本的效果,因此现已衍生出许多相关的优化方法。权重裁剪也有优化效果,但鉴于其存在严重的参数集中化问题,现已基本弃用该优化方法。除了令D的梯度满足Lipschitz限制外,不平衡训练同样能稳定训练以确保收敛性,如表3所示。Goodfellow等人(2020)在实验中已经证明多重更新D后更新一次G的不平衡训练更适合GAN,Arjovsky等人(2017)在实验中也同样使用了多重更新D的训练方法。Heusel等人(2017)提出TTUR(two time-scale update rule),控制G和D的学习率来达成不平衡学习。当然,也有研究学者将这两种不平衡训练方法同时使用(Karras等,2019),但对于参数的确定仍有待进一步研究。10.11834/jig.211139.T003表3各不平衡训练方法在GAN变体模型中的应用Table 3Application of unbalanced training methods in variants of GAN model不平衡训练方法方法介绍多重更新(Goodfellow等,2020)提出参数num用于不平衡训练,更新num次D后更新1次G,实验部分选定num为1。多重更新(Arjovsky等,2017)实验部分选定num为5效果最佳,即更新5次D后更新1次G。不平衡学习率(Heusel等,2017)G和D使用不同的学习率进行训练,即两个时间尺度的更新规则(TTUR),证明该方法比使用多重更新的训练方法提高了效率。两种不平衡训练方法相结合(Brock等,2019)实验部分更新2次D后更新1次G,同时将G的学习率改为D的一半,将两个不平衡训练方法结合使用。4.1.2 收敛速度鉴于优化算法的更新梯度的作用,Goodfellow等人(2020)在设计原始GAN时使用SGD算法。而GAN的目的是通过G和D博弈达到纳什均衡状态,即找到鞍点。因此用于跳出鞍点的优化算法就不适用于GAN,如带动量的SGD。目前,自适应梯度的优化算法仍是训练GAN时的最佳选择,如RMSProp(Arjovsky等,2017)和Adam(Gulrajani等,2017),但注意使用Adam时要将动量项的参数几乎降为0。为可视化各优化算法的效果,设计以下实验进行比较。MNIST(mixed national institute of standards and technology)数据集(LeCun等,1998)包含0~9共10类28 × 28像素的图像,每类有6 000幅图像,其中5 000幅为训练样本,剩余为测试样本。考虑到WGAN-GP(WGAN with gradient penalty)(Gulrajani等,2017)具有较高的稳定性,常作为GAN变体模型的基线来比较,故本实验将通过WGAN-GP在MNIST数据集上比较6种优化算法的效果,即 SGD、带动量的SGD、Adagrad、Adadelta、RMSProp以及Adam。同时为了保证实验的单一变量原则,除优化算法外其余变量保持不变,且不使用其他优化方法,共训练50 000次迭代,将梯度惩罚的大小作为衡量指标,越小则表明模型的收敛程度越好,间接说明对应优化算法的效果越好。收敛曲线如图5所示,模型应用Adam优化算法生成的样本如图6所示。10.11834/jig.211139.F005图5各优化算法在WGAN-GP上的收敛曲线Fig.5The convergence curve of each optimization algorithm on WGAN-GP10.11834/jig.211139.F006图6应用Adam优化算法的WGAN-GP生成样本Fig.6Using WGAN-GP of Adam optimization algorithm to generate samples从实验结果来看,SGD很难收敛到全局极小值,而带动量的SGD同样没有逃脱鞍点,Adagrad和Adadelta算法作为SGD改进版,直接累加梯度的平方,易收敛于局部极小值,导致训练失败。而RMSProp优化算法则在AdaGrad的基础上添加了一个衰减系数来控制历史信息的获取,在非凸条件下有良好的表现。兼顾Adagrad和RMSPSprop优点的Adam算法能在训练时快速看到效果,同时对超参数相对没有那么敏感,因此在近几年GAN变体模型训练中广泛使用。4.1.3 全局质量问题由于GAN并非像传统深度神经网络那样寻找全局最优解,反而是寻找纳什均衡点。神经网络的解空间中可能存在着多个纳什均衡点,如何在多次迭代过程中达到稳定状态才是GAN的首要任务。因此,在设计GAN模型时,应将对收敛性的优化放在首位,保证模型的收敛性使得判别器中目标函数的梯度能满足Lipschitz限制,这是稳定训练的关键。但对收敛速度的优化也是一个不可或缺的部分,一个合适的优化算法能避免模型限于局部极小值,辅助模型寻找最优解。例如,ImprovedGAN(Salimans 等,2016)通过消融实验说明,当去除用于提升收敛速度的历史平均梯度更新算法时,IS从6.86±0.06下降至4.36±0.04;而删除保证收敛性的小批次批归一化方法后, IS从8.09±0.12下降至3.87±0.03。故在确保模型稳定训练的基础上,辅以合适的优化算法,才能高效提升模型的拟合能力。4.2 泛化能力在GAN模型中,验证模型的拟合能力时更注重数据集的样本,而泛化性更强调面对未知数据时模型的预测能力。当生成样本的数据分布与真实样本的数据分布足够相近时,具有较高的泛化能力。模式坍塌现象是指模型生成的样本缺乏多样性,所以避免模式坍塌问题可以有效提高模型的泛化能力。类似地,用于提升深度神经网络的泛化能力的正则化方法同样广泛应用于GAN的当中,来避免模式坍塌问题。现简述GAN领域目前已有的正则化方法,通过评估模型在测试集上的效果,对比模型使用提升拟合能力的优化方法前后评估指标的变化。表4展示了正则化方法的细节以及优化效果。10.11834/jig.211139.T004表4GAN领域不同正则化方法的应用及其优化效果Table 4Application and optimization effect of different regularization methods in GAN field方法方法介绍及优化效果限制参数权重惩罚(Brock 等,2017)添加∑jWj(Wj)T-Ip2到目标函数中,利用正交正则化对权重进行惩罚,其中I是单位矩阵,⋅p是Lp范数。在SVHN数据集(Netzer等,2011)上训练模型后,在SVM分类器上进行验证,分类错误率由22.18%(DCGAN)降为18.5%。权重惩罚(Zhou 等,2018)添加∑jWjp-I2到目标函数中,利用正交正则化对权重进行惩罚。在CIFAR-10数据集上,对比IS为2.68±0.03的WGAN,正则化后的IS为3.09±0.02,但不及WGAN-GP的效果(3.10±0.03)。权重惩罚(Brock等,2019)添加∑j(Wj)TWj⊙1-Ip2到目标函数中,利用正交正则化对权重进行惩罚,其中⊙为Hadmard乘积。在Google TPUv3 Pod数据集(Google,2018)上以SAGAN为基线模型进行训练,正则化后的IS由98.76±2.84升为99.31±2.10,FID由8.73±0.45降为8.51±0.32。权重惩罚(Kurach等,2019)添加∑jWj2到目标函数中,利用L2正则化对权重进行惩罚。在CelebA数据集上,正则化后FID由40.92升为47.17;在LSUN的bedroom数据集上,FID由136.09升为141.85。半监督学习(Arjovsky 等,2017)通过clipWj,-0.01,0.01调整权重矩阵。在CIFAR-10数据集上,IS为6.41±0.11,FID为42.6;在STL-10数据集上,IS为7.57±0.10,FID为64.2。半监督学习(Miyato 等,2018)通过Wj/σWj调整权重矩阵,σ为最大奇异值。在CIFAR-10数据集上,IS为7.42±0.08,FID为29.3;在STL-10数据集上,IS为8.28±0.09,FID为53.1。半监督学习(Liu 等,2020)通过Wj/σWj+∇Wj/σWj调整权重矩阵。与SNGAN进行对比,在CIFAR-10数据集上,IS由8.61升为8.70,FID由21.01降为19.28;在STL-10数据集上,IS由9.10升为9.17,FID由40.11降为39.46;在ImageNet数据集上,IS由21.78升为31.58,FID由71.37降为61.08。半监督学习(Zhang 等,2020)通过Wj/Wj1Wj∞调整权重矩阵。与SNGAN进行对比,在CIFAR-10数据集上,IS由3.88±0.14升为4.00±0.17;在ImageNet数据集上,IS由3.78±0.22升为3.87±0.23。半监督学习(Odena,2016)采样未标记样本,与标记样本及生成样本共同输入D中。在MNIST数据集上训练模型后通过D的判别结果进行验证:准确率在采样25个样本时,由0.750升为0.802;采样100个样本时,由0.895升为0.928;采样1 000个样本时,由0.965降为0.964。处理数据NI(Sønderby 等,2017)在真实数据分布中添加实例噪声。在CIFAR-10数据集上对GAN进行NI,FID由34.25降为32.28;在CelebA数据集上对GAN进行NI,FID由34.63降为14.23。对抗训练(Zhou和Krähenbühl,2019)添加一个额外的对抗正则项D(G(z))-D(G(z)+v)2到目标函数中,其中v为对抗向量。在CIFAR-10数据集上对GAN进行对抗训练,FID由34.25降为24.06;在CelebA数据集上对GAN进行对抗训练,FID由34.63降为12.04。权重惩罚与归一化方法作为GAN中一种限制模型参数的正则化方法,已广泛用于解决模态坍塌问题。一般可分为权重惩罚和权重归一化两类。权重惩罚方法将权值矩阵的范数作为正则项增加到GAN的目标函数当中(Brock等,2017;Zhou等,2018;Kurach等,2019;Brock等,2019),这与L1正则化和L2正则化的方法相似。权重归一化则主要通过特定的归一化方法不断更新GAN中的权重矩阵(Arjovsky等,2017;Miyato等,2018;Liu等,2020;Zhang等,2020)。充分利用未标记数据的半监督学习也可用于提升GAN模型的泛化能力。Odena(2016)提出的半监督生成对抗网络(semi-supervised GAN,SGAN)将采样一部分未标记样本,共3部分数据输入到D中。所以判别结果不再仅真假样本两类,而是N+1类,其中N为多分类任务的总类数,SGAN的模型如图7所示。10.11834/jig.211139.F007图7SGAN模型Fig.7Model of SGAN此外,还可通过数据预处理方式对GAN进行正则化。最为常见的方法就是利用噪声对数据进行处理,Sønderby等人(2017)是在去噪过程中反向推导去噪的梯度估值,可以减小真实数据分布和生成数据分布之间的交叉熵,Jenni和Favaro(2019)则证明使用滤波版本的真实数据分布能辅助稳定训练并提高性能。Zhou和Krähenbühl (2019)将对抗模型引入到GAN当中,使D面对对抗攻击具有较强的鲁棒性。表5展示了近年来效果较好的前沿GAN变体模型所用的优化方法,均出自论文的实验设置部分。不难发现,从拟合能力来看,进行梯度惩罚时大部分研究者更倾向于Gulrajani等人(2017)提出的1-Lipschitz限制,并采取不平衡训练方法,同时针对具体的模型对每层输出选用不同的归一化方法,其中谱归一化的效果极好,但存在耗时长的缺点。从提升泛化能力来看,Adam优化算法已经是大部分研究学者的默认选择,同时大部分模型普遍采取权重归一化和NI措施来提升模型的鲁棒性。10.11834/jig.211139.T005表5不同优化方法在前沿GAN变体模型中的应用Table 5Application of different optimization methods in state-of-the-art variants of GAN方法拟合能力泛化能力收敛性收敛速度限制参数处理数据梯度惩罚对每层输出归一化不平衡训练PGGAN(Karras 等,2018)K→1像素归一化-Adam权重归一化NIStarGAN(Choi 等,2018)K→1实例归一化多重更新Adam-对抗训练SNGAN(Miyato 等,2018)K→1谱归一化+批归一化多重更新SGD权重归一化-SAGAN(Zhang等,2019b)K→1谱归一化+批归一化TTURAdam权重归一化-BigGAN(Brock 等,2019)K→1谱归一化+批归一化多重更新+TTURAdam权重惩罚NIStyleGAN(Karras 等,2019)K→1实例归一化-Adam权重归一化NIMSGGAN(Karnewar和Wang,2020)K→1像素归一化+实例归一化-RMSProp权重归一化NIMFFGAN(Zhang 等,2021)K→1批归一化多重更新Adam权重惩罚NI注:“-”表示对应文献中未使用该优化方法。5 分析与展望深度学习优化发展迅速,现已成为设计深度神经网络时不可或缺的一部分,但仍存在一些问题有待更进一步的研究。1)梯度的Lipschitz限制。在深度学习优化的收敛性分析中,默认式(2)的全局梯度均满足Lipschitz连续限制,如梯度下降理论的基础假设。但现实与理论存在差距,无法保证在全局都能找到Lipschitz常数满足限制要求。目前大多数的做法是假设迭代有界,则选定适当步长的梯度下降得以收敛;或添加一个球约束到网络参数中,并使用梯度投影法,但上述方法在理论上无法证明。不仅如此,若找到的Lipschitz常数为指数级大/小,会导致梯度爆炸/消失现象。2)GAN的全局最优解。由于在GAN中寻找博弈后的纳什均衡状态极为困难,所以此前大多数研究都致力于寻找稳定的纳什均衡状态。但GAN的解空间中仍存在全局最优解,当生成样本分布收敛到完全与真实样本分布一致时,此时的纳什均衡点即为全局最优解。所以,目前还需要新的理论突破来找到稳定的全局最优解。3)深度学习优化的可解释性。深度学习中各类优化方法繁多而复杂,在设计网络时需充分考虑其拟合能力与泛化能力,这也意味着各类优化方法的组合效果是一个值得推敲的问题。但目前仍有许多优化方法属于经验性结论,缺乏严格的理论证明,深度学习优化的可解释性还处于一个初级阶段。在未来的工作中,亟需加强对优化方法的可解释性证明,辅以数学理论的推导可以科学提升模型的优化效果,同时有助于启发新的研究思路。6 结 语深度学习中的优化问题是提升模型性能的一个重要研究领域,从模型的拟合能力出发,通过模型优化过程的3个步骤分解优化问题为收敛性问题、收敛速度问题和全局质量问题,并以这3个具体的优化角度来概述现有研究成果。其次,考虑到模型的泛化效果,依据正则化方法的作用原理,分为处理数据和限制模型参数两个方向进行梳理。接着,在GAN的研究背景下,介绍上述优化方法在实际中的应用,基于实验分析给出几种能较好辅助训练的优化方法。最后,对深度学习优化领域中仍存在的问题进行分析,并提出未来的研究方向。通过梳理各种优化方法并在GAN中具体举例,可为设计深度神经网络时选择优化方法提供参考。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读