RNN里的dropout

今天看到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,实线部分没有使用

 

 

 

 

posted @ 2022-04-17 22:48  blcblc  阅读(376)  评论(0编辑  收藏  举报