Q
需要为嵌入式AI模型提供多少样本数据?
我在向客户介绍如何使用AI方法设计一款客户产品时,客户理解,AI嵌入式项目的开发都是围绕数据展开的,如此,我经常会被问到这样的问题:客户的工程师需要采集多少数据,才能形成合适的样本集,进而开始训练模型呢?
此时,回答“按需提供”或者“先试试看”似乎会变成一句车轱辘话,看似回答了问题,但客户还是无从下手。
AI数据样本的三个原则
这里,我以教孩子认识苹果和鸭梨为例进行说明。假设一个小孩子不认识苹果和鸭梨,在对真正的水果和鸭梨做判断之前,我们只有一些苹果和鸭梨的图片可供孩子学习,此时可以做类比:
孩子用来记忆知识的大脑就是AI
预先准备好的图片就是样本
通过照片学习的过程就是训练
脱离照片之后真的在一推水果里能挑选出苹果和鸭梨的过程,就是推理过程。
好了,我们开始分析。
合适的AI数据集中的样本数据,需要满足如下的三个原则:
独立性。在训练的初期,尽量选择用正常的苹果鸭梨的照片给孩子用于学习,尽量避免使用各种畸形或者怪异的样本影响孩子的第一印象。如果客观存在似是而非的情况,我们甚至可以专门为这些特殊的样本设计第三个分类“不确定”,从而避免对正常样本的判断。
平衡性。在提供样本数量上,尽量让不同分类的样本平均分配,例如,如果提供100张苹果和100张鸭梨的照片,孩子能够公平地对苹果和鸭梨都建立相当的印象。但如果用100张苹果和1张鸭梨的照片提供给孩子学习,孩子对苹果的印象更加深刻而忽略掉那唯一的一张鸭梨的照片。在实际判别时,也会更倾向于将他看到的任何类似的水果判定为苹果。
显著统计性。由于样本是人工或者外力参与标定的,在反应客观规律的时候,也可能存在系统偏差,出现少量的异常,或者在信号分析的领域里称为“噪声点”。因此,在用于训练AI模型之前对数据进行预处理的环节,也会利用统计学规律对数据进行初步筛选,例如,使用正态分布的规律,对某一分类下的所有样本中,远离平均水平(明显不靠谱)的数据剔除,否则在后期训练中容易出现“过拟合”的情况,从而导致最终训练的AI模型的规模异常增大,并且也有可能偏离实际的规律。
在具体实践过程中,需要系统专家设计好标定环境,需要人工标注样本数据的分类,相当于,先为测试考核提供提供参考答案。这涉及到硬件电路系统和软件工具链的搭建工作。
然后,在满足这三个的基础上,可以根据实际情况采集少量样本。实际上,嵌入式系统的数据量通常都比较大产生速度也比较快,例如,在使用AI方法在拉弧检测的应用中,使用500KSps的ADC采样率,每秒钟就可以采集到一条包含50万个数据点的,而用于判定拉弧的采样窗口大多在1ms以内,500个采样点就可以构成一个标定为“有拉弧”或者“无拉弧”的样本,如果不考虑窗口重叠的情况,每秒钟就至少可以产生1千条样本。如此可以看出,在初期很容易获得数量相当的样本。
之后,算法工程师使用获取的样本集构建AI模型并训练,试着描述样本数据的规律,通过分析模型的训练结果(例如准确率、推理时间等性能),对进一步采集数据提供指导。
如此反复多次,直到AI模型的准确率、性能等指标达到预期,即可收敛。
通过迭代摸索数据的门道
所以,简而言之的回答,还是“先采集数据,试试看训练模型,然后逐渐摸索出门道,在循环迭代的过程中完善数据集,最终达到产品要求即可”。
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com