《白话深度学习与Tensorflow》学习笔记(3)HMM RNN LSTM

RNN:循环神经网络

与CNN最大的不同是记忆暂存功能,可以把过去输入的内容所产生的远期影响量化后与当前时间输入内容一起反应到网络中参与训练。尤其是对时间序列、自然语言(上下文关系)的处理,具有优势。

马尔科夫链:在给定当前的知识或信息下,观测对象过去的历史状态对于将来的预测是无关的,只需要观测当前状态即可得出。

HMM:隐马尔可夫模型,隐马尔可夫链的模型相对简化,是贝叶斯信念的一个特例。

假如三个骰子,分别是正方体D6、四面体D4和八面体D8。

无序的扔这三个骰子,可能出现了一串序列,2,1,8。这就叫做可见状态链,而其中还存在隐含状态链,如D4,D6,D8。HMM中的马尔科夫链一般是指隐含状态链,实际是隐含状态之间的转化概率。隐含状态和可见状态直接的概率叫做输出概率。

HMM隐马尔可夫模型,即通过统计的方法可以去观察和认知一个事件序列上邻近事件发生的概率转换问题。

如何训练HMM模型:输入Xi序列和Oi序列,全部通过统计学模型完成,得到的模型结果就是一个转移矩阵。一个输出概率矩阵和一个隐含状态转移矩阵。这样可以对下一个输出状态进行基于概率的预测。

RNN为如下的结构:

RNN单元结构

输入向量是Xt,得到Wx与Xt的乘积之后会有一个Ht,这个Ht会和下一次进入网络的Xt一起再次输入网络进行计算,调整权值,这样就可以使得前一次输入的向量所产生的结果对于本次输出的结果有一定影响,计算公式:

最终得到WH和Wx的矩阵。

RNN的模型在时间上可以进行展开(仅仅在时间上展开即随着时间的推移更新网络权值):

RNN在时间上展开

【图片来自:http://blog.csdn.net/heyongluoyao8/article/details/48636251】

误差传播:

由于误差的计算其中的

涉及很长的连乘,计算量颇大,所以会造成灾难,因此传统的RNN理论上虽然说得通,但是训练效果不理想。

改进的RNN:LSTM

LSTM:长短期记忆网络(long stort-term memory)由LSTM算法对标准RNN进行改进。规避了标准RNN中的梯度爆炸和梯度消失的问题。

忘记门(forget gate)某个X值可能会影响一个在时间上或者空间上比较远的hj输出,训练的过程就是学习到这个影响被量化的过程。LSTM可以是一个很大的方阵,中间部分是一个个LSTM单元,如下图所示:

http://www.jianshu.com/p/9dc9f41f0b29这篇文章中有详细的解释。

首先是从左到右的向量传输过去(输入的C(t-1)先进行乘法运算再叠加一个向量)。乘法器乘的系数可以考到左侧的h(t-1)和下面的Xt经过连接操作,再通过Sigmoid函数生成0-1之间的数。

忘记门:忘记就是这个相乘的过程,如果Sigmoid输出为1就完全记住,0就完全忘记,中间的值就是记忆的比例。

RNN忘记门

3、Tanh也是神经网络的一个层,可以把一个值映射到一个-1,1之间的数。

到这里其实决定本次输出的Ct究竟有多少采纳本次输入的信息,多少采纳上次遗留的信息。在语言模型中,表示前一个主语到当前是否应该被遗忘,而新的主语是否应该代替原先的主语出现。

最后的输出:2个,一个输出到同层下一个单元,一个输出到下一层的单元上。

应用:分类器、翻译器、有限状态机、聊天机器人等。

RNN+CNN 实现图片特征标注:

CNN用于提取特征,RNN用这些特征的Feature向量和描述向量来做训练。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏marsggbo

论文笔记系列-Neural Architecture Search With Reinforcement Learning

神经网络在多个领域都取得了不错的成绩,但是神经网络的合理设计却是比较困难的。在本篇论文中,作者使用 递归网络去省城神经网络的模型描述,并且使用 增强学习训练RN...

3763
来自专栏TensorFlow从0到N

TensorFlow从0到1 - 4 - 第一个机器学习问题

上一篇 3 机器人类学习的启示借鉴人类学习的模式,描绘了数据驱动的机器学习方法论:通过大量数据来确定模型,从而让模型具有预测价值。本篇提出第一个机器学习问题,...

4007
来自专栏互联网大杂烩

支持向量机(SVM)

支持向量机(support vector machine)是一种分类算法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在...

722
来自专栏机器学习之旅

应用:数据预处理-缺失值填充

2.直接根据没有缺失的数据线性回归填充,这样填充的好会共线性,填充的不好就没价值,很矛盾

973
来自专栏CVer

论文精读 | 目标检测之R-CNN

R-CNN作为R-CNN系列的开山鼻祖,其首次将CNN用于目标检测,在PASAL VOC 2010测试集上实现了53.7% mAP,也从此开启了R-CNN系列"...

1001
来自专栏数据派THU

独家 | 初学者的问题:在神经网络中应使用多少隐藏层/神经元?(附实例)

本文将通过两个简单的例子,讲解确定所需隐藏层和神经元数量的方法,帮助初学者构建神经网络。

2540
来自专栏人工智能LeadAI

R-CNN目标检测第三弹(Faster R-CNN)

今天,重看了 R-CNN 的终极改进版本 Faster R-CNN(NIPS 版)-本文提到的paper,若为特别指明,说的就是此版本。 先说一个学术趣事吧,...

4328
来自专栏专知

春节充电系列:李宏毅2017机器学习课程学习笔记03之梯度下降

【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的regression问题,其中简要提及了梯度下降(gradient descent),...

38914
来自专栏机器之心

学界 | 一文概览卷积神经网络中的类别不均衡问题

2848
来自专栏SIGAI学习与实践平台

理解Spatial Transformer Networks

随着深度学习的不断发展,卷积神经网络(CNN)作为计算机视觉领域的杀手锏,在几乎所有视觉相关任务中都展现出了超越传统机器学习算法甚至超越人类的能力。一系列CNN...

2702

扫码关注云+社区

领取腾讯云代金券