原理笔记 - 循环神经网络(RNN)

目录

1. 呈上启下的前言

2. 序列模型

3. RNN循环网络

3.1 RNN识别人名

Step 1 :转化字典

Step 2 :one-hot 向量处理

Step3: 带入模型

3.2 基本的RNN结构

1. 一对一

2. 多对一

3. 一对多

4. 多对多

3.3 RNN存在的问题

4. 长短期记忆网络(LSTM)

4.1引入记忆细胞

4.2 LSTM 单元核心结构

4.2 LSTM结构

5. 双向循环神经网络(BRNN)

6. 深层循环神经网络(DRNN)

1. 呈上启下的前言

前几篇笔记中,我们讲了CNN卷积神经网络,我们可以把CNN总结为:

MLP + 图像卷积运算 = CNN

接下来我们要介绍另一种神经网络,RNN循环神经网络,提前总结为:

MLP + 神经元之间的递归运算 = RNN

为什么会有序列模型的出现?

传统的机器学习模型中,数据的顺序不会影响结果。但在一些实际生活中,数据本身的顺序就传达了不同的信息,比如 ‘吃饭没’ ‘没吃饭’ ,这就引出了序列模型(Sequence model)的应用。

2. 序列模型

序列模型的定义为,输入或输出中包含有序数据的模型,即序列中包含信息的模型其与传统机器学习最大的区别在于:

1. 输入或输出元素有顺序关系,顺序会影响结果

2. 输入输出长短不固定

序列模型的应用场景

  1. 声音转文字
  2. 人名识别
  3. 自然语言情感分析
  4. DNA序列分析
  5. 机器翻译
  6. 行为预测
  7. 股票预测
  8. 等。。。

3. RNN循环网络

通过序列模型的思想去解决问题,有一个非常厉害的模型,就是RNN循环神经网络。RNN神经网络的机构也非常好理解,就是在MLP模型的基础上加上了神经元的递归,说白了就是前部序列的重要信息再次作为一个神经元输入后面序列。

3.1 RNN识别人名

对应代码:《代码实战 – 循环神经网络(RNN)》

自然语言处理是RNN的重要应用场景,所以我们来看一下他是如何处理字符串

Step 1 :转化字典

Step 2 :one-hot 向量处理

Step3: 带入模型

现在,有x有y了,就可以进行正向传播算法了,目标为最小化总损失,这就是整个RNN模型识别人名的运用了,在有了输入与输出后算法与前面讲到的MLP和CNN逻辑是一样的。

3.2 基本的RNN结构

1. 一对一

特点:多输入多输出,且输入输出样本数相同,即一个输入样本对应一个输出结果

应用:特定信息查找,如上面识别人名的案例。

2. 多对一

特点:多输入单输出

应用:情感识别

举例:I am very happy.

输出:positive

3. 一对多

特点:单输入,多输出

应用:序列数据生成器(图片字幕,音乐生成,文章生成)

举例:帮我写一篇500字的作文

输出:(此处省略500字)

4. 多对多

特点:多输入,多输出,但输入输出样本数可能不相同

应用:机器翻译

举例:Do you want to have dinner with me?

输出:你想和我一起吃晚饭吗?

3.3 RNN存在的问题

两大问题:

1. 前部信息在传递到后面之后,信息权重下降,可能导致重要信息丢失

2. 对RNN进行反向传播算法求解时,梯度会消失,就没办法找到一个很好的解

4. 长短期记忆网络(LSTM)

4.1引入记忆细胞

为了解决上面我们提到的问题,我们引入长短期记忆网络(long short term memory)。先对比下单元区别:

a实现了序列信息传递,记忆细胞c保证重要信息不易丢失,从而提高预测准确性。

4.2 LSTM 单元核心结构

4.2 LSTM结构

  1. 现在即使有很多层,也可以保证前部重要信息在后面预测中保留
  2. 减少了普通RNN的求解过程中的梯度消失问题

5. 双向循环神经网络(BRNN)

核心思想:后续序列信息也会用于前部信息的预测

6. 深层循环神经网络(DRNN)

核心思想:把单层RNN叠起来或结合MLP结构一起使用,用于更难提取的复杂信息

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值