caffe Dropout 层浅解

来源:互联网 发布:眼镜哪个牌子好 知乎 编辑:程序博客网 时间:2024/04/29 01:03

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

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

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

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

1 0
原创粉丝点击