你如果是第一次系统学深度学习,我建议先别从公式和 PyTorch API 开始,而是先把整个逻辑链搞明白。
你可以先把深度学习理解成一句话:
深度学习 = 让一个多层神经网络,通过大量数据自己调整参数,最终学会"输入 → 输出"的映射关系。
比如你做人形机器人视觉:
摄像头图片 → 神经网络 → "这是矿泉水瓶"
网络一开始什么都不会,它通过不断:
预测 → 看自己错多少 → 修改参数 → 再预测
慢慢学会识别。
1. 先理解最基本的神经元
假设我们要判断一个东西是不是瓶子。
给模型三个信息:
-
(x_1):高度
-
(x_2):宽度
-
(x_3):颜色特征
一个最简单的神经元其实就是:
z=w_1x_1+w_2x_2+w_3x_3+b
你暂时不用怕这个公式。
其中:
-
x = 输入的信息
-
w = 每条信息有多重要
-
b = 偏置
-
z = 综合打分
比如模型逐渐发现:
"高度"对判断瓶子特别重要。
那训练之后:
(w_1) 就可能比较大。
所以所谓的:
模型训练
很大程度上就是:
寻找一组比较好的 w 和 b。
2. 神经网络是什么?
一个神经元能力太弱怎么办?
那就:
搞很多个神经元。
于是:
输入
↓
● ● ● ●
↓
● ● ● ●
↓
● ● ●
↓
输出
这就是神经网络。
例如图片:
图片
↓
第一层
识别简单边缘
↓
第二层
识别形状/纹理
↓
更深层
识别复杂特征
↓
输出
"矿泉水瓶"
所以为什么叫:
Deep Learning(深度学习)
这里的 deep,核心就是:
神经网络有很多层。
不是"学习得特别深奥"的意思。
3. 最关键的问题:它怎么学?
这才是深度学习真正的灵魂。
假设真实答案:
🐱 猫
但是模型第一次预测:
20% 猫
80% 狗
明显预测错了。
我们就需要一个东西衡量:
你到底错了多少?
这就是:
Loss Function 损失函数
可以粗暴理解成:
Loss = 错误程度
预测越离谱:
Loss 越大。
预测越准确:
Loss 越小。
所以训练目标就是:
让 Loss 尽可能小。
4. 怎么让 Loss 变小?
这就到了深度学习里最重要的一套东西:
梯度下降 Gradient Descent
你可以想象自己蒙着眼站在山上:
你
●
/ \
/ \
/ \
/ \
最低点______________
你的目标:
找到最低点。
因为:
山的高度 = Loss
所以每次看看:
"哪个方向下降最快?"
然后往那个方向走一点。
这就是:
梯度下降。
在数学上,就是不断修改:
(w) 和 (b)
让:
Loss ↓ ↓ ↓
5. 反向传播又是什么?
这时候你会碰到一个特别吓人的词:
Backpropagation
反向传播
其实先不用把它想复杂。
假设网络:
图片
↓
第一层
↓
第二层
↓
第三层
↓
预测:狗 ❌
发现预测错了以后:
预测错误
↑
第三层:我该改多少?
↑
第二层:我该改多少?
↑
第一层:我该改多少?
把"错误的责任"从后往前传:
反向传播。
它本质上利用的是微积分里的:
链式法则。
所以:
Forward Propagation
输入 → 网络 → 预测结果
然后:
Loss
算算错多少
然后:
Backpropagation
← 算每个参数应该怎么调整
最后:
Optimizer
真正更新参数
6. 所以一次完整训练到底发生了什么?
把整个过程串起来,你就得到深度学习最核心的循环:
① 输入数据
↓
② 前向传播 Forward
↓
③ 得到预测
↓
④ 计算 Loss
↓
⑤ 反向传播 Backward
↓
⑥ 得到梯度
↓
⑦ Optimizer 更新参数
↓
⑧ 再来一次
重复:
几千次、几万次、几十万次......
模型就逐渐:
从"瞎猜" → "越来越准"。
这就是所谓的:
Training 训练。
7. Epoch、Batch、Learning Rate 是什么?
你之后看教程一定疯狂遇到这三个词。
假设:
你有 10,000 张图片。
Epoch
全部 10,000 张图片都学一遍:
1 Epoch
学10遍:
10 Epochs
Batch
但10,000张图片一般不会一次全部扔进去。
例如:
每次拿32张。
那么:
Batch Size = 32
大概就是:
10000张图片
↓
32张 → 学一次
32张 → 学一次
32张 → 学一次
...
↓
全部看完
↓
1 Epoch
Learning Rate
刚才我们说梯度下降像下山。
每一步走多远:
Learning Rate(学习率)
比如:
LR = 0.001
学习率太大:
一脚跨过最低点 💨
太小:
一厘米一厘米挪 🐌
所以学习率是深度学习非常重要的超参数。
8. CNN、Transformer、YOLO 又是什么?
到这里你就能理解整个深度学习版图了。
神经网络是大概念。
不同任务发展出了不同网络:
深度学习
│
┌────────────┼────────────┐
↓ ↓ ↓
CNN Transformer 其他网络
↓ ↓
图像视觉 文本/视觉
↓ ↓
YOLO、ResNet GPT、ViT
比如你接触过的:
YOLO
本质就是:
深度学习目标检测模型
输入:
摄像头图片
输出:
水瓶
置信度:0.93
位置:
x1,y1,x2,y2
所以你之前做机器人水瓶识别的时候,其实已经在使用深度学习模型了,只是可能还没有自己训练底层网络。
9. 机器学习和深度学习有什么区别?
一个非常粗略但适合入门的理解:
传统机器学习:
人工设计特征 → 算法 → 预测
例如:
图片
↓
人手工提取:
颜色
边缘
纹理
形状
↓
SVM
↓
猫/狗
深度学习:
图片
↓
神经网络
↓
自己学习特征
↓
猫/狗
所以深度学习非常重要的能力就是:
Representation Learning
特征表示学习
模型自己学:
"什么特征对完成这个任务有用?"
10. 如果你准备真正学深度学习,顺序很重要
我建议不要一上来学 Transformer。
比较舒服的路线是:
第一阶段:数学基础
向量、矩阵
导数、偏导数
链式法则
概率基础
↓
第二阶段:神经网络
神经元
激活函数
Loss
Gradient Descent
Backpropagation
Optimizer
↓
第三阶段:PyTorch
真正写:
model(x)
loss.backward()
optimizer.step()
而且你要知道这三句话背后分别发生了什么。
↓
第四阶段:CNN
卷积
Padding
Striding
Pooling
Feature Map
ResNet
↓
第五阶段:目标检测
Bounding Box
IoU
NMS
Precision / Recall
mAP
YOLO
↓
最后再往:
Transformer → ViT → 多模态 → VLM
走。
最后可以自然走到:
YOLO → 分割 → 深度相机 → 6D Pose → 抓取检测 → VLM/VLA