Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >学了又忘又学的 LSTM RNN(二)

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

作者头像
木野归郎
发布于 2022-02-25 02:13:59
发布于 2022-02-25 02:13:59
3060
举报
文章被收录于专栏:share ai happinessshare 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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
华为oj之字符串反转
题目: 字符串反转 热度指数:4940 时间限制:1秒 空间限制:32768K 本题知识点: 字符串 题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如: 输入描述
Enjoy233
2019/03/05
4420
华为oj之字符个数统计
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
Enjoy233
2019/03/05
8310
华为oj之等差数列前n项和
题目: 等差数列 热度指数:1010 时间限制:1秒 空间限制:32768K 题目描述 功能: 对于等差数列 2,5,8,11,14… 输入: 正整数N >0 输出: 求等差数列前N项和
Enjoy233
2019/03/05
4640
华为oj之【中级】单词倒排
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
Enjoy233
2019/03/05
6690
华为oj之提取不重复的整数
题目: 提取不重复的整数 热度指数:4740 时间限制:1秒 空间限制:32768K 本题知识点: 数组 题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入例子: 9876673 输出例子: 37689 在线提交网址: http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
Enjoy233
2019/03/05
6140
华为oj之(整型)数字颠倒
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
Enjoy233
2019/03/05
7020
每日一题C++版(句子反序)
编程是很多偏计算机、人工智能领域必须掌握的一项技能,此编程能力在学习和工作中起着重要的作用。因此小白决定开辟一个新的板块“每日一题”,通过每天一道编程题目来强化和锻炼自己的编程能力(最起码不会忘记编程)
小白学视觉
2019/10/24
6040
华为oj之最小公倍数
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。
Enjoy233
2019/03/05
7840
华为oj之字符串分割
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
Enjoy233
2019/03/05
6600
华为oj之求解立方根
立方根的逼近迭代方程是 y(n+1) = y(n)*2/3 + x/(3*y(n)*y(n)),其中y0=x. 求给定的x经过n次迭代后立方根的值。
Enjoy233
2019/03/05
9310
华为oj之字符统计(按出现次数由多到少的顺序进行输出)
如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。
Enjoy233
2019/03/05
1.3K0
华为oj之计算字符个数
写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
Enjoy233
2019/03/05
5640
C++ Primer Plus习题及答案-第十六章
因为string对象提供了自己的内存管理功能,所以不需要再显式定义复制构造函数、析构程序和赋值运算符。
艰默
2023/02/26
9920
C++ Primer Plus习题及答案-第十六章
C++版 - 剑指offer面试题28: 字符串的排列
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。
Enjoy233
2019/03/05
6360
STL介绍以及string类
是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。
用户11039545
2024/08/20
1390
STL介绍以及string类
每天一道剑指offer-翻转单词顺序列
先反转整个字符串,“student. a am I”反转完就是“I ma a .tneduts”,然后依据空格分割字符串以后,再继续反转每一个单词,最后就是最终的结果
乔戈里
2019/01/28
4580
华为oj之字符串最后一个单词的长度
热度指数:9697 时间限制:1秒 空间限制:32768K 本题知识点: 字符串
Enjoy233
2019/03/05
1K0
华为机试001:字符串最后一个单词的长度(华为OJ001)
华为机试 字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开。 提交网址: http://www.nowcoder.com/practice/8c949ea5f36f422594
Enjoy233
2019/03/05
8760
C++版 - 剑指Offer 面试题35:第一个只出现一次的字符 解题报告(华为OJ034-找出字符串中第一个只出现一次的字符)
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。(2006年google的一道笔试题。)
Enjoy233
2019/03/05
8430
【C++】9道经典面试题带你玩转string类
https://leetcode.cn/problems/ba-zi-fu-chuan-zhuan-huan-cheng-zheng-shu-lcof/
修修修也
2024/06/17
1060
【C++】9道经典面试题带你玩转string类
相关推荐
华为oj之字符串反转
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档