一句话定义
神经网络是一个层层堆叠的可调函数。每一层对输入做一次加权组合加非线性变换,最后输出结果。层与层之间的那些权重就是参数,训练做的事就是不断微调这些参数。
单个神经元做的事情非常朴素:把若干输入各乘一个权重、求和、再过一个非线性函数。神奇之处不来自单个神经元,而来自层数够多、参数够多之后涌现出的表达能力。
为什么重要
理解神经网络能帮你破除两个方向的迷信。
第一,它没有魔法。所谓「模型学到了知识」,物理上就是一堆浮点数被调整到了某些值。这就是为什么模型可以被复制、量化、压缩、蒸馏。
第二,规模确实带来质变。参数从百万到千亿,模型从只能做分类变成了能做推理。这个现象在 Scaling Law 中被系统描述过。
训练是怎么发生的
- 前向传播:输入经过各层,得到一个预测。
- 计算损失:预测和正确答案差多少。
- 反向传播:用微积分的链式法则,算出每个参数对误差「负多大责任」。
- 更新参数:把每个参数朝减少误差的方向挪一小步。
- 重复几百万次。
推理(inference)只做第 1 步。这解释了为什么训练成本远高于使用成本,也是为什么模型一旦训练完就可以被大量复制使用。
训练与推理的关键差异
| 训练 | 推理 | |
|---|---|---|
| 目标 | 调整参数 | 使用参数 |
| 成本 | 极高,一次性 | 较低,但按量累积 |
| 硬件 | 大规模集群 | 单卡或少量卡即可 |
| 输出 | 一组权重文件 | 一段文本 / 一个判断 |
常见误解
- 「参数越多越聪明」:数据质量和训练方法同样关键。参数超出数据量能支撑的范围,反而浪费。
- 「模型记住了训练数据」:一部分是,但泛化能力才是它有用的原因。这也是版权争议的来源。
- 「神经网络像大脑」:只是借用了「连接」这个隐喻,机制与生物神经元相去甚远。
延伸阅读
- Transformer:当前最成功的网络结构
- Large Language Model:把神经网络推到千亿参数的结果