博客园  :: 首页  :: 新随笔  :: 管理

循环神经网络rnn与长短时记忆神经网络简述(07-2)

Posted on 2020-03-15 17:39  wsg_blog  阅读(1223)  评论(0编辑  收藏  举报

通俗理解rnn和lstm区别

RNN

循环神经网络主要适合处理有连续特征的数据(序列数据),比如语音、文本等

   对于自然语言处理来讲,通常我们会首先对一段话进行分词,将分好后的词$X_0,X_1,X_2...X_t$依次输入其中,前面的每个词经过rnn中的A(类似于bp神经网络结构)后,都会对A产生影响,从而对后面词的输出产生影响,来完成对一整段连续数据的处理,例如机器翻译,输出这段文本的分类等。

  rnn在A向后传播的时候,后面词对输出的影响会逐渐减弱,这样就会导致只有前面的词对结果的影响比较大,针对这种缺陷,大神们又推出了rnn的变种LSTM(长短时记忆网络)

 

 LSTM

        

  上图左边是lstm的基本神经元结构,信号从图的下方输入,从图的上方输出,关键的是 他的三个门,输入门(Input Gate)、遗忘门(Forget Gate)、输出门(Output Gate),这三个门的参数初始值都是随机初始化的,通过带标签的数据进行训练,最终得到相应的值,比如lstm模型中某个神经元的输入门是0.133221,遗忘门是0.233345,输出门是0.89893。

  上图是lstm的整体数据处理的过程,通过各种门可以非常好的控制什么信号可以输入、什么信号不能输入、什么时候能输出(序列数据时序很重要,如机器翻译)还有在隐藏层里的数据在向后传的时候忘记还是不忘记。

 

 

目录:

  1. tensorflow简介、目录
  2. tensorflow中的图(02-1)
  3. tensorflow变量的使用(02-2)
  4. tensorflow中的Fetch、Feed(02-3)
  5. tensorflow版helloworld---拟合线性函数的k和b(02-4)
  6. tensorflow非线性回归(03-1)
  7. MNIST手写数字分类simple版(03-2)
  8. 二次代价函数、交叉熵(cross-entropy)、对数似然代价函数(log-likelihood cost)(04-1)
  9. 多层网络通过防止过拟合,增加模型的准确率(04-2)
  10. 修改优化器进一步提升准确率(04-3)
  11. 手写数字识别-卷积神经网络cnn(06-2)
  12. 循环神经网络rnn与长短时记忆神经网络简述(07-2)
  13. 循环神经网络lstm代码实现(07-3)
  14. tensorflow模型保存和使用08
  15. 下载inception v3  google训练好的模型并解压08-3
  16. 使用inception v3做各种图像分类识别08-4
  17. word2vec模型训练简单案例
  18. word2vec+textcnn文本分类简述及代码