RNN和LSTM

循环神经网络RNN

 

w是权值,b是域值或偏置

RNN传输过程

 

h是隐藏层,W是h1对h0的权值,U是h1对x1的权值

h1除了接受当前网络的的输入值之外还会接受上一时刻的隐层神经元的取值h0

h1会进行一个加权求和传给输出神经元,还会传给下一个h2隐层神经元

h2的结构和h1是一样的,h2接受h1的状态和x2的值

h2会受x1的影响,网络具备记忆功能

 

 参数共享

隐状态(Hidden State) h

记忆储存:h可以对序列的数据提取特征,然后再转为输出

 

U、w:权值矩阵;b:偏置项;f:激活函数,在经典RNN中,一般使用tanh作为激活函数。

一个箭头表示对相应的向量做一次类似于f(Wx +b)的变换。

在计算时,每一步使用的参数U、W、b都是一样的,即每个步骤的参数都是共享的。

权值训练:随时间反向传播

网络输出靠输出层神经元传输,隐层进行记录完成记忆功能

 

RNN常见变体

N VS 1 RNN结构

 

N VS 1 表示输入值有多个而预测模型输出值只有一个

 

长短时记忆神经网络LSTM

RNN网络的缺陷:梯度消失

计算隐状态:首先,输入和之前的隐状态组合成一个向量,这个向量现在有当前输入和先前输入的信息。向量通过 tanh(双曲正切激活函数)激活,输出是新的隐状态,或神经网络的记忆。

  • 在RNN中,因为通常前期的层会因为梯度消失(前面的隐层无法对权值和域值更新)(激活函数常用sigmoid)而停止学习,RNN 会忘记它在更长的序列中看到的东西,从而只拥有短期记忆。

 

  • 为了解决长序列(长时间记忆),提出LSTM(此外还有GRU)。

LSTM具有与循环神经网络相似的控制流,它在前向传播时处理传递信息的数据,两者区别在于单元内的处理过程不同,它有三个门:忘记门、输入门、输出门。在训练过程中,门可以学习到哪些信息是需要保存或遗忘的。

 

遗忘门

决定哪些信息应该被丢弃或保存。

在遗忘门中,来自先前隐状态的信息和来自当前输入的信息传递到sigmoid函数,并将值压缩到0和1之间。越接近0意味着丢弃,越接近1意味着保留。

输入门:更新单元状态

首先,我们将前面的隐状态和当前输入传递给一个sigmoid函数,它通过将值转换为0到1来决定将更新哪些值。0表示不重要,1表示重要。还可以将隐状态和当前输入传递给tanh函数,使值变为-1到1之间的值,以帮助调节神经网络。然后将tanh 输出与sigmoid 输出相乘,sigmoid输出将决定保留tanh输出的重要信息。

单元状态

首先,单元状态逐点乘以遗忘向量,如果它与接近0的值相乘,就有可能在单元状态中得到低值。

然后,从输入门读取上一步输出,并逐点相加,将单元状态更新为神经网络认为相关的新值,这就得到了新的单元状态。

输出门:决定下一个隐藏状态

记住,隐藏状态包含先前输入的信息。隐藏状态也用于预测。·首先,我们将前面的隐状态和当前输入传递给一个sigmoid函数。

然后我们将新修改的单元状态传递给tanh函数。我们将tanh输出与sigmoid输出相乘,以确定隐状态应该包含的信息。新的单元状态和新的隐藏状态随后被转移到下一步中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值