lstm是rnn,lstm是rnn中的一种吗

  lstm是rnn,lstm是rnn中的一种吗

  1、RNN

  简单神经网络和卷积神经网络都有一个主要特点,就是不具备记忆能力,也就是说它们都是单独处理每一个输入,但是前后输入之间没有关系。例如,如果需要处理数据点或时间序列,则需要同时向网络显示整个时间序列,即将时间序列转换为单个数据点输入。采用这种输入方式的网络称为前馈神经网络(feddforwardnetwork)。

  为了使这个过程更容易理解,我们使用简单的循环逻辑来实现RNN的正向传播。

  #简单RNN实现Numpy实现

  importnumpyasnp

  时间步长=100

  input_feature=32

  output_fearture=64

  Inputs=np.random.random((时间步长,input _ feature)) #生成一个100,32形状的矩阵

  打印(输入)

  state _ t=NP . zeros((output _ fearture,))#生成64个全0的数字。

  打印(状态t)

  w=np.random.random((输出特征,输入特征))

  u=np.random.random((输出_特征,输出_特征))

  b=NP . random . random((output _ feature,))

  连续输出=[]

  forinput _ tininputs:

  输出_ t=NP。tanh (NP。dot (w,input _ t) NP。dot (u,state _ t) b) # NP。点表示数组点积。

  successive _ outputs . append(output _ t)

  状态t=输出t

  最终输出序列=np.stack(连续输出,轴=0)

  打印(最终输出序列)2、LSTM

  从理论上讲,RNN应该能够记住过去看过的信息,但实际上它不可能学习到长期存在的信息,主要是因为梯度的消失。因此,研究人员设计了LSTM(longshort-termmemory),称为长期和短期记忆。

  与RNN相比,LSTM具有跨域携带信息的多时间步长(单元状态C)。这一步类似于传送带,其运行方向平行于你正在加工的序列方向。序列中的信息可以随时跳到传送带上,然后被传送带送到更远的时间步,如果需要,还可以原封不动地跳回来。这是LSTM的原则。

  这是python中对RNN和LSTM的基本介绍。希望能帮到你!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: