前言
我一直是做应用开发的,幸运的是,平时在工作里我能经常和 AI 打交道。最近一年,我主导或参与了一些 AI 应用的落地实践,比如 RAG 系统、智能客服的工作流编排;在一些传统业务场景里,我也常常借助 AI 来提升效率。可以说,我已经在实际项目里尝到了 AI 的“甜头”,或者说我认为自己算是赶上了风口,非常幸运的进入了 AI 领域的开发,得到过一些真实的经验。
但 光会调 API 是远远不够的。如果想真正把 AI 用好、用深,就需要对它的底层机制有更多理解。过去看别人讲神经网络,满屏的公式和符号,像天书一样,常常让我打退堂鼓。直到最近,我硬着头皮重新学了一下,换个角度去理解,才发现里面其实挺有意思。
这篇文章就记录一下我对 神经网络五个核心概念 的理解:前向传播、损失函数、反向传播、梯度下降、激活函数。希望你看了之后有所收获。
神经网络
先来做一句话总结,神经网络的训练过程,其实就是:
“机器先乱算 → 老师打分 → 机器自己改 → 慢慢学会规律”。
我们可以把神经网络想象成一个“学徒工”:
- 前向传播:学徒先尝试做一道题,比如输入 [2, 3],随便给出一个答案。
- 损失函数:师傅告诉他,答案和标准答案差多少。
- 反向传播:学徒复盘自己步骤里哪一步错了。
- 梯度下降:根据复盘,学徒改进一点点做法。
- 激活函数:这相当于给学徒增加更复杂的思维方式,不然他只会算直线问题。
日复一日,学徒就能越来越接近正确答案。
如果你和我一样是后端出身,可以把训练过程类比成 接口压测和自动调优:
- 前向传播 = 一次请求调用(输入 → 输出)。
- 损失函数 = 压测报告(预测和真实差多少)。
- 反向传播 = 日志分析(哪一步出了问题)。
- 梯度下降 = 自动改配置(调优参数)。
- 多轮训练 = 压测 → 调整 → 再压测,直到指标下降。
代码示例:让网络学会加法
下面是一个最小可运行的 PyTorch 示例。我让网络去学“两个数相加”的规律,最后它能预测出接近正确的结果。
1 | import torch |
运行效果
控制台输出类似这样:
1 | Step 0, Loss=3.0751 |
可以看到 Loss(误差)一步步下降,说明网络在“学”。最后预测 [2,3] 得到 4.1,已经很接近标准答案 5 了。
总结
神经网络就是一个自动调优的函数系统:输入数据,输出预测,算出误差后自动修正参数。简单来说是学徒学手艺;严格来说是前向传播、损失函数、反向传播和梯度下降的循环。