CS224-拓展阅读《了解LSTM神经网络》 (博客)

cs224官网,梯度消失与多种循环神经网络,拓展阅读5-了解LSTM神经网络

内容仅为记录,加强记忆,深化学习,翻译定有瑕疵,仅供参考阅读。

网址:http://colah.github.io/posts/2015-08-Understanding-LSTMs/

第一节循环神经网络

当你在阅读本篇文章时,你通常是基于前面的内容来了解现在的内容,而不是每阅读一个词句都单独处理一次,既是你的思想具有连贯性,你的想法是有持续性的。

传统的神经网络并不会体现持续性这种特性,这也是其中的一个缺点。他不能运用之前的信息来对现有状况做出预测。循环神经网络解决了这一问题,使得信息能保持一段时间。神经网络有了记忆。循环神经网络是内有循环结构的网络结构,上一时间的状态作为输入传递到下一时间的计算,当我们将结构进行展开,得到链式的一种结构,而链式结构的本质解释了循环神经网络与序列与列表密切相关。RNN正适合处理这类型的数据。

近年来RNN在语音识别,语言建模,翻译,图像标题一系列任务重表现出色,此处引出LSTM,他比RNN更加出色,并且应用更加广泛。

第二节长期依赖引发的问题

RNN的确能做到将之前信息与现有输入结合起来运算的能力,但是,当记忆状态与现有输入的时间差相差过多时,RNN就越来越无法利用之前的记忆,我们称其为长依赖问题(long-term problem)。依照原理,RNN是有能力解决类似问题的,但是实际操作时,RNN表现为无法学习到连接长距离记忆的权值。

长短时记忆网络,有能力解决上述long-term dependecy问题。论文连接:http://www.bioinf.jku.at/publications/older/2604.pdf

效果佳受用面广,大受欢迎。

LSTM就是被设计来克服长时依赖问题的一种网络结构,网络结构存储长时间之前的状态(~30,40)

LTSM的核心点

cell state 是LSTM的核心点,图中的水平线Ct-1 ----> Ct-2。cell state就像是一条传送带,从整个LSTM单元穿过,只有一些小的小型交互(两个加法),信息从cellstate可以轻松得到传送并不被修改。LSTM有能力修改过往状态的信息,这与被称为门的结构控制。门结构由sigmoid网络层和一个点积组成。

LSTM运行过程细节

第一步,决定有哪些是要丢给cell state的。(输入与前一状态经过sigmoid层)(forget gate),输出一个0-1之间的小数,决定了保留的比率。处理过往cell-state

第二步,决定存储那些新信息,同时进行sigmoid计算与tanh计算,一计算决定更新那些信息,二计算生成新的候选值,被加入到cell state中,下一步将两个值点乘

第三步,更新前一步长的状态cellstate,点乘第一步产物forget系数,抛弃决定抛弃的,加上第二步输入门与新候选值的点积结果,相加决定了我们要更新哪些部分的权值(维度?)第三步就是我们决定抛弃那些信息与更新哪些信息的步骤。

第四步,最后一步,决定输出,输出基于cellstate,但是会是滤波后的cellstate,首先将输入做sigmoid计算,对cellstate做tanh计算,二者相乘完成输出

前馈步骤结束,变体部分明天再写吧

结论

LSTM真的很棒,但是有没有什么其他方法呢?

是的,船新版本的Attention正式上个问题的答案,简述原理为,RNN的单元进行一次计算时,都会从大信息集合中选取信息(全文)还有grid LSTM看起来也是前途无量(谁高一脚我不知道,attention是挺火),在生成模型中使用RNN看起来也是十分有趣。在过去的几年里,对于递归神经网络来说是一个激动人心的时期,而未来的神经网络将会更加激动人心!

致谢

感谢各位朋友和提供帮助的人(随便点开一个就是googleai研究员,真好)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip
毕设新项目基于python3.7+django+sqlite开发的学生就业管理系统源码+使用说明(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 学生就业管理系统(前端) ## 项目开发环境 - IDE: vscode - node版本: v12.14.1 - npm版本: 6.13.4 - vue版本: @vue/cli 4.1.2 - 操作系统: UOS 20 ## 1.进入项目目录安装依赖 ``` npm install ``` ## 2.命令行执行进入UI界面进行项目管理 ``` vue ui ``` ## 3.编译发布包(请注意编译后存储路径) #### PS:需要将编译后的包复制到后端项目的根目录下并命名为'static' 学生就业管理系统(后端) ## 1.项目开发环境 - IDE: vscode - Django版本: 3.0.3 - Python版本: python3.7.3 - 数据库 : sqlite3(测试专用) - 操作系统 : UOS 20 ## 2.csdn下载本项目并生成/安装依赖 ``` pip freeze > requirements.txt pip install -r requirements.txt ``` ## 3.项目MySQL数据库链接错误 [点击查看解决方法](https://www.cnblogs.com/izbw/p/11279237.html)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值