码迷,mamicode.com
首页 > 其他好文 > 详细

循环神经网络-Dropout

时间:2019-03-13 12:17:58      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:http   设置   tput   conf   一个   col   信息   参考   work   


dropout 是 regularization 方法,在rnn中使用方法不同于cnn

对于rnn的部分不进行dropout,也就是说从t-1时候的状态传递到t时刻进行计算时,这个中间不进行memory的dropout;仅在同一个t时刻中,多层cell之间传递信息的时候进行dropout。

 

if is_training and config.keep_prob < 1:
    lstm_cell = tf.nn.rnn_cell.DropoutWrapper(lstm_cell, output_keep_prob=config.keep_prob)

因此,我们在代码中定义完cell之后,在cell外部包裹上dropout,这个类叫DropoutWrapper,这样我们的cell就有了dropout功能!

 

可以从官方文档中看到,它有input_keep_prob和output_keep_prob,也就是说裹上这个DropoutWrapper之 后,如果我希望是input传入这个cell时dropout掉一部分input信息的话,就设置input_keep_prob,那么传入到cell的 就是部分input;如果我希望这个cell的output只部分作为下一层cell的input的话,就定义output_keep_prob。不要太方便。

 

参考资料

recurrent neural network regularization

 

循环神经网络-Dropout

标签:http   设置   tput   conf   一个   col   信息   参考   work   

原文地址:https://www.cnblogs.com/yanshw/p/10516384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!