当代机器学习算法通过针对特定任务的训练数据进行梯度下降将网络权重设置为单个优化配置来训练人工神经网络。由此产生的网络可以在自然语言处理、图像分析和基于代理的任务上实现人类水平的性能,但缺乏人类智能的灵活性和鲁棒性特征。在这里,我们引入了一个微分几何框架功能不变路径,它为经过训练的神经网络提供灵活和连续的适应,以便可以实现主要机器学习目标之外的次要任务,包括增加网络稀疏化和对抗鲁棒性。我们将神经网络的权重空间表示为配备有度量张量的弯曲黎曼流形,其频谱定义了权重空间中的低秩子空间,这些子空间在不损失先验知识的情况下适应网络自适应。我们将适应形式化为沿着权重空间中的测地线路径移动,同时搜索适应次要目标的网络。利用适度的计算资源,功能不变的路径算法实现了与最先进的方法相当或超过的性能,包括针对大型语言模型(来自变压器的双向编码器表示)的持续学习、稀疏化和对抗鲁棒性任务的低秩适应,视觉转换器(ViT 和 DeIT)和卷积神经网络。
人工神经网络现在在机器学习任务范围从自然语言理解和图像识别到游戏和蛋白质结构预测。最近,具有自注意力的基于 Transformer 的模型已成为跨数据模式和任务范式的最先进架构,包括自然语言理解、计算机视觉、音频处理、生物序列分析和上下文敏感推理1,2,3,4。尽管 Transformer 模型可以表现出包括零样本任务性能在内的紧急行为,但通常会对模型进行微调以提高性能和人类可访问性4,5,6。在基础模型范式3中,具有 108 至 1012 个参数的 Transformer 首先在大型数据集上进行自我监督任务的预训练,例如屏蔽语言建模、因果语言建模或图像屏蔽 5,6,7,8。经过自我监督训练后,模型将进行微调,以提高特定应用程序的性能,包括问题/答案或遵循指令。网络可以进一步稀疏或量化,以减少部署环境中的内存和计算需求。
由于模型自适应对于基础模型优化和部署的核心作用,已经出现了许多用于更新模型权重以提高性能的算法不会经历自我监督预训练期间获得的知识的灾难性损失。然而,一个挑战是在人工神经网络中,网络函数被编码在决定神经单元之间连接强度的数学权重中(图1a,b)。梯度下降程序通过根据目标函数调整网络权重来训练网络来解决问题,该目标函数对网络在特定任务上的性能进行编码。反向传播和低秩自适应 (LoRA)9 梯度下降等学习方法可调整网络权重来定义单个最佳权重配置,从而使用训练数据最大限度地提高特定任务目标函数的性能。然而,对于当前的所有方法,网络训练都会改变网络权重,不可避免地导致从先前的训练任务或预训练中获得的信息丢失。
尽管已经开发了许多方法来实现无信息的网络自适应损失,方法仍然主要基于经验结果。机器学习社区将受益于数学工具,这些工具可以在通用理论框架内提供一般见解和模型适应策略的统一。LoRA、正交梯度下降 (OGD)、相关映射网络 (RMN) 和弹性权重合并 (EWC) 等方法提出了不同的标准,用于在不影响先前学习任务性能的方向上更新权重。然而,大多数当前方法都基于局部启发式,例如,选择与先前学习的任务所采取的梯度步骤正交的梯度步骤。与持续学习 (CL) 范式一样,稀疏化框架执行启发式剪枝/精细训练循环,以发现一个紧凑的核心子网络,该子网络能够以减少的内存、功耗和计算要求执行所需的行为。数学工具可以更深入地了解权重空间的全局几何结构如何实现适应或使适应复杂化,这可能会提供概念原理和新算法。
与当代人工神经网络不同,人脑中的神经网络执行具有多种功能,并且可以根据上下文、目标或记忆在不同的功能配置之间灵活切换10。假设大脑中的神经网络能够克服单一最优权重配置的局限性,并通过不断漂移其神经放电状态和神经权重配置来执行灵活的任务,从而有效地生成退化网络的大型集合11,12,13,14,15。波动可能通过允许神经网络探索一系列网络配置并响应感官输入来实现生物系统的灵活性。
在这里,我们开发了一种几何框架和算法,通过使用微分几何来模拟生物神经网络的各个方面构建解决给定机器学习任务的路径连接的神经网络集。从概念上讲,我们认为路径连接的神经网络集,而不是单个网络(权重空间中的孤立点)是研究和应用的中心对象。通过构建网络组而不是单个网络,我们在权重空间的子流形中搜索能够解决给定机器学习问题并适应广泛的次要目标的网络。从历史上看,理论机器学习和信息几何的结果表明模型损失景观的几何形状是模型适应的潜在资源。过度参数化模型的一个新特性是存在参数简并性,其中模型参数的多个设置可以在给定任务上实现相同的性能。从几何角度来看,参数简并性导致 16 平坦的目标函数 17,18,19 可以沿着该函数修改网络权重而不损失性能。为了发现不变子空间,我们在权重空间中引入了黎曼度量——一个张量,用于测量(在参数空间中的每个点)给定模型参数无限小的运动时模型输出的变化。该度量提供了一种数学工具,用于识别权重空间中的低维子空间,其中参数变化对神经网络如何转换输入数据几乎没有影响。黎曼度量广泛应用于物理理论中,以研究弯曲流形和时空上的粒子动力学。从几何角度来看,该度量发现了权重空间中的平坦方向,沿着该方向我们可以在不改变功能性能的情况下平移神经网络。
使用黎曼权重空间度量,我们开发了一种构造功能不变路径(FIP)的算法在权重空间中保持网络性能并搜索满足其他目标的其他网络。该算法识别权重空间中的远程路径,可以在不丢失信息的情况下集成新功能。我们将 FIP 框架应用于自然语言(来自 Transformer (BERT) 的双向编码器表示)、视觉 Transformer(ViT 和 DeIT)和卷积神经网络 (CNN) 架构。我们的框架生成的结果达到或超过了学术级硬件上的适应和稀疏化任务的最先进性能。我们的方法提供了数学机制,可以深入了解如何利用低维几何结构进行模型适应而不丢失信息。更广泛地说,我们将语言模型视为一系列变换所作用的对象,并且我们表明模型的变换本质上是非阿贝尔的。该统一框架提供了对一系列模型适应问题的总体解决方案,并揭示了微分几何的数学理论与大型语言和视觉模型的涌现属性之间的联系。
我们开发了一个数学框架,使我们能够定义和探索路径连接的神经网络集,这些网络具有不同的权重值,但训练数据的输出相似。我们将神经网络的权重空间视为配备有局部距离度量的黎曼流形20,21。使用微分几何,我们构建通过权重空间的路径,以维持神经网络的功能性能并调整网络权重以沿着次要目标流动(图1a)。次要目标可以是一般性的;因此,该框架可用于训练新分类任务的网络、稀疏网络并减轻对抗脆弱性。
黎曼流形的定义特征是局部距离度量的存在。我们在权重空间中构建了一个距离度量,将两个附近网络之间的距离定义为它们的输出差异。我们认为神经网络是一个平滑函数 f(x; w),它映射输入向量 \({\bf{x}}\in {{\mathbb{R}}}^{{\rm{k}}}\) 到输出向量 \(f({\bf{x}};{\bf{w}})={\bf{y}}\in {{\mathbb{R}}}^{{\rm{m}}}\),其中映射由权重向量 \({\bf{w}}\in {{\mathbb{R}}}^{{\rm{n}}}\ 中的权重向量参数化)通常在训练中设置以解决特定任务。我们将\(W={{\mathbb{R}}}^{n}\)称为网络的权重空间,我们将\({\mathcal{Y}}={{\mathbb{R}}}^{m}\)作为输出空间(图1b,c)22。出于教学目的,我们将考虑 f 对单个输入 x 的作用。补充说明 1 表明我们的结果自然可以扩展到任意数量的输入 xi。
我们最初询问给定神经网络的输出 f(x; w) 如何随着网络权重的微小变化而变化。给定一个具有权重 wt 和固定输入 x 的神经网络,我们可以计算无穷小的权重扰动 dw 的扰动网络 wt dw 的输出,如下所示:
其中 \({{\bf{J}}}_{{{\bf{w}}}_{{\bf{t}}}}\) 是 f(x, wt) 对于固定 \({\bf{x}},{J}_{ij}=\frac{\partial {f}_{i}}{\partial {w}_{j}}\),以 wt 计算。
因此,总变化给定权重扰动 dw 的网络输出为
其中 \({{\bf{g}}}_{{{\bf{w}}}_{{\bf{t}}}}({\bf{x}})={{\bf{J}}}_{{{\bf{w}}}_{{\bf{t}}}}{({\bf{x}})}^{{{\rm{T}}}}\,{{\bf{J}}}_{{{\bf{w}}}_{{\bf{t}}}}({\bf{x}})\) 是在 wt W 点针对单个数据点 x 计算的度量张量。度量张量是一个 n n 对称矩阵,允许我们计算网络输出的变化,给定网络沿权重空间中任何方向的移动为 \({\langle {\bf{dw}},{\bf{dw}}\rangle }_{{{\bf{g}}}_{{{\bf{w}}}_{{\bf{t}}}}({\bf{x}})}\)。当我们在权重空间中移动时,度量张量 W 不断变化,使我们能够计算网络输出的无穷小变化,并沿着切向量 \(\psi (t)=\frac{\,\text{d}\gamma (t)}{\text{d}\,t}\)。
我们可以将度量构造扩展到考虑一组 N 个训练数据点的情况X 并将 g 视为从各个训练示例导出的指标的平均值,使得 \({{\bf{g}}}_{{\bf{w}}({\bf{X}})}={\Sigma }_{i = 1}^{N}{{\bf{g}}}_{{\bf{w}}}({{\bf{x}}}_{{\bf{i}}})/N\) 对于 xi X 或期望, \({{\bf{g}}}_{{\bf{w}}}={{\mathbb{E}}}_{x \approx{p}_{{\rm{数据}}}(x)}[{{\bf{g}}}_{{\bf{w}}({\bf{x}})}]\),gw(X) 仍为 n n (补充说明 1)。对于单个数据点,我们对 gw 的构造与神经正切核 (NTK) 相同,后者被构造为数据点对的核函数 \(\varTheta ({x}_{i},{x}_{j})=J{({x}_{i})}^{{{\rm{T}}}}J({x}_{j})\)(参考文献 23),因此(xi, xi) = gi(xi)(参考文献 23,24,25,26)。然而,我们将 g 解释为 W(网络参数空间)上的距离度量,与将 NTK 解释为数据点 xi 和 xj 上的矩阵值核函数。NTK (xi, xj) 通过分析均方误差梯度流下的神经网络动力学而产生。NTK 被解释为在数据点 xi 和 xj 对上定义的核函数,提供神经网络的训练动态和基于核的学习方法之间的类比。或者,我们将 gw 解释为黎曼参数流形 (W, gw) 上的度量。在权重空间中的每个点,度量定义长度, \({\langle {\bf{dw}},{\bf{dw}}\rangle }_{{{\bf{g}}}_{{\bf{w}}}}\),对网络权重 dw 的局部扰动,作为扰动对网络功能输出的影响(图 1b,c),对 X 中的所有数据点进行平均。该度量激励权重空间中网络路径的构建和分析,以及权重空间中速度、加速度和测地线路径概念等属性的考虑。
在权重空间中的每个点,该度量使我们能够发现方向对网络输出有或大或小的影响的运动的 dw。当我们在权重空间中沿着路径 (t) W 移动时,我们在时间 t 内对一系列神经网络进行采样。使用该度量,我们可以将输出速度的概念定义为 \({\bf{v}}=\frac{\,\text{d}\,f({\bf{x}},\gamma (t))}{\,\text{dt}\,}\),它量化网络沿权重空间路径 (t) 的每次局部移动在输出空间中移动的距离。我们寻求确定权重空间中的 FIP,在该权重空间中,对于固定大小的权重变化,输出速度会最小化。为此,我们解决了以下优化问题:
我们尝试找到一个方向 *(t) 来扰动网络,使其在权重空间中远离基础网络几个单位(在欧几里德意义上,\({\langle \frac{{\rm{d}}\gamma }{{\rm{d}}t},\frac{{\rm{d}}\gamma }{{\rm{d}}t}\rangle }_{I}=\epsilon\)) 并最小化网络输出空间中移动的距离,由 \({\langle \frac{{\rm{d}}\伽玛 }{{\rm{d}}t},\frac{{\rm{d}}\伽玛 }{{\rm{d}}t}\rangle }_{{{\bf{g}}}_{\gamma}({\bf{t}})}\)。这里 I 是单位矩阵,内积 \({\langle \frac{{\rm{d}}\gamma }{{\rm{d}}t},\frac{{\rm{d}}\gamma }{{\rm{d}}t}\rangle }_{I}\) 捕获权重空间中的欧几里德距离27。优化问题是权重空间中每个点的二次规划。度量 g 是一个矩阵,在权重空间中的每个点上呈现特定值,我们的目标是识别向量 \({{\bf{\psi }}}^{* }(t)=\frac{{\rm{d}}\gamma (t)}{{\rm{d}}t}\) 最小化网络功能输出的变化。
我们经常会修改优化问题第二个目标函数 L(x, w)。我们可以枚举最小化输出空间中的函数速度并沿着第二个目标(wL)的梯度移动的路径。我们定义了一种寻路算法,通过最小化输出空间中的函数速度来识别权重空间中的方向 *(t),并沿着第二个目标 (wL) 的梯度移动:
其中第一项 \({\langle \frac{{\rm{d}}\gamma }{{\rm{d}}t},\frac{{\rm{d}}\gamma }{{\rm{d}}t}\rangle }_{{{\bf{g}}}_{\gamma (t)}}\) 标识功能不变的方向,第二项 \({\langle \frac{{\rm{d}}\gamma }{{\rm{d}}t},{\nabla }_{{\bf{w}}}L\rangle }_{I}\) 沿 a 的梯度偏置运动方向第二个目标并权衡这两项的相对贡献。当L = 0时,该算法仅在权重空间中构造近似同功能的路径(*(t)= *(t)),即,该路径是通过权重空间中的步骤生成的,该权重空间包含具有不同权重配置的网络并保留输入输出映射。L(x, w) 还可以表示第二个任务的损失函数,例如第二个输入分类问题。在这种情况下,我们确定了同时保持现有任务性能(通过第 1 项)并通过沿着第二个任务损失函数 wL 的负梯度移动来提高第二个任务性能的向量。我们考虑构建具有不同目标函数 (L(x, w)) 的 FIP,类似于对神经网络应用不同的操作,识别网络权重空间中的子流形,完成不同的感兴趣任务。
方程(4)的解,在大型神经网络中,我们开发了一种数值策略,对给定权重配置周围的球中的点进行采样,然后执行梯度下降来识别向量*(t)。我们注意到,神经网络在任务上的性能通常使用损失函数 \(L:{{\mathbb{R}}}^{m}\to {\mathbb{R}}\) 来评估,因此\(L(\;f({\bf{x}};{\bf{w}}))\in {\mathbb{R}}\)。沿路径 (t) 具有恒定函数输出 f(x, w) 的网络也将具有恒定损失 L(f((t); w))。由于梯度下降训练通过找到 \(\frac{\partial L}{\partial {w}_{i}}=0\) 来最小化损失,因此损失曲率的评估需要二阶方法来发现平坦或函数不变子空间。我们发现直接使用 f(x; w) 可以让我们通过一阶量来识别函数不变子空间 \(\frac{\partial {f}_{i}}{\partial {w}_{j}}={J}_{ij}\),因此,我们可以使用训练中常用的自动微分程序的输出来计算度量。使用 f(x, w) 而不是 L 还可以在寻找不变子空间方面提供额外的分辨率,因为 f(x; w) 通常是向量值函数与标量值函数。
我们注意到数学框架提供了立即概括的途径,以考虑恒定速度的路径、引起性能变化的恒定速率的路径;此类路径称为测地线28。在任何黎曼流形上,我们可以将从点 xp 发出的测地路径定义为等速路径 \({\langle \frac{{\rm{d}}\gamma }{{\rm{d}}t},\分形{{\rm{d}}\gamma }{{\rm{d}}t}\rangle }_{{{\bf{g}}}_{\gamma (t)}}={v}_{0}\)(补充说明 4.1)满足以下测地方程:
其中 \({\varGamma }_{\mu \nu }^{\eta }\) 指定 Christoffel 符号 (\({\varGamma }_{\mu \nu }^{\eta }={\sum }_{r}\frac{1}{2}{g}_{\eta r}^{-1}\左(\frac{\partial {g}_{r\mu }}{\partial {x}^{\nu }} \right.\)\(\left.\frac{\partial {g}_{r\nu }}{\partial {x}^{\mu }}-\frac{\partial {g}_{\mu \nu }}{\partial {x}^{r}}\right)\))在重量歧管上。在适应过程中,此类测地路径对前一个任务具有恒定的、可能非零的性能衰减率。Christoffel 符号记录了度量张量 (g) 沿流形上一组方向的无穷小变化(补充信息)。由于评估 Christoffel 符号的计算和内存缩放为网络参数的三阶多项式 (\({\mathcal{O}}({n}^{3})\)),因此我们提出优化方程 (4)用于评估流形中的近似测地线。
在探索 FIP 算法在神经网络自适应中的实际应用之前,我们进行了一系列数学观察将函数不变子空间的维数与权重空间中给定位置 wt 处的度量张量 g 的谱属性连接起来。度量张量提供了由沿 dw 的扰动引起的功能(输入输出)变化的局部测量,如 dw、dwg。通过构造(作为矩阵乘积 JTJ),g 是半正定对称矩阵,因此 g 具有特征值 {i} (i 0) 的标准正交特征基 vi。特征值 i 局部确定沿特征向量 vi 的扰动将如何改变函数性能,如 vi, vi = i,其中沿任意向量 w 的运动引起 \(\langle w,w\rangle =\sum {\lambda }_{i}{c}_{i}^{2}\),其中 ci 是 vi 基中 w 的系数。直观上,特征值 i 将权重变化转换为功能性能的变化。
局部,可以定义与小特征值(例如, i ,其中 = 103)相关的特征向量 vi 所跨越的 W 子空间作为权重空间的功能不变子空间,因为子空间内的移动会引起网络输入输出特性的可忽略不计的 () 变化。因此,g 的谱决定了函数不变子空间的维数。单个数据点的雅可比矩阵 J 的维度为 m n,其中 m 是网络输出大小,n 是权重数量;因此,rank(g) m 因为 g = JTJ。当扩展到 N 个数据点时,rank(g(X)) mN。当 mN