知行LEARNING HANDBOOK
目录 · 01 神经网络如何学习
学习手册/人工智能基础
CHAPTER 018 分钟

神经网络如何学习

从参数、损失函数和梯度出发,理解“训练”到底改变了什么。

读完这一章,你会理解

  1. 区分模型结构与参数
  2. 理解损失函数的作用
  3. 读懂一次最小训练循环

模型就是一个带参数的函数

神经网络并不神秘。可以先把它看成一个函数:输入经过一系列线性变换和非线性变换,得到输出。网络结构决定信息怎样流动,参数决定当前会给出什么结果。

训练之前,参数通常接近随机状态;训练的目标不是不断添加规则,而是寻找一组让输出更符合数据的参数。

prediction = model(input, parameters)
error = loss(prediction, target)

损失函数给学习提供方向

模型需要一个可以比较的信号。损失函数把“预测得有多不好”变成数值,训练过程就可以围绕降低这个数值进行。

不同任务使用不同损失函数,因为我们对“错误”的定义不同。分类关心概率分布,回归关心数值距离,语言模型关心下一个 token 的概率。

梯度告诉参数往哪里走

反向传播利用链式法则,计算每个参数对最终损失的影响。优化器随后沿着降低损失的方向更新参数。

  • 前向计算得到预测
  • 计算预测与目标之间的损失
  • 反向传播得到梯度
  • 优化器更新参数并进入下一批数据