关于算法:Gradient-Centralization-一行代码加速训练并提升泛化能力-ECCV-2020-Oral

0次阅读

共计 3771 个字符,预计需要花费 10 分钟才能阅读完成。

梯度中心化 GC 对权值梯度进行零均值化,可能使得网络的训练更加稳固,并且能进步网络的泛化能力,算法思路简略,论文的实践剖析非常充沛,可能很好地解释 GC 的作用原理

起源:晓飞的算法工程笔记 公众号

论文: Gradient Centralization: A New Optimization Technique for Deep Neural Networks

  • 论文地址:https://arxiv.org/abs/2004.01461
  • 论文代码:https://github.com/Yonghongwei/Gradient-Centralization

Introduction


  优化器 (Optimizer) 对于深度神经网络在大型数据集上的训练是非常重要的,如 SGD 和 SGDM,优化器的指标有两个:减速训练过程和进步模型的泛化能力。目前,很多工作钻研如何进步如 SGD 等优化器的性能,如克服训练中的梯度隐没和梯度爆炸问题,无效的 trick 有权值初始化、激活函数、梯度裁剪以及自适应学习率等。而一些工作则从统计的角度对权值和特征值进行标准化来让训练更稳固,比方特色图标准化办法 BN 以及权值标准化办法 WN。。

  与在权值和特征值进行标准化办法不同,论文提出作用于权值梯度的高性能网络优化算法梯度中心化(GC, gradient centralization),可能减速网络训练,进步泛化能力以及兼容模型 fine-tune。如图 a 所示,GC 的思维很简略,零均值化梯度向量,可能轻松地嵌入各种优化器中。论文次要奉献如下:

  • 提出新的通用网络优化办法,梯度中心化(GC),不仅能平滑和减速训练过程,还能进步模型的泛化能力。
  • 剖析了 GC 的实践属性,表明 GC 可能束缚损失函数,标准化权值空间和特征值空间,晋升模型的泛化能力。另外,束缚的损失函数有更好的 Lipschitzness(抗扰动能力,函数斜率恒定小于一个 Lipschitze 常数),让训练更稳固、更高效。

Gradient Centralization


Motivation

  BN 和 WS 应用 Z -score 标准化别离操作于特征值和权重,理论是间接地对权值的梯度进行束缚,从而进步优化时损失函数的 Lipschitz 属性。受此启发,论文间接对梯度操作,首先尝试了 Z -score 标准化,但试验发现并没有晋升训练的稳定性。之后,尝试计算梯度向量的均值,对梯度向量进行零均值化,试验发现可能无效地进步损失函数的 Lipschitz 属性,使网络训练更稳固、更具泛化能力,失去梯度中心化 (GC) 算法。

Notations

  定义一些根底符号,应用 $W \in \mathbb{R}^{M \times N}$ 对立示意全连贯层的权值矩阵 $W_{fc} \in \mathbb{R}^{C_{in}\times C_{out}}$ 和卷积层的权值张量 $W_{conv} \in \mathbb{R}^{(C_{in} k_1 k_2)\times C_{out}}$,$w_i \in \mathbb{R}^M$ 为权值矩阵 $W$ 的第 $i$ 列,$\mathcal{L}$ 为指标函数,$\nabla_{W}\mathcal{L}$ 和 $\nabla_{w_i}\mathcal{L}$ 为 $\mathcal{L}$ 对 $W$ 和 $w_i$ 的梯度,$W$ 与 $\nabla_{W}\mathcal{L}$ 的大小一样。定义 $X$ 为输出特色图,则 $W^T X$ 为输入特色图,$e=\frac{1}{\sqrt{M}}1$ 为 $M$ 位单位向量(unit vector),$I\in\mathbb{R}^{M\times M}$ 为单位矩阵(identity matrix)。

Formulation of GC

  对于卷积层或全连贯层的权值向量 $w_i$,通过反向流传失去其梯度 $\nabla_{w_i}\mathcal{L}$,而后如图 b 所示计算其均值 $\mu\nabla_{w_i}\mathcal{L}=\frac{1}{M}{\sum}^M_{j=1} \nabla_{w_{i,j}\mathcal{L}}$,GC 操作 $\Phi$ 定义如下:

  也能够将公式 1 转换为矩阵模式:

  $P$ 由单位矩阵以及单位向量造成矩阵形成,别离负责保留原值以及求均值。

Embedding of GC to SGDM/Adam

  GC 可能简略地嵌入以后的支流网络优化算法中,如 SGDM 和 Adam,间接应用零均值化的梯度 $\Phi_{GC}(\nabla_w \mathcal{L})$ 进行权值的更新。

  算法 1 和算法 2 别离展现了将 GC 嵌入到 SGDM 和 Adam 中,基本上不须要对原优化器算法进行批改,仅需退出一行梯度零均值化计算即可,大概仅需 0.6sec。

