• 让CNN跑起来,以下是调参的所有秘密


    知乎上看到的
    - 收集高质量标注数据

    - 输入输出数据做好归一化,以防出现数值问题,方法就是主成分分析啥的。

    - 参数初始化很重要。太小了,参数根本走不动。一般权重参数0.01均方差,0均值的高斯分布是万能的,不行就试更大的。偏差参数全0即可。

    - 用SGD ,minibatch size 128。或者更小size ,但那样吞吐量变小,计算效率变低。

    - 用带momentum的SGD,二阶方法不用也罢。

    - 梯度更新的步长很重要。一般0.1是个万能数值。调参可改进结果,具体做法是人肉监督:用另外的验证集观察测试错误率,一旦不降了,步长减半甚至更多。

    - 梯度归一化:除以minibatch size ,这样就不显式依赖minibatch size

    - 限制权重参数的最大值防止跑飞。一般最大行范数不超过2或者4,否则同比收缩到这个值。

    - 梯度大致应该总是只改变参数的千分之一,偏离这个数字太远的,调之。

    - dropout一定要用

    - relu一定要用

    授人以鱼不如授人与渔。cnn调参,最好的参考论文就是那篇nips2012用cnn做imagenet的,没有之一。dropout那篇文章可作为最佳补充。
  • 相关阅读:
    Java网络技术-待续
    Java输入输出技术
    Java数据库技术
    Java安全技术
    Java异常、事件、多线程
    网站产品设计
    C#-委派和事件
    Quartz 触发器(SimpleTrigger&CronTrigger )配置说明 & cronExpression表达式 转
    weblogic出现response already committed(转)
    Weblogic二种修改端口的方法(转)
  • 原文地址:https://www.cnblogs.com/chunmei/p/5256909.html
Copyright © 2020-2023  润新知