双向循环神经网络和深层循环神经网络 (吴恩达老师_学习笔记)

目录

双向循环神经网络(Bidirectional RNN)

深层循环神经网络(Deep RNNs)


双向循环神经网络(Bidirectional RNN)

双向RNN模型(BRNN),可以在序列的某点处不但获取之前的信息,同时还可以获取这个序列点之后的信息,说的炫酷点就是get information from the future。

而标准的RNN blocks、GRU units、LSTM units都只是前向的(单向)。

标准的RNN blocks:双向循环神经网络和深层循环神经网络 (吴恩达老师_学习笔记)_第1张图片

双向连接是增加了反向循环层

双向循环神经网络和深层循环神经网络 (吴恩达老师_学习笔记)_第2张图片(左箭头代表反向连接)

先是从左到右的前向传播计算紫色框内的 ,然后再从右到左的前向传播计算绿色框内的 ,然后计算完所有的激活值后再预测结果 。(注意这里的绿色框计算不是反向传播)。

例如y<3>可以理解为由前面3个紫色框+最后1个绿色框决定,这样所有的x的信息都考虑在内了。

这就是双向循环神经网络,并且这些基本单元不仅仅是标准RNN单元,也可以是GRU单元或者LSTM单元。

双向RNN的缺点是需要完整的数据的序列,才能预测任意位置。比如说你要用双向RNN模型构建一个语音识别系统,你需要等待这个人说完,然后获取整个语音表达才能处理这段语音,并进一步做语音识别。

 

深层循环神经网络(Deep RNNs)

为了学习非常复杂的函数,通常会把RNN的多个层堆叠在一起构建更深的模型。

双向循环神经网络和深层循环神经网络 (吴恩达老师_学习笔记)_第3张图片表示层数  表示时间步数

双向循环神经网络和深层循环神经网络 (吴恩达老师_学习笔记)_第4张图片

以三层的RNN网络为例,GRU和LSTM一样可以堆叠成多层网络。(CNN有100多层很常见,但是RNN一般只有个位数的层数,因为x非常长)

另外一种加深网络的方式,开头用循环网络,后面加深普通网络如下图蓝色:

双向循环神经网络和深层循环神经网络 (吴恩达老师_学习笔记)_第5张图片

话说复杂模型可以构造为 深层双向的LSTM网络。

 

 

 

你可能感兴趣的:(深度学习,循环神经网络,深度学习,人工智能)