
视频元信息
- 课程来源:吴恩达深度学习专项课程(Deep Learning Specialization)第五门课《序列模型》第一周
- 视频标题:1.5 不同类型的RNNs(Different Types of RNNs)
- 时长:约 9 分 31 秒(571 秒)
- 内容定位:介绍 RNN 的多种输入输出结构类型,为后续序列生成、机器翻译等内容打基础
内容摘要(TL;DR)
本节系统梳理了 RNN 的五种架构:一对一、一对多、多对一、多对多(等长)、多对多(不等长)。核心在于说明输入序列长度 Tx 与输出序列长度 Ty 并不总是相等,通过调整基础 RNN 结构即可适配情感分类、音乐生成、命名实体识别、机器翻译等不同任务。
一、引入:Tx 与 Ty 不一定相等 [00:00]
- 此前介绍的 RNN 架构中,输入个数 Tx 等于输出个数 Ty。
- 重点:在许多实际应用中,Tx 和 Ty 并不相等,甚至可以是 1 或空集。
- 本节将展示一个更丰富的 RNN 架构家族,灵感来自 Andrej Karpathy 的博客文章《The Unreasonable Effectiveness of Recurrent Neural Networks》。
理解:RNN 的灵活性在于其"循环"结构可以按时间步展开,输入和输出不必在每个时间步都成对出现,这使它能适配多种序列任务。
典型场景举例:
| 任务 | 输入 | 输出 | Tx vs Ty |
|---|---|---|---|
| 电影情感分类 | 一段文本序列 | 1~5 的整数(评分) | Tx 大,Ty=1 |
| 命名实体识别 | 序列 | 等长序列 | Tx = Ty |
| 机器翻译 | 法语句子 | 英语句子 | Tx ≠ Ty |
二、多对多(Tx = Ty)架构 [01:32]
- 这是此前已经见过的经典结构:输入序列 X1, X2, ..., X_Tx,输出 Y1, Y2, ..., Y_Ty。
- 每个时间步输入一个 X,产生一个输出 Y。
- 重点:因为输入是序列(多个),输出也是序列(多个),所以称为"多对多"(many-to-many)架构。
理解:图示中用圆圈表示神经元,是为了简化符号,不代表具体网络层细节。
典型应用:命名实体识别(输入句子中每个词对应一个输出标签)。
三、多对一架构:情感分类 [02:34]
- 场景:输入一段电影评论文本,如 "There is nothing to like in this movie",输出一个评分(1~5 或 0/1 表示正负评价)。
- 结构:逐词输入 X1, X2, ...,RNN 读完整句后,只在最后一个时间步输出一个 Y。
- 重点:输入是多个(many),输出是一个(one),故称"多对一"(many-to-one)架构。
易错点:不要在每一个时间步都产生输出,情感分类只需在读完整个句子后输出一次结果。
典型应用:情感分类、文本评分。
四、一对一架构 [03:56]
- 输入一个 X,输出一个 Y,本质上是标准神经网络。
- 重点:这种结构不需要 RNN,就是前两门课中已学过的普通神经网络。
理解:一对一架构在此列出只是为了分类完整性,实际意义不大。
五、一对多架构:音乐生成 [04:20]
- 场景:输入一个整数(表示想要的音乐类型或第一个音符),输出一串音符组成音乐。
- 结构:输入 X 后,RNN 输出第一个值,然后在没有新输入的情况下继续输出第二个、第三个……直到生成完整音乐。
- 若不想输入任何东西,X 可以是空输入或全零向量。
- 重点:一个输入(one),多个输出(many),故称"一对多"(one-to-many)架构。
技术提示:实际生成序列时,常把前一步合成的输出作为下一步的输入反馈给网络,因此网络结构会呈现出"输出接回输入"的形态。
思考:这种"自回归"式的生成方式是语言模型、音乐生成、文本生成的核心机制,后续视频会深入讲解。
典型应用:音乐生成、序列生成。
六、多对多(Tx ≠ Ty)架构:机器翻译 [05:55]
- 场景:将法语句子翻译成英语,两种语言的词数往往不同。
- 结构分为两部分:
- 编码器(Encoder):先读入整个输入句子(如法语)。
- 解码器(Decoder):读完后输出翻译结果(如英语)。
- 重点:这种架构下 Tx 和 Ty 可以不同长度,是"多对多"的另一种形式。
理解:编码器将输入序列压缩为某种内部表示,解码器再基于该表示生成输出序列。这是后来 Seq2Seq 模型的基础。
典型应用:机器翻译。
七、架构总结与展望 [07:50]
RNN 五大架构汇总:
| 架构类型 | 输入/输出 | 典型应用 |
|---|---|---|
| 一对一 | 1 → 1 | 标准神经网络 |
| 一对多 | 1 → 多 | 音乐生成、序列生成 |
| 多对一 | 多 → 1 | 情感分类 |
| 多对多(等长) | 多 → 多 | 命名实体识别 |
| 多对多(不等长) | 多 → 多 | 机器翻译 |
- 重点:掌握这些基础模块后,几乎可以搭建所有常见的 RNN 网络。
- 序列生成还有一些细节问题,将在下一节视频中讨论。
- 本周编程作业将实现一个语言模型,生成有趣的序列或文本。
【拓展】Andrej Karpathy 的博客《The Unreasonable Effectiveness of Recurrent Neural Networks》展示了字符级 RNN 生成文本的惊人效果,是理解 RNN 序列生成能力的经典读物。
【拓展】基于注意力(Attention)的架构在后续课程(如 Sequence Models 第四周)中讲解,它解决了编码器-解码器在长序列上的信息瓶颈问题。
关键标签 / 关键词
RNN架构、多对多、多对一、一对多、一对一、情感分类、音乐生成、命名实体识别、机器翻译、编码器、解码器、Tx、Ty、序列生成、Seq2Seq、吴恩达深度学习
生成时间:2026-10-11 00:49:49 生成平台:VideoNote www.xygy.top