RNN循环神经网络(吴恩达《序列模型》笔记一)

1、为什么选择序列模型在这里插入图片描述

2、数学符号

用1来代表人名,0来代表非人名,句子x便可以用y=[1 1 0 1 1 0 0 0 0]来表示
在这里插入图片描述在这里插入图片描述

3、循环网络模型

在这里插入图片描述
值得一提的是,共享特征还有助于减少神经网络中的参数数量,一定程度上减小了模型的计算复杂度。
在这里插入图片描述
RNN模型包含三类权重系数,分别是Wax,Waa,Wya。
优点:不同元素之间同一位置共享同一权重系数。
缺点:它只使用了这个序列中之前的信息来做出预测。比如作出预测y<3>的时候没有用到之后x<4> 、x<5>的信息。

4、正向传播

在这里插入图片描述
简化RNN标记
在这里插入图片描述

5、反向传播

在这里插入图片描述

6、循环神经网络的其他结构

吴恩达参考的论文《The Unreasonable Effectiveness of Recurrent Neural Networks》

  • many-to-many :Name entity recognition、Machine translation
  • many-to-one : Sentiment Classification
  • one-to-one : 之前学习的网络
  • one-to-many : Music generation

在这里插入图片描述

7、构建语言模型

在单词表中对句子中的每个单词进行one-hot编码,句子结尾用< EOS >进行编码,如果有不在单词表中的单词出现,用< UNK >进行编码。
在这里插入图片描述
输入a<0>和x<1>都是零向量,用softmax输出预测值y^ <1>代表第一个词可能是词汇表中每个词的概率p(a)、p(an)、p(be)…p(< unk>)、p(< EOS>),接下来x<2>等于真实值y<1>:cats作为输入,得到预测值y^ <2>代表在第一个词是cats的情况下第二个词可能是词汇表中每个词的概率p(a|cats)、p(an|cats)、p(be|cats)…p(< unk>|cats)、p(< EOS>|cats)。

最后这句话是“cats average 15 hours of sleep a day.< EOS>”的的概率p(y<1>,y<2>,···y<9>)可以用条件概率公式计算得到。

对语料库的每条语句进行RNN模型训练,最终得到的模型可以根据给出语句的前几个单词预测其余部分,将语句补充完整。例如给出“Cats average 15”,RNN模型可能预测完整的语句是“Cats average 15 hours of sleep a day.”。
在这里插入图片描述

7、对新序列进行采样

利用训练好的RNN语言模型,可以进行新的序列采样,从而随机产生新的语句。
在这里插入图片描述基于字符的语言模型
优点:不会出现不在词汇表中的单词
缺点:会得到太多太长的序列
在这里插入图片描述

8、RNN中的梯度消失

RNN缺点:不擅长处理长期依赖

语句中可能存在跨度很大的依赖关系,即某个单词可能与它距离较远的某个单词具有强依赖关系。例如下面这两条语句:

  • The cat, which already ate fish, was full.
  • The cats, which already ate fish, were full.

由于跨度很大,普通的RNN网络容易出现梯度消失,捕捉不到它们之间的依赖,造成语法错误。
另一方面,RNN也可能出现梯度爆炸的问题,即gradient过大。常用的解决办法是设定一个阈值,一旦梯度最大值达到这个阈值,就对整个梯度向量进行尺度缩小。这种做法被称为梯度修剪(gradient clipping)。

9、门控制循环单元(GRU)

门控制循环单元(Gated Recurrent Unit):有效解决梯度消失问题,使RNN能捕获更长的依赖。
RNN的隐层单元结构如下:
在这里插入图片描述
其中a< t >的表达式为:
在这里插入图片描述
为解决上述问题,对上述单元进行修改,增加了记忆单元Cmemory cell,提供了记忆功能,GRU单元如下所示:
在这里插入图片描述
相关公式如下:
公式中的*是元素相乘
Γu意为update gate,更新门,是一个从0到1的数字。当Γu=1时,代表更新;当Γu=0时,代表记忆,保留之前的模块输出。

比如:The cat, which already ate…,was full.
cat处会产生一个c< t > 将猫是单数的信息传播到was处的Γu中,根据公式第三行,如果此时计算出来的Γu=0,则c< t >=c< t -1>不进行更新,谓词为was,如果Γu=1,则c< t >=c~< t >谓词更新为were。

由于Γu 使用了sigma激活函数,这个激活函数的特点是对于大部分输入的数来说,其对应的函数值都接近零,这样就能很大程度的保留之前的信息,这样就能很好的解决梯度消失的问题。

这一点跟CNN中的ResNets的作用有点类似。因此,Γu能够保证RNN模型中跨度很大的依赖关系不受影响,消除梯度消失问题。

上面介绍的是简化的GRU模型,完整的GRU添加了另外一个gate,即Γr,这个 Γr 告诉计算出的下一个c< t >的候选值跟c< t-1 >有多大的相关性。
表达式如下:
在这里插入图片描述
GRU特点:模型简单,计算速度快,易于构建大规模神经网络,出现在LSTM之后,现在逐渐在被人们采用。

