zoukankan      html  css  js  c++  java
  • 神经网络CNN训练心得--调参经验

    1.样本要随机化,防止大数据淹没小数据

    2.样本要做归一化。关于归一化的好处请参考:为何需要归一化处理
    3.激活函数要视样本输入选择(多层神经网络一般使用relu)
    4.mini batch很重要,几百是比较合适的(很大数据量的情况下)
    5.学习速率(learning rate)很重要,比如一开始可以lr设置为0.01,然后运行到loss不怎么降的时候,学习速率除以10,接着训练
    6.权重初始化,可用高斯分布乘上一个很小的数,这个可以看:权值初始化
    7.Adam收敛速度的确要快一些,可结果往往没有sgd + momentum的解好(如果模型比较复杂的话,sgd是比较难训练的,这时候adam的威力就体现出来了
    8.Dropout的放置位置以及大小非常重要
    9.early stop,发现val_loss没更新,就尽早停止

    另:心得体会
    深度学习真是一门实验科学,很多地方解释不了为什么好,为什么不好。
    网络层数、卷积核大小、滑动步长,学习速率这些参数的设置大多是通过已有的架构来做一些微调



    参考:知乎讨论 https://www.zhihu.com/question/41631631
  • 相关阅读:
    JDBC事务处理
    JDBC之LOB数据类型
    使用JDBC驱动程序处理元数据
    JDBC之PreparedStatement
    JDBC主要API学习总结
    JDBC简介
    ForkJoinPool 分支/合并框架
    线程池
    线程八锁
    jQuery中的事件冒泡
  • 原文地址:https://www.cnblogs.com/dailidong/p/7571094.html
Copyright © 2011-2022 走看看