如何用少量的数据,训练出高精度的模型,且泛化性还可以。
1) 模型级灵活可选。
EasyDL 专业版支持飞桨 Master 模式,内置百度海量数据训练的预训练模型,可在少量训练数据上达到更优的训练效果。目前上线了 Faster R-CNN, YOLO v3, SSD 三种检测模型,我们对比三种模型在 coco2017 权威目标检测数据集上的性能,从表 1 可以看出 Faster R-CNN 和 YOLOv3 在模型精度上比较有优势,但 SSD 在模型推理速度上非常有优势。用户可以根据不同的应用场景去选择不同的模型。近期专业版会陆续上线更多性能更加优秀的开源模型和百度自研大规模预训练模型。
模型名称
精度 (mAP)
推理时间 (fps)
适用场景
Faster R-CNN
39.7%
21
高精度要求
YOLOv3
38.9%
45
通用场景
SSD
29.1%
159
高速推理场景
表 1. coco2017 模型性能对比 [1]
我们分别在三个检测模型上训练下货架数据,可以看出使用 Faster R-CNN 训练的效果会比其他两个模型好一些。从精度提升角度,我们选用 Faster R-CNN。
模型名称
优化方法
精度 (mAP)
Faster R-CNN
基准
0.812
YOLOv3
基准
0.80
SSD
基准
0.383
表 2. 货架挡板检测模型型优化效果 [1]
2) 代码级灵活调参
EasyDL 专业版提供给用户灵活的代码级调参能力,方便有一定深度学习基础的用户对模型进行更细致灵活地定制。
以 Faster R-CNN 模型为例,用户不仅可以对预设定的系统参数 (如模型的训练迭代数 (epochs)、模型输入尺寸 (input size)、学习率衰减策略 (lr decay)) 等进行调节,也可以针对模型的配置代码及参数进行自由定制。
限于篇幅,我们简单对其中的一些参数进行介绍。
i. 模型输入尺寸 (input size): 模型的输入尺寸指的是训练数据实际输入到模型中的尺寸, 一般来说大的输入尺寸有助于模型对小目标的学习,但大的输入尺寸会降低模型的推理速度,因此该参数的调节要根据实际去选择。
ii. 学习率衰减策略 ((lr decay): 学习率是模型训练中非常重要的超参数,训练初期配置较大学习率,训练后期逐步降低学习率可以帮助模型收敛到更优解。用户可通过配置 lr_decay=True 来使用学习率衰减策略。
iii. Anchor 配置参数 (aspect_ratios): 基于 anchor 原理的物体检测模型对于先验的 anchor 高宽比的选择有一定要求,基于数据集特性去调整 anchor 参数可以让模型更好地学习到定位物体的能力。
针对货架挡板高宽比较极端的特性,我们对代码模板的 anchor 参数进行调整。调整策略可以选用对标注数据聚类等方法,我们通过自研的高宽比自适应能力对宽高比进行优化,发现特定的 aspect_ratios 修改如下图 3 可以很好的适应货架挡板数据集,再次训练模型,如图 4,Faster R-CNN 模型效果从 0.812 提升到 0.87。后续高宽比自适应的能力会以可选组件的方式开放给用户。
Anchor 优化 Anchor 优化效果提升
其次介绍下数据方面的优化机制。
深度学习模型的成功很大程度上要归功于大量的标注数据集。通常来说可以通过增加数据规模、增加数据多样性及增加实际场景数据等方面来提升模型效果。
1) 从增加数据多样性角度出发,专业版开发了自动数据增强搜索能力,可以根据数据集特征自动搜索出适用于特定数据集的数据增强策略组合。
实践中收集数目庞大的高质量数据并不是一件简单的事,在某些特定领域甚至无法获取大量数量。那么如何能在有限数据的情况下尽可能提升模型的效果呢?
数据增强通过对数据本身进行一定程度的扰动从而产生"新"数据,模型通过学习大量的"新"数据,提高了模型的泛化能力。但数据增强策略的手动配置依赖于使用者对于实际场景的理解,因此会存在难以选取有效数据增强策略的情况。
自动数据增强搜索可以在有限的增强算子组合的搜索空间内搜索出适用于本数据集的数据增强算子组合。
针对货架挡板案例,基准模型上再加上自动数据增强搜索,效果从 0.812 提升到 0.832。在 anchor 优化的基础上再叠加上自动数据增强搜索,依然能获得正向收益,如图 5,效果从 0.87 提升到 0.881。
数据增强效果对比 2) 从增加数据规模角度出发,专业版开发了多人标注/智能标注能力,降低用户的数据标注成本,帮助用户快速扩大数据规模。
多人标注可以将标注任务切分成多份数据集,让多个用户同时进行数据标注任务,暂时多人人标注仅支持经典版,后续会在专业版中开放。
智能标注会从数据集所有图片中筛选出最关键的图片并提示需要优先标注。因此用户只需标注数据集 30% 左右的数据即可训练模型。与标注所有数据后训练相比,模型效果几乎等同。
利用多人标注/智能标注能力,可以快速扩大数据规模。
针对货架挡板案例,我们使用智能标注能力,在短期内将数据规模从 97 扩大到 400 张。利用扩大数据集再进行模型训练,期望模型效果能再有提升。
但由于数据规模发生了改变,平台自动随机切分产生的验证集存在不一致的现象,因此无法用训练中的评估指标来客观评价两个模型的性能。针对这个问题,我们可以采用平台提供的独立评测集功能来客观评价单个模型的性能,进而对比两个模型的性能。
独立标注 27 张数据作为评测集,上传训练模型后,可以发现经过智能标注扩大数据规模后,效果从 0.884 提升到 0.909,效果对比如图 6。
97 张数据集在评测集上效果
400 张数据集在评测集上效果 图 6. 智能标注效果对比
3) 从增加实际场景数据角度出发,专业版开发了数据闭环能力,帮助用户实现实际场景数据优化模型的数据流闭环,可以进一步提升模型的泛化能力。
针对 Faster R-CNN 效果优化总结如下表 3,单模型效果提升超过 9%,模型效果有显著提升。
优化方法
精度 (mAP)
基准
0.812
自动数据增强
0.832
Anchor 优化
0.87
Anchor 优化+自动数据增强
0.881
Anchor 优化+自动数据增强+智能标注
0.909(独立评测集)
表 3. Faster R-CNN 效果优化
通过以上一系列的效果优化机制的尝试,用户就可以使用 EasyDL 专业版轻松提升模型效果。
EasyDL 可为各行业有 AI 模型开发需求的企业及开发者,提供从数据管理与标注、模型训练、服务部署的全流程支持,模型训练效果好、训练效率高,并且有完善安全的数据服务,支持端、云、软硬一体等多种灵活的部署方式。目前,EasyDL 已拥有包括专业版、零售版和经典版在内的三款产品,面向不同人群、不同需求,提供高效进行 AI 模型开发部署的平台产品。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。