循环神经网络RNN公式推导走读

0语言模型-N-Gram

语言模型就是给定句子前面部分,预测后面缺失部分

eg.我昨天上学迟到了,老师批评了____。

N-Gram模型: ,对一句话切词 我 昨天 上学 迟到 了 ,老师 批评 了 ____。

2-N-Gram 会在语料库中找 了 后面最可能的词;

3-N-Gram 会在预料库中找 批评了 后面最可能的词;

4-N-Gram 的内存耗费就非常巨大了(语料库中保存所有的四个词的预料组合)。

1.1单向循环神经网络

一个单隐层结构示意图:

参数:输入到隐层的权重U、隐层到输出的权重V,自身递归的权重W

循环层输出:f是激活函数;

输出层(全连接)g是激活函数;

1.2双向循环神经网络

单向循环网络是根据前文猜测空白词语;双向是根据前后文一起预测空白词语。

eg 我的手机坏了,我打算____一部新手机。

双向卷积神经网络的隐藏层要保存两个值,一个A参与正向计算,另一个值A‘参与反向计算。

最终输出, 正向计算时,隐藏层的值与有关;反向计算时,隐藏层的值与有关;最终的输出取决于正向和反向计算的加和。

注:同向权重共享,异向权重不共享!

规范格式:

1.3深度循环网络

堆叠多个隐层,示意图如下:

  第i个隐藏层计算:

2训练BPTT

同bp的训练步骤

  

2.1 前向计算:

向量形式:

2.2 反向计算:分两个方向考虑,沿时间反向传播(与W有关)传递到上一层网络(与U有关)

2.2.1第一个方向,沿时间传递一个时刻:同bp原理借用netj传导

又t时刻和t-1时刻netj的关系:

因此梯度链

上式第一项:     第二项:

带入求得

所以最终梯度计算得:

2.2.2第二个方向:同bp

由l层和l-1层的netj关系:

因此梯度链

所以最终梯度计算得: 

2.3计算权重矩阵W

由nett计算公式:

求t时刻w的梯度:

所以 t时刻W的梯度为: 

最终 各个时刻W梯度之和:

2.4计算权重U:

同理W,求t时刻u的梯度: 

最终 各个时刻U梯度之和: 

3梯度爆炸和消失问题

由于RNN在训练过程中容易发生梯度爆炸和消失问题,所以不适合处理较长序列。

梯度爆炸问题:设置阈值,直接截取;

梯度消失问题:1合理初始化权重,躲避梯度消失区域;

2用relu代替tanh和sigmoid作为激活函数;

3使用GRU或者LSTM结构。

4工程应用:

1 one-hot编码:建立一个包含所有词汇的字典,每个词都是N维的二进制向量,排列在第几个就第几位为1,其余0;

缺点:得到高纬并且稀疏的向量

2softmax:可以得到输出概率

3优化函数:soft max层对应交叉熵代替均方误差MSE,研究证明更make sense

参考:网络博客

时间: 2024-10-11 04:24:58

循环神经网络RNN公式推导走读的相关文章

循环神经网络(RNN)模型与前向反向传播算法

在前面我们讲到了DNN,以及DNN的特例CNN的模型和前向反向传播算法,这些算法都是前向反馈的,模型的输出和模型本身没有关联关系.今天我们就讨论另一类输出和模型间有反馈的神经网络:循环神经网络(Recurrent Neural Networks ,以下简称RNN),它广泛的用于自然语言处理中的语音识别,手写书别以及机器翻译等领域. 1. RNN概述 在前面讲到的DNN和CNN中,训练样本的输入和输出是比较的确定的.但是有一类问题DNN和CNN不好解决,就是训练样本输入是连续的序列,且序列的长短不

《转》循环神经网络(RNN, Recurrent Neural Networks)学习笔记:基础理论

转自 http://blog.csdn.net/xingzhedai/article/details/53144126 更多参考:http://blog.csdn.net/mafeiyu80/article/details/51446558 http://blog.csdn.net/caimouse/article/details/70225998 http://kubicode.me/2017/05/15/Deep%20Learning/Understanding-about-RNN/ RNN

循环神经网络 RNN

随着科学技术的发展以及硬件计算能力的大幅提升,人工智能已经从几十年的幕后工作一下子跃入人们眼帘.人工智能的背后源自于大数据.高性能的硬件与优秀的算法的支持.2016年,深度学习已成为Google搜索的热词,随着最近一两年的围棋人机大战中,阿法狗完胜世界冠军后,人们感觉到再也无法抵挡住AI的车轮的快速驶来.在2017年这一年中,AI已经突破天际,相关产品也出现在人们的生活中,比如智能机器人.无人驾驶以及语音搜索等.最近,世界智能大会在天津举办成功,大会上许多业内行家及企业家发表自己对未来的看法,可

【460】循环神经网络 RNN

参考:An Introduction to Recurrent Neural Networks for Beginners 其中每一个彩色框都是一排神经元,相当于普通 NN 的一层,例如 X0 为 input 层,然后 h0 为 hidden 层,y0 为 output 层: 以此类推,X1...Xn 都是 input 层,h0...hn 都是 hidden 层,y1...yn 都是 output 层. 对于一句话来说,每个单词相当于一个 input,因此可以处理不同长度的单词输入,同时前面的输

机器学习小白关于循环神经网络的5个问题

机器不学习 jqbxx.com-关注机器学习,深度学习,自然语言处理,大数据,个性化推荐,搜索算法,知识图谱 问题1:什么是循环神经网络RNN? 如下图,如何能让Alpha蚂蚁识别下图的句子(是让它识别句子理解句子而非文字),并且填入正确的答案呢? 如果用以往的方式,Alpha蚂蚁只能看到是这个字以及它后面的内容,关键是谁知道是后面该填写什么?Alpha蚂蚁去搜索了百度,百度上最高的统计结果是:"是"后面跟着"我"字,于是Alpha蚂蚁在这里填写了"我&q

理解循环神经网络的来龙去脉

一.为什么会出现循环神经网络? 传统的语言模型中,计算特定序列中多个单词出现概率的公式为(以下式子),P(w1,-,wm)一般只考虑前 n 个单词而不是考虑全部之前的单词. 上式对语音.翻译系统中判断一个词序列是否是输入句子的准确翻译起了重要作用.这些只依赖前面1个词(bigram).依赖前面2个词(trigram).... .依赖前面连续n个单词窗口的方式可能不足以捕获足够的上下文信息.在所有传统语言模型中,随着窗口n的增大,系统所需的运行内存也会呈现指数级增长,使得几乎不可能对较大型的词窗口

TensorFlow框架(6)之RNN循环神经网络详解

1. RNN循环神经网络 1.1 结构 循环神经网络(recurrent neural network,RNN)源自于1982年由Saratha Sathasivam 提出的霍普菲尔德网络.RNN的主要用途是处理和预测序列数据.全连接的前馈神经网络和卷积神经网络模型中,网络结构都是从输入层到隐藏层再到输出层,层与层之间是全连接或部分连接的,但每层之间的节点是无连接的. 图 11 RNN-rolled 如图 11所示是一个典型的循环神经网络.对于循环神经网络,一个非常重要的概念就是时刻.循环神经网

CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)

CNN(卷积神经网络).RNN(循环神经网络).DNN(深度神经网络)的内部网络结构有什么区别? DNN以神经网络为载体,重在深度,可以说是一个统称.RNN,回归型网络,用于序列数据,并且有了一定的记忆效应,辅之以lstm.CNN应该侧重空间映射,图像数据尤为贴合此场景. DNN以神经网络为载体,重在深度,可以说是一个统称.RNN,回归型网络,用于序列数据,并且有了一定的记忆效应,辅之以lstm.CNN应该侧重空间映射,图像数据尤为贴合此场景. Stanford University CS231

循环和递归神经网络 (RNN) 与 长短时记忆 (LSTM)

即使不是 NLPer,现实中依然会面对很多序列问题. 全文内容来自 Ian Goodfellow, Yoshua Bengio 和 Aaron Courville 3位大老爷的作品"Deep Learning"的其中1章"Sequence Modeling: Recurrent and Recursive Nets" 1. 1986年 Rumelhart 等人提出循环神经网络.循环网络与多层网络相比,会共享每层的权重,从而能够扩展和应用网络于不同长度的序列案例,以及