【自有技术大讲堂】如何快速提升工业AI模型的表现—改善代码 or 改善数据?
一、导语
本文结合我司(高视科技)在工业现场应用AI的经验和网络公开资料,介绍了关于如何快速提升工业AI模型表现效果的一些实践和思考。
二、最佳实践
众所周知,AI系统主要由代码和数据组成
对于屏幕缺陷检测,缺陷举例如下图:
基于我们原始采集和标定的数据集(5% - 10%的样本可能存在标记问题及相当数量的噪音干扰), 使用已有的AI检测算法,我们可以得到一个基线模型,检测精度为77.3,显然这个检测精度是无法令人满意和达到预期效果的。
那我们应该如何来快速提升检测精度呢?
下面是实验结果:
显而易见,基于数据样本的改善,大大提升了模型的表现,而基于代码(包括算法和网络模型)的改善,几乎没有对模型表现有任何提升。
所以对于本文标题提问的问题,结论已经出来了:改善数据优先。
如果把工业AI模型比作我们要制作的一道菜(一般也称为炼丹),那么一个比较有意思的现象是目前学界和产业界的相关研究似乎更关注在如何把这道菜做好上面,而不是关注如何准备好这道菜的原材料。
所以对于工业AI落地来说,我们更应该关注数据的准备。
我们需要“更好”的数据。
如何才能算“好”的数据?
1.准确的,一致性高的标注
不好的标注示例
准确的,一致的标注示例
2. 清洁的数据
不盲目追求总数的多少,而是更关注符合真实分布的清洁数据的数量。
最右边的数据是最最“好”的
如何获取“好”的数据?
1. 数据清洗:
例如移除错误样本,重新整理修正标注信息等等。 在10000个样本数量以内,进行手动的数据清洗,工作量还是基本可以接受的。
2. 收集更多样本:
继续采集更多样本加入数据集并标记,但并不进行数据清洗等工作。
从实验数据来看,以上两种方法都可以提升模型的性能。
三、总结
最后,我们总结下工业AI的开发流程如下:
本文的最佳实践,证明和提示了第二步“Collect Data”的重要性,在训练AI模型之前,要特别注意创建和使用“好”的数据集,而不是仅仅一味追求数据集的数量。同时,在部署落地之后,要继续保持对数据分布的关注,重点注意数据漂移对模型效果的影响,根据落地模型的生产效果,及时反馈更新到数据集,继续进行模型的训练和部署更新。
新浪微博
百度新首页
微信
分享到
高视科技(苏州)股份有限公司是一家专业从事工业AI智能机器视觉应用系统解决方案研发的国家级高新技术企业,是行业领先的商用显示模组(OLED\MINILED\MICRO-LED\LCD等)、锂电池及新能源制程设备、半导体等领域全自动化AOI检测以及工业机器视觉应用系统与标准化开发平台供应商。为中国图像图形学会视觉检测分会会员单位、中国自动化学会战略合作单位、深圳市平板显示行业协会十佳优秀会员单位、广东省高成长企业、粤港澳大湾区人工智能30强企业。截至目前,公司已形成较为完善的工业AI智能机器视觉应用技术与产品体系,为工业行业提供AOI智能检测整体解决方案、标准化AI机器视觉深度学习开发平台、工业缺陷标准化数据库服务、嵌入式机器视觉模块化产品及终端自动化设备。
公司在北京、南京、苏州及惠州设立研发中心,拥有一支行业资深的专业研发团队,研发人员占比超过80%,为广东工业大学博士后创新实践基地、南昌大学工学硕士授予点及教育部厦门大学卓越工程师实习基地,具备较强的软硬件系统研发与产学研商业转化实力,为行业客户提供高水准产品与服务。
公司秉承敬业诚信、合作创新、成长共赢的核心价值观。以技术研发为核心,以客户需求为导向,争做智能机器视觉专家,助力产业升级。致力于成为智能机器视觉领域,受人尊敬的领先企业。
高视简介