q1:神经网络究竟是在"学习"什么?
神经网络在通过数据不断调整参数,使损失函数越来越小
学习== 寻找一组更好的参数
//不管什么样的大语言模型
核心机制:prediction--》计算Loss--》计算Gradient-->更新参数
//现在不清楚没有关系,后续会讲解
q2:核心机制是什么?
prediction--》计算Loss--》计算Gradient-->更新参数
具体是怎么实现的呢?先别着急,逐一介绍
==基本概念:神经网络本身并不知道答案。它只有 输入 + 参数 → 输出
prediction(预测)

- x是输入
- θ是模型参数
- f是模型
- 输出是预测值
拿一个最简单的模型来说:^y这里是预测值

Loss(损失函数)
DL的核心 , 将错误程度变成一个数值,判断模型的这次预测好不好
经典:

注意:这里模型还没有进行学习,只是知道自己错了。
知道错误了,模型就需要将错误尽可能的缩小,那么模型应该怎么修改呢?
Gradient(梯度)
它告诉我们:参数发生一点变化时,Loss 会朝什么方向变化,以及变化有多快。
假设现在有:

q:如果稍微改变 w,b,Loss 会怎么变化?
两边同时对w或者b进行求导,就可以知道
Gradient Descent

这里面的η代表 learning rate学习率
梯度告诉模型"往哪里走",学习率告诉模型"一次走多远"。
Backpropagation ------ 反向传播
使用链式法则,一层一层的往回计算
这里举一个例子吧:
| 房屋面积 | 房价 |
|---|---|
| 50 | 300 |
| 60 | 350 |
| 80 | 450 |
| 100 | 550 |
| 我们想要预测房价:面积越大,房价大概是多少? |
首先猜一个公式:
- x:输入,房屋面积
- y:预测的房价
- w:权重(这里猜它是2)
- b:偏置 (这里猜它是100)
带入数值明显发现是错误的 2*50+100=200!=300
所以现在我们需要修改参数
计算梯度

这里是10000(带入(50,300))

假设η=0.0001,带入之前Gradient Descent公式里面,得到新的w=3
现在模型自己就调整了参数,不管模型的参数有多少,遵循的规律都是这个。
q3:什么是DL?
根据上面的讲解;深度学习就是用一个可学习的函数做预测,用 Loss 衡量错误,再用梯度不断调整参数,让下一次预测更好。
CNN:Forward→Loss→Backward→Update
Transformer:Forward→Loss→Backward→Update
GPT:Tokens→Transformer→Prediction→Loss→Backward→Update
殊途同归,都是这样,不要觉得这是一个不同的东西。不管多复杂的东西都是一样

q:假设模型现在预测值比真实值大很多,你觉得下一步模型应该增大参数还是减小?
不能直接说增大或者减小,必须根据 梯度 来判断具体参数应该增大还是减小。
首先计算 Loss,然后通过反向传播计算每个参数的梯度。不能仅凭"预测值偏大"判断所有参数都应该减小。对于某个参数,如果它的梯度为正,那么梯度下降会让它减小;如果梯度为负,那么它会增大。最终目标是让 Loss 下降。