Properties of GC


  上面从实践的角度剖析 GC 为何能进步模型的泛化能力以及减速训练。

Improving Generalization Performance

  GC 有一个很重要的长处是进步模型的泛化能力,次要得益于权值空间正则化和特征值空间正则化。

  • Weight space regularization

  首先介绍 $P$ 的物理意义,通过推算能够失去:

  即 $P$ 能够看作映射矩阵,将 $\nabla_W \mathcal{L}$ 映射到空间向量中法向量为 $e$ 的超平面,$P\nabla_W \mathcal{L}$ 为映射梯度。

  以 SGD 优化为例,权值梯度的映射可能将权值空间束缚在一个超平面或黎曼流形 (Riemannian manifold) 中,如图 2 所示,梯度首先映射到 $e^T(w-w^t)=0$ 的超平面中,而后追随映射梯度 $-P\nabla_{w^t}\mathcal{L}$ 的方向进行更新。从 $e^T(w-w^t)=0$ 能够失去 $e^Tw^{t+1}=e^Tw^t=\cdots=e^Tw^0$,指标函数理论变为:

  这是一个权值空间 $w$ 的束缚优化问题,正则化 $w$ 的解空间,升高了过拟合的可能性(过拟合通常是学习了简单的权值来适应训练数据),可能晋升网络的泛化能力,特地是当训练样本较少的状况下。
  WS 对权值进行 $e^Tw=0$ 的束缚,当初始权值不满足束缚时,会间接修改权值来满足约束条件。假如进行 fine-tune 训练,WS 则会齐全抛弃预训练模型的劣势,而 GC 能够适应任何初始权值 $e^T(w^0-w^0)=0$。

  • Output feature space regularization

  以 SGD 优化办法为例,权值更新 $w^{t+1}=w^t-\alpha^tP\nabla_{w_t}\mathcal{L}$,能够推导失去 $w^t=w^0-P{\sum}^{t-1}_{i=0}\alpha^{(i)}\nabla_{w^{(i)}}\mathcal{L}$。对于任何输出特征向量 $x$,有以下定理:

  相干证实能够看原文附录,定理 4.1 表明输出特色的常量变动会造成输入的变动,而输入的变动量仅与标量 $\gamma$ 和 $1^Tw^0$ 相干,与以后权值 $w^t$ 无关。$\gamma1^Tw^0$ 为初始化权值向量缩放后的均值,假如 $w^0$ 靠近 0,则输出特征值的常量变动将简直不会扭转输入特征值,意味着输入特色空间对训练样本的变动更鲁棒。

  对 ResNet50 的不同初始权值进行可视化,能够看到权值都十分小(小于 $e^{-7}$),这阐明如果应用 GC 来训练,输入特色不会对输出特色的变动过于敏感。这个属性正则化输入特色空间,并且晋升网络训练的泛化能力。

Accelerating Training Process

  • Optimization landscape smoothing

  后面提到 BN 和 WS 都间接地对权值梯度进行束缚,使损失函数满足 Lipschitz 属性,$||\nabla_w\mathcal{L}||_2$ 和 $||\nabla^2_w\mathcal{L}||_2$($w$ 的 Hessian 矩阵)都有上界。GC 间接对梯度进行束缚,也有相似于 BN 和 WS 的属性,比照原损失函数满足以下定理:

  相干证实能够看原文附录,定理 4.2 表明 GC 比原函数有更好的 Lipschitzness,更好的 Lipschitzness 意味着梯度更加稳固,优化过程也更加平滑,可能相似于 BN 和 WS 那样减速训练过程。

  • Gradient explosion suppression

  GC 的另一个长处是避免梯度爆炸,使得训练更加稳固,作用原理相似于梯度裁剪。过大的梯度会导致损失重大震荡,难以收敛,而梯度裁剪可能克制大梯度,使得训练更稳固、更快。

  对梯度的 $L_2$ norm 和最大值进行了可视化,能够看到应用 GC 后的值均比原函数要小,这也与定理 4.2 统一,GC 可能让训练过程更平滑、更快。

Experiment


  与 BN 和 WS 联合的性能比照。

  Mini-ImageNet 上的比照试验。

  CIFAR100 上的比照试验。

  ImageNet 上的比照试验。

  细粒度数据集上的性能比照。

  检测与宰割工作上的性能比照。

Conclustion


  梯度中心化 GC 对权值梯度进行零均值化,可能使得网络的训练更加稳固,并且能进步网络的泛化能力,算法思路简略,论文的实践剖析非常充沛,可能很好地解释 GC 的作用原理。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

正文完
 0