'); })();

浅谈深度学习基础(下)

编辑时间: 2017-12-26 23:02:45    关键字:

LSTM计算过程举例:

LSTM计算过程举例

LSTM计算过程举例

  左边的图,遗忘门那,c' = 3+c。c是7,c'就得到10了。

  理解了LSTM的逻辑结构,接下来我们看一下LSTM的真实结构,可以翻上去和标准RNN的结构图比较一下:

LSTM的真实结构

LSTM的真实结构

  我们先来解释一下图中的各种图标的含义:

浅谈深度学习基础

 

  黄色方块代表一个神经网络层,里面的σ代表Sigmoid激活函数,tanh代表双曲正切激活函数。粉色的圈代表一次操作,比如求积求和。每一条黑线传输着一整个向量,从一个节点的输出到其他节点的输入。合在一起的线表示向量的连接,分开的线表示内容被复制,然后分发到不同的位置。

  我们这里准备一部分一部分的将真实结构对应到前面的逻辑结构上去。先是逻辑结构中的记忆细胞:

浅谈深度学习基础

 

  这里图中的Ct-1到Ct的过程,就是前面逻辑结构中c到c'的过程,前面讲c到c'的过程有两部分,一部分是由遗忘门f(zf)决定前面的c是否参与到c'的计算中来,对应到真实结构上也就是图中的ft,它决定了Ct-1会不会加到C中去;另一部分就是输入门的输入,在讲逻辑结构的过程中,我们知道,输入门的输入也由两部分构成,一部分是信号输入zi代入Sigmoid函数的结果f(zi)决定了是否接受输入z,另一部分就是处理输入z得到的g(z)了。对应到上面的图中,it就是f(zi),负责决定输入z要不要被采用,图中与it相乘的另一部分,就可以理解为g(x)了。

 接下来是遗忘门和输入门,在上面已经讲过了:

浅谈深度学习基础

遗忘门

浅谈深度学习基础

输入门

  上面说了,f(zf)就对应着ft,看遗忘门图中的式子,括号里面的自然就是zf了,前面说过f函数就是Sigmoid函数就是图中的σ;然后是输入门,前面说,f(zi)就是it,看输入门图中右侧的第一个式子,括号里面的自然就是zi了,下面的式子就是g(z),那对应起来g函数就是tanh了,z就是括号里面的内容。

  然后是输出门:

浅谈深度学习基础

  前面讲,输出门接受一个信号zo,经过处理得到f(zo);计算出的c',经过h函数处理,得到h(c'),然后乘起来得到a,a = h(c')f(zo)(如果忘了可以往回翻一下逻辑结构图)。这对应关系就很明显了,zo是图中第一个式子括号里面的那一大堆,ot就是f(zo),计算出的c'就是图中的Ct,这个前面说过了,然后h函数还是tanh函数,然后乘起来得到的那个a就是ht。我觉得我讲的真是不能再清楚了:)

  LSTM可以通过控制门的开闭天然避免梯度消失。因为前面提到过,梯度消失的原因在于连乘式的产生,计算每层的梯度都需要用到下一层的梯度,需要一直乘到输出层,而对于LSTM来说,输入和记忆是相加的,也就是在逻辑结构那说的:

浅谈深度学习基础

  这有个什么好处呢,就是只要遗忘门不关闭(即f(zf)不等于0),前面的输出c的影响就永远不会消失。

以上,这样这篇《浅谈深度学习基础》也就结束了,下一篇可能会是《浅谈自然语言处理基础》,因为我本身就是Chatbot方向的产品经理,对NLP也很感兴趣。当然也可能不是:>

关键词阅读:
延伸阅读
推荐热图

合作推荐

热图推荐

更多

频道推荐
  • 技术
  • |
  • 管理
  • |
  • 考试
2010-2016 可思数据版权所有 ICP备案:京ICP备14056871号