深度学习权重计算三步法则

先把"游戏规则"全部定死(非常重要)

1️⃣ 模型

y = wx +b

2️⃣ 数据(只用 1 个点)

复制代码
x = 2 y_true = 4 

3️⃣ 初始参数

复制代码
w = 1 b = 0 

4️⃣ Loss(平方误差)

5️⃣ 学习率

复制代码
lr = 0.1 

二、前向传播(算预测)

1️⃣ 算预测值

复制代码
y_hat = w x + b = 1 * 2 + 0 = 2 

2️⃣ 算 loss

复制代码
L = 1/2 * (2 - 4)^2 = 1/2 * 4 = 2 

三、反向传播:算梯度(最关键)

我们现在问一个问题:

如果我把 w 稍微变大一点点,loss 是变大还是变小?


1️⃣ 写出 loss 关于 w 的公式


2️⃣ 对 w 求导(一步一步)


3️⃣ 代入当前数值

复制代码
(w x - y) = (1 * 2 - 4) = -2 
x = 2 

所以代入公式2:

复制代码
grad = -2 * 2 = -4 

🔥 解释这个「-4」是什么意思

  • 梯度是 负的

  • 意味着:

👉 增大 w,会让 loss 下降


四、SGD 更新(你问的核心)

更新公式

复制代码
w_new = w - lr * grad 

代入数值

复制代码
w_new = 1 - 0.1 * (-4) = 1 + 0.4 = 1.4 

五、更新之后,loss 真的变小了吗?(验证)

新预测

复制代码
y_hat = 1.4 * 2 = 2.8 

新 loss

复制代码
L = 1/2 * (2.8 - 4)^2 = 1/2 * 1.44 = 0.72 

2 → 0.72,loss 真的下降了


六、再走一步

第二步更新

当前参数

复制代码
w = 1.4 

算梯度

复制代码
(w x - y) = (1.4 * 2 - 4) = -1.2 
grad = (w x - y) *x = -1.2 * 2 = -2.4 

更新

复制代码
w_new = 1.4 - 0.1 * (-2.4) = 1.64 

loss

复制代码
L = 1/2 * (1.64 * 2 - 4)^2 = 0.13 

七、现在应该能"看见"梯度下降在干嘛了

  • 梯度的 符号:告诉你往哪边走

  • 梯度的 大小:告诉你走多远

  • 学习率:控制步子大小

八、权重更新三步走:

1. 计算损失 - 前向传播

loss = criterion(model(inputs), labels) # 计算预测值与真实值的差异

2. 计算梯度 - 反向传播

loss.backward() # 自动计算所有参数的梯度并存储

3. 更新权重 - 优化器步进

optimizer.step() # 根据梯度更新模型参数

相关推荐
温柔只给梦中人1 分钟前
深度学习:day03-04
人工智能·深度学习
棒棒的皮皮6 分钟前
【深度学习】YOLO 模型部署全攻略(本地 / 嵌入式 / 移动端)
人工智能·深度学习·yolo·计算机视觉
a程序小傲8 分钟前
小红书Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·后端·python·面试·职场和发展
竹君子35 分钟前
AIDC知识库(3)英伟达Rubin 架构对未来AIDC方案的影响初探
人工智能
棒棒的皮皮43 分钟前
【深度学习】YOLO模型速度优化全攻略(模型 / 推理 / 硬件三层维度)
人工智能·深度学习·yolo·计算机视觉
线束线缆组件品替网1 小时前
Amphenol RF 同轴线缆:高频 RF 系统设计中 VSWR 与损耗控制实践
网络·人工智能·电脑·硬件工程·材料工程
土星云SaturnCloud1 小时前
液冷技术的未来:相变冷却、喷淋冷却等前沿技术探索
服务器·人工智能·ai
悟道心1 小时前
7. 自然语言处理NLP - Bert
人工智能·自然语言处理·bert
头发还在的女程序员1 小时前
小剧场短剧影视小程序源码分享,搭建自己的短剧小程序
人工智能·小程序·短剧·影视·微剧
l1t1 小时前
NineData第三届数据库编程大赛:用一条 SQL 解数独问题我的参赛程序
数据库·人工智能·sql·算法·postgresql·oracle·数独