问题记录
学习模型验证,要提取RNN的隐藏状态的时候遇到了一个难题,就是RNN的output 和 state 的区别。也就是说,model.predict()输出的是不是我想要的s呢
简单RNN
最简单的RNN单元,它每次接受一个当前输入 x_t 和前一步的隐层状态 s_{t-1},然后产生一个新的隐层状态 s_t,也即:s_t = f(x_t, s_{t-1}),其中 f 代表某个函数,对应于 RNN 内部的运算过程。
这种情况下,s_t = y_t = h_t。
LSTM
对于 LSTM,s_t = y_t = h_t? 分情况讨论
LSTM的循环部件其实有两部分,一个是内部 cell 的值,另一个是根据 cell 和 output gate 计算出的 hidden state,输出层只利用 hidden state 的信息,而不直接利用 cell。李宏毅老师的LSTM模型: