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

相关推荐
Highcharts.js6 小时前
企业级可视化生态系统|关于Highcharts集成的前端框架、后端编程语言与生态
开发语言·javascript·python·前端框架·编辑器·编程语言·highcharts
Wang ruoxi6 小时前
Pygame小游戏——扫雷
开发语言·python·pygame
Csvn1 天前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch89181 天前
Python主流框架全解析
开发语言·python
sg_knight1 天前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财1 天前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533991 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz1 天前
leetcode学python记录1
python·算法·leetcode·职场和发展
小白学大数据1 天前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium