查看原文
其他

深度神经网络的因子归一化方法

亓颢博 狗熊会 2023-10-29
点击“蓝字”关注我们吧!



亓颢博,北京师范大学统计学院师资博士后。毕业于北京大学光华管理学院商务统计与经济计量系,获经济学博士学位。主要研究方向包括统计优化算法、大规模数据统计建模、网络结构数据分析等。 在 Journal of Computational and Graphical Statistics、Neurocomputing、Computational Statistics & Data Analysis 等统计学与计算机期刊发表多篇论文。




今天要跟大家分享的主题是深度神经网络的因子归一化方法。内容主要包括社区检测的简要背景介绍,基于基于随机投影的社区检测算法的介绍以及理论性质。

1. 背景介绍

近十几年来,深度学习的进步以及图形处理单元(GPU)设备的进步,使得深度神经网络(Deep Neural Networks, DNN)模型在学术界和工业界受到越来越多的关注,研究与应用。目前,深度神经网络模型已广泛应用于与计算机视觉、自然语言处理和强化学习等各个领域中。但是深度神经网络通常具有复杂的模型结构和庞大的模型参数规模,这使得模型的训练变得较为困难。在实际应用中,深度神经网络训练通常非常耗时,并且训练参数的选取依赖经验和尝试。这也成为了深度学习领域内十分重要的基础问题。

大多数具有显式导数的优化方法可以大致分为两类:一阶优化方法和高阶优化方法。目前广泛使用的随机梯度下降算法及其变体是一阶优化方法的典型示例。随机梯度下降算法仅使用随机抽取的子样本计算损失函数的一阶导数(即梯度)。因此,它可以在有限的计算资源下处理大型数据集。为此,随机梯度下降算法付出的代价是次线性收敛速度。为了获得更好的收敛速度,学者们提出了各种加速随机梯度下降算法的改进算法。例如,从更新方向上进行修正的的动量梯度下降算法和Nesterov加速梯度方法,另一类改进算法考虑对梯度使用逐元素学习率进行修正,包括AdaGrad,AdaDelta,RMSprop和Adam等算法,这类方法称为自适应学习率方法。其中Adam算法同时考虑对更新方向和学习率进行修正。此外,为了获得更稳定的梯度估计,学者们还提出了方差缩减的梯度下降算法,例如随机平均梯度(SAG)和随机方差减少梯度(SVRG)方法。

除了一阶优化方法外,还存在高阶优化方法。使用的主流方法包括牛顿法及其变体。与一阶方法相比,高阶方法往往具有更快的收敛速度,因为它们考虑了高阶导数(海森矩阵)的信息。例如,牛顿方法可以在适当的条件下实现二次收敛速度。然而,计算和存储海森矩阵及其逆矩阵在时间和存储方面都非常昂贵,对于深度神经网络的超高维参数来说是难以负担的。这使得学者转向一些近似方法的研究,例如拟牛顿方法和随机拟牛顿方法。这些方法背后的想法是使用历史更新来构造一个正定矩阵去近似海森矩阵的逆矩阵。一些著名的成果包括Davidon-Fletcher-Powell(DFP)更新,Broyden-Fletcher-Goldfarb-Shanno(BFGS)更新,和有限内存BFGS方法。此外,还有一些训练时使用的小技巧也能够加速神经网络的训练,例如神经网络权重的初始化,训练前的热身技术,周期化学习率调整策略等。

我们想要和大家分享的方法的思路源自于我们对输入特征的观察。大量的经验表明,高维特征通常表现出因子型协方差结构。换句话说,输入特征的大部分波动性可以用维度相对较低的因子变量来解释。因此,我们期待原始特征可以分解为两部分:对原始特征方差解释比例很高的低维因子特征和去除因子信息的残差特征。残差特征的尺寸与原始特征相同,但特征间的相关性大大降低。此外由于因子特征和残差特征的正交性,我们可以对与它们相关的梯度使用不同的学习率进行自适应学习。

2. 理论启发

在介绍具体的方法之前,我们引入几个有趣的理论启发,这些启发能够在一定程度上帮我们解释算法收敛缓慢的原因,并且进一步引出我们提出的算法。

