论文解读-Bag of Tricks for Image Classification with Convolutional Neural Networks

本文深入解析了论文《Bag of Tricks for Image Classification with Convolutional Neural Networks》的内容,包括训练速度优化、网络结构改进和训练过程中的各种技巧。通过调整batch size、使用低精度训练和优化学习率衰减等策略,显著提高了模型训练速度和精度。此外,文中还探讨了Cosine Learning Rate Decay、Label Smoothing和Knowledge Distillation等技术在提高模型性能方面的作用。
摘要由CSDN通过智能技术生成


计算机视觉包含了很多研究方向,目前发展比较成熟的是识别和检测任务。一个不争的事实是,很多的深度学习算法并未开源,即便有开源,也只开源了推理代码,而没有开源训练代码,比如这两天雷军亲自在微博宣传的超分辨重建算法FALSR。因为网络的训练存在很多的Tricks,往往很难复现论文中的效果,所以不开源训练代码就有点不厚道了哈。

”Bag of Tricks for Image Classification with Convolutional Neural Networks“,由Amazon的李沐团队出品,将mobilenet_v1_224的精度提升到了73.28%。笔者记得以前使用tensorflow官方代码,从0开始训练该网络,Top1精度也只有70.4%,距离官方的70.9%还差0.5个点。所以学习该论文中的训练技巧是很有必要的。

这篇论文中的干货挺多的,很多的技术细节笔者之前是不知道的,为了将其中的策略应用于其他的cv任务,精度论文还是很有必要的,以下是笔者对论文的理解,希望也能对各位cv爱好者有所帮助。

1 动机

分类算法有好的效果,可以从以下几个方面做优化,(1)数据预处理;(2)网络结构;(3)优化目标,也即损失函数;(4)训练过程控制,那么具体来说,哪些策略会有效呢,作者基于“单因子变量分析”的思想,在公开数据集上做了大量实验,给出了结论。

2 baseline

作者基于mxnet深度学习框架,复现了多种网络结构的效果,具体的对比指标如下,
在这里插入图片描述
其中,Baseline指mxnet团队复现的结果,Reference指模型作者给出的结果,后面的tricks是对Baseline所做的修改。因为论文的主要贡献在这些tricks,所以这里就不详述baseline的实现细节了。

3 改进点

3.1 训练速度

在训练网络模型时,我们的一个共识是,batch size参数尽量设置大一些,这种做法存在如下的优缺点,

优点:模型收敛后的精度相对更高;

缺点:(1)模型收敛速度慢;(2)占用更多的机器显存。

那么怎么在获得大batch带来的红利,同时避免这些缺点呢?显然,缺点2可以通过使用更大显存的机器来解决,缺点1呢,此时的救星便是Float point 16了。

作者分析了同大batch和低精度训练相关的技术,它们能够在不降低精度的前提下,提高模型的训练速度。

3.1.1 batch size调整

(1)Linear scaling learning rate

增大batch size,单batch数据中噪声的影响会更小,此时就可以使用大的学习率步长,比如ResNet-50网络,官方采用的batch size为256,初始学习率为0.1,那么当使用更大的batch size,符号表示为 b b b,那么可以设置初始学习率为 0.1 × b / 256 0.1\times b/256 0.1×b/256

(2)Learning rate warmup

因为模型的初始参数是随机的,所以初始学习率太大容易导致模型不收敛,表现为loss不下降。学习率热启动策略具体操作为,将实验中用的学习率参数从0逐渐增大到初始学习率大小,然后再采用常规的学习率衰减方案,逐渐增大学习率的过程被称作warmup阶段

这种策略的好处:防止训练过程中出现的instablility

(3)Zero γ \gamma γ

Resnet网络结构中包含了多个residual blocks,记某个block的输入为 x x x,那么经过残差求和后的结果为 x + b l o c k ( x ) x+block(x) x+block(x),而block的最后一层为batch norm层,batch norm层先将该层的输入数据标准化,记作 x ^ \hat{x}

  • 19
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Deep person re-identification is the task of recognizing a person across different camera views in a surveillance system. It is a challenging problem due to variations in lighting, pose, and occlusion. To address this problem, researchers have proposed various deep learning models that can learn discriminative features for person re-identification. However, achieving state-of-the-art performance often requires carefully designed training strategies and model architectures. One approach to improving the performance of deep person re-identification is to use a "bag of tricks" consisting of various techniques that have been shown to be effective in other computer vision tasks. These techniques include data augmentation, label smoothing, mixup, warm-up learning rates, and more. By combining these techniques, researchers have been able to achieve significant improvements in re-identification accuracy. In addition to using a bag of tricks, it is also important to establish a strong baseline for deep person re-identification. A strong baseline provides a foundation for future research and enables fair comparisons between different methods. A typical baseline for re-identification consists of a deep convolutional neural network (CNN) trained on a large-scale dataset such as Market-1501 or DukeMTMC-reID. The baseline should also include appropriate data preprocessing, such as resizing and normalization, and evaluation metrics, such as mean average precision (mAP) and cumulative matching characteristic (CMC) curves. Overall, combining a bag of tricks with a strong baseline can lead to significant improvements in deep person re-identification performance. This can have important practical applications in surveillance systems, where accurate person recognition is essential for ensuring public safety.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值