2016-08-04 70 views
1

我很困惑如何为LSTM定义权重矩阵。由于LSTM有8个权矩阵,我不知道如何初始化这些权矩阵用于张量流中的LSTM。张量流这两种LSTM实现有什么区别,如何初始化LSTM的8个权矩阵?

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

你能帮我一下吗?

+0

此[教程](https://www.tensorflow.org/versions/r0.10/tutorials/recurrent/index.html)可能有帮助 –

回答

0

第一件事第一件事:如果仔细观察,总共不会有8个矩阵,但总共有14个矩阵。用于Input Gate, Forget Gate, Cell State and Output State的W,U(参数矩阵)和b(偏向量)的4×3矩阵。另外,dense layer还有两个矩阵W和b。

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

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

快速答案:使用TF-api for LSTM具有称为initializer参数用于初始化权重和投影矩阵。

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

现在来看看W和b在哪里使用,你需要深入挖掘代码。我将为此提供几个检查点。

所以,简而言之,Tensorflow自动执行初始化你。 如果您不想使用默认初始值设定项,则您有灵活性来提供其他选项。

相关问题