猪猪的机器学习笔记(二十)循环神经网络

循环神经网络

 

做者:樱花猪算法

 

摘要:网络

    本文为七月算法(julyedu.com12月机器学习第二十次课在线笔记。 多层反馈RNN(Recurrent neural Network、循环神经网络)神经网络是一种节点定向链接成环的人工神经网络。这种网络的内部状态能够展现动态时序行为。不一样于前馈神经网络的是,RNN能够利用它内部的记忆来处理任意时序的输入序列,这让它能够更容易处理如不分段的手写识别、语音识别等。机器学习

 

引言:函数

 循环神经网络的目的使用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全链接的,每层之间的节点是无链接的。可是这种普通的神经网络对于不少问题却无能无力。RNN之因此称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点再也不无链接而是有链接的,而且隐藏层的输入不只包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNNs可以对任何长度的序列数据进行处理。可是在实践中,为了下降复杂性每每假设当前的状态只与前面的几个状态相关。学习

    本次课程比较注重于实践spa

 

预备知识:.net

人工神经网络orm

 

 

 

1、状态和模型blog

 

IID数据:分类问题、回归问题、特征表达。ci

大部分数据都不知足IID:序列分析、序列生成、内容提取。

 

1、序列样本

 

序列样本多种多样,能够一对1、一对多和多对多等。

RNN不单单可以处理序列输出,同时也可以获得序列输出,所以咱们能够说RNN学习出来的是程序而不是函数。

 

二、序列预测:

输入:时间变化向量序列:

t时刻经过模型来估计:

序列预测存在的问题:

A. 对内部状态难以建模和观察

B. 对长时间范围的场景(context)难以建模和观察

 

解决方案:引入内部隐含状态变量

 

 

三、序列预测模型:

 

输入离散列序列:

在时间t的更新计算:

预测计算:

整个计算过程当中,W保持不变,0时刻初始化

 

2、RNN训练

 

   前向计算,相同W矩阵须要乘以屡次;多步以前的输入x会影响当前的输出;在后向计算的时候,一样相同的矩阵也会乘以屡次。

 

一、BPTT算法(BackProp Through Time

RNN前向计算

 

计算W的偏导,把全部的Time Step加起来

 

应用链式规则

 

 

二、LSTMLong Short Term MemoryCell

 

是一种应用最为普遍、成功的RNN方案。

能够长期保持某个状态,cell state值经过forget gate控制实现保留多少“老”的状态

Layer把输入维度x变成输出维度h

 

 参考文献

http://blog.csdn.net/heyongluoyao8/article/details/48636251

 



相关文章
相关标签/搜索