深度学习——CLDNN(多模型神经网络)dropout

Deep Learning - CLDNN (multi-model neural network) dropout

我目前正在构建用于原始信号分类的 CLDNN(卷积、LSTM、深度神经网络)模型。

由于可训练参数的数量很容易超过数百万,我认为 dropout 有助于防止过度拟合。

我的问题也适用于多个模型堆叠的其他网络。

如果我的网络结构为

输入 -> 卷积 -> LSTM -> DNN -> 输出

我是否必须在每一层之后或仅在输出之前放置一个 dropout?

输入 -> 卷积 -> dropout -> LSTM -> dropout -> DNN -> dropout -> 输出

输入 -> 卷积 -> LSTM -> DNN -> dropout -> 输出

到目前为止,我只看到 dropout 应用于 convNets,但我不明白为什么它应该仅限于 convNets。 其他网络,如 LSTM 和 DNN,是否也使用 dropout 来防止过拟合?

是的,您可以在每个图层之后使用 Dropout。

不过,将 dropout 应用于最后一层(在 classes 上产生概率分布的层)没有意义。

不要忘记 LSTM 是一个循环模型,所以你必须使用 DropoutWrapper class 在每个时间步应用 dropout。