今天看到RNN代码里面有dropout,查了一下,有下面的说法
https://blog.csdn.net/xinyihhh/article/details/122135986
model.add(LSTM(100, dropout=0.2, recurrent_dropout=0.2))
model.add(Dropout(0.5))
第一个dropout是输入层x和hidden之间的dropout,控制输入线性变换的神经元断开比例
第二个recurrent_dropout是hidden-hidden之间的dropout(循环层之间),控制循环状态的线性变换的神经元断开比例
第三个Dropout是在层之间加入dropout层,是层与层之间的dropout
另外也有地方说RNN的权重存在累乘效应,如果使用dropout的话,会破坏RNN的学习过程。
https://blog.csdn.net/zhou_438/article/details/108577209
Google Brain在15年专门发表了一篇文章研究这个:recurrent neural network regularization
他们在非循环阶段使用了dropout,改善了过拟合的现象
论文在两个地方使用了dropout,图中虚线部分就是使用了dropout,实线部分没有使用
原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/245482.html