2.1 梯度下降算法

我们首先考虑梯度下降算法。假设 是从第 个实例收集到的观测值,下标 满足 。其中, 表示我们感兴趣的因变量, 表示与之相关的 -维特征。令 表示在样本点 处计算的损失函数值,其中 是我们感兴趣的模型参数。在一般的情况下, 是可以不相同的,但是在本文的讨论中,我们假设 且损失函数可以进一步写为 的形式。则全局损失函数可以表达为 。进一步,全局损失函数的梯度可以被写为 , 其中 。 令 表示梯度下降算法在第 次迭代中的估计量,则其更新公式为 ,其中超参数 被称为学习率。假设 的一个局部的极小值点,使得 。则根据泰勒公式,我们有

其中 表示损失函数 的海森矩阵 (Hessian Matrix), ,我们将其称为收缩算子。收缩算子在算法收敛的过程中起到了非常重要的作用,直观上来看若上述线性迭代公式要收敛, 的全部特征值应当落于 之间, 否则算法可能不会数值收敛。进一步,我们有如下的命题

命题1 假设 为正定矩阵,其特征值为 。为了让梯度下降算法收敛,学习率需满足

2.2 条件数

根据命题1可知,我们知道在梯度下降算法中的学习率不能太大,否则算法可能无法在数值上收敛。而学习率的上界是由海森矩阵中最大的特征值来控制,的值越大,学习率的上界就越小。而另一方面 ,当学习率 变小时, 会更接近1,因此算法的收敛速度更慢。如果海森矩阵的条件数 非常大,那么算法的收敛速度可能会变得非常慢。因此,我们希望能够降低海森矩阵的条件数。然而,大多数高维的特征的协方差矩阵都呈现出因子结构的特征。换言之,协方差矩阵 的顶部特征值通常会比较大,且远远大于最小的特征值,因此协方差矩阵的条件数会非常大。因此,了解输入特征的因子结构如何影响损失函数的海森矩阵的条件数是具有研究意义的。

为了探讨这个问题,我们令海森矩阵的期望为 , 其中 表示 关于变量 的二阶导数。为了简便起见,我们假设 独立同分布且来自零均值的正态分布 。我们可以定义归一化的变量为 以及参数为 。 从而,我们可以写出 , 其中 。对任意的正定矩阵 , 我们令 分别表示 的最小和最大特征值。则我们可以得到 以及 ,若我们令 表示 的条件数,则我们可以得到

注意到是在一个经过标准化后的海森矩阵的期望,即输入特征服从的是标准多元正态分布的情形。因此,我们可以预期 在这种情况下不会很大。此外,根据 (1),我们知道 在决定 的时候发挥重要的作用,即 的增大会使得 的下界更高,进一步使得 变得更大。 根据我们之前的分析可知,这会对梯度下降算法的收敛速度造成拖慢。因此,我们需要想办法来缓解病态系统的影响。

2.3 因子的线性子空间

为了进一步的解释我们方法背后的理由,我们从另外一个角度进行一定的理论分析。假设一个标准的因子模型 ,其中 是低维的因子特征满足 以及与之关联的因子载荷矩阵 。注意到,全局损失函数的梯度为 。则有 ,其中 。这里 表示的是有因子载荷矩阵 的列向量展开的线性子空间。因此损失函数梯度的协方差矩阵可以被写为 ,其中 以及 。接下来,我们将在一些合适的度量下探究 的相对大小。

命题2 假设存在常数 ,使得 成立。此外,假设 ,则我们可以得到

对于大多数深度神经网络模型来说,模型参数的维度 (本文中是 ) 通常非常高,这可能会使得我们认为梯度下降算法的搜索空间会非常大 (例如全空间 )。但实际上,由上述命题的结论可知梯度的搜索方向并不如我们预期的那般灵活。相反,梯度的相当一部分波动性被困在一个相对低维的空间。一方面,这使得模型更不容易出现过拟合的行为;但另一方面,这也使得算法的对损失函数的优化变得相当缓慢 —— 梯度下降算法对其他维度的优化十分有限。这启发我们,给定因子结构的数据存在的情况下,我们能否采取一些方法来改善梯度的搜索灵活度,从而起到克服因子结构带来的优化缓慢的问题呢?这是另一个启发我们的理论分析角度。

