动手学深度学习:反向传播具体是怎么实现的
创作时间:
作者:
@小白创作中心
动手学深度学习:反向传播具体是怎么实现的
引用
CSDN
1.
https://m.blog.csdn.net/ironbat/article/details/144241090
反向传播是深度学习中最重要的算法之一,它通过链式法则计算损失函数对模型参数的梯度,从而实现参数优化。本文将通过一个简单的线性回归例子,详细讲解反向传播的具体实现过程。
反向传播中的数值计算
在反向传播中,虽然神经元的输出y和加权输入z都是具体数值,但我们还是可以用微积分的链式法则来求偏导数。
链式法则
若
,则对x的偏导数计算方式为
在反向传播中,我们的目标是从损失函数开始,逐层计算损失函数对模型参数(w,b)的偏导数。
下面通过一个简单的线性回归例子,使用PyTorch框架,详细展示反向传播的具体实现过程。
import torch
import numpy as np
import matplotlib.pyplot as plt
# 输入数据和真实标签
x = torch.tensor([[1.0], [2.0], [3.0]]) # 输入
y_true = torch.tensor([[2.0], [4.0], [6.0]]) # 真实标签
# 初始化权重和偏置
w = torch.tensor([[0.5]], requires_grad=False) # 权重
b = torch.tensor([0.0], requires_grad=False) # 偏置
# 学习率
lr = 0.01
# 训练过程
num_epochs = 100
for epoch in range(num_epochs):
# 前向传播:计算模型的预测值
y_pred = torch.matmul(x, w) + b # 预测值 = w * x + b
# 计算损失:均方误差
loss = 0.5 * torch.sum((y_pred - y_true) ** 2) # MSE 损失函数
# 手动计算损失对 w 和 b 的梯度
# 对 w 和 b 计算偏导数
# 损失对预测值 y_pred 的偏导数
dL_dy_pred = y_pred - y_true # 这里是 (y_pred - y_true)
# 损失对 w 的偏导数 (梯度) 使用链式法则
dL_dw = torch.matmul(x.T, dL_dy_pred) # 对 w 的梯度 = x.T @ (y_pred - y_true)
# 损失对 b 的偏导数
dL_db = torch.sum(dL_dy_pred) # 对 b 的梯度 = sum(y_pred - y_true)
# 更新权重和偏置
w -= lr * dL_dw
b -= lr * dL_db
# 打印每 10 个 epoch 的损失
if (epoch + 1) % 10 == 0:
print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')
# 输出训练后的权重和偏置
print(f'Final weight: {w.item():.4f}, Final bias: {b.item():.4f}')
# 可视化训练数据和拟合的直线
plt.scatter(x.numpy(), y_true.numpy(), color='red', label='True data')
plt.plot(x.numpy(), y_pred.detach().numpy(), color='blue', label='Fitted line')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()
通过这个简单的例子,我们可以清晰地看到反向传播算法的具体实现过程。从损失函数开始,逐层计算梯度,并使用梯度下降法更新模型参数,最终实现模型的优化。
热门推荐
最全不同糖尿病人群血糖控制目标,建议收藏!
不能错过的酸萝卜老鸭汤,鲜酸滋补,滋阴补虚,被夸爆的家常菜
2024 年各国人均预期寿命:日本蝉联榜首,美国陷入困境,中国实现飞跃
骆驼干电瓶怎么充电?如何正确为骆驼干电瓶进行充电?
如何修改和撤回专利申请?详细流程指南
完善的数据迁移策略, 是数据迁移项目成功的保障
AI抢饭碗?不!这个新职业年薪可达60万,职场人逆袭指南来了
保险免赔额到底有什么讲究?看完这篇我明白了!
什么是电子厂?电子厂是干什么的工作?工作环境怎么样?
内向的人能做猎头么女生:性格特点与职业发展的深度解析
电力行业胶粘剂创新解决方案与应用实践
自动洗衣机漂洗有什么必要性与方法?(为衣物清洁彻底保驾护航)
中式香薰走红 “气味”成为文化消费新载体
通过“深灬深深,深一点”方法有效提升自我认知及改善人际关系的策略分享
冬天白菜储存妙招:纸箱+报纸,一整个冬天都不烂
晏殊:北宋词坛的婉约巨匠
刑事案件的侦查是什么
刑侦大队办案程序是怎样的
儒家思想的核心价值及其现代意义
如果不得不喝酒,怎么减少伤害?
龙宫祈福,疍民寻根——福建海洋文化的古今传承
安卓手机丢了怎么办?多种实用找回方法全攻略
诺普信等21家农药上市公司业绩预告汇总
从“忍痛十年”到“主动换新”:集采如何改变患者的就医选择?
如何有效提升职场形象:专业与影响力的塑造指南
展望:电子战装备升级与新形态演化
文旅策划市场调查分析需要考虑哪些要素?
这朵“玫瑰”带点刺:皮肤科医生谈玫瑰痤疮的科学认知与应对
如何整理书架:从入门到进阶的实用指南!
电子探针丨寒冬已至,煤中有害元素赋存表征快速了解!