EasyDL专业版如何实现模型精度优化
May的山楂木 发布于2020-03 浏览:4713 回复:1
0
收藏
最后编辑于2022-12

      EasyDL是基于飞桨框架PaddlePaddle推出的面向企业打造的一站式AI开发平台,构建了一套视觉算法框架,从数据、模型两方面着手效果优化,提供给开发者更多灵活可选的效果优化机制。图1是效果优化机制的总体概览。

                            图1. EasyDL专业版效果优化机制

      我们以货架挡板检测场景为例,说明如何用EasyDL专业版实现模型精度的逐步优化。

      货架挡板检测可以应用于货架层数识别等零售领域。这个场景的特点是货架种类多,从图2货架挡板检测标注图可以看出,标注的高宽比比较极端,演示模型的货架挡板检测训练数据集有70张。

                                 图2. 货架挡板检测标注图

  首先介绍模型方面的优化机制。

      1)模型级灵活可选。

      EasyDL专业版支持飞桨Master模式,内置百度海量数据训练的预训练模型,可在少量训练数据上达到更优的训练效果。目前上线了Faster R-CNN, YOLO v3, SSD三种检测模型,我们对比三种模型在coco2017权威目标检测数据集上的性能,从表1可以看出Faster R-CNN和YOLOv3在模型精度上比较有优势,但SSD在模型推理速度上非常有优势。用户可以根据不同的应用场景去选择不同的模型。近期专业版会陆续上线更多性能更加优秀的开源模型和百度自研大规模预训练模型。

                                 表1. coco2017模型性能对比[1]

      我们分别在三个检测模型上训练下货架数据,可以看出使用Faster R-CNN训练的效果会比其他两个模型好一些。从精度提升角度,我们选用Faster R-CNN。

                   表2. 货架挡板检测模型型优化效果[1]

      2)代码级灵活调参

      EasyDL专业版提供给用户灵活的代码级调参能力,方便有一定深度学习基础的用户对模型进行更细致灵活地定制。

      以Faster R-CNN模型为例,用户不仅可以对预设定的系统参数(如模型的训练迭代数(epochs)、模型输入尺寸(input size)、学习率衰减策略(lr decay))等进行调节,也可以针对模型的配置代码及参数进行自由定制。

      限于篇幅,我们简单对其中的一些参数进行介绍。

      模型输入尺寸(input size): 模型的输入尺寸指的是训练数据实际输入到模型中的尺寸, 一般来说大的输入尺寸有助于模型对小目标的学习,但大的输入尺寸会降低模型的推理速度,因此该参数的调节要根据实际去选择。

      学习率衰减策略((lr decay): 学习率是模型训练中非常重要的超参数,训练初期配置较大学习率,训练后期逐步降低学习率可以帮助模型收敛到更优解。用户可通过配置lr_decay=True来使用学习率衰减策略。

      Anchor配置参数(aspect_ratios): 基于anchor原理的物体检测模型对于先验的anchor高宽比的选择有一定要求,基于数据集特性去调整anchor参数可以让模型更好地学习到定位物体的能力。

      针对货架挡板高宽比较极端的特性,我们对代码模板的anchor参数进行调整。调整策略可以选用对标注数据聚类等方法,我们通过自研的高宽比自适应能力对宽高比进行优化,发现特定的aspect_ratios修改如下图3可以很好的适应货架挡板数据集,再次训练模型,如图4,Faster R-CNN模型效果从0.812提升到0.87。后续高宽比自适应的能力会以可选组件的方式开放给用户。

                                             图3. Anchor优化

                                图4. Anchor优化效果提升

  其次介绍下数据方面的优化机制。

      深度学习模型的成功很大程度上要归功于大量的标注数据集。通常来说可以通过增加数据规模、增加数据多样性及增加实际场景数据等方面来提升模型效果。

      从增加数据多样性角度出发,专业版开发了自动数据增强搜索能力,可以根据数据集特征自动搜索出适用于特定数据集的数据增强策略组合。

      实践中收集数目庞大的高质量数据并不是一件简单的事,在某些特定领域甚至无法获取大量数量。那么如何能在有限数据的情况下尽可能提升模型的效果呢?

      数据增强通过对数据本身进行一定程度的扰动从而产生"新"数据,模型通过学习大量的"新"数据,提高了模型的泛化能力。但数据增强策略的手动配置依赖于使用者对于实际场景的理解,因此会存在难以选取有效数据增强策略的情况。

      自动数据增强搜索可以在有限的增强算子组合的搜索空间内搜索出适用于本数据集的数据增强算子组合。

      针对货架挡板案例,基准模型上再加上自动数据增强搜索,效果从0.812提升到0.832。在anchor优化的基础上再叠加上自动数据增强搜索,依然能获得正向收益,如图5,效果从0.87提升到0.881。

                                        图5 数据增强效果对比

      从增加数据规模角度出发,专业版开发了多人标注/智能标注能力,降低用户的数据标注成本,帮助用户快速扩大数据规模。

      多人标注可以将标注任务切分成多份数据集,让多个用户同时进行数据标注任务,暂时多人人标注仅支持经典版,后续会在专业版中开放。

      智能标注会从数据集所有图片中筛选出最关键的图片并提示需要优先标注。因此用户只需标注数据集30%左右的数据即可训练模型。与标注所有数据后训练相比,模型效果几乎等同。

      利用多人标注/智能标注能力,可以快速扩大数据规模。

      针对货架挡板案例,我们使用智能标注能力,在短期内将数据规模从97扩大到400张。利用扩大数据集再进行模型训练,期望模型效果能再有提升。

      但由于数据规模发生了改变,平台自动随机切分产生的验证集存在不一致的现象,因此无法用训练中的评估指标来客观评价两个模型的性能。针对这个问题,我们可以采用平台提供的独立评测集功能来客观评价单个模型的性能,进而对比两个模型的性能。

      独立标注27张数据作为评测集,上传训练模型后,可以发现经过智能标注扩大数据规模后,效果从0.884提升到0.909,效果对比如图6。

                               (1) 97张数据集在评测集上效果

                               (2) 400张数据集在评测集上效果

                                     图6. 智能标注效果对比

      3)从增加实际场景数据角度出发,专业版开发了数据闭环能力,帮助用户实现实际场景数据优化模型的数据流闭环,可以进一步提升模型的泛化能力。

      针对Faster R-CNN效果优化总结如下表3,单模型效果提升超过9%,模型效果有显著提升。

                                 表3. Faster R-CNN效果优化

      通过以上一系列的效果优化机制的尝试,用户就可以使用EasyDL专业版轻松提升模型效果。

      EasyDL可为各行业有AI模型开发需求的企业及开发者,提供从数据管理与标注、模型训练、服务部署的全流程支持,模型训练效果好、训练效率高,并且有完善安全的数据服务,支持端、云、软硬一体等多种灵活的部署方式。目前,EasyDL已拥有包括专业版、零售版和经典版在内的三款产品,面向不同人群、不同需求,提供高效进行AI模型开发部署的平台产品。

收藏
点赞
0
个赞
共1条回复 最后由常熟X小王182回复于2022-12
#2付洋洋carrie回复于2020-03

0
TOP
切换版块