RNN为什么无法记住超过二十步的信息:从梯度消失到现代序列模型的四十年技术突围

1986年,Michael I. Jordan在研究认知心理学时提出了一个革命性的想法:让神经网络拥有"记忆"。这个被称为Jordan网络的架构,首次实现了神经网络对序列数据的处理能力。四年后,Jeffrey Elman简化了这个设计,创造了现在被称为简单循环网络(SRN)的经典RNN架构。 ...

17 min · 8206 words

万能逼近定理:为什么两层神经网络能逼近任意函数

一个被误解的定理 在深度学习面试中,经常会出现这样一个问题:为什么神经网络需要非线性激活函数? 很多人会回答"因为线性函数的组合仍然是线性的"。但这个回答虽然正确,却只触及了问题的表面。更深层次的问题是:为什么加上非线性激活函数后,神经网络就能逼近任意复杂的函数? ...

16 min · 7802 words

Logits:神经网络输出的原始真相,从概念到实践的完整解析

当你问一个大语言模型"法国的首都是哪里?",它回答"巴黎"。这个看似简单的过程背后,模型经历了一系列复杂的计算。在最终的文字出现之前,模型首先要给出一个答案:对于词表中的每一个词,它认为这个词作为下一个输出的可能性有多大。这个"可能性"的原始形式,就是logits。 ...

13 min · 6400 words

自动微分与反向传播为什么这个六十岁的算法是深度学习的基石

引言:一个被误读了四十年的算法 如果你问一个机器学习从业者:“反向传播算法是谁发明的?“大多数人的回答会是:“Geoffrey Hinton和他的合作者在1986年提出的。“这个答案听起来理所当然——毕竟,Hinton被称为"深度学习之父”,而那篇发表在《Nature》上的论文《Learning representations by back-propagating errors》至今仍被奉为经典。 ...

17 min · 8384 words

梯度消失与梯度爆炸:为什么深层神经网络曾经只能堆叠五层?

1986年,David Rumelhart、Geoffrey Hinton和Ronald Williams发表了那篇改变整个机器学习领域的论文——《Learning representations by back-propagating errors》。反向传播算法让多层神经网络的训练成为可能,研究者们兴奋地开始堆叠越来越多的层,期待更深的网络能学习更复杂的特征。 ...

14 min · 6755 words

Softmax函数:为什么这个公式统治了神经网络的概率输出

在神经网络的输出层,我们经常看到这样一个公式: $$\text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}$$它看起来如此简单——指数、求和、归一化。但为什么是这个特定的形式?为什么不直接除以总和?为什么要有指数?为什么这个函数能统治从图像分类到大语言模型的几乎所有概率输出? ...

12 min · 5596 words

Transformer 的注意力机制究竟在计算什么?从 QKV 到多头的完整解析

2017年,Google Research 团队发表论文《Attention Is All You Need》,提出了一种名为 Transformer 的神经网络架构。论文标题是一个明确的判断——在此之前的神经机器翻译模型依赖于循环神经网络(RNN)和卷积神经网络(CNN)的组合,而 Transformer 仅使用注意力机制就达到了当时的最优性能。 ...

8 min · 3925 words