偶尔我会看到一些模型使用 SpatialDropout1D
而不是 Dropout
。例如,在词性标注神经网络中,他们使用:
model = Sequential()
model.add(Embedding(s_vocabsize, EMBED_SIZE,
input_length=MAX_SEQLEN))
model.add(SpatialDropout1D(0.2)) ##This
model.add(GRU(HIDDEN_SIZE, dropout=0.2, recurrent_dropout=0.2))
model.add(RepeatVector(MAX_SEQLEN))
model.add(GRU(HIDDEN_SIZE, return_sequences=True))
model.add(TimeDistributed(Dense(t_vocabsize)))
model.add(Activation("softmax"))
根据Keras文档,它说:
此版本执行与Dropout相同的功能,但丢弃整个1D特征映射而不是单个元素。
然而,我无法理解整个1D特征映射的含义。更具体地说,我无法在quora中解释的相同模型中可视化SpatialDropout1D
。有人能否通过使用与quora中相同的模型来解释这个概念?
此外,在什么情况下我们会使用SpatialDropout1D
而不是Dropout
?
[k,1,1,n]
似乎是在删除某些样本和某些通道,而不触及任何空间维度。 - Daniel Möller(2,2,2)
,噪声形状为(1,2,2)
? 如果是这样,我认为零元素的数量可以是0
、2
、4
、6
或8
。 而不能是1
、3
、5
、7
。 我理解正确吗? - Raven CheukDropout
层中使用自定义噪声形状。所以,假设我的输入张量的形状为10, 8, 5
,并且我使用一个噪声形状为10, 8, 1
的正常Dropout
层,那么这是否会给我与使用SpatialDropout1D
相同的输出? - Asif Iqbal