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生成,仅供自己查阅笔记,非教程)

相关推荐
m0_748554817 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
smj2302_796826528 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
阿正呀9 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
2501_901200539 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
_.Switch9 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
Mr_sst9 小时前
Claude Code 部署与使用保姆级教程(2026 最新)
python·ai
瞎某某Blinder9 小时前
DFT学习记录[6]基于 HES06的能带计算+有效质量计算
python·学习·程序人生·数据挖掘·云计算·学习方法
m0_4954964110 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume11 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
Aleeeeex11 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程