如何设置 LSTM 矢量输入和输出的大小

How to set sizes of LSTM vector inputs and outputs

我的问题是关于 TensorFlow LSTM,具体来说,LSTM 单元的各种输入和输出的形状如何在 LSTM 构造函数中指定。 我的理解是,一个 LSTM 单元有以下六个输入和输出:

1 External input/output
2 Hidden State input/output
3 Context State input/output

我也相信每一个都是一个向量 规定的长度。我的问题是:当我将 LSTM 添加到我的 TensorFlow模型,如何指定各种向量长度?

一个 LSTM 层有几个权重向量,但它们的大小由两个主要量决定:层中单元的数量和输入的维数(数据 dimensions/features,例如根据数量确定上一层的单元数)。

让我们看看这两个如何确定您询问的每个维度:

  • 外部输入当然是由输入数据的维度决定的。
  • 对外输出由台数决定。如果该层有 100 个单位,那就是输出维度。
  • 隐藏状态和上下文状态都会被反馈(想想展开网络时的样子),因此它们具有相同的输入和输出维度。
  • 此外,每个单元创建一个标量隐藏值和上下文值,因此它们中有很多作为单元,这意味着它们的维度由层中的单元数定义。