学了又忘又学的 LSTM RNN(二)

点击上方“大话coding”,选择“星标”公众号

重磅干货,第一时间送达


大家好,我是小轩

在上一篇文章学了又忘又学的RNN(一)中回顾了什么是RNN,以及RNN和普通神经网络有什么不一样

RNN解决了普通神经网络不能够将多个输入数据进行关联的问题,也就是解决了训练序列化数据时候遇到的问题

序列化数据在生活中非常常见,比如一段语音、一段文字等等

上一篇文章中也说了RNN为什么具有记忆功能

由RNN结构可知,看下面这幅图,RNN在每个时间都会将前一步计算好的值传递给当前步

59528808051b4ca16aacd41e557aa578.png

但是RNN也存在一些问题

53e79492ac77ebe85b1e5997b74cbc05.png

一般形式的RNN面对过于长的文字,会出现“遗忘”的情况,就是没有回忆起很早之前的记忆

比如:"我今天要学习机器学习,我先看第七章内容贝叶斯分类器,然后看第八章内容集成学习......最后看第十三章半监督学习..."

RNN最后预测的结果有可能不是“机器学习”,所以RNN就要开始学习这段长序列和“机器学习”之间的关系,但“机器学习”这个关键字却出现在句子开头

为了知道RNN为什么会出现这种情况,所以现在看看RNN是怎样学习的

上面那段文字中机器学习这个信息源记忆需要通过层层计算,才能到达最后

f6b613e34ab91ed10925c3a4a38140bb.png

在反向传播时候,在每一层都会乘一个参数

64c4b4965578513b7175868eff613781.png

这时候就会出现两种情况

w*大于1时候,梯度爆炸,反向传播时候不断乘w*参数,误差传到初始位置时候就会是一个无穷大的数

w*小于1时候,梯度下降,反向传播时候不断乘w*参数,误差传到初始位置时候也会是一个接近为0的数,所以对于初始时刻误差就相当于消失了

e32ca944b6332b74832038c94aa262cf.png

说了半天终于说到这篇文章的主角了——LSTM RNN

比普通RNN多了三个控制器:输入控制、输出控制、忘记控制

0c512b14623e4b518f25649897f36c82.png

LSTM RNN的核心思想,就是有一个控制全局的记忆

比如上面这张图中,颜色较深的那条箭头(贯穿LSTM整个过程),我们把这个称为主线部分

我们把上面这张图的下面输入、忘记、输出称为分线部分

如果此时输入部分对整个计算比较重要,输入就会通过输入控制按重要程度加入到主线部分再进行计算分析

如果此时改变了对之前预测分析的结果,忘记控制就会将之前某些主线部分忘记,就是按比例重新计算

所以主线部分的计算主要取决于输入和忘记这两个控制

输出部分会基于主线部分和分线部分判断要输出什么结果

我们现在来看一下网上的LSTM RNN这幅图就不难理解了,这里只截取了其中的一层

5bf94fbe3dbfe200ac25101128172b14.png

图中标注了1、2、3,分别表示上文介绍的输入、遗忘、输出控制

END

“ 近期精彩内容 ”

学了又忘又学的 RNN(一)

一文看懂机器学习指标(一)

一文看懂机器学习指标(二)

数据分析中常见的存储方式

“ 需要的长按扫描加关注 ”

76940ad865cf03f2fc17c4f1f5590673.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值