AI深度学习/PyTorch/反向传播与梯度下降

AI深度学习/PyTorch/反向传播与梯度下降 龙文浩 工程师的学术研究 2026/4/4

import torch

def lwh_backward_grad():

"""

前向传播 = 特征x * 权重w + 偏置b → 预测值z

反向传播 = 预测值z → 损失函数 → 损失值loss → 更新:权重w 、 偏置b

本案例:简化为单变量w,损失函数 loss = 2 * w²,演示单次前向+反向传播

"""

===================== 1. 定义可训练参数(权重w) =====================

requires_grad=True:开启自动求导,PyTorch会记录该张量的计算图,用于反向传播

dtype=torch.float32:指定数据类型为32位浮点数,符合深度学习常规

w = torch.tensor(data=10, requires_grad=True, dtype=torch.float32)

复制代码
# 学习率 lr:控制每次梯度下降的步长,步长太大易震荡,太小收敛慢
lr = 0.1

# ===================== 2. 前向传播:计算损失 =====================
# 定义损失函数:loss = 2 * w²
# 这一步会构建计算图,记录w到loss的计算路径
loss = 2 * w ** 2

# ===================== 3. 反向传播:自动求导 =====================
# loss.sum():将标量损失转为可反向传播的标量(本案例loss本身是标量,sum()为兼容写法)
# backward():自动从loss反向传播,计算所有requires_grad=True的张量的梯度
# 梯度计算:d(loss)/d(w) = d(2w²)/dw = 4w,w初始为10,所以梯度为4*10=40
loss.sum().backward()

# ===================== 4. 梯度下降:更新权重 =====================
# w.data:直接访问张量的数值,不参与计算图,避免影响梯度
# w.grad:反向传播后得到的梯度值(导数)
# 更新公式:w_new = w_old - lr * gradient(梯度下降核心公式)
w1 = w.data - lr * w.grad

# ===================== 5. 结果打印 =====================
print(f"初始权重w: {w.data.item()}")
print(f"损失函数loss: {loss.item()}")
print(f"反向传播计算的梯度w.grad: {w.grad.item()}")
print(f"学习率lr: {lr}")
print(f"反向传播后的权重值w: {w1.item()}")

执行函数

lwh_backward_grad()

相关推荐
乌恩大侠14 分钟前
从 5G 通信到厘米级感知:基于 NVIDIA Aerial、SRS 与 UL-TDOA 构建 6G 无线定位实验平台
人工智能·5g·电信大模型
云和数据.ChenGuang7 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
西西木科技丨Shopify开发机构8 小时前
CalDigit TS4案例:AI产品图的Shopify整站接入与验收
人工智能·shopify·独立站
2601_965448878 小时前
AI视频制作:做系列节气民俗视频音色不统一,AI 音色克隆省事的方法
人工智能·机器学习·音视频
美狐美颜SDK开放平台8 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
HRaitest8 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑
大数据·人工智能·求职招聘·ai-native
天远数科8 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关
运维·人工智能·架构·自动化
车软学堂9 小时前
从测试转开发,到底要补什么
网络·人工智能·python·功能测试·单片机·车载系统·自动化
海盗12349 小时前
AI 新闻日报 10-28:Atria Dawn 完整版开源、Cursor Agent SDK 转正、Genie 4 实时世界模型
人工智能·机器人·开源·人工智能aigc
志尊宝9 小时前
AI原生前端开发(035):AI时代的工程化最佳实践总结
人工智能·ai-native