Python 时间分布层在Keras中的作用是什么?

Python 时间分布层在Keras中的作用是什么?,python,machine-learning,keras,neural-network,deep-learning,Python,Machine Learning,Keras,Neural Network,Deep Learning,我试图理解时间分布包装器在Keras中的作用 我得到了“时间分布”将层应用于输入的每个时间片段 但是我做了一些实验,得到了我无法理解的结果 简言之,对于LSTM层,时间分布和致密层具有相同的结果 model = Sequential() model.add(LSTM(5, input_shape = (10, 20), return_sequences = True)) model.add(TimeDistributed(Dense(1))) print(model.output_shape)

我试图理解时间分布包装器在Keras中的作用

我得到了“时间分布”将层应用于输入的每个时间片段

但是我做了一些实验,得到了我无法理解的结果

简言之,对于LSTM层,时间分布和致密层具有相同的结果

model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add(TimeDistributed(Dense(1)))
print(model.output_shape)

model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add((Dense(1)))
print(model.output_shape)
对于这两个模型,我得到的输出形状都是(无,10,1)


有人能解释RNN层之后的时间分布层和密集层之间的差异吗?

keras
中-在建立顺序模型时-通常第二维度(样本维度之后的一个维度)与
时间维度相关。这意味着,例如,如果您的数据是
5-dim
(样本、时间、宽度、长度、通道)
,您可以使用
TimeDistributed
(适用于
4-dim
(样本、宽度、长度、通道)
)沿时间维度应用卷积层(将同一层应用于每个时间片)以获得
5-d
输出


densite
的情况是,在2.0版的
keras
中,默认情况下
densite
仅应用于最后一个维度(例如,如果应用
densite(10)
输入形状
(n,m,o,p)
您将获得形状
(n,m,o,10)
)因此,在您的情况下,
densed
TimeDistributed(densed)
是等效的。

目前ssem没有区别,对此进行了讨论。我认为最初的目的是区分
密集的
层,将输入展平,然后进行重塑,从而连接不同的时间步并具有更多的参数,
时间分布的
保持时间步为se分离(因此具有较少的参数)。在您的情况下,
densite
应该具有500个参数,
TimeDistributed
50@gionni不,它有相同数量的参数(都是6个).所以atm实际上没有区别?是的,没错,如果有区别的话,这些就是参数的数量。目前还没有使用时间分布包装模型本身的例子。当这应用于
输入
张量时,与只做
映射应用于包含
输入的每个片段的列表的模型的