吴恩达Coursera深度学习课程 deeplearning.ai (5-1) 循环序列模型--课程笔记

本文介绍了序列模型及其在自然语言处理领域的应用,包括语音识别、音乐生成等。重点讲解了循环神经网络(RNN)的工作原理,如前向传播、反向传播及不同类型的RNN结构,并探讨了高级RNN变种如GRU和LSTM如何解决梯度消失问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 为什么选择序列模型

序列模型的应用
  • 语音识别:将输入的语音信号直接输出相应的语音文本信息。无论是语音信号还是文本信息均是序列数据。
  • 音乐生成:生成音乐乐谱。只有输出的音乐乐谱是序列数据,输入可以是空或者一个整数。
  • 情感分类:将输入的评论句子转换为相应的等级或评分。输入是一个序列,输出则是一个单独的类别。
  • DNA序列分析:找到输入的DNA序列的蛋白质表达的子序列。
  • 机器翻译:两种不同语言之间的想换转换。输入和输出均为序列数据。
  • 视频行为识别:识别输入的视频帧序列中的人物行为。
  • 命名实体识别:从输入的句子中识别实体的名字。

image

1.2 数学符号

符号含义
  • x<t>x<t> 表示输入 x 中的第 t 个符号(单词)
  • y<t>y<t> 表示输出 y 中的第 t 个符号(单词)
  • x<t>(i)x(i)<t> 表示第 i 个输入样本中的第 t 个符号(单词)
  • y<t>(i)y(i)<t> 表示第 i 个输出样本中的第 t 个符号(单词)
  • TxTx 表示输入 x 的长度
  • TyTy 表示处处 y 的长度
字典编码
  • 利用一个字(词)典向量,通常有3-5万个字(词)。
  • 可以利用one-hot编码,指出输入的序列中每个单词的向量
    • 与字典向量大小一致
    • 是单词的索引位置1,其他位置0

image

1.3 循环神经网络模型

传统神经网络

试想我们如果将输入拆成每个字的 One-Hot 编码输入传统的深度神经网络中,经过一些隐藏层的计算得到输出 Y。

问题:

  • 输入和输出数据在不同的例子中可以有不同的长度;
  • 不能共享从文本不同位置所学习到的特征
  • 参数数量过多
循环神经网络

循环神经网络,从左到右一个字计算一步,每一步的计算不仅来自这一步的输入,也来自上一步的激活函数值。

image

  • 最左侧第一层假设了一个来自第零层的激活值向量(零向量或随机向量)
  • 有的研究论文上将循环神经网络的结构写成右边的形式,其和左边的形式是一致的。

循环神经网络是从左到右扫描数据的,同时共享每个时间步的参数。

  • Wax 管理从输入x<t>x<t>到隐藏层的连接
  • Waa 管理激活值a<t>a<t>到隐藏层的连接
  • Wya 管理隐藏层到激活值y的连接
  • 每个时间步都使用相同的 Wax,Waa,Wya
循环神经网络的前向传播

image

  • 计算每步的激活函数a: Tanh/ReLu
  • 计算每步的输出函数yhatyhat

a<t>=g(Waaa<t1>+Waxx<t>+ba)a<t>=g(Waaa<t−1>+Waxx<t>+ba)

y<t>=g(Wyaa<t>+by)y<t>=g(Wyaa<t>+by)
  1. 每一步都有一个激活函数 atat 和一个输出函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值