带你玩转序列模型之循环神经网络(三)LSTM & BRNN & DRNN
上图是咱们之前的一个例子,当遍历到第三个单词Teddy时,仅凭前两个单词He said不足以判断这是否是人名的一部分,这是因为我们在此之前讲的模型,无论你用的单元是最基础的RNN单元还是GRU单元还是LSTM单元,整个序列模型都是单向RNN,所以后面的影响不到前面的。最后暑促先来看一下GRU和LSTM的对比,从公式可以看到LSTM中a^和c^已经不是一个东西了,然后LSTM有三个门,分别是更新门,
目录
一.长短期记忆LSTM
最后暑促先来看一下GRU和LSTM的对比,从公式可以看到LSTM中a^<t>和c^<t>已经不是一个东西了,然后LSTM有三个门,分别是更新门,遗忘门,输出门,最后输出的激活值是输出门和c^<t>的乘积,其他的就不用说了。
过程图:
二.双向循环神经网络
上图是咱们之前的一个例子,当遍历到第三个单词Teddy时,仅凭前两个单词He said不足以判断这是否是人名的一部分,这是因为我们在此之前讲的模型,无论你用的单元是最基础的RNN单元还是GRU单元还是LSTM单元,整个序列模型都是单向RNN,所以后面的影响不到前面的。
下面是BRNN的图示:
可以看到紫色的部分和绿色的部分是对称的,所以这个网络其实是从左往右走了一遍RNN的过程,又从右往左走了一遍RNN的过程。可以看到求解yhat^<t>的式子,第t个时间步时的正向激活值和反向激活值都要用到。这样我们就可以用到过去的信息,也可以用到未来的信息。
现在很多NLP问题用LSTM单元的BRNN就可以有一个很高效的解决办法。
从课上来看,吴恩达老师是更加青睐于LSTM的,相比于GRU单元。
三.深层循环神经网络
深层RNN如上图,自下而上分别是不同的层,自作而右是不同的时序先后关系,图中符号[]代表第几层,<>代表第几个时间步,比如a^[2]<3>代表第2个RNN层的第3个时间步的激活值。想咱们普通的神经网络模型,可能多的可以达到100多层,但是对于DRNN,三层就已经很多了。然后加深网络的深度还可以在DRNN的各个输出处再添加一些网络层(如上图)。
更多推荐
所有评论(0)