深度学习 过拟合 CheckList

参考资料: 量子位-怎样构建深度学习模型?

  • 第1步:损失函数
    • 回归问题用MSE(均方误差)
    • 多类别分类问题用交叉熵(衡量相似性)
    • 二分类问题用二值交叉熵
  • 第2步:初始神经网络架构
    • 结构化学习(结构化数据):一个激活节点的个数数在输入和输出神经元数之间的全连接层,先不要太深太大
    • 计算机视觉:从ResNet开始
  • 第3步:训练集
    • 用learning rate finder来选学习率,可以得到一个学习率的曲线,选取还在明显下降但快要平坦的地方。
    • Adam或相关的优化器优化(Adam速度快但有可能不收敛)
    • 模型表征能力还是不够,可以用余弦学习率衰减,但如果学习率本身就可以自学习就不需要了。
    • 如果用了学习率衰减,适当的时候再学习率重启
    • 如果做迁移学习,把前几层解冻尝试一下可微分学习率
    • 隐藏层的神经元数量
    • minibatch大小
    • 隐藏层数量
  • 第4步:验证集
    • Dropout
    • L2正则化 防止一些权重过大
    • 输入特征归一化
    • 批量归一化
    • 数据扩增
    • 为训练集补充数据
    • 梯度消失或爆炸
    • He初始化解决梯度消失或爆炸
    • 梯度裁剪解决梯度爆炸
    • 重新调整神经网络架构
  • 第5步:测试集
    • 如果有问题,扩大验证集,回到第4步,不要用测试集损失来调整超参数
  • 第6步:真实世界
    • 如果有问题,换个验证集和测试集,回到第4步,可能是分布不同

猜你喜欢

转载自blog.csdn.net/cfarmerreally/article/details/80897603