深度学习中的优化方法 王立威杨运昌 (北京大学信息科学技术学院,北京 100871) 1 引言 深度学习在许多领域取得了突破性的进展,然而目前对于深度学习的训练过程仍然缺乏理论上的认识。一个重要的问题是为什么即使目标函数是高度非凸的,使用简单的一阶优化算法(如梯度下降法)仍然能够找到一个全局昀优点。解决这个问题将会帮助我们更深刻地从理论上理解深度学习的训练过程,设计更好的算法。 深度学习中的训练过程常常会耗费大量的时间和计算资源。为加速深度学习的训练过程,学者提出了许多新算法和新结构,但是这些方法在理论上往往只能给出一阶收敛的保障,或是不能适用于特定的网络结构,如神经网络图。本文从理论和算法两个角度对深度学习的训练过程进行了深入的研究。从理论上证明了使用梯度下降方法 (GD)优化过参数化的深度残差神经网络 (ResNet)时,该算法可以保证收敛到全局昀优值。在算法上,提出了一种对足够宽的神经网络有二阶收敛保障并且能高效地应用到实际问题的优化算法:Gram-Gauss-Newton(GGN)方法。在实验中发现,在 RSNABone Age和 AFAD-LITE任务上,GGN的收敛速度比其他算法要快得多,并且能收敛到更低的训练损失。提出的方法可以从时间和计算资源两方面加速神经网络的训练,从而实现更快的训练、更少的能耗,进而向设计更高效的深度学习方法迈出重要一步。 2梯度下降方法的全局收敛性 目前深度神经网络的一个问题是对于任意给定的标签,使用随机初始化的一阶优化算法(例如,梯度下降法)能够将训练误差降为 0[1]。大部分学者认为过参数化是导致这一现象的主要原因。之前有人证明了宽度少于输入向量长度的神经网络不能逼近所有的函数[2]。在实际中使用的网络结构也是高度过参数化的。另外一个问题是,一般认为层数越深的网络训练起来会更加困难。为了解决这一困难,有人提出了深度残差神经网络 (ResNet)[3]。这一网络结构使随机初始化的一阶算法能够训练更深层的网络。可以从理论上证明,深层线性网络这种残差结构避免了梯度在 0的一个较大邻域内消失 [4]。但是对于带有非线性激活函数的网络结构,使用残差结构带来的好处还缺少理论方面的理解。 本文对上述两个问题给出了理论上的回答。对于数据集大小为 n、神经网络层数为 H、宽度为 m的情况,在假设损失函数是平方损失函数且激活函数是 Lipschitz并且连续2OH .. .. 的情况下,证明了:①对于全连接神经网络,当 m...poly n .时,随机初始化的 梯度下降法可以以线性收敛速度收敛到零训练损失。②对于残差神经网络,只要 m...poly .nH, ..,随机初始化的梯度下降法可以以线性收敛速度收敛到零训练损失。 这一结果说明了残差神经网络相比于全连接神经网络的优势。③用同样的技术分析了残差卷积神经网络。只要 m.poly .,, . npH ,随机初始化的梯度下降法可以以线性收敛速度 收敛到零训练损失(其中 p是 patch的个数)。 2.1 问题描述 考虑平方损失函数: min L...1[ f., xii 2 . ...y] ..n 2 i.1 其中,.x.nii.1 是训练数据;.y.nii.1 是标签;.是需要优化的参数; f是预测函数。在我们 的问题中, f是神经网络。考虑如下三种结构。 (1)多层全连接网络 1 ..mm R. R. 设 x .Rd为输入,W... md为第一层权重矩阵,Wh . 为第 h层权重矩阵, m a .R为输出层,....为激活函数。递归定义预测函数为 .. x 0 .x h c hh.1 .. ... . x . ...Wx .,1 h ≤≤ H m .. T .. f x,..axH 2 其中, c ..E. .. x ....1 是归一化因子。 . xN(0,1) ... (2)残差神经网络残差神经网络可以递归定义为 1 c 1 .. .. x . .. .Wx. m ..h .h.1. cres .. . hh.1. x .x . .Wx .,2 hH . ≤≤ Hm H .. f . .Tres,..xax其中, 0 .cres .1 是一个小常数。 (3)卷积残差网络 0 R. 0 昀后考虑卷积残差网络结构。同样地,用递归的方式定义网络结构。令 x... dp为输入,其中 d0 为输入通道数, p为像素数。对于任意的 h,令通道数 dh.m,像素数为 p。当给定 x.h.1..Rdh.1.p时,定义 .h...为将 x.h.1.分割为 p个部分的操作函数。每个部分的大小为 qdh.1 ,即... ..11hhqdphR....x。例如,当 q.3 时,有 .. x .1,.......TT11.1,1:1....hhx.0:2 . pp. ..1.. . . .. . .hhx... . ..h ...xd .......TT11,0:2,1:1...hdX.p p . h.1 h.1 .. .h.1..h.1. 其中, x:,0 .x:, p.1 .0。这一函数有如下性质: .. .. . x 111hhhFhFF.......xx≤≤|| . . q|| . . h . hh.1 令W...Rdqd ,递归定义如下: 1 c ..1 mp . x... ...W .1 ..x ..R m c ... .. .. .. x 11reshhhhmphR........xWx . . .. Hm . 其中, 0 .cres .1 是一个小常数。对 a .Rmp,输出定义为 H fcnn .x,....ax, ... 为了学习神经网络,考虑使用随机初始化的梯度下降方法来寻找损失函数的全局极小值点。具体来说,采用如下的随机初始化策略:对每一层 h,每个权重都是从一个标准高斯分布中采样,即 W.hij..N .. 0,1 。输出层 a中的每个元素也是从标准高斯分布中采样。使用梯度下降法训练每一层的权重。对 k .1,2, .和 h..H.,有 .... .L[..k .1] . W ... .1hhhkk....W ... .W k .1. .L[..k .1] . a.. a.. . 1 . k . k . .a.k .1. 其中,..0是步长。 2.2 梯度下降的收敛性质 首先分析全连接神经网络。对于步长为常数的情况,梯度下降会以线性的速度收敛到全局昀优点。递归定义 Gram矩阵如下: 0 Kij ....xi , xj . .h.1..h.1. .KK . ..h ii ij A .. . ij ..h 1..h.1. .. KK . ji jj . K..h .cE ... .. .v . h . u ij ..uv, .T .N .0, Aij .... . .. .. K .H .1. .....u....v... .. ,T1..uvE..HHijijNcK.0, Aij . H 梯度下降的收敛性质与 Gram矩阵的昀小特征值 .min .K...密切相关。下面介绍用梯度下降法训练全连接网络的收敛性定理。 定理 1 梯度下降训练全连接神经网络的收敛速度。假设对任意的 i ..n.,|| xi || 2 .1, .O.1.,并且每层的隐藏节点个数为 .. 2 .Hn ... yi .. 4 n log . ... . nn .δ .. m ...2 .. ,,OHH. ....4maxH.2 . . λ K δλ K. .. ..min .. min . ... .. .. 对于梯度下降法,当步长取为 .. .λ .K .. .. η .O min.. HOH . n22 . .. 时,则以至少1.δ的概率,对 k .1,2, .每次迭代的损失函数满足: k H .. . ηλmin .K .. L.θ ..k ... . 0 . ≤1 L.θ .. . 2 . .. 这个定理表明,如果 m足够大,并且将步长调至合适值,则梯度下降法会以线性速度收敛到全局昀优值。这个定理的主要假设是需要一个足够大的网络,该网络的宽度 m取决 H 于 ,1/ min .K..H 。对 n和1/ . K... nH和 .. min . 的依赖都是多项式级别的,但是对 H的依 赖是指数级的。接下来分析残差神经网络。同样,定义 Gram矩阵如下: 0 K....x , x . ij ij .h.1..h.1. .KK . ..h ii ij A .. . ij .h.1..h.1. .. KK . ji jj . bi .. ..0 .u . 1,uNcE...0 .Kii ... ... .. K 1 .cE T ..1 ...u...v.. ij ..uv, ..N .0, A .. . ij .h.1 .h.12 .c b .uc b .... c .u .v . ..h .h.1. res i . .. res jv res .. .. K .K .E ... . ij ij .uv, .T .N .0, Aij ..h . H HH 2 .. .. .. ..b c .h.1. u . .... hhii..b1res,uNE..0H .Kii .. . 2 .. .. ..T1res2,,..ijuvNEK0 c K .H .1. ...... .. ..v .. u .HHijH.A . ij 与全连接相比,残差神经网络的 Gram矩阵取决于序列.b..1Hhh...1 。这是由于残差神经网络包含了跳跃连接。可以证明,只要训练数据是非退化的,那么 .minHK....就是严格为正的,并且不指数依赖于 H。接下来介绍关于残差神经网络的收敛定理。 定理 2残差神经网络的梯度下降法收敛速度定理。假设对任意的 i ..n.,|| xi || 2 .1, yi.O.1.,并且每层的隐藏节点个数为 .. 2 .Hn ... .. 42 n log . ... . n nn . δ .. m ...max . , ,, .. H 6 H 2 ..4 .. 2 .. 2 H ..λ .K .H λ .K .H δλ .K... min min min .. .. .. .. .. 2 对于梯度下降法,当步长取为 η .O... λmin .Kn2 H .H ...时,则以至少 1.δ的概率,对 .. k .1,2, .,每次迭代的损失函数满足: .. . ηλmin .K H ..k L.θ ..k ... . 0 .≤1 L.θ .. . 2 . .. 与全连接网络相比,这个定理中的神经元个数和收敛速度都是多项式依赖于 n和 H的。这里不包含指数依赖的主要原因是残差网络的跳跃连接使整个网络结构在初始化阶段和训练阶段更加稳定。 对 m的要求包括四项,前两项表明在训练中 Gram矩阵始终保持稳定,第三项用来保证在初始化阶段每一层的输出都是近似正则化的,第四项用来约束 Gram矩阵在初始阶段的扰动大小。 接下来分析残差卷积神经网络。首先定义该网络结构的 Gram矩阵。对任意的 . . .. ... . ...., , ,ij n n l r p p. . . .及 2,3, ,h H. . 1. 有 ..0 ijK .. . .T 1 1 .. . p p i j R. .x x ..h ijA . . . . 1 1 h ii h ji . . . .... K K . . . . 1 1 h ij h jj . . . ... K K ..1 ijK . . ... .T 1 , ,. . ijuv N cE. A0 ... .. .. ..u v. ..1 ib . ... . ..0 , iiuN cE u. . . . .. .K0 ..h ijH . . .1.h ijK . . . . .. .T h 1 , , .. ijuv N E A0 . .1 T res .. . .. h ic H .b ..u . . .1 T res .h jc H .b ..v . 2 res c . .. .. T 2 . . .. u v H . .. , h ij lr K . .. ... ., tr h h rlij DD H ..h ib . .1h i ..b . resc H . .. . ..1 , h iiN E ... . .. .0u K u .H ..H . M ..1,,,,ijlrNE...0uvK.H .1. ....ul .....vr .. ijlr ij . .A . .. .. K trHHijij.M. . 其中,u和 v都是随机向量, .:hhls.x1:,.s.the th patchl . Khij是 ppKij lr D.. .. ; ...维矩阵; ,表 示 ..lr元素。下面介绍残差卷积网络的收敛定理。 , 定理 3 残差卷积神经网络的梯度下降法收敛速度定理。假设对任意的 i ..n., || x || .1, y .O.1.,并且每层的隐藏节点个数为 iF i .. 2 .Hn.. . .. 42 n log... . .n nn .δ .. m ...max . , ,, .poly..p . 4622 2 . λ H λ H δλ . .00 0 . .. .. .. .. . λ0 H 2 . 对于梯度下降法,当步长取为 η .O. n2poly..p . 时,则以至少1.δ 的概率,对 k .1,2,., ..每次迭代的损失函数满足: .. . H .k . ηλmin .K .. ....≤1. L θ 0 . L θ k ... . 2 . .. 定理 3与残差神经网络的收敛定理相似。每层所需的神经元个数仅仅多项式取决于数据个数和深度,并且步长也是多项式级别的大小。唯一的不同是这里多了对于 p的多项式依赖。 3 Gram-Gauss-Newton方法 虽然深度神经网络的优化是高度非凸的,但即使在具有随机标签的数据集上,随机梯度下降法(SGD)等简单算法也能实现接近零的训练损失。为了从理论上理解这一现象,昀近有一系列的工作考虑了基于神经正切核(neural tangent kernel,NTK)思想的过参数化神经网络的优化[5]。粗略地讲,NTK的思想是对网络的输出在参数的局部区域进行线性逼近,从而得到一个核特征图,即输出关于参数的梯度。然而,对于足够宽的神经网络,GD或 SGD的动态优化相当于使用 GD或 SGD来解决 NTK核的回归问题。那么,一个自然的问题就出现了,能否在每一步通过直接求解核回归来获得加速? 本节对这个问题给出了肯定的答案,并揭示了 NTK回归与 Gauss-Newton方法[6]之间的联系。本节提出了一种 Gauss-Newton方法,称为 Gram-Gauss-Newton(GGN)方法,用于优化具有平方损失函数的神经网络。GGN不做梯度下降,而是在优化的每一步中求解对 NTK的核回归。按照这个思路,证明了在与前人工作类似的过参数化条件下, full-batchGGN可以优化网络,与梯度下降的线性速率相比,具有二次收敛速率。进一步将 GGN与 mini-batch处理方案相结合。尽管传统的观点认为 mini-batch会在二阶方法中引入偏梯度,并可能导致优化的发散,但还是给出了 mini-batch版本的 GGN的线性收敛结果。进一步指出 GGN隐含 Gauss-Newton方法的重构, Gauss-Newton方法是一种经典的二阶算法,常用于解决有平方损耗的非线性回归问题。 本节不仅从理论上证明了 GGN的有效性,而且从经验上验证了其在实际应用中的潜力。首先对标量回归任务进行了实验。在这种情况下,与 SGD等一阶方法相比, mini-batch GGN在每个纪元的计算开销很小。这与大多数二阶方法形成了鲜明的对比,后者计算二阶信息的成本很高。证明了在这两个实际应用中使用具有标准宽度的实用神经网络(如 ResNet-32),我们提出的 GGN算法可以比 SGD、Adam和 K-FAC等几种基准算法收敛得更快,性能更好。 3.1 过参数化神经网络的 Gram-Gauss-Newton方法 对于足够宽的网络,使用梯度下降法求解回归问题与使用梯度下降法在每一步求解 NTK核回归具有相似的动态性。然而,也可以使用核昀小二乘回归的显式公式来求解每一步的 NTK核回归问题。通过显式求解 NTK核回归而不是使用梯度下降法,可以预期优化的速度会加快。我们提出的 Gram-Gauss-Newton(GGN)方法使用每个时间步的 Gram矩阵Gt直接求解 NTK核回归。 NTK在时间 t的特征图可以表示为 x(,) , t RKHS中的线 .. fwx性参数为 .t目标为 f .wx, .. f( t, i) 。对于 JtS.ww. t .( f . , i.. f. , i ww,i wx 因此,, .wwx wx t .) 关于 (wwt) 的核(无脊)回归问题,有这样的更新方法: . T .1 w1 . t , GtS , . yS) t. w.JtS ,( ftS 其中,JtS,是在训练数据集 S上计算出的 t时刻的特征矩阵,它等价于 Jacobian矩阵; f, tS T 和 yS分别是神经网络的矢量化输出和 S上对应的目标; GtS, .JtS , JtS是 NTK在 S上的 , Gram矩阵。 我们注意到,现有的 Gauss-Newton方法中没有一个工作利用这一点来加速对过参数化模型的优化。相反,受 NTK回归的启发,GGN自然地给出了这一更新规则,避免了 Gauss-Newton矩阵的计算。 学习算法的设计不仅要考虑优化,还要考虑泛化能力。已有研究表明,使用 mini-batch代替 full-batch来计算导数对于学习的模型是否具有良好的泛化能力至关重要 [7-9]。因此,提出了一个 mini-batch版本的 GGN。更新规则如下: T .1 1 wt J , GtB( f , .yB) wt.. . tB , tB ttt t 其中,Bt是迭代 t时使用的 mini-batch;J, 和 G, 分别是使用 Bt的数据计算出的 Jacobian tBttBt 和 Gram矩阵; ftB,, yB 分别是 Bt上的矢量化输出和对应的目标。当使用典型的 batch大 tt T 小时, GtB, t .JtB, t JtB 是一个很小的矩阵。我们的更新规则只需要计算 Gram矩阵 G, t及 , t tB 其逆矩阵。需要注意的是, G, 的大小等于 batch的大小,通常非常小,所以这也大大 tBt 降低了计算成本。 利用核脊回归的思想(也可以看作是 Gauss-Newton方法的 Levenberg-Marquardt扩展)引入 GGN的以下变体: w .. T1 w JtB(.G, ..I). t.1 t , tB tt 其中, ..0 是控制学习过程的另一个超参数。我们的算法如下: 1. 输入:训练集 S,超参数 .和 . 2. 初始化网络参数 w0,设置 t.0 3. 对每次迭代: 4. 在数据集中取一个 mini-batch Bt 5. 计算 Jacobian矩阵 JtB , t 6. 计算 Gram矩阵 G .JJT tB, tB, tB , t tt 7. 更新参数 w ..y . t.tB B T11,,,ttBtBw...JGft t tt 8. tt 1 .. 9. 结束 3.2 GGN在过参数化神经网络上的收敛性 接下来证明,对于足够宽的两层神经网络,有: (1)full-batch版本的 GGN以二次收敛速度收敛; (2)mini-batch版本的 GGN以线性速度收敛。 正如通过 NTK的视角所解释的那样,结果是这样一个事实的结论:对于足够宽的神经网络,如果按照合适的概率分布对权重进行初始化,那么在高概率的情况下,在包含初始化点和全局昀优的邻域内,网络关于参数的输出会接近一个线性函数(但网络的输入是非线性的) [10-13]。虽然实际中使用的神经网络远没有这么宽,但这仍然激励了我们设计 GGN算法。下面介绍设置和结果。 使用以下结构的两层网络: f.wx. 1 a .. 1 .Ma. (wx ) , . M TT1rWxM... rr d 其中, x..为输入; M为网络宽度; W.. w .TTT1,,Mw.;. ().为激活函数。 W的每个 元素都用标准高斯分布初始化 wr . .(0, Id) .上的均匀分 ,并且 a的每个元素都是从 {1}布初始化的。 为了证明的清晰性,只对参数 W进行网络训练,并假设激活函数 . ().是 .-Lipschitz和 . -smooth的,而 ., .被认为是 O.1.常数。关键的发现是,在这种初始化下, Gram矩阵G有一个渐近极限,在温和的条件下(如输入数据不是退化的等),它是一个正定矩阵。 K . x, x.. . xx . .. wx.. .. wx.] ij w..ji j T(0,)[Ii 假设矩阵 K是正定矩阵,并将其昀小特征值表示为 .0 ..min . K.. 0 。下面介绍 full-batch GGN定理。定理 4 过参数化神经网络上 full-batch GGN的二次收敛。如果假设成立,假设数据.. 2 .16n... .. 4 ndlog . ... 的规模是 . xi .2 . O.1,. y . O.1,. i.{1, .,n} ,网络宽度 M. ... max .. n λ04 , λ02 . δ . .. .. , i .. .. .. .. 且为随机初始化,那么 GGN的 full-batch版本的更新规则以1. δ的概率满足: (1)每次迭代时的 Gram矩阵 G,是可逆的; (2)损失函数以下列方式趋近于 tS C 2 . f . y . ≤ M . ft . y.2 t.12 对于一些与 M无关的 C,这是一个二阶收敛。 注意,将 .设为 1对定理中的加速收敛很重要。而结合对 Jacobian的更精细的分析,将 Jacobian关于参数扰动是这个想法稳定的形式化,能够取得比线性收敛更好的结果,其中还涉及学习率超参数。我们的理论表明,在过参数化的设置下或者 NTK保持稳定的