神经网络的学习是通过调整权重与偏差使预测逼近标签的参数优化过程,核心环节包括前向传播、误差计算、反向传播与反复训练,误差由损失函数衡量,以梯度下降更新参数,如MNIST用6万张手写图片训练后准确率达99%以上,解决的是从随机参数收敛到可用模型,并不解决标注错误带来的效果上限。
- 前向传播(Forward Propagation)
一开始,神经网络的参数(每个节点的权重和偏差)是随机的。它把一张猫的图片数据“推”过网络,得到一个初步结果。比如,第一次看到猫,它可能胡乱猜:“60%是狗,40%是猫”,完全不对。 - 误差计算
接着,网络会比较自己的猜测和正确答案(标签告诉它“这其实是猫”),算出误差有多大。误差就像考试分数,分数越低,说明错得越离谱。数学上,这通常用“损失函数”(Loss Function)来衡量,比如“预测值和真实值的差距平方”。 - 反向传播(Backpropagation)
然后,网络从输出层往回调整参数,让误差变小。这有点像你做错数学题,老师告诉你答案是5,你就回头检查哪一步算错了,然后改过来。反向传播用的是“梯度下降”(Gradient Descent)方法,逐步调整每个权重,让网络的预测更接近正确答案。 - 反复训练
一张图片不够,网络需要看成千上万张图片(猫和狗的都有),反复进行前向传播和反向传播。慢慢地,它会发现:“哦,尖耳朵和胡须通常意味着猫,圆耳朵和短鼻子更像是狗。”最终,它就能准确识别了。
举个真实案例:手写数字识别(MNIST数据集)是一个经典例子。神经网络被喂了6万张手写数字图片(0到9),通过训练,它能识别新图片上的数字,准确率高达99%以上。