想象一下,你想教计算机理解这样一个句子:
"猫跳过了篱笆,因为它看到了一只鸟。"
在2017年之前,理解语言的最流行模型是递归神经网络(RNN)及其改进变体,如LSTM(长短期记忆)和GRU(门控递归单元)。
这些网络就像一个传送带上的单词:它们按顺序一次处理一个单词,并保持一种"记忆"或"隐藏状态",试图记住之前看到的内容。
🔹 有用的类比:
想象一个人蒙着眼睛读书,每次只能用一个手指触摸一个字母。当他们向前移动时,他们试图在心理上记住到目前为止读到的内容,以理解完整的含义。这很累人,很慢,而且当他们读到结尾时很容易忘记开头!
尽管很受欢迎,RNN有三个主要限制:
当句子很长时,RNN会"忘记"前面的单词。例如:
"在我祖父的农场里,我度过了所有童年的夏天,那里有一只叫托比的狗,它...[20个单词后]...我很想念。"
当模型到达"我很想念"时,它已经失去了与"托比"的联系。这种现象称为梯度消失——技术上很复杂,但概念上:信息随时间"稀释"。
由于它只能一次处理一个单词,无法并行化。在拥有数千个核心的GPU上,这是巨大的浪费。就像拥有一辆F1赛车……但被迫用一档行驶!
RNN只"回头看"。它无法看到下一个单词来更好地理解当前单词。在许多情况下,一个单词的含义取决于后面的内容。
示例:"我去银行存钱..." vs "我去河岸钓鱼..."
只有后续上下文("存钱"或"河")才能揭示指的是哪个"银行"。
2017年12月,谷歌研究团队发表了一篇将永远改变AI的论文:
"Attention Is All You Need" — Vaswani等,2017
这篇论文引入了一种全新的架构:Transformer。
它的核心思想简单但具有革命性:
"如果我们可以同时读取整个句子,而不是逐字阅读……并允许每个单词'询问'所有其他单词它们与理解自己的相关性如何?"
这就是所谓的注意力机制。
就这样,一个新时代诞生了。
Transformer解决了RNN的三个主要问题:
✅ 完美的长期记忆:
由于它同时处理所有单词,不会出现衰减。每个单词可以"查看"任何其他单词,无论距离多远。
✅ 并行处理:
由于不依赖顺序,可以同时处理整个句子。GPU使用率达到100%!
✅ 双向上下文(在某些情况下):
每个单词可以看到前面和后面的内容。这允许更精确的消歧。
想一个长句子,其中开头单词的含义取决于结尾的单词。写下来。然后,想象RNN和Transformer会如何处理它。哪个更容易?为什么?
RNN:
[单词1] → [单词2] → [单词3] → ... → [单词N]
↘ ↘ ↘ ... ↘
状态 → 状态 → 状态 → ... → 状态
Transformer:
[单词1] [单词2] [单词3] ... [单词N]
↘_________↙_________↘_________↙_________↘
注意力:所有单词相互交流
RNN是它们时代的英雄,但有结构性限制。Transformer不仅仅是一个渐进式改进——它是一个范式转变。这一切都要归功于一个看似简单的想法:注意力。
在下一个模块中,我们将剖析这个想法:注意力是什么?它是如何工作的?为什么如此强大?