RNN为什么无法记住超过二十步的信息:从梯度消失到现代序列模型的四十年技术突围
1986年,Michael I. Jordan在研究认知心理学时提出了一个革命性的想法:让神经网络拥有"记忆"。这个被称为Jordan网络的架构,首次实现了神经网络对序列数据的处理能力。四年后,Jeffrey Elman简化了这个设计,创造了现在被称为简单循环网络(SRN)的经典RNN架构。 ...
1986年,Michael I. Jordan在研究认知心理学时提出了一个革命性的想法:让神经网络拥有"记忆"。这个被称为Jordan网络的架构,首次实现了神经网络对序列数据的处理能力。四年后,Jeffrey Elman简化了这个设计,创造了现在被称为简单循环网络(SRN)的经典RNN架构。 ...
引言:序列建模的至暗时刻 1997年,当Sepp Hochreiter和Jürgen Schmidhuber在《Neural Computation》期刊上发表那篇改变深度学习历史的论文时,他们解决的是一个困扰研究者多年的根本性问题:循环神经网络(RNN)无法学习长期依赖。 ...
1986年,David Rumelhart、Geoffrey Hinton和Ronald Williams发表了那篇改变整个机器学习领域的论文——《Learning representations by back-propagating errors》。反向传播算法让多层神经网络的训练成为可能,研究者们兴奋地开始堆叠越来越多的层,期待更深的网络能学习更复杂的特征。 ...
2010年,Xavier Glorot和Yoshua Bengio在AISTATS会议上发表了一篇论文,标题是《Understanding the difficulty of training deep feedforward neural networks》。这篇论文揭示了一个困扰深度学习社区多年的问题:为什么深层神经网络在随机初始化下难以训练?他们提出了一种新的初始化方案,后来被称为Xavier初始化。五年后,何恺明等人针对ReLU激活函数提出了He初始化。这两种初始化方法至今仍是现代神经网络训练的基础。 ...
2017年,Vaswani等人在《Attention Is All You Need》论文中提出了Transformer架构。在缩放点积注意力的公式中,有一个看似不起眼的细节:点积结果要除以$\sqrt{d_k}$。这个操作在代码中只是一行,但它背后隐藏着深度学习中最核心的问题之一——梯度消失。 ...
2015年,何凯明团队在ImageNet竞赛中提交了一个152层的神经网络模型。这个深度是当时主流模型的8倍,但训练误差却更低——这在当时简直是不可思议的事情。因为在那之前,人们普遍认为网络越深,训练越困难。实际上,研究者们观察到一个反直觉的现象:增加层数反而会让模型性能下降。 ...