dropout层加在哪里_Dropout在LSTM / GRU递归神经网络中的应用详解

作为dropout的一个变种,Krueger等人提出了Zoneout,它“不是将某些单位的激活设置为0,Zoneout随机替换某些单位的激活与他们从前一个时间步的激活。”这“使网络更容易保留以前时间步的信息向前发展,促进而不是阻碍梯度信息向后流动“。

640.png (4.5 KB, 下载次数: 3)

2018-9-22 20:22 上传

图11. Zoneout作为dropout的特例; ~ht是下一个时间步的单位h的隐藏激活(如果没有分区)。 可以将Zoneout视为在隐藏状态增量上应用dropout,〜ht - ht-1。 当该更新被删除时(由虚线表示),ht变为ht-1。

虽然循环dropout和Zoneout都能防止在GRU / LSTMS的状态/单元中建立的长期记忆丢失,“zoneout通过精确保留单位的激活来实现这一点。 当分区LSTM的隐藏状态(不是存储器单元)时,这种差异是最显着的,因为LSTM中没有类似的循环dropout。 饱和输出门或输出非线性会导致反复dropout遭受梯度消失,在这种情况下,Zoneout仍然有效地传播梯度。 此外,虽然循环dropout方法特定于LSTM和GRU,但zoneout推广到任何依次建立其输入的分布式表示的模型,包括朴素RNN。“

640.jpg (29.09 KB, 下载次数: 2)

2018-9-22 20:22 上传

图12. (a)Zoneout,与(b)LSTM中的循环dropout策略。 虚线为零掩码; 在zoneout中,相应的虚线用相应的相反零掩码掩盖。 矩形节点是嵌入层。

用TensorFlow实现Zon

你可能感兴趣的:(dropout层加在哪里)