Skip to content

Commit a146fcf

Browse files
committed
stash
1 parent 0ed2358 commit a146fcf

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

doc_cn/algorithm/rnn/hrnn_rnn_api_compare.rst

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,23 +98,28 @@
9898
:ref:`glossary_trainer_config`\ 的模型配置
9999
------------------------------------------
100100

101-
我们选取单双层序列配置中的不同部分,来对比分析两者语义相同的原因。
102-
103-
- 单层序列:过了一个很简单的recurrent_group。每一个时间步,当前的输入y和上一个时间步的输出rnn_state做了一个全链接。
101+
本例配置了两个完全等价的全连接\ :ref:`glossary_RNN`\ 。对于单层序列模型的配置如下:
104102

105103
.. literalinclude:: ../../../paddle/gserver/tests/sequence_rnn.conf
106104
:language: python
107105
:lines: 36-48
106+
:linenos:
108107

109-
- 双层序列,外层memory是一个元素:
108+
在该配置中,名称为\ :code:`rnn_state`\ 的全连接层暂存到了\ :ref:`glossary_Memory`\ 中。这个\ :ref:`glossary_Memory`\ 变量\ :code:`mem`\ 中可以保存到上一个\ :ref:`glossary_timestep`\ 中的全连接层的输出。从而实现一个全连接的\ :ref:`glossary_RNN`\
110109

111-
- 内层inner_step的recurrent_group和单层序列的几乎一样。除了boot_layer=outer_mem,表示将外层的outer_mem作为内层memory的初始状态。外层outer_step中,outer_mem是一个子句的最后一个向量,即整个双层group是将前一个子句的最后一个向量,作为下一个子句memory的初始状态。
112-
- 从输入数据上看,单双层序列的句子是一样的,只是双层序列将其又做了子序列划分。因此双层序列的配置中,必须将前一个子句的最后一个元素,作为boot_layer传给下一个子句的memory,才能保证和单层序列的配置中“每一个时间步都用了上一个时间步的输出结果”一致。
110+
而对于\ :ref:`glossary_双层RNN`\ 来说,等价的网络配置如下\:
113111

114112
.. literalinclude:: ../../../paddle/gserver/tests/sequence_nest_rnn.conf
115113
:language: python
116114
:lines: 39-66
117115

116+
- 双层序列,外层memory是一个元素:
117+
118+
- 内层inner_step的recurrent_group和单层序列的几乎一样。除了boot_layer=outer_mem,表示将外层的outer_mem作为内层memory的初始状态。外层outer_step中,outer_mem是一个子句的最后一个向量,即整个双层group是将前一个子句的最后一个向量,作为下一个子句memory的初始状态。
119+
- 从输入数据上看,单双层序列的句子是一样的,只是双层序列将其又做了子序列划分。因此双层序列的配置中,必须将前一个子句的最后一个元素,作为boot_layer传给下一个子句的memory,才能保证和单层序列的配置中“每一个时间步都用了上一个时间步的输出结果”一致。
120+
121+
122+
118123
- 双层序列,外层memory是单层序列:
119124

120125
- 由于外层每个时间步返回的是一个子句,这些子句的长度往往不等长。因此当外层有is_seq=True的memory时,内层是**无法直接使用**它的,即内层memory的boot_layer不能链接外层的这个memory。

0 commit comments

Comments
 (0)