作者 | CV君
报道 | 我爱计算机视觉(微信id:aicvml)
随着深度学习技术的成熟,设计新的算法在支流的指标检测数据集比方COCO上晋升精度曾经很难了,但总有一些涨点技巧,比方谷歌前几天颁布的 简略粗犷“复制-粘贴”数据增广,简略又无效,让人措不迭防。
明天要跟大家介绍一篇新文章 SWA Object Detection ,可能是最简略、计算成本最低、入手老本最低的。
同样的,这篇文章全文无公式、无算法流程图,不改模型构造,不减少模型复杂度、推断工夫,也不对数据进行增广。但将其简略利用于支流的指标检测算法,可广泛在COCO数据集上取得 ~1 个AP的精度晋升!而且神奇的是原始模型精度越高晋升幅度越大。
该文昨天刚颁布,作者信息:
作者来自澳大利亚昆士兰科技大学、昆士兰大学。
简略一句话介绍办法:将模型在数据集上多训练几个epochs,将多个epochs失去的checkpoints 进行简略均匀,取得最终模型。该办法启发于 Stochastic Weights Averaging(随机权重均匀,SWA,来自论文 Averaging weights leads to wider optima and better generalization. UAI, 2018),其原本是为了改良深度学习模型的泛化能力。
SWA实践认为均匀多个SGD优化轨迹上的多个模型,最终模型泛化性能更好。如下图:
W1、W2、W3为模型优化过程中不同的checkpoint,SWA认为在其张成的空间中,中心点具备更好的泛化能力。故取checkpoint均匀。
问题来了,训练多少个epoch再均匀?如何调整学习率?
在SWA原实践中模型再训练时应用固定学习率或者循环余弦退火学习率。
循环余弦退火学习率调整示意图:
其实很难用实践答复,所以作者的做法很间接,屡次试验,看后果总结法则。
作者应用Mask RCNN 在COCO上做了试验,固定学习率和循环余弦退火学习率调整都试了。
请看下表:
取得了很神奇的后果!checkpoints均匀后取得了比之前训练门路上所有模型都更好的后果,循环余弦退火学习率调整取得的后果更好,bbox AP 和 mask AP都能够取得超过 1 个AP的晋升!而且相比于6个、24个、48个checkpoints的均匀,12是一个足够好的数字。
为验证此办法具备通用性,作者在不同的算法上进行验证。
将SWA用于Mask RCNN 与 Faster RCNN上的后果:
精度都有晋升,而对于自身精度更高的Mask RCNN 晋升更显著。
将SWA用于RetinaNet 与 FCOS 上的后果:
都取得了精度晋升,原始模型精度越高,取得的晋升越大!
将SWA用于YOLOv3 与 VFNet 上的后果:
晋升仍然很显著!
下图为Mask RCNN 应用SWA前后推断后果示例:
总结一下简略又神奇的SWA办法:
在传统的应用_lr__ini_和_lr__end_作为起始和完结学习率训练完结后,额定多训练12个epochs,每个epochs学习率由_lr__ini_变动到_lr__end_,最初将这12个checkpoints均匀,失去最终的模型。
论文地址:
https://arxiv.org/pdf/2012.12...
代码地址:
https://github.com/hyz-xmaste...\_object\_detection
期待这种简略的抗过拟合办法,可能在其余视觉工作上无效!