在Theano实施辍学

时间:2016-06-16 19:35:42

标签: python machine-learning theano deep-learning conv-neural-network

我目前正在使用Theano内置的卷积神经网络。 Dropout是一种正则化技术,其中节点输出以一定的概率被屏蔽,据我所知,掩码应该在正向和反向传播期间应用。

由于我目前在Theano工作,反向传播步骤被T.grad函数取代,该函数使用自动微分来计算模型的梯度。在我在网上找到的几个例子中,他们只在前进方向上屏蔽了这些值,并且在梯度计算步骤中根本没有考虑丢失掩码。这将对网络产生什么样的影响,如果我想在渐变计算中包含掩码,我该怎么做?我现在的代码主要基于Lisa Lab在其深度学习教程中提供的代码。

1 个答案:

答案 0 :(得分:0)

两个变量(例如x * y,x)的乘法梯度具有y梯度,反之亦然。 Dropout使用屏蔽节点的输出,这是掩码和节点输出的乘法。在做毕业时,它将由theano本身照顾。 dropout implementation in theano