RNN里面使用dropout

    RNN通常意义上是不能使用dropout的,因为RNN的权重存在累乘效应,如果使用dropout的话,会破坏RNN的学习过程。

但是,Google Brain在15年专门发表了一篇文章研究这个:recurrent neural network regularization

他们在非循环阶段使用了dropout,改善了过拟合的现象

论文在两个地方使用了dropout,图中虚线部分就是使用了dropout,实线部分没有使用

 非循环阶段不存在权重的累乘效应,不会破坏RNN的学习过程

为了更加清楚的看,画了一幅图:

图中的dropout和recurrent_dropout都是dropout,只是作业在不同的地方,keras对其也有设置了参数:

model.add(LSTM(100, dropout=0.2, recurrent_dropout=0.2))
还有就是我们可以在非RNN阶段也可以使用dropout,比如这样的:

model.add(..)
model.add(LSTM(10))
model.add(Dropout(0.5))

上面的的代码的意思是执行LSTM之后是可以使用dropout的

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值