Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

ICLR 2024 | 首个零阶优化深度学习框架,MSU联合LLNL提出DeepZero

本文是一篇关于提高零阶优化的扩展性的研究,代码已开源,论文已被 ICLR 2024 接收。

今天介绍一篇密歇根州立大学 (Michigan State University) 和劳伦斯・利弗莫尔国家实验室(Lawrence Livermore National Laboratory)的一篇关于零阶优化深度学习框架的文章 “DeepZero: Scaling up Zeroth-Order Optimization for Deep Model Training”,本文被 ICLR 2024 接收,代码已开源。

图片

图片

  • 论文地址:https://arxiv.org/abs/2310.02025

  • 项目地址:https://www.optml-group.com/posts/deepzero_iclr24

1. 背景

零阶(Zeroth-Order, ZO)优化已成为解决机器学习(Machine Learning)问题的热门技术,特别是在一阶(First-Order, FO)信息难以或无法获得的情况下:

  • 物理学和化学等学科机器学习模型可能与复杂的模拟器或实验相互作用,其中底层系统是不可求导的。

  • 黑盒学习场景:当深度学习(Deep Learning)模型与第三方 API 集成时,如针对黑盒深度学习模型的对抗性攻击和防御,以及语言模型服务的黑盒提示学习。

  • 硬件限制:用于计算一阶梯度的原理性反向传播(backpropagation)机制在硬件系统上实现深度学习模型时可能不受支持。

然而,目前零阶优化的可扩展性仍然是一个未解决的问题:其使用主要限于相对较小规模的机器学习问题,如样本级的对抗性攻击生成。随着问题维度的增加,传统零阶方法的准确性和效率会下降。这是因为基于零阶有限差分的梯度估计是一阶梯度的有偏估算,且在高维空间中偏差更加明显。这些挑战激发了本文讨论的核心问题:如何扩展零阶优化使其可以训练深度学习模型?

2. 零阶梯度估算:RGE 还是 CGE?

零阶优化器仅通过提交输入和接收相应的函数值与目标函数进行交互。主要有两种梯度估算方法:坐标梯度估算(Coordinate Gradient Estimation, CGE)和随机梯度估算(Random Gradient Estimation, RGE),如下所示:

图片

其中图片表示对优化变量图片(例如,神经网络的模型参数)的一阶梯度的估算。

在(RGE)中,图片表示随机扰动向量,例如,从标准高斯分布中抽取;图片是扰动大小(又称平滑参数);q 是用于获得有限差分的随机方向数。

在(CGE)中,图片表示标准基向量,图片提供了图片在对应坐标的偏导数的有限差分估计。

与 CGE 相比,RGE 具有可以减少函数评估次数的灵活性。尽管查询效率高,但 RGE 在从头开始训练深度模型时是否能提供令人满意的准确性仍不确定。为此,我们进行了调查,其中我们使用 RGE 和 CGE 对不同大小的小型卷积神经网络(CNN)在 CIFAR-10 上进行了训练。如下图所示,CGE 可以实现与一阶优化训练相当的测试精度,并显著优于 RGE,同时也比 RGE 具有更高的时间效率。

图片

基于 CGE 在准确性和计算效率方面相对于 RGE 的优势,我们选择 CGE 作为首选的零阶梯度估计器。然而,CGE 的查询复杂性仍然是一个瓶颈,因为它随模型大小增加而扩大。

3. 零阶深度学习框架:DeepZero

据我们所知,之前的工作没有展示出 ZO 优化在训练深度神经网络(DNN)时不会显著降低性能的有效性。为了克服这一障碍,我们开发了 DeepZero,一种原理性零阶优化深度学习框架,可以将零阶优化扩展到从头开始的神经网络训练。

a) 零阶模型修剪(ZO-GraSP):一个随机初始化的密集神经网络往往包含一个高质量的稀疏子网络。然而,大多数有效的修剪方法都包含模型训练作为中间步骤。因此,它们不适合通过零阶优化找到稀疏性。为了解决上述挑战,我们受到了无需训练的修剪方法的启发,称为初始化修剪。在这类方法中,梯度信号保留(GraSP)被选用,它是一种通过随机初始化网络的梯度流识别神经网络的稀疏性先验的方法。

b) 稀疏梯度:为了保留训练密集模型的准确性优势,在 CGE 中我们结合了梯度稀疏性而不是权重稀疏性。这确保了我们在权重空间中训练一个密集模型,而不是训练一个稀疏模型。具体而言,我们利用 ZO-GraSP 确定可以捕获 DNN 可压缩性的逐层修剪比率(Layer-wise Pruning Ratios, LPRs),然后零阶优化可以通过不断迭代更新部分模型参数权重来训练密集模型,其中稀疏梯度比率由 LPRs 确定。

