首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时钟神经网络

时钟神经网络
EN

Stack Overflow用户
提问于 2017-04-06 20:57:59
回答 1查看 339关注 0票数 0

谢谢你阅读这篇文章!

以下是RNN爱好者的快速提问:

我知道,在“穿越时间”(BPPT)中,至少有三个步骤:

代码语言:javascript
复制
For each element in a sequence :
Step 1 - Compute 'error ratio' of each neuron, from upper layer to lower layer.
Step 2 - Compute a 'weight delta' for each weight (X) using the error ratio mentionned in step 1, and push it into an array

After sequence is finished :
Step 3 - Sum all weight deltas of weight (X) and add it to current value of weight (X)

我现在正在尝试实现一个时钟工作RNN (CW RNN),从这里找到的文档:http://jmlr.org/proceedings/papers/v32/koutnik14.pdf

据我所知,隐藏层中的每个“模块”都有相同数量的神经元,只是一个不同的时钟

CW的向前通过看起来非常简单和直观。

然而,对于向后传递,情况就不同了。

引用文件:

代码语言:javascript
复制
The backward pass of the error propagation is similar to
SRN as well. The only difference is that the error propagates
only from modules that were executed at time step t. The
error of non-activated modules gets copied back in time
(similarly to copying the activations of nodes not activated
at the time step t during the corresponding forward pass),
where it is added to the back-propagated error.

这就是我困惑的地方。

上述反向传播步骤中的哪一步应用于隐藏层中的non-activated模块?

(一个模块,其时钟MOD时间步长!= 0)

step1step2还是两者兼而有之?

再次感谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2017-04-06 21:33:03

我不确定您的BPTT算法(如果您能提供一个参考,我可能会尝试更好地理解它)。

但是,在仔细研究了图2和等式(1)和(2)之后,非激活模块应该只是在时间上向下传递梯度。因此,这意味着不计算梯度(对于非活动模块),而只是传递t时t-1时的梯度值。

因此,我想step1和step2都不会,只需在前面的时间步骤中复制值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43265630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档