10、长短期记忆(LSTM)

Long Short Term Memory甚至比GRU更加高效,对应的RNN隐层结构如图所示:
在这里插入图片描述
在这里插入图片描述
如果考虑c<t−1>对Γu,Γf,Γo的影响,可加入peephole connection,对LSTM的表达式进行修改:
在这里插入图片描述
GRU可以看成是简化的LSTM,两种方法都具有各自的优势。

11、双向循环网络(BRNN)

Bidirectional RNN:这个模型可以让你在序列的某点处,不仅可以获取之前的信息,还可以获取未来的信息。每个单元可以采用GRU或LSTM结构。BRNN的结构图如下:
在这里插入图片描述
这样网络就构成了无环图Acyclic graph:给定一个输入序列x^<1> 到 x^<3>, 这个序列首先计算前向的a^<1> 、a^<2>、 a^<3>, 而反向序列由a^<3> 开始计算到a^<1>,把这些所有激活值计算完后就可以计算预测结果了,比如下面的计算公式:
在这里插入图片描述
BRNN缺点:需要完整的数据的序列,才能预测任意位置。
比如:语音识别中,需要人完整的说完话,然后获取整段语音,才能处理这段语音进行识别。

12、深度循环网络(DRNN)

Deep RNN:当需要解决很复杂的问题时,可以将上面的一些RNN进行整合形成DRNN。

三层深度循环网络的结构示意图如下,其中 []:表示层数,<>:表示时间序
在这里插入图片描述
某个单元激活值的计算方式如下:
在这里插入图片描述
我们知道DNN层数可达100多,而Deep RNNs一般没有那么多层,3层RNNs已经较复杂了。

另外一种比较常用的Deep RNNs结构是每个输出层上还有一些垂直单元,如下图所示:
在这里插入图片描述
同样,每个单元可以是RNN、GRU、LSTM、BRNN。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符串匹配算法(KMP)

文章目录1. KMP由来2. KMP算法基本原理3. 代码4. Leetcode 28. 实现 strStr()1. KMP由来 上一节说的BM算法是最高效、最常用的字符串匹配算法。最知名的却是KMP&#xff0c;它3位作者&#xff08;D.E.Knuth&#xff0c;J.H.Morris&#xff0c;V.R.Pratt&#xff09;&#xff0…

常用的SQL语句

常用的SQL语句 一、基础 1、说明&#xff1a;创建数据库 CREATE DATABASE database-name 2、说明&#xff1a;删除数据库 drop database dbname 3、说明&#xff1a;备份sql server 1 --- 创建 备份数据的 device 2 3   USE master 4 5   EXEC sp_addumpdevice disk, te…

论文浅尝 | 用对抗学习做知识表示(NAACL2018)

论文链接&#xff1a;https://arxiv.org/pdf/1711.04071.pdf代码链接&#xff1a;https:// github.com/cai-lw/KBGAN 本文针对在生成负样本时有大部分负样本可以很好地和正样本区分开&#xff0c;对训练的影响不大&#xff0c;提出了使用生成对抗网络&#xff08;GANs&#xff…

为什么搜索与推荐场景用AUC评价模型好坏?

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 吴海波在互联网的排序业务中&#xff0c;比如搜索、推荐、广告等&#xff0c;AUC&#xff08;Area under the Curve of ROC&#xff09;是一个非常常见的评估指标。网上关于AUC的资料很多&#xff0c;知…

Redis系列教程(九):Redis的内存回收原理,及内存过期淘汰策略详解

Redis内存回收机制 Redis的内存回收主要围绕以下两个方面&#xff1a; 1.Redis过期策略:删除过期时间的key值 2.Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据 Redis的过期策略和内存淘汰策略不是一件事&#xff0c;实际研发中不要弄混淆了&#xff0c;下面会…

字符串匹配算法(Trie树)

文章目录1. Trie树概念2. Trie树操作2.1 存储2.2 查找2.3 插入2.4 删除2.5 打印3. 完整代码4. Trie树与散列表、红黑树的比较4.1 思考题参考文章5. 练习题1. Trie树概念 Trie树&#xff0c;也叫字典树&#xff0c;它是一个树形结构。是一种专门处理字符串匹配的数据结构&#…

论文浅尝 | 基于知识图谱嵌入的 Bootstrapping 实体对齐方法

来源: IJCAI 2018链接: https://www.ijcai.org/proceedings/2018/0611.pdf本文关注基于知识图谱嵌入(后文全部简称为知识嵌入)的实体对齐工作&#xff0c;针对知识嵌入训练数据有限这一情况&#xff0c;作者提出一种 bootstrapping 策略&#xff0c;迭代标注出可能的实体对齐&a…

大规模领域词汇库项目DomainWordsDict:涵盖68个领域、共计916万的词汇库资源开放