3. 因子归一化方法

根据在前一章节中我们的理论分析,我们提出一种称为因子归一化的方法。该方法针对深度神经网络模型和具有因子结构的高维特征提出若干修正操作,可以适用于现有的一些网络架构和梯度类算法。具体来说该方法分为三步:因子分解、模型重建和自适应学习率调整。接下来,我们将一个一个详细讨论。

3.1 因子分解

在第一步中,我们对输入特征进行标准的SVD分解,通过SVD分解,我们可以得到低维的因子。接下来,我们将原始特征分为两部分,第一部分是与因子相关的特征,而另一部分是我们将因子从原始特征中分离后的特征,我们称之为残差特征。具体来说,我们假设在训练过程中的原始特征张量为 ,其中 经过中心化,使得其列向量的均值为0. 我们对 进行SVD分解,使其满足 ,其中 满足 满足 。此外, 是对角矩阵,满足 。我们定义矩阵 的截断矩阵为 , 它表示收集 中对应前 个奇异值的奇异向量构成的矩阵,则因子特征可以用 来估计。接下来,我们使用线形回归来估计残差的部分,具体表达为 ,其中 表示因子载荷矩阵的估计。 因此,原始的特征向量被分解为两部分,即因子特征和残差特征。对于测试集来说,我们首先使用训练数据集的列均值来中心化输入矩阵 。接下来,我们使用训练集得到的截断特征向量矩阵 和估计的因子载荷矩阵 来计算测试数据的因子特征 和残差特征

图1:因子分解

3.2 模型改造

在第二步中,我们将给定的原始深度神经网络进行改造,使之能够适应我们分解后的数据特征。具体来说,一个原始的深度神经网络具有(1)与原始特征的维度相适应的输入层;(2) 通过全连接层连接到的输出层;(3)中间复杂的神经网络结构。为了适应分解后的特征,我们对模型进行如下的改造:首先,由于残差特征与原始特征维度一致,我们使用残差特征来代替原始特征进入输入层,这样输入神经网络的特征条件数被大大缓解;其次,我们在原始的输入层增加对于因子特征的输入位点,并将其直接输入到最后的dense层,避免其进入到原始模型中进行运算。之所以将因子特征加入模型中,是我们不希望造成一定的信息损失。

这样,我们就得到了一个改造的模型,这个新的模型结构具有两个有趣的特点:(1) 尽管残差特征的维度依然很高,但它的因子结构可以被大大削弱,因此即便使用复杂的基准模型进行处理,我们可以期待使用梯度下降算法优化时的难度会相对降低。(2)由于我们将因子特征和残差特征进行了分离,因此我们可以对不同的特征使用不同的学习率进行处理,这样即便因子特征会需要很小的学习率,我们也可以进行区分处理。当然,这里需要说的是,我们对因子的处理是相对简单粗暴的,如果能将因子与网络结构相结合,这可能会得到更好的结果,但是受限于编程的难度,本文暂时不做考虑,这就是为什么我们仅将潜因子设置为最后一层的输入。图 1 提供了对新模型结构更直观的解释。

图2:模型改造

3.3 自适应学习率

如前所述,为了提升梯度下降算法对这种改进模型的优化速度,我们还需要考虑使用不同的学习率进行区别对待,这也被称为自适应学习率。具体来说,与因子特征对应的学习率应较小,这是因为因子特征的波动性更大,在原始特征的协方差矩阵中对应的特征值最大,因此其对应的学习率上界更小。与此相反,残差特征对应的学习率则应较大。否则,算法的收敛速度可能会非常缓慢。假设训练原模型时,梯度下降算法(或随机梯度下降算法)使用的学习率为 。注意到,训练特征矩阵 计算出的第 大奇异值为 。那么,对于 ,与因子特征对应的学习率应设为 ; 另一方面,与残差特征相关的学习率同一设置为 。注意到梯度下降算法的学习率的上界与海森矩阵的最大特征值的倒数成正比,因此我们使用对应的特征值 (即为奇异值的平方) 来进行逆加权。

图3:自适应学习率

4. 部分实验结果

由于篇幅限制,我们仅介绍关于MNIST数据集的数值实验。MNIST数据集是一个区别手写数字0-9的十分类任务的图像分类数据集,它的训练集包含60,000张图片,测试集包含10,000张图片。每张图片均为 的单通道像素矩阵,我们的任务是建立分类器将手写数字和对应的标签一一对应。

图4:MNIST手写数字数据集

4.1 逻辑回归模型

我们首先考虑逻辑回归模型。由于原始数据的尺寸为 的单通道像素矩阵,我们首先将其拉直为784维向量,再全连接到10个输出节点,如此便建立了逻辑回归模型。我们考虑使用 三个不同的因子维度,在使用相同设置的小批量梯度下降算法的条件下,对比它们在训练数据集和测试数据集上面的表现。我们使用FN来表示我们的方法的缩写,具体结果详见图x。

图5:逻辑回归实验结果

4.2 多层神经网络

接下来,我们考虑一个复杂一点的多层神经网络模型。实验模型有两层全连接层,每层有 1,000 个神经元。每个全连接层的输出我们均使用ReLU变换进行激活。整体实验设置与 4.1 小节中的设置相同,但有以下不同之处。首先,我们的FN方法只考虑 的情形。其次,为了进行全面比较,我们考虑了四种不同的优化器: SGD、NAG、AdaGrad 和 Adam,进行四组对照实验。其中,基线(baseline)模型是采用特定优化方法和原始多层神经网络。与之相对的,FN的模型是使用相同的优化设置从相同的原始模型重建的,其学习率的设定如3.3小节所述。具体结果详见图x。

图6:多层神经网络实验结果

5. 小结

我们在本文和大家分享了一种用于改善深度神经网络训练速度的方法——因子归一化方法,它适用于输入的高维特征具有因子结构的情形,并能够据此进行模型改造和自适应学习。具体来说,该方法包含因子分解、模型改造和自适应学习三个部分。我们从理论角度给出一定的分析和启发,并在实际数据上验证该方法的表现。结果发现,该方法的确能够在一定程度上对训练进行加速。但该方法也仍存在许多问题:(1)因子提取的数目对结果有什么影响?目前我们能够观察到当提取少量因子后,模型的训练速度会有所提升。但同时当因子数目增多后,模型在外样本上的预测表现也有所下降;(2) 对于更加复杂的神经网络模型,当前的方法对因子特征的处理较为简单粗暴,仍需要寻找更加合适的处理方法。由于笔者水平有限,在撰写推文内容的过程中难免出现错误和疏漏,希望各位读者批评指正。

