全部版块 我的主页
论坛 经济学论坛 三区 微观经济学 经济金融数学专区
237 1
2025-11-21
在 LoRA 论文及其标准实现中,矩阵 $A$ 通常采用标准的随机初始化方法(如 Kaiming 或 Xavier 均匀分布),而矩阵 $B$ 则被显式地初始化为零矩阵。这种设计并非偶然,而是出于对训练稳定性与优化效率的综合考量。 LoRA 所引入的权重增量 $\Delta W$ 被定义为两个低秩矩阵的乘积: $$\Delta W = B A$$ 该更新项叠加在原始预训练模型的权重 $W$ 上,形成新的有效权重 $W' = W + \Delta W$。接下来将详细解释为何选择这样的初始化策略。 [此处为图片1] **为何将 $B$ 矩阵初始化为零?** 将 $B$ 初始化为零的核心目的在于:确保在训练初始阶段,LoRA 模块对基座模型的行为不造成任何扰动。由于 $\Delta W = B A$,当 $B = 0$ 时,无论 $A$ 取何值,都有: $$\Delta W = 0 \cdot A = 0$$ 因此,在第一次前向传播中,模型的有效权重仍为原始预训练权重 $W$,即 $W' = W + 0 = W$。 这一做法带来了显著优势: - 保证了训练起点的**稳定性**,延续了预训练模型已收敛的良好状态; - 避免因随机参数注入而导致输出剧烈波动; - 减少初期梯度震荡,保护模型已有知识不被破坏。 [此处为图片2] **为什么不将 $A$ 初始化为零?** 从结果上看,若将 $A$ 初始化为零,同样可得 $\Delta W = B \cdot 0 = 0$,也能实现初始无干扰的效果。然而,这种初始化方式会对后续的梯度传播造成不利影响。 考虑 LoRA 的结构路径:输入信号先经过矩阵 $A$,再通过矩阵 $B$ 输出。若 $A$ 初始为零,则其输出恒为零向量,导致传递给 $B$ 的激活值也为零。在反向传播过程中,由于链式法则依赖前层输出作为梯度计算的基础,$B$ 层接收到的梯度将趋近于零——这意味着 $B$ 的参数在训练初期几乎无法更新。 尽管 $A$ 自身可能接收到非零梯度(来自后向传播),但由于其输出始终为零,整个 LoRA 分支的数据流和梯度流均受到严重抑制,形成**信息瓶颈**,从而拖慢甚至阻碍训练进程。 [此处为图片3] **总结对比** | 矩阵 | 初始化方式 | 主要目的 | |------|------------|----------| | $A$ 矩阵 | 随机初始化(如 Kaiming/Xavier) | 保障 LoRA 路径具备有效的非零数据流动,使 $A$ 和 $B$ 均能获得合理的梯度信号,提升训练效率 | | $B$ 矩阵 | 零矩阵 | 确保 $\Delta W = 0$,让训练从原始预训练模型的状态平稳启动,维持初始稳定性 | 综上所述,$A$ 的随机初始化保障了梯度通路畅通,而 $B$ 的零初始化则确保了行为一致性,二者协同作用,在不影响预训练性能的前提下,实现了高效、稳定的微调过程。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2025-11-22 13:20:18
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群