循环神经网络(RNN)——处理序列数据的秘密武器
CNN擅长处理图片,但如果数据有「顺序」呢?比如一句话「今天天气很好」,你必须按顺序读才能理解。再比如语音、股票走势、DNA序列——这些都需要考虑上下文。
RNN(循环神经网络)就是为序列数据而生的。它的核心思想:把上一步的信息传递到下一步。
1隐藏状态 = 记忆
RNN有一个特殊的结构:隐藏状态(hidden state)。每处理一个词,它会更新这个隐藏状态,并把更新后的状态传给下一个词。
输入:「今天」
更新隐藏状态
输出部分结果
输入:「天气」
更新隐藏状态(带之前信息)
输出部分结果
2RNN的致命弱点:长距离依赖
RNN看起来很美好,但它有个严重问题:梯度消失。当序列很长时,最开始的信息在传递过程中会逐渐被「稀释」,最终几乎丢失。
最初的信息几乎消失了
📚 例子
句子:「小明住在上海。他...(中间有100个字)...昨天买了一把新雨伞。」
RNN可能很难记住「上海」这个关键信息,导致在理解「新雨伞」时丢失上下文。
3解决方案:LSTM和GRU
为了解决长距离依赖问题,研究者提出了LSTM(长短期记忆网络)和GRU(门控循环单元)。它们的秘诀是:用「门控机制」控制信息的流动。
长短期记忆网络
门控循环单元
类比理解:LSTM就像是你的大脑在阅读时,会主动判断哪些信息值得记住(比如关键人物、地点),哪些可以忽略(比如无关的细节)。
4RNN家族的应用
RNN及其变体广泛应用于序列任务:
预测下一个词:Google搜索补全、键盘智能预测
Seq2Seq模型:把一种语言翻译成另一种
把语音转成文字:Siri、语音输入
股票预测、天气预测、销量预测
🎓 一句话总结
- ①RNN核心 = 隐藏状态传递信息,理解序列上下文
- ②RNN弱点 = 长距离依赖(梯度消失),前面信息容易丢失
- ③LSTM/GRU = 用门控机制控制信息流动,解决长距离依赖
- ④应用 = 语言模型、机器翻译、语音识别、时间序列
→下篇预告
第22篇:Transformer——NLP的「屠龙刀」
2017年Google提出的Transformer彻底改变了NLP。它抛弃了循环结构,用「自注意力」机制让模型能同时关注序列的任意部分。GPT、BERT这些大佬都是基于Transformer。下一篇,我们来拆解这个改变历史的架构。
✏️ 手绘图解 · AI Catch 出品
第 21 篇 / 深度学习架构篇