项目概述 DomainWordsDict, Chinese words dict that contains more than 68 domains, which can be used as text classification、knowledge enhance task。涵盖68个领域、共计916万词的专业词典知识库&#xff0c;可用于文本分类、知识增强、领域词汇库扩充等自然语言处理应…

递归」与「动态规划

原文地址&#xff1a;https://juejin.im/post/5c2308abf265da615304ce41#heading-8 在学习「数据结构和算法」的过程中&#xff0c;因为人习惯了平铺直叙的思维方式&#xff0c;所以「递归」与「动态规划」这种带循环概念&#xff08;绕来绕去&#xff09;的往往是相对比较难以…

当知识图谱遇上推荐系统之DKN模型(论文笔记一)

Deep Knowledge-Aware Network for News Recommendation 类别&#xff1a;依次学习 首先使用知识图谱特征学习得到实体向量和关系向量&#xff0c;然后将这些低维向量引入推荐系统&#xff0c;学习得到用户向量和物品向量。 [论文下载链接]https://arxiv.org/abs/1801.08284…

POJ 1936 字符匹配(水题)

题目链接&#xff1a; http://poj.org/problem?id1936 题目大意&#xff1a; 给定字符a&#xff0c;b&#xff0c;问b中去掉一些字符后能不能得到a 解题思路&#xff1a; 暴力从前往后扫描一遍即可。 AC代码&#xff1a; /*** description: poj1936水题* author: michael…

领域应用 | 从数据到智慧,知识图谱如何推动金融更智能?

本文转载在公众号&#xff1a;恒生技术之眼。在《人工智能知识图谱&#xff1a;如何规整海量金融大数据&#xff1f;》一文中&#xff0c;笔者曾提到&#xff0c;面向人工智能的大数据治理&#xff0c;势必能有效支撑智能金融从感知智能向认知智能变革。这是因为目前在资本市场…

2021届秋招算法岗真的要灰飞烟灭了吗?

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 不拖更的夕小瑶2014年末入坑AI&#xff0c;一路见证了AI行业的快速起飞、爆炸、焦虑和冷却。小夕前几天在知乎上看到一个问题《如何看待2021年秋招算法岗灰飞烟灭》被顶上了热榜。有点感叹&#xff0c;怎…

万字长文:近年来学界、业界视角下的“事理图谱”发展总结与思考

一、引言 大部分技术都会经历从提出&#xff0c;到验证&#xff0c;再到修正&#xff0c;再到落地的这样一个过程。事理图谱这个概念从国内学者自2017年提出到现在&#xff0c;已经经历了近4年的时间&#xff0c;那么在这四年的时间里&#xff0c;事理图谱目前处于一个什么…

Redis系列教程(二):详解Redis的存储类型、集群架构、以及应用场景

高并发架构系列 高并发架构系列&#xff1a;数据库主从同步的3种一致性方案实现&#xff0c;及优劣比较 高并发架构系列&#xff1a;Spring Cloud的核心成员、以及架构实现详细介绍 高并发架构系列&#xff1a;服务注册与发现的实现原理、及实现优劣势比较 高并发架构系列&a…

当知识图谱遇上推荐系统之PippleNet模型(论文笔记二)

RippleNet | Propagating User Preferences on the Knowledge 类别&#xff1a;联合学习 将知识图谱特征学习和推荐算法的目标函数结合&#xff0c;使用端到端&#xff08;end-to-end&#xff09;的方法进行联合学习。 [论文下载链接]https://arxiv.org/abs/1803.03467 1、…

POJ 3690 找星座(2D匹配)(未解答)

文章目录1. 题目信息1.1 题目链接1.2 题目大意1.3 解题思路2. 代码2.1 Time Limit Exceeded 代码2.2 Time Limit Exceeded 代码2.3 Time Limit Exceeded 代码1. 题目信息 1.1 题目链接 http://poj.org/problem?id3690 1.2 题目大意 给定大的矩阵&#xff08;天空的样子&am…

综述 | 事件抽取及推理 (上)

本文转载自公众号&#xff1a;知识工场。 事件概要事件是一种重要的知识&#xff0c;近年来&#xff0c;越来越多的工作关注于从开放域或领域文本中抽取结构化事件知识。同时&#xff0c;除了本身就很困难的…

下载 | 李宏毅:1 天搞懂深度学习,我总结了 300 页 PPT

《1 天搞懂深度学习》&#xff0c;300 多页的 ppt&#xff0c;台湾李宏毅教授写的&#xff0c;非常棒。不夸张地说&#xff0c;是我看过最系统&#xff0c;也最通俗易懂的&#xff0c;关于深度学习的文章。这份 300 页的 PPT&#xff0c;被搬运到了 SlideShare 上&#xff0c;下…

史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等

最全面试题答案系列 史上最强多线程面试44题和答案&#xff1a;线程锁线程池线程同步等 最全MySQL面试60题和答案 史上最全memcached面试26题和答案 史上最全Spring面试71题与答案 今天主要分享redis最全答案系列 Redis主要有哪些功能&#xff1f; 1.哨兵&#xff08;Sen…