在pybrain的LSTM层中,有一些缓冲区用于存储值。
'bufferlist': [ ('ingate', 20), ('outgate', 20), ('forgetgate', 20), ('ingatex', 20), ('outgatex', 20), ('forgetgatex', 20), ('state', 20), ('ingateError', 20), ('outgateError', 20), ('forgetgateError', 20), ('stateError', 20), ('inputbuffer', 80), ('inputerror', 80), ('outputbuffer', 20), ('outputerror', 20)],
能有人解释一下这些变量的用途吗?我正在尝试获取LSTM层的激活值。应该使用哪个变量?
回答:
激活值在’outputbuffer’中。
关于这些变量的用途(你的问题有点不清楚),你可以阅读原始论文来更容易理解。如果你指的是实现中的具体用法而不是模型中的用途,你应该查看LSTMLayer的实现,这些变量就是在这里使用的。
大多数变量的命名与论文中完全一致。如果你理解了这些概念,事情就相当简单了。需要补充的是,以’x’结尾的门(outgatex, forgetgatex, ingatex)是从窥孔连接计算得到的值,而(outgate, forgetgate, ingate)则是总的门值。