DAY0:3个基础概念——参数、梯度、训练的本质

一、什么是"参数"?

神经网络本质是:

y = wx + b

  • w = 权重

  • b = 偏置

这两个就是:

👉 参数(parameters)

模型学习的过程就是:

不断调整 w 和 b


二、什么是"梯度"?

梯度 = 告诉你:

这个参数往哪个方向改,可以让误差变小。

你可以理解为:

  • loss 是山的高度

  • 梯度告诉你往哪个方向下山

如果函数只有一个变量:

那"梯度"就是导数:

它的意义是:w 增加 1 个单位,f 大约增加多少。

更准确说:

举个例子:

如果函数只有一个变量:

那"梯度"就是导数:

当w=3:

这 6 的意思是:如果 w 增加 0.01,那 f 大约增加 6 × 0.01 = 0.06。


三、训练的本质

训练只有四步:

  1. 前向计算

  2. 算误差

  3. 算梯度

  4. 更新参数

无限循环。


🔥 现在做一个极简单实验(不需要 PyTorch)

复制下面代码,自己运行。

python 复制代码
import torch

# 定义一个参数
w = torch.tensor(2.0, requires_grad=True)

# 定义一个简单函数
y = w ** 2

# 反向传播
y.backward()

print("w 的梯度:", w.grad)

你要观察什么?

问题:

  1. 为什么梯度是 4?

  2. 这个 4 代表什么?

  3. 如果 w=3,梯度会是多少?

自己改:

w = torch.tensor(3.0, requires_grad=True)

看看结果。


🎯 今天的任务

  1. 运行上面代码

  2. 改 w 为不同数值

  3. 观察梯度变化

  4. 想一想:为什么是这个值?


明天我们干什么?

明天开始写:

👉 一个完整的线性回归训练

👉 手动更新参数

👉 不用优化器

(GPT生成,仅供自己查阅笔记,非教程)

相关推荐
老师好,我是刘同学3 小时前
Python执行命令并保存输出到文件
python
啵啵鱼爱吃小猫咪5 小时前
机械臂阻抗控制github项目-mujoco仿真
开发语言·人工智能·python·机器人
MaximusCoder5 小时前
等保测评命令——Centos Linux
linux·运维·经验分享·python·安全·centos
yunyun321235 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
m0_662577975 小时前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
songyuc5 小时前
【PyTorch】感觉`CrossEntropyLoss`和`BCELoss`很类似,为什么它们接收labels的shape常常不一样呢?
人工智能·pytorch·python
ℳ๓₯㎕.空城旧梦5 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python
浩子智控6 小时前
python程序打包的文件地址处理
开发语言·python·pyqt
Jackey_Song_Odd6 小时前
Part 1:Python语言核心 - 序列与容器
开发语言·windows·python
m0_662577976 小时前
Python迭代器(Iterator)揭秘:for循环背后的故事
jvm·数据库·python