找云宝使用的是ModelArts自动学习中的物体检测场景来完成结构化数据的模型训练,整个流程大致分为三个过程:
· 上传并标注数据:将数据上传至OBS,或者在ModelArts中直接添加。添加完成后,根据数据集要求,完成数据标注。
· 训练模型:完成图片标注后,一键启动模型自动训练。
· 部署上线:训练结束后,将模型部署为在线服务,可以进行在线的测试UI与监控能力。
上传并标注数据
首先第一步采用的是直接选择手动上传的数据集,因为是实验,所以没有太多的要求,但是我觉得如果是在实际应用场景,还是要做到更有秩序的管理,可以在“数据管理-数据集”中创建一个数据集增加相应的描述信息以及配置,但是这里由于是实验,所以没有太过于侧重 ,实际开发中还是要注意一下。
接下来就是数据标注,这一步就有几个需要吐槽的点。
在标注的时候,每当打开一张新的图片,这张图片预览的位置都会超出我的屏幕(可能是屏幕有点小),导致我每次都得对图片进行缩小,尤其是目标物体被覆盖的情况下,这个缺点更是明显,直接框选根本选不到图片下部,只能通过缩放图片或者上下移动图片之后在进行标注来解决这个问题,如下图。这里还只是少量的图片,如果是图片标注量非常大的情况下,增加这一步无疑会增加巨大工作量(当前屏幕没有进行任何缩放,当然我可以通过屏幕缩放来解决这个问题,但是这样的话,整个工作台的布局将会发生错乱,所以如果可以的话,还是希望能从根源上优化这个问题)。

在进行数据标注的时候每次都要下拉选择标签,感觉有些麻烦,每一次框选都要下拉选择,相比直接选择然后确定,多了下拉这一动作,标注量大的时候会增加工作量。

建议方案:
第一种方案:标签平铺。建议可以改为标签在右侧空白区域平铺,如上图,可以在此基础上增加标签搜索功能(一般都没有太多标签,感觉搜索功能也用不到),上图只是简化,实际使用中还需要有标签添加功能。
第二种方案:增加默认值。在实际应用中,标注过程中可能连续好多张图片都是同一个物体,可能几千张图片中只有十几个种类,反正都是需要下拉选择,为什么不在每次标注时都根据上一次的选择默认选中一个标签,这样会减少一些工作量吧
还有一个就是实验引导,创建完了自动学习任务之后,由于有事耽误了一会,回来之后账户状态过期,然后重新登录的,又要开始从第一步重新引导了。。。。。。重新创建自动学习任务,这一点虽然和ModelArts本身并无关系,但是还是说一下吧。
训练模型
训练模型这一步没有多少难点,填入训练参数自动训练即可,都是ModelArts自动进行模型训练,这里由于图片量较少,还是要减少验证集的比例,不能过大
训练精度提升建议
1. 适当扩大训练数据集,建议每个标签类覆盖50张以上图片,检测类别不超过20。
2. 提升标注质量,不要出现误标或者漏标的情况。
3. 适当延长训练时间,500张图片的训练集建议选择运行2小时以上。

部署上线
完成模型训练之后就可以进行部署了,部署成在线服务可以对训练的结果进行预测,以及查看监控信息等,虽然数据集的图片不多,但是自动学习的效果还是非常好的,物体检测的准确度也很高

总的来说,整个实验过程还是很流畅的,操作起来也比较简单,ModelArts的强大也体现出来,感觉需要改进的几点我在上面也写出来了。ModelArts通过机器学习的方式帮助不具备算法开发能力的业务开发者实现算法的开发,基于迁移学习、自动神经网络架构搜索实现模型自动生成,通过算法实现模型训练的参数自动化选择和模型自动调优的自动学习功能,让零AI基础的业务开发者可快速完成模型的训练和部署,把AI开发的难度降低,是一大开发利器。