c) 特征重用:由于 CGE 逐元素扰动每个参数它可以重用紧接扰动层之前的特征,并执行剩余的前向传播操作,而不是从输入层开始。从经验上看,带有特征重用的 CGE 在训练时间上可以实现 2 倍以上的减少。

d) 前传并行化:CGE 支持模型训练的并行化。这种解耦特性使得通过分布式机器扩展前向传播成为可能,从而显著提高零阶训练速度。

4. 实验分析

a) 图像分类

在 CIFAR-10 数据集上,我们将 DeepZero 训练的 ResNet-20 与两种通过一阶优化训练的变体进行比较:

(1)通过一阶优化训练获得的密集 ResNet-20

(2)通过一阶优化训练通过 FO-GraSP 获得的稀疏 ResNet-20

如下图所示,尽管在 80% 至 99% 的稀疏区间中,与(1)相比,使用 DeepZero 训练的模型仍存在准确度差距。这突出了 ZO 优化用于深度模型训练的挑战,其中高稀疏度的实现是被期望的。值得注意的是,在 90% 至 99% 的稀疏区间中,DeepZero 优于(2),展示了 DeepZero 中梯度稀疏性相对于权重稀疏性的优越性

图片

b) 黑箱防御

当模型的所有者不愿意与防御者共享模型细节时,会出现黑盒防御问题。这对于使用一阶优化训练直接增强白盒模型的现有鲁棒性增强算法构成了挑战。为了克服这一挑战,ZO-AE-DS 被提出,在白盒去噪平滑(Denoised Smoothing, DS)防御操作和黑盒图像分类器之间引入了自动编码器(AutoEncoder, AE),以解决 ZO 训练的维度挑战。ZO-AE-DS 的缺点是难以扩展到高分辨率数据集(例如,ImageNet),因为使用 AE 会损害输入到黑盒图像分类器的图像的保真度,并导致较差的防御性能。相比之下,DeepZero 可以直接学习与黑盒分类器集成的防御操作,无需自动编码器。如下表所示,就认证准确率(Certified Accuracy, CA)而言 DeepZero 在所有输入扰动半径上始终优于 ZO-AE-DS。

图片

c) 与仿真耦合的深度学习

数值方法在提供物理信息模拟方面不可或缺,但它们自身存在挑战:离散化不可避免地产生数值误差。通过与迭代偏微分方程(Partial Differential Equation, PDE)求解器的循环交互训练纠正神经网络的可行性,被称为” 求解器环路”(Solver-in-the-Loop, SOL)。虽然现有工作专注于使用或开发可微模拟器进行模型训练,我们通过利用 DeepZero 扩展了 SOL,使其能够与不可微或黑盒模拟器一起使用。下表比较了 ZO-SOL(通过 DeepZero 实现)与三种不同的可微方法的测试误差纠正性能:

(1) SRC(低保真模拟无误差纠正);

(2) NON(非交互式训练,使用预生成的低和高保真模拟数据在模拟循环外进行);

(3) FO-SOL(给定可微模拟器时,用于 SOL 的一阶训练)。

每个测试模拟的误差计算为与高保真模拟相比的纠正模拟的平均绝对误(MAE)。结果表明,通过 DeepZero 实现的 ZO-SOL 在只有基于查询的模拟器访问权限的情况下依然优于 SRC 和 NON,并缩小了与 FO-SOL 的性能差距。与 NON 相比,ZO-SOL 的表现突显了在有黑盒模拟器集成时的 ZO-SOL 前景。

图片

5. 总结与讨论

这篇论文介绍了一个深度网络训练中零阶优化深度学习框架 (DeepZero)。具体来说,DeepZero 将坐标梯度估计、零阶模型修剪带来的梯度稀疏性、特征重用以及前传并行化整合到统一的训练流程中。利用这些创新,DeepZero 在包括图像分类任务和各种实际黑箱深度学习场景中表现出了效率和有效性。此外,还探索了 DeepZero 在其他领域的适用性,如涉及不可微物理实体的应用,以及在计算图和反向传播的计算不被支持的设备上进行训练。

作者介绍

张益萌,密歇根州⽴⼤学 OPTML 实验室, 计算机博士在读, 研究兴趣⽅向包括 Generative AI,  Multi-Modality,  Computer Vision,  Safe AI,  Efficient AI。

产业DeepZeroICLR 2024
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动编码器技术

自动编码器是用于无监督学习高效编码的人工神经网络。 自动编码器的目的是学习一组数据的表示(编码),通常用于降维。 最近,自动编码器已经越来越广泛地用于生成模型的训练。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

推荐文章
暂无评论
暂无评论~