文章目录
  1. 1. Dropout的理解:
    1. 1.1. 修改:
  2. 2. Dropconnect:
  3. 3. Maxout:
  4. 4. 参考:

Dropout的理解:

  1. 在训练过程中,随机的使一些神经元输出为0,使其失效,这样有可能可以获得更多的特征表达,每一个神经元不完全依赖于其他的神经元,但是我们还是保留这个权重;
  2. 从数学平均的角度来理解的话,每一个batchsize的训练,都有不同的激活的神经元来组成网络,每一次迭代的网络都不相同,但是他们是使用了同一个权重。最终结果可以理解为,不同的神经网络做了平均。

修改:

  1. 在训练过程中,对权重不再使用惩罚项,而是规定其一个上界bound,当权重的更新值超出上界后把权重的更新除以bound来减少权重的更新,这样导致了搜索算法可以有更大的搜索空间,而不是在较小的搜索空间开始以很小的学习速率去寻优;
  2. 在测试的过程中,所有的神经元都是激活的,为了补偿这一效果所导致的输出变化,神经元的输出都要折半,这就类似于把不同的神经网络做了平均。

Dropconnect:

与dropout不同,dropout是把该层神经元的输出随机赋给0,但是dropconnect是把该层神经元和下层神经元之间的权重W随机赋给0。一个是输入,一个是输出,dropout是该神经元对下一层所有的神经元都无效,而dropconnect是该神经元对下一层神经元若干个无效。

Maxout:

Maxout是相当于在输入层和隐层之间再添入一个隐隐层,隐隐层分为输入层单元的个数个组,每组k个单元,隐层每个单元的输入和每组内的k个隐隐层单元输出相连。最终隐层的输入是每组内k个隐隐层输出的最大。
maxout其实一种激发函数形式。通常情况下,如果激发函数采用sigmoid函数的话,在前向传播过程中,隐含层节点的输出表达式为:

而maxout的激发函数,其隐含层输出为:

参考:

Deep learning:四十一(Dropout简单理解)
Deep learning:四十六(DropConnect简单理解)
Deep learning:四十五(Maxout简单理解)

文章目录
  1. 1. Dropout的理解:
    1. 1.1. 修改:
  2. 2. Dropconnect:
  3. 3. Maxout:
  4. 4. 参考: