【发布时间】:2020-12-10 09:12:10
【问题描述】:
model = tf.keras.Sequential([
tf.keras.layers.Embedding(1000, 16, input_length=20),
tf.keras.layers.Dropout(0.2), # <- How does the dropout work?
tf.keras.layers.Conv1D(64, 5, activation='relu'),
tf.keras.layers.MaxPooling1D(pool_size=4),
tf.keras.layers.LSTM(64),
tf.keras.layers.Dense(1, activation='sigmoid')
])
我可以理解 Dense 层之间何时应用 dropout,它会随机丢弃并阻止前一层神经元更新参数。我不明白 Embedding layer 之后 dropout 是如何工作的。
假设Embedding layer 的输出形状是(batch_size,20,16),或者如果我们忽略批量大小,则只是(20,16)。 dropout 如何应用于嵌入层的输出?
随机删除行或列?
【问题讨论】:
标签: tensorflow nlp lstm recurrent-neural-network word-embedding