14

我已经阅读了官方文档,但仍然无法理解TimeDistributedKeras 模型中作为层的实际作用?

我无法理解 和 之间的TimeDistributed区别TimeDistributedDense?什么时候会有人使用TimeDistributedDense?只是为了减少训练数据集吗?它还有其他好处吗?

谁能用一个精确的例子来解释这两种类型的层包装器的作用?

4

2 回答 2

20

所以 - 基本上TimeDistributedDense是在早期版本的 Keras 中首先引入的,以便将Dense层逐步应用于序列。TimeDistributed是一个 Keras 包装器,它可以获取任何静态(非顺序)层并以顺序方式应用它。因此,例如,如果您的图层(d1, .., dn)通过TimeDistributed包装器接受某种形状的输入作为输入,则您的图层可以(sequence_len, d1, ..., dn)通过将提供的图层应用到X[0,:,:,..,:], X[1,:,...,:], ...,来接受形状为 的输入X[len_of_sequence,:,...,:]

TimeDistributed(conv_layer)这种用法的一个例子可能是通过将whereconv_layer应用到剪辑的每个帧来对短视频剪辑使用例如预训练的卷积层。它产生输出序列,然后可能被下一个循环或TimeDistributed层消耗。

很高兴知道 的使用TimeDistributedDense已贬值,最好使用TimeDistributed(Dense).

于 2017-02-22T18:21:05.593 回答
0

TimeDistributedDense与可以与不同类型的图层一起使用TimeDistributed的唯一区别相同,而不仅仅是密集图层。TimeDistributed

Keras 文档说TimeDistributed

“请注意,这严格等同于 using layers.core.TimeDistributedDense。但不同 TimeDistributed的是它可以用于任意层,而不仅仅是 Dense,例如Convolution2D层”

于 2017-03-03T14:00:37.017 回答