TimeDistributed vs. TimeDistributedDense Keras

我已经查阅了官方文档,但仍然不明白TimeDistributed作为Keras模型中的一层到底有什么作用?

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

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


回答:

所以,基本上有TimeDistributedDense是在早期版本的Keras中引入的,用于对序列逐步应用Dense层。TimeDistributed是一个Keras包装器,它使得可以将任何静态(非序列)的层以序列的方式应用。因此,例如,如果你的层接受形状为(d1, .., dn)的输入, благод到TimeDistributed包装器,你的层可以接受形状为(sequence_len, d1, ..., dn)的输入,通过将提供的层应用到X[0,:,:,..,:], X[1,:,...,:], ..., X[len_of_sequence,:,...,:]

这种用法的例子可能是将预训练的卷积层应用到短视频片段上,通过TimeDistributed(conv_layer),其中conv_layer应用于片段的每一帧。它会产生一系列输出,这些输出可以被下一个循环层或TimeDistributed层消耗。

需要注意的是,TimeDistributedDense的使用已被弃用,建议使用TimeDistributed(Dense)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注