提高CV模型训练性能的 9 个技巧

简介: 提高CV模型训练性能的 9 个技巧

导读

本文 主要想分享一些可能有助于提高计算机视觉任务模型训练速度和准确性的一般技巧或建议,这些建议是通过课程、阅读顶级文章或论文学习所得来的。

1. 分辨率

  • 从较小的分辨率开始:

前两个技巧侧重于实现更快的模型——您尝试的想法越多,获得更好结果的机会就越大。为了更快地迭代,我们需要从“小”着手以减少我们的训练时间:

Ayush 创建了一个指向所有共享数据集的数据集线程。从较小的数据集尺寸或分辨率开始可以让您更快地迭代。

如果您使用较小的 GPU 内存,那么可以通过增加 batch_size 加快迭代速度。一旦您对自己的想法充满信心并看到了效果提升,您就可以扩展到更大的图像尺寸或分辨率。

2. 数据集

  • 从数据子集开始:

您应该从少量的数据集或示例开始,并在那里验证您的训练模型。

例如:训练 10 个 classes,检查它是否提高了 CV -> 提交

扩展到 20 个classes,检查 CV,然后再次提交

如果一切顺利,就在完整数据集上进行训练。

3. 精度

  • 使用 FP16 或半精度训练:

NVIDIA GPU 具有 Tensor-Cores,在使用“半精度”张量时可提供巨大的加速。这里写了一篇更详细的博客,尝试使用 fp_16 训练来观察任何 GPU(和 TPU!)上的加速情况。

4. TPU

  • 使用 TPU

Kaggle 每周提供 20 小时的 TPUTPU 有 8 个核心,这允许您的 batch_sizes 是 8 的倍数。这允许更快的训练和更快的迭代。

注意:最近发现了 Hugging Face Accelerate,它声称可以在 TPU 上使用 PyTorch 为您提供简单的工作流程。

5. 渐进式

  • 渐进式调整大小:

IIRCEfficientnet 论文中被介绍,也在 fastai 课程中教授。

Chris Deotte 发表了一篇关于 CNN 输入图像大小的文章。这个博客教你渐进调整大小在 fastai 中是如何工作的。长话短说:

  • 训练模型尺寸:小
  • 保存权重并在更大的图像尺寸上重新训练模型
  • 再次保存权重并重新训练最终图像大小

这个过程将会获得更快的收敛和更好的性能。

6. Depthwise Convs

  • 使用 Depthwise Convs 而不是 Regular Convs

这个概念首先是在 MobileNet 论文中引入的,最近与 ConvNext 架构相关的讨论中它再次出现。 Depthwise Convolutions 具有更少的 filters,因此训练速度更快。

请参阅此处以获取有关使其在 PyTorch 中运行的一些提示

7. 学习率

  • 在模型训练期间更改 learning_rate

慢的 lr 需要太长的时间,而快的 lr 可能无法帮助你的模型收敛,使用这个逻辑,我们应该使用动态学习率。

我建议使用 fastai 及其 fine_tune()fit_one_cycle() 函数。有关更多详细信息,请参见此处

8. 热身

  • 从论文 Bag of Tricks中,使用 LR 预热是亮点之一:

当你开始训练一个模型时,它具有更多的“随机性”,因为它刚刚开始学习特征,因此首先从较小的 learning_rate 开始允许它选择细节,然后你可以在“预热”后将其增加到预期的schedule

9. 图像增强

NNs 受益于更多数据。图像中的微小变化确实可以帮助模型提高对图像内部特征的理解。使用正确的图像增强可以真正帮助您的模型。此外,在训练模型时可视化结果,以确保它们了解的是特征而不是背景!


欢迎Star -> 学习目录

更多教程 -> 学习目录


相关文章
|
13天前
|
机器学习/深度学习 数据可视化 算法
机器学习中的分类问题:如何选择和理解性能衡量标准
机器学习中的分类问题:如何选择和理解性能衡量标准
机器学习中的分类问题:如何选择和理解性能衡量标准
|
13天前
|
机器学习/深度学习 自然语言处理 算法
机器学习-特征选择:如何用信息增益提升模型性能?
机器学习-特征选择:如何用信息增益提升模型性能?
68 1
|
7月前
|
机器学习/深度学习
评分是机器学习领域中的一种评估模型性能的指标
评分是机器学习领域中的一种评估模型性能的指标
53 1
|
13天前
|
机器学习/深度学习 数据采集 搜索推荐
机器学习中的特征工程:提升模型性能的关键步骤
【5月更文挑战第3天】特征工程是提升机器学习模型性能的关键,涉及从原始数据中提取、选择和创造特征。它能提高模型预测准确率,简化模型复杂度,增强泛化能力。常用技术包括特征选择(Filter、Wrapper、Embedded方法)、特征构造(组合、多项式、文本特征提取)和特征变换(标准化、归一化、离散化)。通过优化特征工程,可找到最佳特征组合,提升模型性能。
|
13天前
|
机器学习/深度学习 算法 Python
【Python 机器学习专栏】随机森林算法的性能与调优
【4月更文挑战第30天】随机森林是一种集成学习方法,通过构建多棵决策树并投票或平均预测结果,具有高准确性、抗过拟合、处理高维数据的能力。关键性能因素包括树的数量、深度、特征选择和样本大小。调优方法包括调整树的数量、深度,选择关键特征和参数优化。Python 示例展示了使用 GridSearchCV 进行调优。随机森林广泛应用于分类、回归和特征选择问题,是机器学习中的重要工具。
|
13天前
|
机器学习/深度学习 数据可视化 算法
R语言梯度提升机 GBM、支持向量机SVM、正则判别分析RDA模型训练、参数调优化和性能比较可视化分析声纳数据
R语言梯度提升机 GBM、支持向量机SVM、正则判别分析RDA模型训练、参数调优化和性能比较可视化分析声纳数据
|
13天前
|
机器学习/深度学习 大数据
如何通过评估方法评估机器学习模型的性能
如何通过评估方法评估机器学习模型的性能
18 0
|
13天前
|
机器学习/深度学习
机器学习第13天:模型性能评估指标
机器学习第13天:模型性能评估指标
|
13天前
|
机器学习/深度学习 算法 数据库
深入浅出:利用Python与机器学习优化数据库性能
本文介绍了一种创新的方法,结合Python编程语言和机器学习技术,来优化数据库性能。传统的数据库性能优化方法往往依赖于数据库管理员(DBA)的经验和直觉,而本文所提出的方法通过自动化的方式,利用机器学习模型对数据库查询进行分析和优化,从而实现更高效、更智能的数据库性能管理。本文首先介绍了使用Python进行数据库操作的基础知识,然后详细阐述了如何应用机器学习算法来预测和改善数据库查询性能,最后通过一个实际案例展示了该方法的有效性。本文旨在为数据库管理员、开发者以及对数据库性能优化感兴趣的读者提供一种全新的视角和工具。
|
6月前
|
机器学习/深度学习 算法 前端开发
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
378 0

热门文章

最新文章