AI深度学习,神经网络处理流程

AI深度学习,神经网络处理流程:

输入 → 前向 → 损失 → 反向 → 更新 → 预测。​一、整体流程神经网络完整处理分为两大阶段: 1. 训练阶段(学参数 W, b)初始化 → 前向传播 → 算损失 → 反向传播 → 更新参数 → 循环​2. 推理阶段(用模型)只前向传播,输出结果 二、详细流程 全连接网络 + 回归任务 0. 准备:数据、网络、初始化 1)构造数据(回归任务:y = wx + b)​import torchimport torch.nn as nnimport torch.optim as optim# 造数据:y = 2x + 3 + 噪声x = torch.randn(1000, 1) # 输入y = 2 * x + 3 + 0.1 * torch.randn(1000, 1) # 真实标签​2)定义神经网络​class Net(nn.Module): def init (self): super().init() self.fc1 = nn.Linear(1, 1) # 一层线性:输入1,输出1 def forward(self, x): out = self.fc1(x) return outmodel = Net()​3)参数初始化(W, b) 神经网络训练前必须初始化: - W:随机(He / Xavier)​- b:通常0​# 手动初始化演示nn.init.kaiming_normal_(model.fc1.weight) # Wnn.init.constant_(model.fc1.bias, 0.0) # b​4)定义损失函数 + 优化器​criterion = nn.MSELoss() # 回归损失optimizer = optim.SGD(model.parameters(), lr=0.1)​1. 训练第一步:前向传播 Forward数据输入网络,用 W, b 计算预测值公式(单层线性):\hat{y} = x \cdot W + b​y_pred = model(x) # 前向传播​作用:- 用当前参数算出预测- 还没学习,只是瞎猜 2. 计算损失 Loss 衡量预测有多错:Loss = \frac{1}{N}\sum (y - \hat{y})^2​loss = criterion(y_pred, y)​3. 反向传播 Backward 求所有 W, b 对 Loss 的梯度\frac{\partial Loss}{\partial W},\quad \frac{\partial Loss}{\partial b}梯度含义: - 每个参数怎么变,会让 Loss 变小​optimizer.zero_grad() # 清空旧梯度loss.backward() # 反向传播,计算梯度​4. 参数更新(优化器走一步) 沿梯度反方向更新 W, b:W = W - \eta \cdot \nabla Wb = b - \eta \cdot \nabla b​optimizer.step() # 更新参数​每执行一次,模型就更准一点点。 5. 循环迭代(完整训练) 把上面4步循环很多次:​epochs = 1000for epoch in range(epochs): # 1. 前向 y_pred = model(x) # 2. 损失 loss = criterion(y_pred, y) # 3. 反向 optimizer.zero_grad() loss.backward() # 4. 更新 optimizer.step() if epoch % 100 == 0: print(f'epoch {epoch}, loss: {loss.item():.4f}')​​训练过程本质:不断修正 W, b,让 loss 越来越小。 6. 训练结束:查看学到的参数 真实是 y=2x+3,模型学到的 W 和 b:​print('W:', model.fc1.weight.item())print('b:', model.fc1.bias.item())​会看到接近: - W ≈ 2​- b ≈ 3​7. 推理 / 预测阶段(真正使用) 只前向传播,不更新参数​# 测试新数据x_test = torch.tensor(\[5.0])model.eval() # 推理模式with torch.no_grad(): # 不计算梯度 y_test = model(x_test)print('预测结果:', y_test.item())​

相关推荐
橙臣程1 小时前
深度学习2——CNN与RNN概述
rnn·深度学习·cnn
绝世番茄1 小时前
鸿蒙HarmonyOS ArkTS原生拖拽排序深度解析
深度学习·华为·list·harmonyos·鸿蒙
CClaris3 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
数聚天成DeepSData4 小时前
遥感农业数据集下载全攻略
数据库·人工智能·深度学习·机器学习·自然语言处理·数据挖掘
一只空白格5 小时前
Transformer架构面试题目
人工智能·深度学习·transformer
爱勇宝7 小时前
DeepSeek实习生日薪5500:真正恐怖的不是工资
人工智能·深度学习·面试
Feisy7 小时前
出口锂电池-无人机等危险品的拍摄多张外包装申报照片的落地方案
深度学习·手机自动拍照·照片采集·电池外观拍摄·出口电池
直接冲冲冲8 小时前
两层神经网络与三层神经网络的区别
人工智能·深度学习·神经网络
QN1幻化引擎9 小时前
DalinX V8 — 整体能力地图与 AGI 阶段评估
人工智能·神经网络·目标检测·语言模型·数据挖掘·agi
QiZhang | UESTC10 小时前
学习agent开发
深度学习