caffe Dropout 层浅解

  如果想要提高CNN的表达或分类能力,最直接的方法时采用更深的网络和更多的神经元,但是,复杂的越复杂的网络也就意味着网络更加容易过拟合。为了防止网络过拟合,Dropout孕育而生,实验表明,Dropout具有一定的防止网络过拟合的能力。

  过拟合,即网络对训练样本的分类能力很高,但是对其他数据的分类效果却不理想。通俗的说,网络只是很好的记住了你的训练样本,但是并没有学习到训练样本的普遍的共性。此时,网络的表达能力不好。那么,如果我们打破网络固定的工作方式,那么,就有可能打破这种不好的记忆。

  dropout可以让模型训练时,随机让网络的某些节点不工作(输出置零),也不更新权重,其他过程不变。我们通常设定一个dropout radio=p,即每个输出节点以概率p置0(不工作,权重不更新),假设每个输出都是独立的,每个输出都服从二项伯努利分布p(1-p),则大约认为训练时,只使用了(1-p)比例的输出,相当于每次训练一个子网络。测试的时候,可以直接去掉Dropout层,将所有输出都使用起来,为此需要将尺度对齐,即比例缩小输出 r=r*(1-p)。

  dropout的意义是,由于随机的让一些节点不工作了,因此可以避免某些特征只在固定的组合下才生效,有意识的让网络去学习一些普遍的共性,而不是某些训练样本的一些特性。Dropout的随机意味着没戏训练只训练了一部分,相当于训练了多个模型,实际使用时,采用了模型的平均作为输出。

你可能感兴趣的:(数字图像处理,计算机视觉,神经网络,CNNS,人工神经网络)