[置顶] 深度学习模型训练流程
2018-02-02 19:02
344 查看
文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
工作中训练了很多的深度学习模型,目前到了上升到方法论的角度来看了。日常工作中有的人可能已经在遵循方法论做事,可能自己没有注意,有的人可能没有遵循方法论在做事,虽然可能最后的结果差不多,但花费的时间和精力应该会差别很大,当然这是我自己的感受。我们不必完全按照方法论来做,但基本流程跟方法论应该一致。
下面的具体步骤以图像分类,识别图像中的猫为例。
有了评估标准后,需要确定一个Baseline,例如可以简单快速的训练一个模型或已经有一个Pretrained Model,在评估数据集上进行评估,得到一个指标作为Baseline,然后在Baseline的基础上进行提高,确定Baseline类似于敏捷开发中的快速原型开发。
Target
有了Baseline之后,可以确定一个目标,但这个目标不能是拍脑袋出来的,如果你的业务与别人的业务类似,例如色情识别,可以使用大厂(BAT)的模型先在评估数据集上得出一个结果,目标定为达到他们的水平或超过他们的水平。如果不跟别人的业务类似,那么需要根据具体的业务需求确定一个目标。目标还是要有的,起码确定一个方向。
博客:noahsnail.com | CSDN | 简书
工作中训练了很多的深度学习模型,目前到了上升到方法论的角度来看了。日常工作中有的人可能已经在遵循方法论做事,可能自己没有注意,有的人可能没有遵循方法论在做事,虽然可能最后的结果差不多,但花费的时间和精力应该会差别很大,当然这是我自己的感受。我们不必完全按照方法论来做,但基本流程跟方法论应该一致。
下面的具体步骤以图像分类,识别图像中的猫为例。
1. 问题定义
问题定义,“what,how,why”中的what,首先要弄清楚自己要干什么,然后调研相关的技术,确定解决方案。例如这一步中我的工作是进行图像分类,问题定义是图像分类——识别猫,相关的技术包括各种分类模型,各种深度学习框架。我选择的是BN-Inception + Caffe。2. 确定评估标准
根据问题定义,确定了相关技术之后,不要着急动手去做,先确定评估标准,怎么评价模型的好坏,例如分类猫可以通过准确率(Precision)、召回率(Recall)、F1、ROC曲线、AUC面积等。确定了评估标准之后,评估数据集也要准备好。3. 确定Baseline和Target
Baseline有了评估标准后,需要确定一个Baseline,例如可以简单快速的训练一个模型或已经有一个Pretrained Model,在评估数据集上进行评估,得到一个指标作为Baseline,然后在Baseline的基础上进行提高,确定Baseline类似于敏捷开发中的快速原型开发。
Target
有了Baseline之后,可以确定一个目标,但这个目标不能是拍脑袋出来的,如果你的业务与别人的业务类似,例如色情识别,可以使用大厂(BAT)的模型先在评估数据集上得出一个结果,目标定为达到他们的水平或超过他们的水平。如果不跟别人的业务类似,那么需要根据具体的业务需求确定一个目标。目标还是要有的,起码确定一个方向。
4. 模型训练
模型训练这部分就没太多说的了,深度学习工程师的基本功。5. 模型评估
将训练的模型在评估数据集上进行评估,分析评估结果,与上一次的模型结果以及Target进行对比。将错误的数据取出来,分析存在的问题,讨论调整的方向,记录实验结果。6. 模型再训练
重复步骤4、5,直至达到目标。如果模型还不错,可以将模型放到Beta环境测试,分析线上的结果,重复步骤4、5。7. 服务部署
如果模型在Beta环境也不错,则可以进行线上测试,继续重复步骤4、5,因为有的模型需要不断的进行迭代更新。参考资料
https://towardsdatascience.com/machine-learning-in-practice-what-are-the-steps-a4b15ee18546相关文章推荐
- [置顶] 语言模型1-word2vec为什么能训练出相似向量
- [置顶] FCN模型训练中遇到的困难
- 深度学习(十四):详解Matconvnet使用imagenet模型训练自己的数据集
- [置顶] VGG、ResNet、GoogleLeNet、AlexNet等常用网络代码及预训练模型
- 4用于cifar10的卷积神经网络-4.6设计模型训练和评估的会话流程
- 选择性的加载网络模型的前几层训练(27)---《深度学习》
- 用CNTK搞深度学习 (二) 训练基于RNN的自然语言模型 ( language model )
- 声学模型(一) hmm声学训练流程
- [置顶] 【python keras实战】快速开始:训练一个简单的Keras 模型
- 深度学习模型训练技巧
- [置顶] 从零开始使用深度学习训练一个新闻分类器(干货)
- 手把手:我的深度学习模型训练好了,然后要做啥?
- TensorFlow全流程样板代码:以ai challenger 场景分类和slim预训练模型为例
- [置顶] Object Detection with Discriminatively Trained Part Based Models(使用判别训练的部件模型进行目标检测 )
- 数据不够怎么训练深度学习模型?不妨试试迁移学习
- 深度学习模型训练技巧
- [置顶] 【python keras实战】用keras搭建卷起神经网络训练模型
- 使用GOOGLE COLAB训练深度学习模型
- mhout in action : 13.4.1 阶段1(训练分类模型)的流程
- 在深度学习模型训练过程中,动态实时监控GPU使用情况