时间分布(批次标准化)与批次标准化

2024-03-29 09:44:03 发布

您现在位置:Python中文网/ 问答频道 /正文

BatchNormalization和TimeDistributed(BatchNormalization)是否对顺序数据(如视频)具有相同的效果?如果没有,有什么区别


Tags: 数据视频顺序效果区别timedistributedbatchnormalization
1条回答
网友
1楼 · 发布于 2024-03-29 09:44:03

tf.keras.layers.TimeDistributed的文档中,您会注意到

>> inputs = tf.keras.Input(shape=(10, 128, 128, 3)) 
>> conv_2d_layer = tf.keras.layers.Conv2D(64, (3, 3)) 
>> outputs = tf.keras.layers.TimeDistributed(conv_2d_layer)(inputs) 
>> outputs.shape 

基本上,用TimeDistributed包装的层将应用于每个时间步。这意味着,在上面的代码示例中,一个Conv2D层被放置在所有10个时间步的下面。这同样适用于BatchNormalization

如果我们直接应用BatchNormalization层,而不是TimeDistributed层,那么将计算整个10个时间步的平均值和方差。 然而,包装在TimeDistributed层中的BatchNormalization将计算形状( 1 , 128 , 128 , 3 )批次(即每个时间步)的平均值和方差

相关问题 更多 >