前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学了又忘又学的 LSTM RNN(二)

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

作者头像
木野归郎
发布2022-02-25 10:13:59
2950
发布2022-02-25 10:13:59
举报
文章被收录于专栏:share ai happiness

大家好,我是小轩

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

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

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

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

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

但是RNN也存在一些问题

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

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

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

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

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

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

这时候就会出现两种情况

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

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

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

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

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

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

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

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

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

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

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

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

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

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OnlyCoding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档