我已经阅读了官方文档,但仍然无法理解TimeDistributed
Keras 模型中作为层的实际作用?
我无法理解 和 之间的TimeDistributed
区别TimeDistributedDense
?什么时候会有人使用TimeDistributedDense
?只是为了减少训练数据集吗?它还有其他好处吗?
谁能用一个精确的例子来解释这两种类型的层包装器的作用?
我已经阅读了官方文档,但仍然无法理解TimeDistributed
Keras 模型中作为层的实际作用?
我无法理解 和 之间的TimeDistributed
区别TimeDistributedDense
?什么时候会有人使用TimeDistributedDense
?只是为了减少训练数据集吗?它还有其他好处吗?
谁能用一个精确的例子来解释这两种类型的层包装器的作用?
所以 - 基本上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)
.
TimeDistributedDense
与可以与不同类型的图层一起使用TimeDistributed
的唯一区别相同,而不仅仅是密集图层。TimeDistributed
Keras 文档说TimeDistributed
:
“请注意,这严格等同于 using layers.core.TimeDistributedDense
。但不同 TimeDistributed
的是它可以用于任意层,而不仅仅是 Dense,例如Convolution2D
层”