如果 LSTM 中的单位数和时间步长不同,会发生什么?

数据挖掘 lstm
2022-03-07 23:40:57

LSTM在以下情况下,数据将如何馈送?我有一个数据数组,其形状(100,10,3)如下LSTM

第一个场景:

LSTM(units = 5 , input_shape(time-steps = 5, No_of_features = 3))

第二种情况:

LSTM(units = 15 , input_shape(time-steps = 5, No_of_features = 3))

第三种情况:

LSTM(units = 5 , input_shape(time-steps = 20, No_of_features = 3))

第四种情况:

LSTM(units = 15 , input_shape(time-steps = 20, No_of_features = 3))

1个回答

这取决于您如何将数据发送到 LSTM。假设您有一个带有t时间戳的数据点。它可以是1xt或的形状tx1,这意味着您将一次将所有时间输入发送到 LSTM 中,而在第二种情况下,您将发送一个数据时间戳t数次以完成一个数据点。

根据 的数量units网络计算大小U矩阵。只是告诉网络应该在什么隐藏维度上运行。因此,您的输入序列长度是多少并不重要。当您展开并查看时,它将一次接收一个输入并获取您输入的最后一个输入的输出并计算新的输出。WVunits

编辑

第一个场景:

LSTM(units = 5 , input_shape(time-steps = 5, No_of_features = 3))

如果 LSTM 单元不返回中间单元隐藏状态,它将1x5在最后输出输出,否则将给出5*5

第二种情况:

LSTM(units = 15 , input_shape(time-steps = 5, No_of_features = 3))

如果 LSTM 单元不返回中间单元隐藏状态,它将1x15在最后输出输出,否则将给出5*15

第三种情况:

LSTM(units = 5 , input_shape(time-steps = 20, No_of_features = 3))

如果 LSTM 单元不返回中间单元隐藏状态,它将1x5在最后输出输出,否则将给出20*5

第四种情况:

LSTM(units = 15 , input_shape(time-steps = 20, No_of_features = 3))

如果 LSTM 单元不返回中间单元隐藏状态,它将1x15在最后输出输出,否则将给出20*15