将 dropout 应用于神经网络相当于从中采样“细化”网络。细化的网络由所有在 dropout 中幸存下来的单元组成。具有单元的神经网络可以看作是可能的细化神经网络的集合。
资料来源:
Dropout:一种防止神经网络过度拟合的简单方法,第 页。1931 年。
我们如何获得这些模型?
将 dropout 应用于神经网络相当于从中采样“细化”网络。细化的网络由所有在 dropout 中幸存下来的单元组成。具有单元的神经网络可以看作是可能的细化神经网络的集合。
资料来源:
Dropout:一种防止神经网络过度拟合的简单方法,第 页。1931 年。
我们如何获得这些模型?
该陈述有点过于简单,但其想法是假设我们有节点并且这些节点中的每一个都可能被“删除”,我们有可能的细化神经网络。显然,丢弃整个层会改变网络的整个结构,但想法很简单:我们忽略来自某些随机选择的神经元的激活/信息,从而鼓励冗余学习并阻止对非常特定的特征的过度拟合。
同样的想法也被用于梯度提升机器,我们不是“忽略神经元”,而是随机“忽略树”(参见 Rashmi & Gilad-Bachrach (2015) DART: Dropouts meet Multiple Additive Regression Trees关于这件事)。
次要编辑:我刚刚看到 Djib2011 的答案。(+1)他/她具体说明了为什么该陈述有些过于简单化。如果我们假设我们可以丢弃任何(或全部,或没有)神经元,我们就有可能的网络。
假设我们有 n 个神经元,每个神经元都有被禁用的概率。情况0:零个神经元剩余,n个神经元被禁用,C(n,0) 情况1:只剩下一个神经元,n-1个神经元被禁用,C(n,1) 情况2:只剩下两个神经元,n-2神经元被禁用, C(n,2) 。. . 情况 n:剩余 n 个神经元,禁用 0 个神经元,C(n,n)
所以 C(n,0)+C(n,1)+C(n,2)+...+ C(n,n)=2^n
我也没有理解他们的推理,我一直认为这是一个错字或什么的......
我的看法是,如果我们在具有单个隐藏层的神经网络中个,我们将拥有:
可能的组合(不是作者所说的
示例:
假设有一个简单的全连接神经网络,它有一个带有 4 个神经元的隐藏层。这意味着隐藏层将有 4 个输出。
现在,您希望以 0.5 的概率将 dropout 应用于该层(即一半的输出将被丢弃)。
由于 4 个输出中有 2 个将被丢弃,因此在每次训练迭代中,我们将有以下可能性之一:
或通过应用公式:
这很简单。可以将其视为从一组中获取子集数量的任务。