循环神经网络入门(吴恩达老师_学习笔记)

目录

前言

数学符号规定

循环神经网络模型

反向传播

不同类型的循环神经网络


前言

序列模型在语音识别、自然语言处理等有时序信号的领域中引起了变革性的改变。

例子:语音识别、音乐产生、情感判断、DNA序列分析、机器翻译、视频动作翻译、语句中识别关键字词

数学符号规定

假设要构造一个模型,能识别句子中的模型,现在标签用0表示非人名,1表示人名。

这个输入数据是9个单词组成的序列,来索引这个序列的中间位置。

例如 代表Harry, 代表1。

训练样本 的序列中第t 个元素用 这个符号来表示。

如何表示一个句子里的单个的词?构造词典。可以通过one-hot编码来表示词典里的每个单词(如下图所示)。

one-hot向量,因为它只有一个值是1,其余值都是0,所以之前的例子会需要9个one-hot向量来表示这个句中的9个单词。

另外如果遇到一个不在词表中的单词,则需要创建一个新的标记,也就是Unknow Word的伪单词,用<UNK>作为标记。

循环神经网络模型

不用标准神经网络的原因:

(1)输入的X和输出的Y,长度很有可能不一样。

(2)无法共享文本在不同位置上学到的特征,无法利用时序特征

希望构造的模型能够类似卷积神经网络,可以将部分图片里学到的内容快速推广到图片中的其他部分,同样的效果也能发生在序列数据中。

  (1, 2 分别是循环神经网络的两种画法,每个时间步的参数是共享的)

当循环神经网络读到句中的第二个单词时,假设是它不是仅用 就预测出,它也会输入一些来自的信息()

预测 时,不仅要使用 的信息,还要使用来自 的信息(由表示)

其中激活值 通常设置为零向量。

但是这样传统的循环神经网络有一个显著缺点:只使用了这个序列之前的信息来做出预测,而后面的信息没有利用到

举例:“Teddy Roosevelt was a great President.”,为了判断Teddy是否是人名的一部分,仅仅知道句中前两个词是完全不够的,还需要知道句中后部分的信息。

为了解决这个问题,有研究提出了双向循环神经网络(BRNN),后续再介绍。

前向传播

先计算激活值 ,然后再计算 。

g表示激活函数,w是权重,b是偏差。 g1通常是tanh函数,g2通常是softmax函数。

RNN前向传播示意图:

简化计算公式表达(写成矩阵乘法的形式)

反向传播

训练循环神经网络同样是通过反向传播实现的。

前向传播中计算a<t>的 是属于共享参数,同样计算y<t>的也是共享参数 。

为了计算反向传播,需要一个损失函数(loss function)。

一个元素的损失函数(交叉熵损失函数)

整个序列的损失函数(每个元素相加)

注明:反向传播只计算y<t>,不考虑中间的a<t>。

不同类型的循环神经网络

之前介绍的RNN结构是对于Tx和Ty相等的情形,但是另外还有很多Tx和Ty不相等的情形(比如电影情感分类)。

通常有多对多(many-to-many)、多对一(many-to-one)和一对多(one-to-many)的结构。

 (一对多,则前面的输出继续作为后面的输入) (多对一,则前面的输入没有输出

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值