Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
d2l-zh
提交
bbf161cc
D
d2l-zh
项目概览
OpenDocCN
/
d2l-zh
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
d2l-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bbf161cc
编写于
6月 04, 2018
作者:
A
Aston Zhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bi and deep
上级
3a3cbbc1
变更
4
展开全部
显示空白变更内容
内联
并排
Showing
4 changed file
with
686 addition
and
3 deletion
+686
-3
chapter_recurrent-neural-networks/bi-deep-rnn.md
chapter_recurrent-neural-networks/bi-deep-rnn.md
+41
-1
chapter_recurrent-neural-networks/hidden-state.md
chapter_recurrent-neural-networks/hidden-state.md
+1
-1
img/bi-rnn.svg
img/bi-rnn.svg
+324
-1
img/deep-rnn.svg
img/deep-rnn.svg
+320
-0
未找到文件。
chapter_recurrent-neural-networks/bi-deep-rnn.md
浏览文件 @
bbf161cc
#
双向和多层的循环神经网络
#
多隐藏层和双向结构
本章到目前为止介绍的循环神经网络只有一个单向的隐藏层:隐藏状态里的信息沿着时间步从早到晚依次传递。在实际中,我们有时会用到其他结构的循环神经网络。本节将分别介绍多隐藏层和双向结构。
## 多隐藏层结构
给定时间步$t$的小批量输入$
\b
oldsymbol{X}_t
\i
n
\m
athbb{R}^{n
\t
imes x}$(样本数为$n$,输入个数为$x$)。在多隐藏层结构中,
设该时间步第$l$隐藏层的隐藏状态为$
\b
oldsymbol{H}_t^{(l)}
\i
n
\m
athbb{R}^{n
\t
imes h}$(隐藏单元个数为$h$),输出层变量为$
\b
oldsymbol{O}_t
\i
n
\m
athbb{R}^{n
\t
imes y}$(输出个数为$y$),隐藏层的激活函数为$
\p
hi$。第一隐藏层的隐藏状态和之前的计算一样:
$$
\b
oldsymbol{H}_t^{(1)} =
\p
hi(
\b
oldsymbol{X}_t
\b
oldsymbol{W}_{xh}^{(1)} +
\b
oldsymbol{H}_{t-1}^{(1)}
\b
oldsymbol{W}_{hh}^{(1)} +
\b
oldsymbol{b}_h^{(1)}),$$
其中权重$
\b
oldsymbol{W}_{xh}^{(1)}
\i
n
\m
athbb{R}^{x
\t
imes h},
\b
oldsymbol{W}_{hh}^{(1)}
\i
n
\m
athbb{R}^{h
\t
imes h}$和偏差 $
\b
oldsymbol{b}_h^{(1)}
\i
n
\m
athbb{R}^{1
\t
imes h}$分别为第一隐藏层的模型参数。
假设隐藏层个数为$L$,当$1 < l
\l
eq L$时,第$l$隐藏层的隐藏状态的表达式为
$$
\b
oldsymbol{H}_t^{(l)} =
\p
hi(
\b
oldsymbol{H}_t^{(l-1)}
\b
oldsymbol{W}_{xh}^{(l)} +
\b
oldsymbol{H}_{t-1}^{(1)}
\b
oldsymbol{W}_{hh}^{(l)} +
\b
oldsymbol{b}_h^{(l)}),$$
其中权重$
\b
oldsymbol{W}_{xh}^{(l)}
\i
n
\m
athbb{R}^{h
\t
imes h},
\b
oldsymbol{W}_{hh}^{(l)}
\i
n
\m
athbb{R}^{h
\t
imes h}$和偏差 $
\b
oldsymbol{b}_h^{(l)}
\i
n
\m
athbb{R}^{1
\t
imes h}$分别为第$l$隐藏层的模型参数。
最终,输出层的输出只需基于第$L$隐藏层的隐藏状态:
$$
\b
oldsymbol{O}_t =
\b
oldsymbol{H}_t^{(L)}
\b
oldsymbol{W}_{hy} +
\b
oldsymbol{b}_y,$$
其中权重$
\b
oldsymbol{W}_{hy}
\i
n
\m
athbb{R}^{h
\t
imes y}$和偏差$
\b
oldsymbol{b}_y
\i
n
\m
athbb{R}^{1
\t
imes y}$为输出层的模型参数。
多隐藏层循环神经网络结构如图6.3所示。我们将在下一节中实验多隐藏层循环神经网络。
![
多隐藏层循环神经网络结构。
](
../img/deep-rnn.svg
)
## 双向结构
![
双向循环神经网络结构。这里省略了输出层。
](
../img/bi-rnn.svg
)
...
...
chapter_recurrent-neural-networks/hidden-state.md
浏览文件 @
bbf161cc
...
@@ -18,7 +18,7 @@ $$\mathbb{P}(w_t \mid w_{t-(n-1)}, \ldots, w_{t-1}).$$
...
@@ -18,7 +18,7 @@ $$\mathbb{P}(w_t \mid w_{t-(n-1)}, \ldots, w_{t-1}).$$
$$
\b
oldsymbol{H} =
\p
hi(
\b
oldsymbol{X}
\b
oldsymbol{W}_{xh} +
\b
oldsymbol{b}_h),$$
$$
\b
oldsymbol{H} =
\p
hi(
\b
oldsymbol{X}
\b
oldsymbol{W}_{xh} +
\b
oldsymbol{b}_h),$$
其中权重参数$
\b
oldsymbol{W}_{xh}
\i
n
\m
athbb{R}^{x
\t
imes h}$,偏差参数 $
\b
oldsymbol{b}_h
\i
n
\m
athbb{R}^{1
\t
imes h}$,$h$为隐藏单元个数。
我们之前也提到,上式的两项相加使用了广播机制
。把隐藏变量$
\b
oldsymbol{H}$作为输出层的输入,且设输出个数为$y$(例如分类问题中的类别数),输出层的输出
其中权重参数$
\b
oldsymbol{W}_{xh}
\i
n
\m
athbb{R}^{x
\t
imes h}$,偏差参数 $
\b
oldsymbol{b}_h
\i
n
\m
athbb{R}^{1
\t
imes h}$,$h$为隐藏单元个数。
上式相加的两项形状不同,因此将按照广播机制相加(参见
[
“数据操作”
](
../chapter_crashcourse/ndarray.md
)
一节)
。把隐藏变量$
\b
oldsymbol{H}$作为输出层的输入,且设输出个数为$y$(例如分类问题中的类别数),输出层的输出
$$
\b
oldsymbol{O} =
\b
oldsymbol{H}
\b
oldsymbol{W}_{hy} +
\b
oldsymbol{b}_y,$$
$$
\b
oldsymbol{O} =
\b
oldsymbol{H}
\b
oldsymbol{W}_{hy} +
\b
oldsymbol{b}_y,$$
...
...
img/bi-rnn.svg
浏览文件 @
bbf161cc
此差异已折叠。
点击以展开。
img/deep-rnn.svg
0 → 100644
浏览文件 @
bbf161cc
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录