社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

118页纽约大学《深度学习模型训练优化方法综述:收敛性与泛化性的理论视角》

专知 • 1 周前 • 41 次点击  
随着数据集规模和复杂性的增长,使用人工设计的特征提取器从中提取有用特征变得愈加困难。因此,深度学习(DL)框架如今变得广受欢迎。深度学习框架通过多层网络处理输入数据。重要的是,与传统机器学习(ML)方法不同,深度学习方法能够自动发现对特定学习任务有用的复杂数据的高质量表示。深度学习的“圣杯”,以及现代机器学习中最具神秘性的挑战之一,是对深度学习的优化和泛化建立基本的理解。
尽管在文献中引入了许多优化技术,用于探索深度学习中高度非凸的优化景观,但许多综述论文主要聚焦于总结这些方法学,而往往忽视了对这些方法的关键理论分析。在本文中,我们对深度学习优化方法的理论基础进行了全面的总结,包括各种方法的介绍、收敛性分析以及泛化能力分析。
本文不仅包含对流行的基于梯度的一阶和二阶优化方法的理论分析,还涵盖了适应深度学习损失景观特性的优化技术,以及明确鼓励发现泛化性能良好的最优点的方法。此外,我们还扩展讨论了支持并行计算的分布式优化方法,包括集中式和去中心化的方法。我们对所讨论的优化算法提供了凸和非凸的理论分析。
最后,本文旨在作为一本全面的深度学习优化方法理论手册,为领域内的新手和资深研究人员提供洞察和理解。

1. 引言


深度学习(DL)模型的快速发展(LeCun 等,2015;Goodfellow 等,2016;Vaswani 等,2017;OpenAI,2023;Achiam 等,2023;Touvron 等,2023),结合可用数据的指数增长(Chen & Lin,2014),推动了机器学习领域进入了新的前沿。随着这些模型在复杂性和规模上的不断增长(Kasneci 等,2023;Chang 等,2024),优化其性能变得至关重要,以充分发挥其潜力。因此,改进现有的优化方法来训练深度学习模型,已经引起了研究人员的广泛关注。研究者们的目标是开发高效(快速收敛)、准确(良好泛化)、可扩展(适用于大规模数据集和模型,并具有高度并行性)和一致性(最小化在高度并行化系统中非确定性计算的影响)的深度学习优化策略(Sutskever 等,2013;Kingma & Ba,2014;You 等,2019;Shoeybi 等,2019;Yang 等,2023),并且进一步设计深度学习模型架构,合理地调节优化问题,以便更容易找到高质量的解(He 等,2016;Ioffe & Szegedy,2015;Klambauer 等,2017;Vaswani 等,2017;OpenAI,2023)。
尽管现有文献中包含了大量针对深度学习应用的优化技术,但深度学习优化理论仍然存在显著的空白。许多综述论文和研究主要集中于总结所采用的方法(Sun,2020;Ruder,2016;Le 等,2011),而往往忽视了其理论基础。这种忽视限制了对深度学习优化技术的全面理解,进而阻碍了深度学习领域的进展。本文填补了这一理论空白,提供了深度学习优化方法的理论基础的广泛总结,包括描述方法学、提供收敛性分析,并展示泛化能力。
接下来,我们总结了在深度学习环境中训练深度学习模型时使用的优化器。基于梯度的优化方法因其计算效率高而被广泛应用于提升深度学习模型的性能。这些方法通常可以分为两类:i)一阶方法(Robbins & Monro,1951;Polyak,1964;Nesterov,1983;Liu 等,2020),这些方法通常以随机版本应用于减少与大数据集和复杂模型架构相关的计算负担(Bottou,2010;Sekhari 等,2021;Tian 等,2023);ii)二阶方法(Broyden,1967;Fletcher,1970;Goldfarb,1970;Shanno,1970;Liu & Nocedal,1989;Yuan,1991;Yuan 等,2022;2024),这些方法利用二阶信息,如Hessian矩阵,来指导优化过程中的搜索方向,并且已被应用于深度学习(Bollapragada 等,2018;Wang & Choromanska,2020;Yousefi & Martínez Calomardo,2022;Niu 等,2023)。

