• CNN优化trick


    针对CNN优化

    • 使用类似1*1 的网络结构预训练RGB数据
    • 使用大约 128(0.005) 到 256 (0.01)的 mini-batch 大小。如果这对你的 GPU 而言太大,将学习率按比例降到这个大小就行
    • 卷积层取代FC,并用全局平均池化来预测
    • 研究增加数据集大小时,要考虑数据分布
    • 如果不能增加输入图像的大小,但是可以在随后的层上减少步幅

    训练深度神经网络的trick

    • 每一个epoch都要shuffle
    • 扩展数据集:小数据集容易过拟合。
    • 在整个数据集训练之前,先在非常小的子数据集上训练进行过拟合,这样可以知道网络是否可以收敛。
    • 在FC层 channel>256 就应该适当使用dropout
    • 避免使用双曲激活函数sigmoid或tanh
    • 在最大池化之前不要使用relu,而是在保存计算之后使用它
    • 尽量不要使用relu,初始化不好导致满盘皆输。可以采用PRelu,左边*0.1
    • 经常使用批归一化
    • 修改模型,只要可能就使用1*1的CNN层

    提升算法性能思路

    • 数据提升性能
    • 算法提升性能
    • 调参提升性能
    数据提升性能
    1. 获取更多数据
    2. 创造更多数据
    3. rescale数据
      重放缩数据至激活函数边界
    4. 数据变换
    算法提升性能
    1. 对算法抽样调查
    2. 借鉴已有文献
    3. 重采样方法
    调参提升性能
    1. 诊断
      判断model是否过拟合或者欠拟合
    2. 权重初始化
    3. 学习率
    4. 激活函数
    5. 改变网络结构
    6. batchsize 和epoch
    7. 正则化
    8. 优化器和损失函数
    9. early stopping
  • 相关阅读:
    三天打鱼两天晒网
    k8s中kubectl陈述式资源管理
    /proc/meminfo参数说明
    NodeJS 读写文件
    关于组合数(二项系数)的一个递推公式
    SQL刷题查漏补缺5
    309. 最佳买卖股票时机含冷冻期
    EfficientNet笔记
    【2022-05-31】JS逆向之易企秀
    117.DataNoe的HOSTNAME修改
  • 原文地址:https://blog.csdn.net/weixin_45074568/article/details/125416197