(2024,频域 LoRA,DFT,DCT,自适应门控,基于适配器组合的图像编辑)FouRA:傅里叶 LoRA

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 所学习的解耦和去相关的子空间。

5. 实验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/746625.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【个人博客搭建】(26)发布后端webapi项目

1、选择启动的webapi&#xff0c;右击发布 2、选择左下角的“显示所有设置” 在上一页按钮那边是发布文件夹的目录 地址&#xff0c; 现在界面的就是配置的信息&#xff0c; 配置&#xff1a;Debug、Release 目标框架&#xff1a;我们用的net8.0&#xff0c;就是他&#xff…

2.移植freertos到stm32f103c8t6

目录 1.步骤 2.freertos配置时常见的选项卡意思 1.步骤 2.freertos配置时常见的选项卡意思

Michael.W基于Foundry精读Openzeppelin第60期——Clones.sol

Michael.W基于Foundry精读Openzeppelin第60期——Clones.sol 0. 版本0.1 Clones.sol 1. 目标合约2. 代码精读2.1 clone(address implementation) internal2.2 cloneDeterministic(address implementation, bytes32 salt)2.3 predictDeterministicAddress(address implementatio…

Upload-Labs-Linux1 使用 一句话木马

解题步骤&#xff1a; 1.新建一个php文件&#xff0c;编写内容&#xff1a; <?php eval($_REQUEST[123]) ?> 2.将编写好的php文件上传&#xff0c;但是发现被阻止&#xff0c;网站只能上传图片文件。 3.解决方法&#xff1a; 将php文件改为图片文件&#xff08;例…

小程序开发平台源码系统——社区团购小程序功能 前后端分离 带完整的安装代码包以及搭建教程

系统概述 在当今数字化时代&#xff0c;社区团购已经成为一种热门的购物模式。为了满足市场需求&#xff0c;拥有一个功能强大的社区团购小程序是至关重要的。本文将深入探讨一款具备前后端分离特性的小程序开发平台源码系统&#xff0c;着重介绍其社区团购小程序功能&#xf…

CleanMyMac2024免费版下载!轻松清理垃圾文件、优化系统性能

亲爱的小伙伴们&#xff5e;&#x1f44b;今天我要给大家分享一款神奇的软件&#xff0c;它就是 CleanMyMac 2024 免费版&#xff01;这款软件不仅能帮你轻松清理垃圾文件、优化系统性能&#xff0c;还有更多惊喜功能等你来探索哦&#xff01;&#x1f38a; CleanMyMac绿色免费…

第三十二篇——大数据2:大数据思维的四个层次

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 我们生活在这个时代&#xff0c;我们是否按照这个时代需要的思维方式去思…

【Linux】使用chrony同步时间

chrony介绍 chrony 是一个开源的网络时间协议 (NTP) 客户端和服务器&#xff0c;旨在保持计算机系统的时间精确同步。它是Linux和其他类Unix系统中广泛使用的工具&#xff0c;特别是在需要高精度时间同步的环境中。chrony 的设计考虑了现代网络的挑战&#xff0c;如不稳定的连…

MyPostMan:按照项目管理接口,基于迭代生成接口文档、执行接口自动化联合测试

MyPostMan 是一款类似 PostMan 的接口请求软件&#xff0c;不同于 PostMan 的是&#xff0c;它按照 项目&#xff08;微服务&#xff09;、目录来管理我们的接口&#xff0c;基于迭代来管理我们的接口文档&#xff0c;可导出或者在局域网内共享&#xff0c;按照迭代编写自动化测…

数据结构与算法笔记:高级篇 - 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?

概述 上篇文章我们讲到&#xff0c;如何用位图、布隆过滤器&#xff0c;来过滤重复数据。本章&#xff0c;我们再讲一个跟过滤相关的问题&#xff0c;如果过滤垃圾短信&#xff1f; 垃圾短信和骚扰电话&#xff0c;我想每个人都收到过吧&#xff1f;买房、贷款、投资理财、开…

带你学习PID算法2

#PID讲解 前言&#xff1a;本文参考华南小虎队的PID视频&#xff0c;视频连接放在最后 下图工人控制水阀可以满足&#xff1a; 1流量稳定 2随时改变流量 如果预期流量是1L/s&#xff0c;实际流量确实0.8L/s&#xff0c;工人就会调节阀门&#xff0c;使其达到&#xff0…

论文学习_基于导向式模糊测试的二进制程序漏洞验证方法

1. 引言 研究背景及现存问题:基于代码相似性比较的漏洞检测方法属于静态分析方法,不可避免地存在误报率高的问题,对静态检测方法得到的疑似漏洞代码进行人工分析存在工作量大, 效率低的问题。解决该问题的有效的方案之一是使用导向式模糊测试方法,生成能够执行到疑似漏洞…

【C++LeetCode】【热题100】三数之和【中等】-不同效率的题解【6】

题目&#xff1a; 暴力方法&#xff1a; class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {vector<vector<int>> res;std::unordered_set<std::string> uniqueValues;//保证结果唯一for(int i0;i<n…

【第2章】MyBatis-Plus代码生成器

文章目录 前言一、安装二、生成方式1.DefaultQuery (元数据查询)2.存在问题 三、快速生成1. 生成代码2. 目录结构 四、交互式总结 前言 全新的 MyBatis-Plus 代码生成器&#xff0c;通过 builder 模式可以快速生成你想要的代码&#xff0c;快速且优雅&#xff0c;跟随下面的代…

vue draggable

一、安装&#xff1a; npm i -S vuedraggablenext 二、代码 <draggable :list"projectOptions" item-key"name" class"w-25" ghost-class"ghost"chosen-class"chosen" update"updateSort" animation"3…

跨境独立站推广策略:有哪些方法与工具?

在出海独立站商家中&#xff0c;推广是必不可少的环节。在你完成网站的搭建&#xff0c;产品的上架&#xff0c;以及网站的运营和优化后&#xff0c;你就可以开始着手推广你的网站了。你的网站是承载你的品牌和产品的主要平台&#xff0c;因此&#xff0c;你需要根据你的品牌和…

Java实现RS485串口通信

博客链接地址 近期&#xff0c;我接到了一个任务&#xff0c;将报警器接入到Java项目中&#xff0c;而接入的方式就是通过RS485接入&#xff0c;本人之前可以说是对此毫无所知。不过要感谢现在的互联网&#xff0c;通过网络我查到了我想要知道的一切&#xff0c;这里记录下本次…

【新闻】金融专业“免进”!私募巨头招聘涌现“新剧情”

A股市场在2024年逐渐出现新的运行特征&#xff0c;这不禁让部分主动投资的私募巨头公司重新登上招聘舞台。 但这一次&#xff0c;他们的招聘方向出现了新的变动。 有些机构有意识的为公司投研团队招聘“衔接”岗&#xff0c;有些则把重点放在了投研动作的交易层。 但这都不如…

外汇的基本面分析需要关注什么?

外汇基本面分析的核心在于关注可能影响单一货币供求及国家货币价值的经济、社会和地缘政治事件与趋势。但值得注意的是&#xff0c;这些事件和因素往往具有更广泛的影响力&#xff0c;不仅限于单一国家。它们可能是影响整个地区或国家集团的重要事件&#xff0c;甚至一些事件&a…

设计师进阶指南:掌握这6条版式设计要点

布局设计是设计师的必修课。优秀的排版不是强制性的“东拼西凑”&#xff0c;而是通过设计师独特的排版获得的。这不是简单的信息列表&#xff0c;而是认真思考如何分层、有节奏地组织和安排元素。今天我将给你带来它 6 文章还附带了布局设计模板资源&#xff0c;设计师朋友一定…