zoukankan      html  css  js  c++  java
  • RNN和LSTM系统强化学习———

    怎么也逃不开这些NLP方面的模型,那就Good good study!

    一:RNN

    核心思想:包含循环的网络,允许信息的持久化。可以将RNN展开为以下的这种模型,简言之就是每一步产生的输出可以从当前步传递到下一步

    所有 RNN 都具有一种重复神经网络模块的链式的形式。在标准的 RNN 中,这个重复的模块只有一个非常简单的结构,例如一个 tanh 层。

    二:LSTM不同于上面的RNN,RNN仅有一个单一的tanh层,而LSTM是四个类似的层,如下图所示:

    这四个图标的计算具体对应着什么???

    LSTM 中的图标

    在上面的图例中,每一条黑线传输着一整个向量,从一个节点的输出到其他节点的输入。粉色的圈代表 pointwise 的操作,诸如向量的和,而黄色的矩阵就是学习到的神经网络层。合在一起的线表示向量的连接,分开的线表示内容被复制,然后分发到不同的位置。

    LSTM 的核心思想

    LSTM 的关键就是细胞状态,水平线在图上方贯穿运行。细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。

    上面的Ct就类似于细胞状态的传输。

    LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。Sigmoid 层输出 0 到 1 之间的数值,描述每个部分有多少量可以通过。0 代表“不许任何量通过”,1 就指“允许任意量通过”!

    LSTM 拥有三个门,来保护和控制细胞状态。

    要逐步理解LSTM的三个门,可以参考链接

    http://blog.csdn.net/prom1201/article/details/52221822里面有相关的介绍,图文并茂。以及LSTM的变体GRU也有。

    接下来想实战跑一遍RNN和LSTM:

    RNN的实现过程:史上最具体的代码讲解工作。

    http://blog.csdn.net/zzukun/article/details/49968129

    通过颜色标记序列,可以看到为什么我们用隐藏层来存储标记序列:

    隐藏层循环能学习它到底去记忆什么,但是输入层循环仅仅能记住上次的数据点。

    http://blog.csdn.net/dark_scope/article/details/47056361

     

  • 相关阅读:
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    线性表——数组实现
    this指针与const成员函数
    类对象拷贝是不是赋值操作??
    你真的理解内联函数吗?
    名字查找先于类型检查:函数重载与作用域
    谈谈函数调用
    推荐形参使用常量引用:void func(const T &);
  • 原文地址:https://www.cnblogs.com/maowuyu-xb/p/6841456.html
Copyright © 2011-2022 走看看