近年来,一些一阶优化算法取得了进展。Jin 等(2021);Huang & Becker(2020);Yang 等(2022)重点介绍了通过引入随机扰动来调整梯度,从而帮助一阶方法逃离鞍点——即优化可能停滞的平坦区域。这在深度学习中常见的非凸损失景观中尤为有利。通过有效地导航损失曲面的几何形状,扰动的随机梯度下降(SGD)可以更有效地探索和利用参数空间,从而加速并可靠地收敛到最优解。(Raginsky 等,2017;Dalalyan & Karagulyan,2019;Huang & Becker,2021)则重点研究了将Langevin动力学整合到一阶优化方法中的可能性。这些工作探讨了Langevin动力学的理论基础和实际实现,强调了其在噪声存在下改善收敛速率和鲁棒性的潜力。
与一阶方法相比,二阶方法在迭代次数方面展现出更快的收敛速率。著名的牛顿方法在非凸假设下实现了二次收敛速率,这比一阶梯度下降方法在相同假设下的线性收敛速率要快得多。然而,计算Hessian矩阵的逆要求时间复杂度为参数数量的三次方,这使得其在实际的深度学习环境中使用变得十分困难。为了解决这个问题,提出了拟牛顿方法(Dennis & Moré,1977)。Broyden–Fletcher–Goldfarb–Shanno(BFGS)(Broyden,1967;Fletcher,1970;Goldfarb,1970;Shanno,1970)算法是最著名的拟牛顿方法,它将时间复杂度从立方降低到平方,同时保持超线性收敛速率。然而,BFGS仍然面临由于需要存储大维度伪Hessian矩阵而带来的不利内存要求。为了进一步降低内存存储和计算负担,Liu & Nocedal(1989)提出了有限内存BFGS(LBFGS),通过压缩伪Hessian矩阵将时间复杂度降低到线性。这些二阶方法也被作为优化器用于训练深度学习网络(Bollapragada 等,2018;Wang & Choromanska,2020;Yousefi & Martínez Calomardo,2022;Niu 等,2023)。本文将讨论上述所有二阶方法的收敛速率。

除了前述的(拟)牛顿方法外,还有另一类二阶算法,即无Hessian方法(Martens 等,2010;Martens & Sutskever,2011)。与拟牛顿方法依赖于构造近似Hessian矩阵来指导参数更新不同,无Hessian优化通过直接估计曲率来避免这一过程,通常采用共轭梯度法等迭代过程。这降低了计算和内存需求,使其特别适用于深度神经网络中常见的高维度损失景观。由于无Hessian方法在文献中没有理论保证,它们是纯粹的经验方法,因此我们在本综述中不重点讨论此类方法。
此外,我们的探索不仅局限于传统的基于梯度的一阶和二阶优化方法。我们深入分析了基于对深度学习(DL)损失景观特性理解的创新技术(Li 等,2018;Cooper,2018;Chaudhari & Soatto,2015;Keskar 等,2017b;Bisla 等,2022;Orvieto 等,2022)。这些技术旨在识别位于深度学习优化景观中平坦谷地中的最优点,他们认为这些点对应于较低的泛化误差。景观感知的深度学习优化方法提供了对非凸损失曲面探索背后机制的宝贵洞见,有助于更有效且更稳健的深度学习优化策略的发展。
适应深度学习优化策略以匹配损失景观特性并鼓励恢复平坦最优解的方法可以大致分为以下几类:i)基于正则化的方法,这些方法通过使用锐度量度(如最小描述长度(Hochreiter & Schmidhuber,1997)、局部熵(Chaudhari 等,2017)或ϵ锐度的变种(Foret 等,2021;Keskar 等,2017b))来对梯度下降策略进行正则化,或使用低通滤波器基范数(Bisla 等,2022);ii)替代方法,这些方法根据扩散方程演化目标函数(Mobahi,2016);iii)平均策略,这些方法在训练轮次中对模型权重进行平均(Izmailov 等,2018;Cha 等,2021);iv)平滑策略,这些方法通过引入噪声到模型权重中,并跨多个并行运行的工作节点对模型参数进行平均,从而平滑损失景观(Wen 等,2018;Haruki 等,2019;Lin 等,2020)(这些方法专注于极大批量大小的深度学习模型的分布式训练)。在本文中,我们从上述方法中选择了四个最具代表性的方法:锐度感知最小化(SAM)(Foret 等,2021;Li 等,2023)、熵SGD(Chaudhari 等,2017)、低通滤波器SGD(LPF-SGD)(Bisla 等,2022)和SmoothOut(Wen 等,2018)。我们讨论了这些方法的原理并理论分析了它们的泛化能力。

