• dropout


    目录

    1.理解dropout正则化

    2.dropout率的选择

    3.dropout有什么缺点?


    1.理解dropout正则化

            Dropout可以随机删除网络中的神经单元,它为什么可以通过正则化发挥如此大的作用呢?直观上理解:不要依赖于任何一个特征,因为该单元的输入可能随时被清除,因此该单元通过这种方式传播下去,并为单元的四个输入增加一点权重,通过传播所有权重,dropout将产 生收缩权重的平方范数的效果,和之前讲的L2正则化类似;实施dropout的结果实它会压缩权重,并完成一些预防过拟合的外层正则化; L2对不同权重的衰减是不同的,它取决于激活函数倍增的大小。

    2.dropout率的选择

    • 经过交叉验证,隐含节点dropout率等于0.5的时候效果最好,原因是0.5的时候dropout随机生成的网络结构最多。
    • dropout也可以被用作一种添加噪声的方法,直接对input进行操作。输入层设为更接近1的数。使得输入变化不会太大(0.8)
    • 对参数w的训练进行球形限制(max- normalization),对dropout的训练非常有用。
    • 球形半径c是一个需要调整的参数,可以使用验证集进行参数调优。
    • dropout自己虽然也很牛,但是dropout、max-normalization、 large decaying learning rates and high momentum组合起来效果更好,比如max-norm regularization 就可以防止大的learning rate导致的参数blow up。
    • 使用pretraining方法也可以帮助dropout训练参数,在使用dropout时,要将所有参数都乘以1/p。

    3.dropout有什么缺点?

            dropout-大缺点就是代价函数J不再被明确定义,每次迭代,都会随机移除一-些节点,如果再三检查梯度下降的性能,实际上是很难进行复查的。定义明确的代价函数J每次迭代后都会下降,因为我们所优化的代价函数J实际上并没有明确定义,或者说在某种程度上很难计算,所以我们失去了调试工具来绘制这样的图片。我通常会关闭dropout函数,将keep- prob的值设为1,运行代码,确保J函数单调递减。然后打开dropout函数, 希望在dropout过程中,代码并未引入bug。我觉得你也可以尝试其它方法,虽然我们并没有关于这些方法性能的数据统计,但你可以把它们与dropout方法一起使用。

  • 相关阅读:
    如何用 GPTs 构建自己的知识分身?(进阶篇)
    HashMap和Hashtable的详细区别
    Linux线程同步(下)
    关于Git使用:fatal: Could not read from remote repository.的报错问题解决
    SAP CRM 模块:概述,体系结构
    SpringMVC-2-Controller和RestFul风格
    聊聊数据库建表的15个小技巧
    spring boot社区居民健康档案管理系统毕业设计源码220940
    java基于ssm网上超市购物商城-计算机毕业设计
    成都回顾|聚焦 · 连接 · 协同云原生数字产业生态
  • 原文地址:https://blog.csdn.net/m0_45447650/article/details/126109191