参考文献

  1. Sun, S., Cao, Z., Zhu, H. & Zhao, J. A survey of optimization methods from a machine learning perspective. IEEE Trans. Cybern. (2019).
  2. Robbins, H. & Monro, S. A stochastic approximation method. Ann. Math. Stat. 22, 400–407 (1951).
  3. Jain, P., Netrapalli, P., Kakade, S. M., Kidambi, R. & Sidford, A. Parallelizing stochastic gradient descent for least squares regression: Mini-batching, averaging, and model misspecifcation. J. Mach. Learn. Res. 18, 1–42 (2018).
  4. Johnson, R. & Zhang, T. Accelerating stochastic gradient descent using predictive variance reduction. News Physiol. Ences 1, 315–323 (2013).
  5. Polyak, B. T. Some methods of speeding up the convergence of iteration methods. USSR Comput. Math. Math. Phys. 4, 1–17 (1964).
  6. Qian, N. On the momentum term in gradient descent learning algorithms. Neural Netw. 12, 145–151 (1999).
  7. Nesterov, Y. E. A method for solving the convex programming problem with convergence rate o(1/k2 ). Dokl.Akad.Nauk SSSR 269 (1983).
  8. Sutskever, I., Martens, J., Dahl, G. & Hinton, G. On the importance of initialization and momentum in deep learning. In 30th International Conference on Machine Learning, ICML 2013 1139–1147 (2013).
  9. Duchi, J., Hazan, E. & Singer, Y. Adaptive subgradient methods for online learning and stochastic optimization. J. Mach. Learn. Res. 12, 257–269 (2011).
  10. Zeiler, M. D. Adadelta: An adaptive learning rate method. Comput. Sci. (2012).
  11. Tieleman, T. & Hinton, G. Lecture 6e rmsprop: Divide the Gradient by a Running Average of its Recent Magnitude (Neural networks for machine learning, COURSERA, 2012).
  12. Kingma, D. P. & Ba, J. A method for stochastic optimization. Comput. Sci. (2014).
  13. Roux, N. L., Schmidt, M. & Bach, F. A stochastic gradient method with an exponential convergence rate for fnite training sets. In International Conference on Neural Information Processing Systems (2012).
  14. Shanno, D. F. Conditioning of quasi-newton methods for function minimization. Math. Comput. (1970).
  15. Pajarinen, J., Hong, L. T., Akrour, R., Peters, J. & Neumann, G. Compatible natural gradient policy search (2019).
  16. Avriel, M. Nonlinear Programming: Analysis and Methods (Dover Publications, 2003).
  17. Luo, H., Hafner, P. & Paiement, J. F. Accelerated parallel optimization methods for large scale machine learning. Comput. Sci. (2014).
  18. Davidon, W. C. Variable metric method for minimization. SIAM J. Optim. (1991).
  19. Fletcher & R. A new approach to variable metric algorithms. Comput. J. 13, 317–322 (1970).
  20. Donald & Goldfarb. A family of variable-metric methods derived by variational means. Math. Comput. (1970).
  21. Nocedal & Jorge. Updating quasi-newton matrices with limited storage. Math. Comput. 35, 773 (1980).
  22. Benzi, M. Preconditioning techniques for large linear systems: A survey. J. Comput. Phys. 182, 418–477 (2002).
  23. Higham, N. J. & Mary, T. A new preconditioner that exploits low-rank approximations to factorization error. SIAM J. Sci. Comput. 41, A59–A82 (2019).
  24. Wang, Y. et al. Deep factors for forecasting. Sci. Rep. 1905, 12417 (2019).
  25. Denton, E. L., Chintala, S., szlam, a. & Fergus, R. Deep generative image models using a laplacian pyramid of adversarial networks. In Advances in Neural Information Processing Systems, vol. 28, 1486–1494 (Curran Associates, Inc., 2015).
  26. Ghiasi, G. & Fowlkes, C. C. Laplacian Reconstruction and Refnement for Semantic Segmentation. (Springer, 2020).
  27. Lai, W. S., Huang, J. B., Ahuja, N. & Yang, M. H. Deep laplacian pyramid networks for fast and accurate super-resolution. In IEEE Conference on Computer Vision and Pattern Recognition, 5835–5843 (2017).
  28. Wang, H. Factor profled sure independence screening. Biometrika 99, 15–28 (2012).
  29. Carvalho, C. M. et al. High-dimensional sparse factor modeling: Applications in gene expression genomics. J. Am. Stat. Assoc. 103, 1438–1456 (2008).
  30. Turkay, C., Lundervold, A., Lundervold, A. J. & Hauser, H. Representative factor generation for the interactive visual analysis of high-dimensional data. IEEE Trans. Visualization Comput. Gr. 18, 2621–2630 (2012).
  31. Krizhevsky, A., Sutskever, I. & Hinton, G. Imagenet classifcation with deep convolutional neural networks. Adv. Neural Inform. Process. Syst. 25 (2012).
  32. He, K., Zhang, X., Ren, S. & Jian, S. Deep residual learning for image recognition. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2016).
  33. Krizhevsky, A. & Hinton, G. Learning multiple layers of features from tiny images. Handbook of Syst. Autoimmune Dis. 1 (2009).
  34. Bengio, Y., Boulanger-Lewandowski, N. & Pascanu, R. Advances in optimizing recurrent networks. In IEEE International Conference on Acoustics (2013)


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存