鹅?back propagation本身就是为了NN提出来的啊
大部分“纯”数学,其实都是“应用”数学
没用的数学是指,你定义了1+1=3,2+7=5这套和现实没有联系的系统,就不是冲着有用去的。
所有对partial differential 的这些推导和close form的formula都是有强现实意义的。人类每天面对的都是无法用close form表示的世界,这才有了工程。数学足够强大的话,整个世界都是数学的
Grok:
1980年代的反向传播(Back Propagation)介绍
反向传播(Back Propagation,简称BP)是现代深度学习的核心算法,它于1986年正式被系统化提出并流行开来,标志着神经网络从“黑暗时代”走向复兴。以下从历史背景、原理、关键事件和影响四个方面简要介绍1980年代的BP。
历史背景:从沉寂到复兴
• 1960年代:感知机(Perceptron)兴起,但Minsky & Papert(1969)指出其无法解决XOR问题,导致神经网络研究陷入低谷(“AI寒冬”)。
• 1970年代:少数学者(如Paul Werbos)已提出类似BP的想法,但未引起关注。
• 1980年代初:连接主义(Connectionism)思潮复苏,Hinton、Rumelhart等人开始重新审视多层神经网络。
关键突破:1986年《Nature》论文
• 时间:1986年9月
• 论文:Learning representations by back-propagating errors
作者:David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams
• 发表期刊:《Nature》(顶级科学期刊,极大提升影响力)
• 核心贡献:
◦ 提出误差反向传播算法,用于训练多层前馈神经网络(MLP)。
◦ 解决了“信用分配问题”(Credit Assignment Problem):如何将输出误差合理分配给各层权重?
◦ 使用链式法则(Chain Rule)计算梯度,结合梯度下降自动调整权重。
这篇论文被认为是“深度学习第一波高潮”的起点。
BP算法原理(1980年代版本)
BP算法包含两个阶段:
1 前向传播(Forward Pass)
输入 → 隐藏层 → 输出层,计算预测值与真实值的误差(通常用均方误差MSE)。
2 反向传播(Backward Pass)
从输出层开始,逐层向前计算每个权重对总误差的偏导数(梯度),然后更新权重: $$ w{ij} \leftarrow w{ij} - \eta \cdot \frac{\partial E}{\partial w{ij}} $$ 其中:
◦ $E$:总误差
◦ $\eta$:学习率
◦ $\frac{\partial E}{\partial w{ij}}$:通过链式法则计算
关键激活函数:Sigmoid(如 $\sigma(x) = \frac{1}{1+e^{-x}}$),可微,适合链式求导。
1980年代的应用与局限
成就
局限
成功训练多层网络(如NETtalk:文本转语音)
训练慢(梯度消失问题)
引发连接主义热潮(PDP研究组)
需要大量计算资源(当时电脑很慢)
奠定现代深度学习基础
容易陷入局部最优
其他重要事件
• 1982年:Hopfield网络(递归网络)提出,激发兴趣。
• 1985年:Ackley, Hinton等提出玻尔兹曼机,使用随机采样。
• 1989年:LeCun用BP训练卷积神经网络(LeNet前身)识别手写数字。
总结:1986是分水岭
时间
事件
1986年前
神经网络被认为“没前途”
1986年
BP算法发表,《Nature》论文引爆研究
1986年后
连接主义复兴,奠定深度学习基础
一句话评价:
1986年的反向传播,让“死去”的神经网络重新学会了“思考”。
如果你需要BP的具体数学推导、代码实现(Python/PyTorch)或与现代深度学习的对比,可以继续告诉我!
TheMatrix 写了: 2025年 10月 31日 11:59
这么说吧。一旦有用,它就不叫纯数学了。
但是反过来讲,从没(应)用的纯数学,变成有用的数学,这是经常发生的。我觉得可以说有用的数学中有一半的情况是这么发生的。
举个例子,198x年代的back propagation,就是没用的纯数学。现在有用不?