RNN-LSTM入门

RNN-LSTM入门

Last Edited: Dec 02, 2018 10:20 PM
Tags: 机器学习,论文阅读

RNN-Recurrent Neural Network

  1. 概念:

    1. 序列数据:简而言之,序列数据就是后面的数据与前面的数据相关的数据,例如上下文、时间序列等。
    2. 递归神经网络(RNN):在基础神经网络中加入了环形结构,让神经元的输出信号返回继续作为输入信号,目的是让t时刻的输出状态不仅与t时刻的输入相关联,还与t-1时刻的状态相关联。
  2. RNN结构图:

    1072375-20190416112958469-754910448.png

    左侧为折叠情况下的RNN网络结构图,右侧为展开的RNN网络结构图。x为输入,h为循环的隐层,o为输出,L为损失函数,y是样本中的标准值,U、V、W为权值。

  3. 标准RNN的特点:

    1. 随着循环的进行,损失函数L也在积累。
    2. 权值共享(weight sharing),降低了参数数量。
    3. 每一个输入值都只与它本身的那条路线建立权连接,不会和别的神经元连接。
  4. 算法公式:

    1. 向前传播公式:

      1072375-20190416113025984-221823442.png

      ϕ是激活函数,一般选择tanh函数,b为偏置量。

    2. t时刻的输出公式:

      1072375-20190416113036254-2087823657.png

    3. 最终的预测模型为:

    1072375-20190416113056789-306346148.png


LSTM

  1. 概念:

    1. LSTM网络是RNN的一个变种,在RNN执行的过程中,对于距离较近的关键词有很好的记忆性,但是对于长距离关键词的记忆性比较低。下面两幅图分别展示了这两种情景:

      1072375-20190416113115675-1373535898.png

      X0、X1是h3的输入,输入与输出之间的距离比较近。

      1072375-20190416113126854-1923573522.png

      X0、X1与输出h t+1之间的距离太长,RNN对长时间记忆有明显的不足。

      由此引出RNN的变种网络:LSTM网络。

    2. LSTM网络结构:

      1. 对于标准RNN网络,h是随着时间不断更新的。在LSTM网络中新加了一个循环点:细胞C。 细胞C随着时间流动带来了长期的记忆。

    1072375-20190416113139509-1440662895.png

    传统标准RNN网络,只有h是在循环更新的。

    1072375-20190416113148529-1470522408.png

    LSTM网络,在h更新的同时,细胞也在更新。

    1072375-20190416113157319-1310227733.png

    上图的图示。

    1072375-20190416113206814-1998364005.png

    细胞更新的路线。 两个粉色⚪表示信息进行一些基础的运算,在h循环更新的过程中,细胞C的信息也在不断更新。由于细胞C只是进行一些简单的运算,所以它的信息可以在流通中保持大体不变。

    1072375-20190416113219384-1870638590.png

    这样的结构称为LSTM的”门“结构,可以控制信息的进出。黄色方框里面是一个sigmoid函数。

    1. LSTM网络输入输出流程:

      1. 遗忘:选择忘记过去的某些信息

        1072375-20190416113228175-736887698.png

        理解:并不是全部信息都要记住的,需要选择性遗忘。上一层的输入和本层的输入通过sigmoid函数变成一个取值在[0,1]的值,0表示完全遗忘,1表示必须记住。再通过“X”乘法操作与上层数据汇合。这里被称为遗忘门。

      2. 输入:选择记忆现在的某些信息

        1072375-20190416113236304-314861026.png

        理解:将输入的信息分别通过sigmoid函数和tanh函数的处理,共同输入到“X”乘法运算中。同样的Sigmoid函数仍然输出一个[0,1]的值,表示该数据的可以记忆的价值是多少。tanh发挥的作用类似于RNN中发挥的作用,输出一个候选值。由Sigmoid函数决定该值要记忆多少。这里被称为输入门

      3. 合并:将过去的记忆和现在的记忆合并在一起。

        1072375-20190416113245679-1192728656.png

        理解:两端记忆分别通过乘法后用加法运算合并到一起。

      4. 输出:

        1072375-20190416113252009-251664288.png

        理解:最后把合并的细胞信息通过tanh函数与sigmoid的输出相乘,得到最终的输入,进入下一个神经元中。这里称为输出门。

        在整个过程中,sigmoid函数起的是选择作用。 通过输出的值控制记忆的记忆程度。tanh起的是变换作用,与RNN中的作用类似。此外,LSTM还有其他变体,但是根据测试(Jozefowicz, et al. (2015))各个变体之间的差距很小。


部分图片来自网友博客,如有侵权,请联系我。

GCA-LSTM(Global Context-Aware Attention LSTM Networks)

原作者为:

Jun Liu , Gang Wang , Ping Hu , Ling-Yu Duan , Alex C. Kot
School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore
Alibaba Group, Hangzhou, China
National Engineering Lab for Video Technology, Peking University, Beijing, China
{jliu029, wanggang, phu005, eackot}@ntu.edu.sg, lingyu@pku.edu.cn

转载于:https://www.cnblogs.com/NewBee-CHH/p/10715831.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值