双向RNN,深层RNN(吴恩达深度学习笔记)

目录

1.双向RNN(BRNN)

(1)简介

(2)例子

(3)缺点

2.深层RNN(DRNN)


1.双向RNN(BRNN)
(1)简介
  • 双向RNN模型(bidirectional RNN),它可以让你在序列的某点处不仅可以获取之前的信息,还可以获取未来的信息
(2)例子
  • 回顾命名实体识别的例子,在判断第三个单词Teddy是不是人名的一部分时,我们只看了前三个单词,除了这些信息我们还需要更多的信息。因为根据前3个单词无法判断他们说的是Teddy熊,还是前美国总统Teddy Roosevelt。

  • 在之前,我们RNN都是前向的,如何构成双向的RNN呢?

  • 如上图,我们添加一层反向循环层(绿色标记)。给定一个输入序列x<1>到x<4>:

  • 序列先计算前向a<1>,a<2>,a<3>,a<4>,正向传播

  • 然后在反向计算a<4>,a<3>,a<2>,a<1>,这也是正向传播

  • 然后计算y: 使用双向的激活值计算

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

(3)缺点
  • 双向RNN网络模型的缺点就是你需要完整的数据的序列 才能预测任意位置。比如构建一个语音识别系统,那么双向RNN模型需要考虑整个语音表达,你需要等待这个人说完,然后获取整个语音表达才能处理这段语音,并进一步做语音识别。对于实际的语音识别的应用通常会有更加复杂的模块(somewhat more complex modules),而不是仅仅用我们标准的双向RNN模型。
2.深层RNN(DRNN)
  • 通常我们会把RNN的多个层堆叠在一起构建更深的模型,来构建一些更深的RNN。
  • 这里的堆叠隐含层的堆叠,如下图
  • 如上图紫色标记,看这个激活值a2<3>是怎么计算的,一共有两个输入:一个是下面过来的输入a1<3>,一个是左边过来的输入a2<2>,于是计算公式为:
  • 对于左侧这样标准的神经网络,有很深的网络,甚至于100层深,而对于RNN来说,有三层就已经不少了。由于时间的维度,RNN网络会变得相当大,即使只有很少的几层,很少会看到这种网络堆叠到100层。
相关推荐
Lihua奏11 小时前
从单核到多核:CPU为什么不能再只靠提频变快
深度学习
拾年27511 小时前
大模型的"聪明"从哪来?聊聊 AI 数据集的那些事儿
人工智能·深度学习·机器学习
RainCity2 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
饼干哥哥5 天前
开源Skills|搭建亚马逊动态关键词库系统,每天抓SSS级机会词
人工智能·深度学习·数据分析
武子康7 天前
调查研究-191 SenseVoice 不只是 ASR:把语音从“转文字“升级成“理解状态“
人工智能·深度学习·openai
武子康8 天前
调查研究-189 Kronos 调研:金融 K 线基础模型,是真突破,还是量化圈的新玩具?
人工智能·深度学习·openai
LinXunFeng9 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
xiao5kou4chang6kai413 天前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
renhongxia113 天前
世界模型作为AGI落地底层底座的作用
人工智能·深度学习·生成对抗网络·自然语言处理·知识图谱·agi
计算机科研狗@OUC13 天前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