zoukankan      html  css  js  c++  java
  • dropout层

    全连接层加dropout层防止模型过拟合,提升模型泛化能力
    卷积网络中参数较少,加入dropout作用甚微。然而,较低层的中加入dropout是仍然有帮助,因为它为较高的全连接层提供了噪声输入,从而防止它们过拟合。
    一般对于参数较多的模型,效果更好
    做法

    1、其实Dropout很容易实现,源码只需要几句话就可以搞定了,让某个神经元以概率p,停止工作,其实就是让它的激活值以概率p变为0。比如我们某一层网络神经元的个数为1000个,其激活值为x1,x2……x1000,我们dropout比率选择0.4,那么这一层神经元经过drop后,x1……x1000神经元其中会有大约400个的值被置为0。
    2、经过上面屏蔽掉某些神经元,使其激活值为0以后,我们还需要对向量x1……x1000进行rescale,也就是乘以1/(1-p)。如果你在训练的时候,经过置0后,没有对x1……x1000进行rescale,那么你在测试的时候,就需要对权重进行rescale:Wt = 1/(1-p) *W

    参数选取

    1.先dropout=0, 训练后得到模型的一些指标(比如:Accuracy)。比较train数据集和test数据集的指标的拟合情况。
    2.过拟合:尝试下面的步骤。 欠拟合:调整模型的结构
    3.dropout设置成0.5之间, 再次训练得到模型的一些指标。
    4.如果过拟合明显好转,但指标也下降明显,可以尝试减少dropout(0.1~0.2)
    5.如果过拟合还是严重,增加dropout(0.1~0.2)
    6.重复上面的步骤多次,就可以找到理想的dropout值了

  • 相关阅读:
    JavaScript得到当前窗口的所有大小值
    JavaScript 变量、作用域和内存问题
    jQuery html5Validate基于HTML5表单验证插件
    新世界
    2001年的火花
    High Dynamic Range Compression on Programmable Graphics Hardware
    运筹帷幄
    你还要在学校找什么东西?
    图行天下
    Supra Team
  • 原文地址:https://www.cnblogs.com/wzl19981116/p/14584950.html
Copyright © 2011-2022 走看看