FouRA: Fourier Low Rank Adaptation
公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)
目录
0. 摘要
2. 相关工作
3. 提出的方法
3.1 低秩适应的公式
3.2 频域中的低秩适应
3.3 频率变换
3.4 自适应秩门控方法
3.5 组合多个适配器
4. 理论分析
4.1 频域微调
4.2 门控频域微调
4.3 子空间学习
5. 实验
0. 摘要
虽然低秩适应(Low-Rank Adaptation,LoRA)在高效微调大型模型方面已被证明是有益的,但 LoRA 微调的文本到图像扩散模型在生成的图像中缺乏多样性,因为模型倾向于复制观察到的训练样本的数据。这种效应在适配器强度(adapter strength)更高时,以及在更小的数据集上微调的高秩适配器中更加明显。为了解决这些问题,我们提出了 FouRA,这是一种新的低秩方法,它在傅里叶域中学习投影,同时学习灵活的输入依赖的适配器秩选择策略。通过广泛的实验和分析,我们表明 FouRA 成功解决了与数据复制和分布崩溃相关的问题,同时显著提高了生成图像的质量。我们证明了 FouRA 通过其自适应秩选择增强了微调模型的泛化能力。我们进一步展示了在频率域中学习的投影是去相关的,并在合并多个适配器时证明了其有效性。虽然 FouRA 的动机来自于视觉任务,我们也展示了它在 GLUE 基准上的语言任务中的优点。
论文地址:https://arxiv.org/abs/2406.08798
2. 相关工作
生成式文献中的傅里叶变换:
- 最近的工作 [15] 表明,基于充分数据训练的去噪模型的潜变量位于具有振荡模式的自适应基上。其他研究表明,我们可以使用傅里叶算子进行非参数回归任务,并将自注意力视为一个核回归(kernel regression)问题。
- [23] 表明,它在输入上提供了更平滑的表示,并且更好地捕捉了查询(query)和键(key)之间的相关性。
- [18] 表明傅里叶频谱滤波器在连续域中操作,并且在将图像表示为连续函数时效果良好。此外,空间域中的卷积可以表示为傅里叶空间中的乘法,因此频谱滤波器可以作为全局卷积算子。
尽我们所知,将这些变换应用于低秩空间之前尚未被探索过。
许多研究分析了信号转换到谐波基时的特征扩散。[1] 分析了将这些变换应用于从马尔可夫过程采样的信号的效果,表明傅里叶变换在最小均方设置中对这种信号进行去相关处理。
(2021|ICLR,LoRA,秩分解矩阵,更少的可训练参数)LoRA:大语言模型的低秩自适应
(2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
低秩适应:
- LoRA [14] 在生成图像的保真度和多样性之间存在权衡。[3] 试图通过稀疏正则化来缓解这个问题。
- SVDiff [12] 显式地只更新奇异值,同时保留子空间。在高秩设置中,这种方法是可以接受的。然而,在 FouRA 中,我们是在低秩子空间中学习。
- 其他工作如应用于语言模型的 AdaLORA [43]、[41] ,进一步使用 SVD 对权重矩阵进行参数化,并通过重要性评分度量联合优化特征向量和奇异值。
- O-lora [37] 计算不同任务之间的正交梯度空间,使模型能够顺序适应新任务而不会灾难性遗忘。
- [3] 在损失函数中应用近端梯度门控(proximal gradient gating)来学习重要子空间并掩蔽(mask)剩余部分。
虽然所有这些论文都通过限制权重矩阵的子空间直接操作,但我们在本文中表明,傅里叶域在无任何优化约束的情况下隐式地强化了这些属性。我们表明,在频率域中应用门控提供了更紧凑的表示,并具有稳定的泛化误差界。此外,结果表明每层的有效秩较低。我们还表明,不同适配器之间学习的空间也具有去相关的基。
MoLE [40]、ZipLoRA [32] 和 Mix of Show [10, 45] 探索了合并 LoRA (merge LoRA)的各种策略。这是通过监督或自监督目标共同训练对应于两个适配器的权重来完成的。随着适配器数量的增加,我们认为合并适配器的两阶段方法不灵活且相当繁琐。而 FouRA 则不需要任何微调,是一种真正的训练自由的方法来合并多个适配器。
用于编辑的解耦空间:
- [38]、[11] 探索了用于解耦可解释潜变量表示的扩散模型。
- 虽然 LoRA 被提出用于个性化,[8] 提出了一种在保持原始图像特征的同时进行细粒度图像编辑的方法。他们识别出语义方向并在潜变量空间上沿这些方向进行移动。概念滑块(Concept sliders)已应用于实际应用中,例如修复扩散生成图像中的失真。
我们在工作中表明,我们的方法识别出了比 LoRA 更紧凑的解耦表示,从而在细粒度编辑上提供了更多性能改进。
3. 提出的方法
3.1 低秩适应的公式
我们在图 2 中展示了基本的 LoRA 模块。考虑原始的预训练权重集 W_0 ∈ R^(k1×k2),其中 k1 和 k2 分别表示输入和输出嵌入的维度。LoRA 模块由降层(down layer) A ∈ R^(k1×r) 和升层 B ∈ R^(r×k2) 组成,将输入特征投影到秩为 r 的低秩子空间并从中投影出来。考虑一个输入特征 z_in∈R^(d×k1),其中 d 是输入标记(token)的数量,低秩适应后的输出 z_out ∈ R^(d×k2) 表示为:
其中,z_og 和 z_lora 分别是原始分支和低秩分支的输出,α 是混合两个分支的标量。如 [14] 中所述,我们将学习的适配器矩阵表示为
3.2 频域中的低秩适应
投影到低秩子空间并从中投影回来容易导致信息丢失。为了解决这个问题,我们提出将输入转换到包含固有紧凑表示的域,即频域。我们的动机是将输入转换到频域可以保留有价值的信息,因为频域具有固有的解相关能力 [9, 13]。我们通过分析频率变换对模型权重的影响在第 4.1 节进一步验证这一点。
给定预训练权重矩阵 W0,我们在频域中应用低秩变换 B 和 A。受 [33] 的启发,我们将混合参数 α 内嵌在低秩子空间中,有效地作为频域中的缩放因子。我们按如下方式应用频率变换。
其中,F(⋅) 和 F^(−1) (⋅) 分别是归一化的正向和逆向频率变换。
3.3 频率变换
我们研究了离散傅里叶变换(DFT)和离散余弦变换(DCT)在低秩空间中的性质。在子空间分解之前,我们对嵌入维度 k1 ∈ (0,K) 应用一维 DFT。对于适配器分支的输入 z_in ∈ R^(d×k1),我们将方程 (5) 中的 F 展开为:
其中,f_r 是由 DFT 表示的基频。由于我们不进行任何填充(padding),变换后的维度保持与 z_in 相同。在我们的实验中,我们对每个标记在自注意力层和交叉注意力层的嵌入维度 k1 应用一维变换。
为了激发跨任务推广 FouRA 的思想,例如需要解耦潜在空间以控制生成图像的目标编辑 [8],我们进一步探索了具有紧凑子空间(特征扩展)的离散余弦变换(DCT),这导致过拟合更少。我们在附录 B.1 和图 4 中显示了 FouRA 的子空间彼此更加不相关。我们观察到,对于某些任务,DCT 提供了更平滑的表示,因为隐式窗(implicit window)是 DFT 信号的两倍。对于给定的有限长度信号 z_in ∈ R^(d×k1),我们按如下方式计算 DCT。我们首先构造一个双倍长度的偶数信号:
然后 DCT 计算为 ˜z_in 的 DFT。
3.4 自适应秩门控方法
LoRA 方法为所有层预定义秩。最近的方法 [3] 在训练过程中具有自适应秩,但在推理时固定,因此缺乏灵活性。在我们的方法中,我们提出了一种学习的自适应门控机制,可以在训练和推理过程中根据输入的不同改变每层的秩。我们在频域的低秩子空间内引入了可学习的门控机制 𝓖(·)。考虑表示为
的低秩表示,我们的门控操作定义如下:
其中,H(⋅) 和 S(⋅) 分别表示熵函数和 Sigmoid 函数,G 表示可学习的多层感知器(MLP)的权重,𝓖 是在低秩子空间中学习每个奇异值权重的函数。
图 3 中展示了 FouRA 的输出,公式如下:
学习到的 FouRA 适配器权重表示为:
如第 3.1 节中的符号所示。
我们在第 4.2 节中进一步分析了我们提出的门控函数,分析其在扩散时间步长和各种分辨率下的行为。此外,我们展示了其在固定 LoRA 和最近的固定推理自适应秩选择方法(SoRA [3])上的效率。
3.5 组合多个适配器
合并 LoRA 适配器有多个实际用途 [29]。我们根据任务的不同使用不同的方法来合并两个适配器。
文本到图像的风格迁移:按照标准方法,我们在推理过程中使用适配器 ΔW1⋅z_in 和 ΔW2⋅z_in 的线性组合来合并两个基于 FouRA 风格的适配器。
使用概念滑块(Concept Sliders)进行图像编辑:类似于 [8],我们在第 5.3 节中使用 FouRA 进行基于文本的编辑概念滑块评估。给定 n 个概念滑块,我们定义第 n 个滑块的概念 c_(n,j)(例如 “非常老”)和负概念 ~c_(n,i) 例如 “非常年轻”)。我们在 ϵ 空间中组合适配器,组合评分函数
如下:
在不同强度 α 下合并两种风格以及两个概念适配器时,我们注意到 FouRA 适配器的特征空间相比 LoRA 更少缠结。进一步的分析在附录 B.4 和 B.2 中。
4. 理论分析
4.1 频域微调
频域变换能够解相关输入表示,最小化频谱冗余 [42],并且在压缩中有效,因为它们将大部分能量集中在少数系数上 [13]。在频谱域中学习被证明能够实现更快的收敛和更稀疏的权重矩阵 [9]。受这些优势的启发,我们提出在频域中微调适配器。
奇异值分布分析:考虑一个权重矩阵 W。这个矩阵的奇异值分解表示为 U·D·V^T,其中 U∈R^(k1×k),V∈R^(k2×k2) 是正交矩阵,D∈R^(k1×k2) 是包含 W 的奇异值的矩阵,σi ∀ i∈{ℕ^(min(k1,k2))}。考虑 W 的一个秩为 r 的近似,我们将奇异值表示为 {σ1,σ2,...σr},按降序排列,对应的对角矩阵为 Dr。因此, W 的 r 秩近似计算为:
引理 4.1:考虑两个适配器 ΔW1 和 ΔW2 及其对应的一组奇异值 {σ_(1,i)} 和 {σ_(2,i)}。如果对于所有 i ≥ r,有 σ_(1,i) < σ_(2,i),则相较于 ΔW2,适配器 ΔW1 是误差较低的 r 秩近似。
我们在附录 B.1 中提供了上述引理的证明。我们通过经验分析了我们训练的 UNet 模型最后一层的 ΔW_lora 和 ΔW_foura 的 r 秩近似的奇异值分布,结果如图 4 所示。与 LoRA 相比,FouRA 具有更紧凑的奇异值分布。因此,利用引理 4.1,我们可以说,具有相同秩的 LoRA 适配器的累积误差将大于 FouRA 适配器的累积误差。
4.2 门控频域微调
受到 [3, 19] 中观察结果的启发,我们提出的秩门控机制旨在改变网络中每个低秩适配器的有效秩。我们将每层的有效秩描述为未被学习门控函数掩蔽(mask)的奇异值的数量。基于 [6, 19] 的观察结果,我们提出以下引理:
引理 4.2: 考虑一个适配器 ΔW 的秩高于拟合训练数据分布所需的秩。当适配器的有效秩减少时,其微调的泛化误差 R 的上界会减少。将有效秩减少到某个值后,随着秩的进一步减少,泛化误差的上界将增加。
推论 4.2.1: 此外,当适配器权重 ΔW 的奇异值分布更紧凑时,泛化边界更稳定。
我们在附录 B.2 中提供了证明。使用引理 4.2 可以证明可变秩选择的有效性。随着 LoRA 秩的减少,模型倾向于欠拟合。然而,将秩增加到拟合训练分布所需的秩以上会导致过拟合,从而降低模型性能。在每层中动态确定有效秩产生了有前途的结果,因为它提供了可学习的泛化和过拟合之间的权衡。
在图 5 中,我们绘制了 FouRA 在反向扩散过程中 20 次迭代的去噪 UNet 的平均有效秩。我们的分析显示,高分辨率层学习到的有效秩高于低分辨率层。此外,随着去噪过程的继续,有效秩减少。这本质上意味着有噪输入需要更多的奇异值来更新。我们在图 9 中进一步观察到,我们提出的自适应掩码(在推理时变化)显著优于 SoRA 等方法(训练后冻结掩码)。
此外,根据推论 4.2.1 和图 4 中观察到的性质的结果,由于 FouRA 获得了紧凑的奇异值分布,我们可以确定,在频域中,低有效秩的泛化边界比特征空间更稳定。我们在图 9 中验证了这一点,FouRA 在我们的自适应掩码下优于 SoRA 和 LoRA。图 1 中 LoRA 模型观察到的数据复制伪影(data copying artifacts)是过拟合的结果。这一现象在最近针对数字伪造的研究中得到了观察 [34, 35]。由于 FouRA 显著减少了泛化误差,它可以生成一组多样化的图像。此外,我们在附录E.2.1 中还观察到,与 LoRA 相比,FouRA 在未见过的概念上能够更好地泛化。
4.3 子空间学习
在附录 B 中,我们提供了一个子空间视角,以经验和理论上验证 FouRA 比 LoRA 在基模型权重中学习到的子空间去相关性更强。更注重所学习的子空间集使 FouRA 能够学习新任务而不会发生灾难性遗忘。此外,我们将不同 FouRA 适配器强大的合并能力归因于各自 FouRA 所学习的解耦和去相关的子空间。