首页 > IT资讯 > 正文

百度定制化图像开放平台训练评测

背景介绍

百度在去年11月推出了定制化图像训练服务(https://ai.baidu.com/customize/app/model/)。随着深度学习在图像处理方面的成熟,基于CNN的迁移学习被证明是非常有效的。越来越多的传统业务和互联网业务,都面临着提高效率和自动化的业务升级需求。甚至在一些需要实时处理海量图片的场合,例如电商图片搜索等场景,利用图片搜索到相似商品已经变得和文本搜索一样成为一个刚需了。

深度学习领域一直缺乏人才,传统公司没有办法训练自己的深度学习模型。并且,业务主导的公司往往没有办法积累几十万数据量来训练一个深度学习的模型。头部的AI公司往往在人才储备和数据上有着无可比拟的优势。因此,科技巨头往往形成了一个数据和人才的垄断地位。

今年初,Google推出了AutoML服务,它的目标是:无需机器学习专业知识和能力即可训练高质量的定制化模型。自此,科技巨头纷纷走入了壮士断腕的阵列,牺牲自己的模型盈利空间,为非AI专业人士抛出服务工具帮助他们生成属于自己业务场景的模型。不过,如今Google的AutoML服务仍然是Alpha模式,网上也没有看到任何文档说明。

这次百度推出了基于小样本的图像训练服务,而且把数据、建模、测试、部署、上线等一系列过程集合在了网站上。用户只需要点点鼠标即可得到属于自己的模型,而且是免费的,可谓非常的良心。

训练流程

训练自己的模型其实非常容易,简单地说,只要四步即可得到数据自己的模型。

百度_定制化图像训练_深度学习_图像处理-1

1. 创建模型:登录百度账号后提交基础信息,点击“创建模型”,填写模型名称和使用场景,即可开始创建模型。

 百度_定制化图像训练_深度学习_图像处理-2

2. 上传数据集:按照格式要求整理图片,上传训练图片压缩包,完成训练集准备。

百度_定制化图像训练_深度学习_图像处理-3

3. 训练模型:选择数据集中的训练数据,进行训练,支持对同一模型多次迭代。

百度_定制化图像训练_深度学习_图像处理-4

4.校验模型:训练完成后可进行效果校验,提交校验图片,校验模型准确度。

百度_定制化图像训练_深度学习_图像处理-5

5. 模型上线: “训练完成”的模型即可申请模型上线,预计当天即可完成上线,上线后在“我的模型”查看“上线详情”,获得专有的定制图像识别API,同时参考API文档(http://ai.baidu.com/docs#/ImageClassify-API/564753d3)即可正常使用。

 百度_定制化图像训练_深度学习_图像处理-6

6. 扩展训练:后续如有识别类型扩展的需求,可以进入“数据集管理”,继续上传新的压缩包,或者基于单个分类标签进行扩充。

 百度_定制化图像训练_深度学习_图像处理-7

训练结果

所有模型的截图

百度_定制化图像训练_深度学习_图像处理-8

Caltech 101

地址:http://www.vision.caltech.edu/Image_Datasets/Caltech101/

101种物品识别。准确率95.18%,F1-score 0.93。总体准确度是可以接受的,我这里打开了具体结果查看了一下每个类别的准确度:

木桶:精确度100.00% F1-score 1.00

百度_定制化图像训练_深度学习_图像处理-9

蚂蚁:精确度88.89% F1-score 0.89

百度_定制化图像训练_深度学习_图像处理-10

锚:精确度81.82% F1-score 0.72

百度_定制化图像训练_深度学习_图像处理-11

可以发现,模型的generalization能力还是不够。对于简单的、一致性比较高的物体识别率达到了100%。而对于复杂的蚂蚁外形,可以看到准确度只有89%。对于复杂外形的锚,而且还经常有遮挡和伴随物等情况下,模型能力进一步得到挑战,准确度下降到了82%。这个网络也显示了复杂度不够的一些特点。也许用更加深一点的网络效果会更好。值得注意的是,F1下降到了0.72,说明recall的分数已经到了更加低的位置。也就是说,如果应用是遗漏损失比准确识别的收益高的场景,这个模型会造成比较大的损失。

Flowers(5 classes with 4242 images):

数据:https://www.kaggle.com/alxmamaev/flowers-recognition/data

准确率91.89% F1-score 0.92

百度_定制化图像训练_深度学习_图像处理-12

可以看到,复杂图像,特别是数量不是单一的情况下,准确度下降的比较厉害。不过如果用人作为基准比较的话,还在非常可以接受的程度。

Food(20 classes x 1000 images):

数据:https://www.vision.ee.ethz.ch/datasets_extra/food-101/

准确率82.18% F1-score 0.82

百度_定制化图像训练_深度学习_图像处理-13

这个数据集很有名气,也很有挑战性。因为食物不像花那样有固定的样式,形状和材质都有很大的变化,而且还伴随着配料、位置等不确定因素。对机器来说,难度可谓非常大。业界最好的结果,用到了ResNet或其他非常深的网络,在101分类和每类1000个样本的情况下达到了90%以上的准确度。

最后是所有模型的截图

百度_定制化图像训练_深度学习_图像处理-14

总结

可见,百度的图像训练服务,在一些场景下效果非常不错,而在一些场景下显得力不从心。不过,这已经是从零到一的飞跃,让非AI人士也可以体会一把自己训练模型的快感。并且真正的可以用来服务于自己的业务。真心为这些AI浪尖的兄弟们举个大写的赞。

建议

1.给出训练过程的一些细节,例如数据上传、训练模型的进度,精确显示可以减少等待的烦躁。

2.允许多个模型同时训练,这样客户可以加快寻找到最优的训练数据集的过程。

3.提供热力图(Heatmap),方便用户对不同类之间结果进行观察和理解。

4.可以给出网络架构的选项,不同的模型架构在的数据集上的表现也会不一样。

5.给出一些技术文档,增加透明度。例如学习速度、Train和Validation set的比例、提前终止的条件、Optimizer的选择等。

6.甚至让一些超参可以手动调节,也许民间高手可以提供更优的参数集。


上一篇:为什么你应该停止阅读新闻?
下一篇:Python 2.7 支持将于 2020 年1月1日终止

PythonTab微信公众号:

Python技术交流互助群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854