-
Notifications
You must be signed in to change notification settings - Fork 987
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
长短时记忆网络(LSTM)中Wfx、Wix, Wox, Wcx的权重梯度的计算,为何不再对历史时刻t进行累加? #30
Comments
没有写错呀,LSTM里Xt-1与WWfx、Wix, Wox, Wcx是没有关系的,所以和RNN里的那个不一样,建议你看看RNN里关于为什么把梯度相加的推导 |
"LSTM里Xt-1与Wfx、Wix, Wox, Wcx是没有关系的",Xt-1与Wfx、Wix, Wox, Wcx当然是有关系的。RNN与LSTM里权重系数都是共享的,X1, X2, ... Xt-1, Xt共享一套Wfx、Wix, Wox, Wcx。因此Wfx、Wix, Wox, Wcx发生变动是从各个时刻共同来影响最后的损失函数L的。 |
RNN里的W是对状态st-1的权重,而LSTM里的Wfx,Wix,Wox,Wcx是对于输入X来说的,你硬要比较,那也只是和RNN里的U类似罢了,但是RNN里的U的梯度是所有时间和,这是因为U是Nett的函数,所以推导和W一样都是所有时间状态的梯度和,你再认真看看RNN里的证明吧 |
确实Wfx,Wix,Wox,Wcx就是和RNN里的U类似,但是RNN里的U的梯度是所有时间和,这里也没有任何道理求Wfx,Wix,Wox,Wcx的梯度时候不对各个时刻求和。Wfx、Wix, Wox, Wcx发生变动是从各个时刻共同来影响最后的损失函数L的。这道理是很明显的。 |
你去推推RNN里的U的梯度,对U求梯度可以利用链式求导法则化成对netj的偏导,而netj=UXj+Wf(netj-1),这里j是时刻,这样就关联起来了。你再看看LSTM里的NETo,t,NETf,t,NETc,t这些。例如 |
@894551089 在求对Wo,x求导时,导数和Wo,h*ht-1无关,这不对吧,你推导下,ht-1是和Ot-1相关的,而Ot-1和Wo,x与Xt-1 相关,这样就关联上了啊 |
我有同样的问题 但是没有人能解释清楚 |
+1,我也理解不了 |
你发过来的邮件怎么都是乱码啊,什么都看不到,再发一次吧。
|
下面这个视频里面对于Wxf的推导确实用的求和,应该是写错了 |
学习长短时记忆网络(LSTM)中发现一个问题,Wfx、Wix, Wox, Wcx的权重梯度的计算,没有对历史时刻t进行累加。而在循环神经网络(RNN)中,损失函数E对权重矩阵U的梯度,也是各个时刻E对U的梯度之和。因此很奇怪,LSTM中损失函数对Wfx、Wix, Wox, Wcx的权重梯度,只取最后时刻的梯度,而没有按历史时刻进行梯度累加。
我怀疑LSTM里Wfx、Wix, Wox, Wcx的权重梯度的计算写错了,也应当按照历史时刻t进行梯度累加。
The text was updated successfully, but these errors were encountered: