从神经网络解释到LSTM网络--仅为简易大概

  • 神经网络基础

所谓神经网络就是一种“黑盒子”,这个黑盒子能够拟合任意的函数,但是前提是要有足够的数据去训练这个黑盒子。训练好的“黑盒子”能够做到给定特定的x就得到希望的y。
神经网络

  • RNN—循环神经网络

普通的神经网络都只能做到单独处理,对于每一个输入都是独立的,前后的输入完全没有任何关系。但是在现实中的很多数据都是前后关联的,我们需要根据一定的先后顺序去判断后期的数据可能情况。为了达到这样的效果,我们引入了RNN(循环神经网络)。该神经网络的重要优势就可以使得前后输入数据关联起来。
RNN简易模型

下面简单的解释一下这张图的意思,如果把W这个块去掉,那么他就是一个普通的全连接神经网络。所以关键在这个W这个块上面,他可以决定下一次的S的值,他会记录当前的这一次的值,作为下一次S的输入权重。
抽象图如下:
RNN抽象模型
该图还可以进行展开:
RNN时间线展开图
由此就可以更加抽象的理解W块在其中起到的作用了。
公式:
RNN公式

  1. LSTM网络
    Lstm网络是基于RNN的加强版神经网络。就我理解的情况来看,所谓加强就是把RNN中的W块的内部结构进行加强,它是将RNN网络中W块所用到的简单的神经网络层进行复合与加强,不再是单一的神经网络层,而是四个,以一种非常特殊的方式进行交互。
    标准的RNN图示:
    标准RNN图示
  2. LSTM网络:

LSTM网络
LSTM有非常重要的三个门:

  1. 遗忘门

在我们LSTM中的第一部就是决定我们会在黑盒子里面丢弃什么样子的信息。这个决定的过程被称为在忘记门层完成。这个门会读取上一次W块传过来的值以及本次输入的X值,输出一个0到1之间的数字,1表示“完全保留”,0则表示“完全舍弃”。这个功能可以有助于动态的判断是否要记忆上一次输入的值,是否要考虑两次输入的值的相互作用。
LSTM遗忘门
σ表示sigmod函数。

  1. 输入门

这道门的作用就是决定了让多少新的信息加入到黑盒子中去。这个过程需要两个具体的步骤:首先,sigmoid函数层需要决定出哪些输入信息需要被更新;一个tanh层生成一个向量,作为备选,是用来更新的内容。下一步,我们将这两部分联合起来,对黑盒的状态进行一个更新。
LSTM输入门
LSTM输入门

  1. 输出门

最终就是要决定输出什么值,这个输出是基于我们整个黑盒的,也就是一种过滤后的版本。
首先我们运行一个sigmoid函数层进行确定黑盒状态的哪个部分将输出出去。接着我们把黑盒状态通过tanh进行处理,得到一个-1到1之间的值,将该值和sigmoid门的输出相乘,最后我们会只输出我们确定的输出的部分。
LSTM输出门
LSTM输出门
本文是参考多位前辈的思想,基于前辈们的优秀成果,以一个初学者的眼光看待这三者之间的理论关系的。如有不足,请多多指教!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值