Python 时间分布层在Keras中的作用是什么?
我试图理解时间分布包装器在Keras中的作用 我得到了“时间分布”将层应用于输入的每个时间片段 但是我做了一些实验,得到了我无法理解的结果 简言之,对于LSTM层,时间分布和致密层具有相同的结果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)
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实际上没有区别?是的,没错,如果有区别的话,这些就是参数的数量。目前还没有使用时间分布包装模型本身的例子。当这应用于输入
张量时,与只做映射应用于包含输入的每个片段的列表的模型的?