对于调参的经验1

简介: 刚开始, 先上小规模数据, 模型往大了放, 只要不爆显存, 能用256个filter你就别用128个. 直接奔着过拟合去. 没错, 就是训练过拟合网络, 连测试集验证集这些都可以不用.

对于调参的经验



基本原则:快速试错


一些大的注意事项:


  1. 刚开始, 先上小规模数据, 模型往大了放, 只要不爆显存, 能用256个filter你就别用128个. 直接奔着过拟合去. 没错, 就是训练过拟合网络, 连测试集验证集这些都可以不用.


为什么?


  • 你要验证自己的训练脚本的流程对不对. 这一步小数据量, 生成速度快, 但是所有的脚本都是和未来大规模训练一致的(除了少跑点循环)
  • 如果小数据量下, 你这么粗暴的大网络奔着过拟合去都没效果. 那么, 你要开始反思自己了, 模型的输入输出是不是有问题? 要不要检查自己的代码(永远不要怀疑工具库, 除非你动过代码)? 模型解决的问题定义是不是有问题? 你对应用场景的理解是不是有错? 不要怀疑NN的能力, 不要怀疑NN的能力, 不要怀疑NN的能力. 就我们调参狗能遇到的问题, NN没法拟合的, 这概率是有多小?
  • 你可以不这么做, 但是等你数据准备了两天, 结果发现有问题要重新生成的时候, 你这周时间就酱油了.


2. Loss设计要合理.


  • 一般来说分类就是Softmax, 回归就是L2的loss. 但是要注意loss的错误范围(主要是回归), 你预测一个label是10000的值, 模型输出0, 你算算这loss多大, 这还是单变量的情况下. 一般结果都是nan. 所以不仅仅输入要做normalization, 输出也要这么弄.
  • 多任务情况下, 各loss想法限制在一个量级上, 或者最终限制在一个量级上, 初期可以着重一个任务的loss


3. 观察loss胜于观察准确率


准确率虽然是评测指标, 但是训练过程中还是要注意loss的. 你会发现有些情况下, 准确率是突变的, 原来一直是0, 可能保持上千迭代, 然后突然变1. 要是因为这个你提前中断训练了, 只有老天替你惋惜了. 而loss是不会有这么诡异的情况发生的, 毕竟优化目标是loss.


给NN一点时间, 要根据任务留给NN的学习一定空间. 不能说前面一段时间没起色就不管了. 有些情况下就是前面一段时间看不出起色, 然后开始稳定学习.


4. 确认分类网络学习充分


分类网络就是学习类别之间的界限. 你会发现, 网络就是慢慢的从类别模糊到类别清晰的. 怎么发现? 看Softmax输出的概率的分布. 如果是二分类, 你会发现, 刚开始的网络预测都是在0.5上下, 很模糊. 随着学习过程, 网络预测会慢慢的移动到0,1这种极值附近. 所以, 如果你的网络预测分布靠中间, 再学习学习.

目录
相关文章
|
6月前
|
算法 计算机视觉 Python
技术经验分享:GBM模型调参详解
技术经验分享:GBM模型调参详解
|
6月前
|
机器学习/深度学习 算法
技术经验解读:【机器学习】代价函数(costfunction)
技术经验解读:【机器学习】代价函数(costfunction)
|
6月前
|
测试技术 Linux 开发工具
软件测试之【面试题综合训练题】
软件测试之【面试题综合训练题】
78 0
|
机器学习/深度学习 存储 算法
机器学习面试笔试之特征工程、优化方法、降维、模型评估1
机器学习面试笔试之特征工程、优化方法、降维、模型评估
169 0
|
机器学习/深度学习 算法 数据可视化
机器学习面试笔试之特征工程、优化方法、降维、模型评估2
机器学习面试笔试之特征工程、优化方法、降维、模型评估
123 0
|
机器学习/深度学习 人工智能 算法
一文归纳Ai调参炼丹之法
一文归纳Ai调参炼丹之法
|
机器学习/深度学习 人工智能 算法
【AI】浅谈梯度下降算法(实战篇)
在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。目前正在学习这方面相关的内容,因此简单谈谈。
263 0
【AI】浅谈梯度下降算法(实战篇)
|
机器学习/深度学习 人工智能 算法
AI调参炼丹之法
AI调参炼丹之法
339 0
AI调参炼丹之法
|
机器学习/深度学习 算法 API
浅显易懂的机器学习(五)—— 模型选择及调优
本文讲述了如何在机器学习中进行模型选择及调优
357 0
|
机器学习/深度学习 数据可视化 计算机视觉
对于调参的经验2
对于调参的经验2
68 0
下一篇
DataWorks