当前位置: 首页 > web >正文

Relooking:损失权重λ 、梯度权重α、学习率η

一般多任务,大家都喜欢叠加很多损失,由此产生很多损失权重系数。此外,有的学者直接对梯度进行操作。咋一看,上面三个系数貌似重复多余,直接用其中一个系数代替不行吗?为此,回顾了下神经网络的前向传播和反向求导公式,感觉有点拉大旗作虎皮的意味。标题本来是“Rethinking”,想着会有一些新发现,但随后就改成了“Relooking”蒜鸟。

形式化

直观来说,损失权重 λ λ λ 、梯度权重 α α α、学习率 η η η可以看做是三个标量系数,即trade-off parameterweighting coefficient
L = λ 1 L 1 + λ 2 L 2 ∇ θ L = α 1 ∇ L 1 + α 2 ∇ L 2 θ : = θ − η ⋅ ∇ θ L \begin{aligned} L &=\lambda_1 L_1+\lambda_2 L_2\\ \nabla_\theta L &=\alpha_1 \nabla L_1+\alpha_2 \nabla L_2\\ \theta :&= \theta-\eta \cdot \nabla_\theta L \end{aligned} LθLθ:=λ1L1+λ2L2=α1L1+α2L2=θηθL

作用:

  • 损失权重 λ λ λ:对相应任务的损失值进行缩放。 λ λ λ越大,表明该项贡献越大(越重要),则要放大其损失值,促使模型对该项的优化。反之,越小,则是该项损失趋近0,贡献被忽略。
  • 梯度权重 α α α:在反向传播中,直接对梯度值进行缩放。
  • 学习率 η η η:对所有梯度统一缩放,以控制模型参数的更新步长。 η η η越大,则模型参数的步长越大。

案例讲解

下面以一个神经网络的为例,从底层原理来看它们的作用。

1. 网络结构定义

考虑一个双层网络:

  • 输入: x x x
  • 参数: W 1 , b 1 , W 2 , b 2 W_1, b_1, W_2, b_2 W1,b1,W2,b2
  • 激活函数: g ( ⋅ ) g(\cdot) g() (如ReLU)
  • 输出层未激活

2. 前向传播

流程:Fc1 --> Activation --> Fc2。
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ z_1 &= W_1 x +…

3. 多任务损失计算

为了方便展示损失任务的权重系数,这里假设两个损失函数。其中,主任务交叉熵损失,辅助任务均方误差损失。
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ L &= \lambda_1…

4. 反向传播梯度计算

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \frac{\partial…

5. 参数更新

W 1 ← W 1 − η ⋅ ∂ L ∂ W 1 W_1 \leftarrow W_1 - \eta \cdot \frac{\partial L}{\partial W_1} W1W1ηW1L

即:

Δ W 1 = − η [ α 1 ⏞ 梯度权重 ( λ 1 ⏞ 损失权重 ∂ l o s s 1 ∂ W 1 ) + α 2 ⏞ 梯度权重 ( λ 2 ⏞ 损失权重 ∂ l o s s 2 ∂ W 1 ) ] \Delta W_1 = -\eta \left[ \overbrace{\alpha_1}^{\text{梯度权重}} \left( \overbrace{\lambda_1}^{\text{损失权重}} \frac{\partial loss_1}{\partial W_1} \right) + \overbrace{\alpha_2}^{\text{梯度权重}} \left( \overbrace{\lambda_2}^{\text{损失权重}} \frac{\partial loss_2}{\partial W_1} \right) \right] ΔW1=ηα1 梯度权重λ1 损失权重W1loss1+α2 梯度权重λ2 损失权重W1loss2

总结

  • 根据step4可知,一般不需要对梯度进行惩罚操作,且过于复杂,直接对损失函数施加权重具有同样的功能。
  • 根据step5可知,学习率全局缩放梯度向量,即调整整体的步长。
  • 如梯度裁剪或者梯度归一化等特殊情况才在内部对梯度操作,非必须,一般不作用于梯度。

注:上述情况与GPT 4O交流的结果。以当前本人的水平,还无法体会到更深层次的含义。

http://www.xdnf.cn/news/9834.html

相关文章:

  • python + vscode 开发环境搭建
  • [探讨] 如何做好技术文档
  • sourcetree无法获取远程所有的tag
  • C++模板类深度解析与气象领域应用指南
  • Rider崩溃问题终极解决指南
  • 荣誉奖项 | TopOn 荣获 “2025 H1优秀出海产品技术服务” 奖
  • webrtc初了解
  • 【数学】求最大公约数问题
  • mongodb源码分析session接受客户端find命令过程
  • 如何轻松将 iPhone 备份到外部硬盘
  • PostgreSQL学会如何建表
  • 网关Gateway
  • rabbitmq AI复习
  • GB/T 14833-2020 合成材料运动场地面层检测
  • 企业内训系统源码开发详解:直播+录播+考试的混合式学习平台搭建
  • C# 导出word 插入公式问题
  • (LeetCode 每日一题)3373. 连接两棵树后最大目标节点数目 II(贪心+深度优先搜索dfs)
  • 【Git】View Submitted Updates——diff、show、log
  • go并发编程| channel入门
  • react库:class-variance-authority
  • GPU层次结构(Nvidia和Apple M芯片,从硬件到pytorch)
  • pyinstaller 使用 控制台闪退解决办法
  • 家庭智能监控系统实现实时监控主要依托传感器网络
  • 长安链智能合约命令解析(全集)
  • [Windows] 摸鱼小工具:隐藏软件(重制版)
  • 深入理解 Maven 循环依赖问题及其解决方案
  • 【Python Cookbook】迭代器与生成器(四)
  • 【Java Web】速通HTML
  • 电机控制选 STM32 还是 DSP?技术选型背后的现实博弈
  • day13 leetcode-hot100-24(链表3)