在 Dropout 过程中创建细化模型

机器算法验证 机器学习 神经网络 退出
2022-04-13 09:48:11

将 dropout 应用于神经网络相当于从中采样“细化”网络。细化的网络由所有在 dropout 中幸存下来的单元组成。具有单元的神经网络可以看作是可能的细化神经网络的集合。n2n

资料来源:
Dropout:一种防止神经网络过度拟合的简单方法,第 页。1931 年。

我们如何获得这些模型?2n

4个回答

该陈述有点过于简单,但其想法是假设我们有节点并且这些节点中的每一个都可能被“删除”,我们有可能的细化神经网络。显然,丢弃整个层会改变网络的整个结构,但想法很简单:我们忽略来自某些随机选择的神经元的激活/信息,从而鼓励冗余学习并阻止对非常特定的特征的过度拟合。n2n

同样的想法也被用于梯度提升机器,我们不是“忽略神经元”,而是随机“忽略树”(参见 Rashmi & Gilad-Bachrach (2015) DART: Dropouts meet Multiple Additive Regression Trees关于这件事)。

次要编辑:我刚刚看到 Djib2011 的答案。(+1)他/她具体说明了为什么该陈述有些过于简单化。如果我们假设我们可以丢弃任何(或全部,或没有)神经元,我们就有可能的网络。2n

假设我们有 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

我也没有理解他们的推理,我一直认为这是一个错字或什么的......

我的看法是,如果我们在具有单个隐藏层的神经网络中个,我们将拥有:nr

n!r!(nr)!

可能的组合(不是作者所说的2n


示例

假设有一个简单的全连接神经网络,它有一个带有 4 个神经元的隐藏层。这意味着隐藏层将有 4 个输出h1,h2,h3,h4

现在,您希望以 0.5 的概率将 dropout 应用于该层(即一半的输出将被丢弃)。

由于 4 个输出中有 2 个将被丢弃,因此在每次训练迭代中,我们将有以下可能性之一:

  1. h1,h2
  2. h1,h3
  3. h1,h4
  4. h2,h3
  5. h2,h4
  6. h3,h4

或通过应用公式:

4!2!(42)!=2422=6

这很简单。可以将其视为从一组中获取子集数量的任务。