首先,嗨,
其次,现在是凌晨3点,我保证我已经筋疲力尽了,花了整整三天的时间来理解RNN和RTRL,但此时我的微积分思维已经离我而去。
基本上,我现在到了需要计算这个的阶段:
更具体地说:
我使用了各种网站和我的教科书(关于这个主题的内容为零),但这是我的主要来源的其余部分 willamette.edu
我遇到的问题是如何以编程方式(Java)对Yk在Wij方向上进行偏微分
我无法理解如何去做这件事。
注意:我确实自信地理解RNN和RTRL是如何工作的。
回答:
你不是“以编程方式(Java)进行偏微分”,你是通过分析来做这件事,然后实现简单的解决方案。所有这些操作在任何与神经网络相关的书籍中都有描述。
特别是,拥有 d y_k(t)/d w_ij
。假设(为了简化)这是一个单层网络,那么y_k(t)
是w_ij
的函数,y_k(t)
的形式为y_k(t) = f( sum w_ij x_j(t) )
(我将偏置表示为一个神经元)。因此,计算偏导数会得到f'( sum w_ij x_j(t) ) * x_j(t)
在进入RTRL之前,你应该首先理解简单的时间反向传播,这需要先理解简单的反向传播。然后,你可以进入RTRL – 我推荐你参考这个教程。