我们对深度学习优化的研究进一步扩展到分布式优化方案,这些方案支持并行计算。我们的综述包括了对集中式和去中心化方法的全面总结,突出它们在分布式计算环境中优化深度学习模型时各自的优缺点。
对于集中式方法,我们从下雨SGD(Downpour SGD)(Dean 等,2012;Ben-Nun & Hoefler,2018;Gholami 等,2018)开始,这是一个高效的数据并行分布式优化技术,其中中央工作节点收集并利用来自本地分布式工作节点的信息来协调优化过程。该方法依赖于中央工作节点与本地工作节点之间频繁的信息交换,并忽略了由于每个本地工作节点的数据分片不同而可能产生的问题设置差异。为了解决这个问题,Zhang 等(2015)提出了弹性平均SGD(EASGD)算法,该算法在中心工作节点与本地工作节点之间引入了一种弹性力,鼓励每个本地工作节点在其参数与中心参数之间波动,从而促进更多的探索。Leader Stochastic Gradient Descent(LSGD)(Teng 等,2019)算法进一步改进了EASGD。LSGD与当前的硬件架构高度一致,其中形成一个组的本地工作节点位于单一计算节点内,不同的组对应不同的节点。该算法为每组本地工作节点引入多个本地领导者,并偶尔将所有本地工作节点拉向当前的本地领导者以及全局领导者,以确保快速收敛。最后,受到EASGD和LSGD的启发,Gradient-based Weighted Averaging(GRAWA)Dimlioglu & Choromanska(2024)对所有工作节点施加拉力,使其朝向中心工作节点,但使用基于局部工作节点的梯度计算出的加权平均值。在我们的综述中,我们总结了集中式方法,并提供了它们的理论收敛性保证。
与集中式方法不同,去中心化方法消除了中心工作节点的需求,将任务分配给多个工作节点,这些节点根据一定的拓扑结构进行通信。去中心化并行SGD(D-PSGD)(Lian 等,2017;2018)是最基础的去中心化方法,它执行本地梯度更新,并根据拓扑结构与邻居节点平均每个工作节点的参数。由于拓扑结构是固定的,D-PSGD会遇到误差与运行时间之间的权衡问题。特别是,极为密集的拓扑会导致较大的通信负载,而过于稀疏的拓扑则会导致每个工作节点上的模型性能差。为了解决这个问题,MATCHA(Wang 等,2019)通过在密集拓扑上利用匹配分解技术提供了一种双赢策略,该策略有可能减少每次迭代的每节点通信复杂度,同时保持良好的性能。邻接领导者去中心化SGD(AL-DSGD)(He 等,2024)进一步改进了这种方法,提出了动态通信图代替固定拓扑,并通过当前表现最好的邻居和度数最大的邻居对工作节点施加校正力。在本文中,我们讨论了所有提到的去中心化方法,并提供了这些方案的理论收敛性证明。
通过整合深度学习(DL)优化领域的多种观点,本文旨在作为深度学习优化方法的全面理论手册。我们对本文中讨论的优化算法进行了凸性和/或非凸性分析。在非凸优化的背景下,我们的分析超越了深度学习领域,在许多情况下可以更广泛地应用于其他、更简单的非凸场景。然而,我们专门将这篇稿件聚焦于一般的深度学习优化,因为我们的非凸分析并没有对网络架构做简化假设,这与许多过去的研究(Dauphin 等,2014;Baldi & Hornik,1989;Saxe 等,2014;Baldassi 等,2015;2016a;b)有所不同。
最后,通过这项工作,我们努力提供一个通用的证明框架,不仅总结现有知识,还促进新的洞察和未来研究的方向。
图1提供了本文中分析的优化方法的图表。表1和表2总结了第一阶和第二阶优化方法的收敛结果以及分布式(集中式和去中心化)优化方法的收敛结果。表3总结了第一阶方法和景观感知优化方法的泛化结果。本文主要是对深度学习优化方法的理论综述。然而,理论与实验之间的差距在实际场景中经常出现,因为理论保证是基于理想化的条件,而这些条件在实践中可能不成立。以下我们简要提及一些理论保证所需的代表性假设,并评论它们在实际应用中是否通常满足。

1. 凸性:深度学习通常处理非凸损失景观。我们提到的所有方法,除了BFGS外,均在非凸假设下具有理论保证。
2. 平滑性:我们列出的所有方法都要求损失函数是平滑的。在实际中,损失函数可能并不平滑,特别是在存在噪声或不规则数据分布的情况下。为了解决这个问题,深度学习研究人员使用了改善损失平滑度的技术,其中包括正则化、丢弃法、批量归一化等。
3. 方差边界:所有随机方法假设梯度估计的方差是有界的。在实际中,训练损失函数可能并不总是满足这个假设,尤其是在涉及噪声或异质数据的场景中。例如,具有异常值或类不平衡的数据集可能会导致更高的梯度方差,从而使训练过程复杂化。为了解决这个问题,我们可以实现小批量训练而不是逐点的随机训练,以平滑噪声并稳定梯度估计。这在实际应用中确实是这么做的。
4. 步长:实践中使用的步长通常与收敛证明中的步长不同。例如,在非凸设置下的SGD和SGD-动量证明中,我们假设学习率是反比递减的(αt = 1/t)。然而,在实际应用中,过快地降低学习率可能会过早终止学习过程,导致次优解。与反比学习率不同,实践者通常使用分步、线性或余弦退火的学习率,这些学习率下降得更慢。
我们可以从不同的角度来看待收敛性保证的假设,而不是将软假设视为会带来更有用界限的假设,而将严格假设视为会带来较差界限的假设。相反,这些假设应被视为表明算法在特定条件下可能表现最优的指标。例如,平滑性假设对于所有方法的收敛性保证至关重要,它意味着我们通过平滑深度学习模型的损失景观可以获得更好的性能。这也是我们在本文中介绍的景观感知优化方法(如SAM、熵SGD等)能够获得更好泛化能力的动机。
本综述论文的组织结构如下:第二节讨论了不同的基于梯度的一阶和二阶方法,并提供了它们的收敛性分析和泛化能力。第三节讨论了适应深度学习损失景观特性的优化方法,并提供了它们的泛化保证。第四节讨论了集中式和去中心化分布式优化方法及其收敛性分析。第五节对本文进行了总结。

专知便捷查看,访问下面网址或点击最底端“阅读原文”

https://www.zhuanzhi.ai/vip/603d0c92be18e70861ac0b453e45020b

点击“阅读原文”,查看下载本文

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/178492
 
41 次点击