张量流中这两个LSTM实现之间有什么区别,如何初始化LSTM的8个权重矩阵?

时间:2016-08-04 18:58:59

标签: python matrix tensorflow deep-learning lstm

我对如何为LSTM定义权重矩阵感到困惑。由于LSTM有8个权重矩阵,我不知道如何在张量流中初始化LSTM的权重矩阵。

但后来我遇到了这个implementation,这是完全合理的,因为它具有所有8个权重矩阵,但它不使用LSTM的张量流实现。它与LSTM方程一致。但是在LSTM的张量流implementation中,我不知道如何定义所有这8个权重矩阵,因为它们是在上面的第一个实现中定义的。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

首先要做的事情:如果仔细观察一下,就不会有8个矩阵,而是总共14个矩阵。 Input Gate, Forget Gate, Cell State and Output State 的4 * 3矩阵W,U(参数矩阵)和b(偏差矢量)。此外,dense layer还有两个矩阵W和b。

现在提出实际问题,我想你想知道这些矩阵是如何在Tensorflow中初始化的。

我正在回答Tensorflow v1.2的问题。

快速回答:使用TF-api for LSTM,其中有一个名为initializer的参数用于初始化权重和投影矩阵。

  

默认情况下,偏向量初始化为零向量和内核   初始化器使用均匀分布随机初始化。

现在来看看W和b的使用位置,你需要在代码中深入挖掘。我将提供相同的几个检查站。

  

因此,简而言之,Tensorflow会自动为您执行初始化。   如果您不想使用默认初始值设定项,则可以使用   灵活地提供其他选择。