Bag of Tricks for Image Classification with Convolutional Neural Networks

本文探讨了在深度学习模型训练中使用大批次(large-batch)和低精度(low-precision)训练的策略。通过线性学习率缩放、学习率预热(warmup)、残差块的zero初始化以及无偏置衰减等方法,可以在不牺牲模型准确性的情况下提高训练效率。此外,低精度训练如FP16在新型硬件上能显著加速训练过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文地址:https://arxiv.org/pdf/1812.01187.pdf

2 训练过程

      采用mini-batch 随机梯度下降法训练神经网络的模版如Algorithm 1所示。本节指定Algorithm 1的一种实现baseline。

2.1 训练过程的baseline

      采用被广泛使用的ResNet的实现方法作为baseline。训练和验证的处理方式是不一样的。训练过程按如下步骤进行:

1.对图片进行随机采样,并解码为32位浮点值,其像素值取值范围为[0, 255]。

2.随机裁剪矩形区域,保持其宽高比范围为[3/4, 4/3],裁剪区域比例为[8%, 100%],然后统一将图像块缩放到224*224。

3.以0.5的概率进行随机水平翻转。

4.从均匀分布[0.6, 1.4]提取系数,来进行色相、饱和度和明亮度(HSB)的缩放。

5.从正态分布N(0, 0.1)中采样系数,用于添加PCA噪声。

6.对RGB三通道进行归一化,三通道分别减去123.68,116.779,103.939,并分别除以58.393, 57.12, 57.375。

      验证时,在保持图像宽高比不变的前提下,将短边缩放到256个像素,然后在中心区域裁剪出224*224的图像块,同时按训练时RGB通道归一化处理图像。验证过程中不对图像进行随机增强处理。

      卷积层和全连接层全部按Xavier算法进行权重初始化。本文设定参数随机从正态分布[-a, a]中取值,其中a=\sqrt{6/(d_{in}+d_{out})}d_{in}d_{out}分别代表输入和输出通道数。所有的bias初始化为0。针对BN层,\gamma初始化为1,\beta初始化为0。

      训练采用的是NAG下降法。每个模型训练迭代120个epoch,batchsize设为256。学习率初始化为0.1,并在第30、60、90个epoch时分别除以10。

3 有效训练

      本节中研究了多种在不降低模型准确率的前提下,采用低精度,大批量训练的方法。一些技巧还可提升准确率和训练速度。

3.1 large-batch training

      Mini-batch SGD 可增加训练的并行性,同时减少通信损耗。增大batch size,可能会降低训练速度。针对凸优化问题,batch size增大会导致收敛速度变慢。针对相同的epoch数,大batch size训练得到的模型相比小batch size训练得到的模型,验证准确率下降了。

(1)线性缩放学习率

mini-batch SGD中,每个把batch随机选取样本导致梯度下降是一个随机的过程。增大batch size,随机梯度的期望不变,但使得方差降低,即减少了梯度的噪声。因此可以通过增大学习率使在梯度相反方向前进一大步。例如,针对batch size为256,初始学习率为0.1的情况,将batch size增大到b,则学习率可增大到0.1×b/256。

(2)学习率warmup

训练伊始,所有参数一般取随机值,因此与最终方案相差甚远。采用太大的学习率易导致数值不稳定。warmup即训练开始以小的学习率,当训练稳定时切换到初始学习率。例,在前m batch中采用warmup方案,设初始学习率为\eta,则针对1\leqslant i\leqslant m的batch i,设置学习率为i\eta /m

(3) zero \gamma

ResNet网络由许多残差块组成,每个残差块又由卷积层组成。给定输入x,假设block(x)是残差块最后一层的输出。注意残差块最后一层可能是BN层。BN层首先对输入进行归一化,得到\hat{x},再做变换\gamma \hat{x}+\beta\gamma\beta是可学习的参数,分别初始化为1和0。zero \gamma策略中,所有残差块的最后一层BN层,初始化\gamma =0。因此,所有残差块仅返回其输入值,使得网络在初始阶段拥有更少的层并更易训练。

(4)无偏置衰减

权重衰减通常用于包括权重和偏置的所有可学习的参数。它与应用L2正则化使参数逼近于0的方法类似。有关论文建议只对权重进行正则化可避免过拟合。无偏置衰减策略即只在卷积层和全连接层应用权值的权重衰减。

3.2低精度训练

神经网络通常采用32位浮点精度训练。即所有输入输出数据的存储格式都是32位浮点型。新的硬件针对低精度数据提升了算数逻辑单元。例如Nvidia V100针对FP32提供了14TFLOPS,但是对FP 16提供了超过100TFLOPS。因此,在V100上采用FP16比FP 32训练速度快了2~3倍。

除了效果上的优越性,低精度使得结果具有更窄的范围,从而不会因为越界而影响训练。有关论文提出所有的参数以FP16存储并计算梯度,同时所有参数以FP32进行参数更新。另外,loss乘以一个数使其与梯度FP16的范围对齐也是一个实用的方案。

 

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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值