我已经经历了official documentation的过程,但仍然无法理解在Keras模型中作为一个层实际做了什么?
我无法理解TimeDistributed
和TimeDistributed
之间的区别?什么时候会有人使用?只是为了减少培训数据集吗?它还有其他好处吗?
有人能用一个精确的例子来解释这两种类型的层包装机是做什么的吗?
最佳答案
因此,TimeDistributedDense
基本上是在早期版本的角膜中首先引入的,以便逐步将Dense
层应用于序列。TimeDistributed
是一个keras包装器,它可以获取任何静态(非顺序)层并以顺序方式应用。因此,如果您的层接受某个形状为(d1, .., dn)
的输入,由于TimeDistributed
包装,您的层可以通过应用提供给(sequence_len, d1, ..., dn)
、X[0,:,:,..,:]
、X[1,:,...,:]
、...
的层来接受形状为X[len_of_sequence,:,...,:]
的输入。
这种用法的一个例子可能是通过将TimeDistributed(conv_layer)
应用于剪辑的每个帧,将预训练的卷积层应用于短视频剪辑。它生成输出序列,然后可能被下一个经常性或conv_layer
层使用。
很好地知道,TimeDistributed
的使用被折旧了,最好使用。