2024.7.9
广东吉洋视觉专注AOI视觉检测设备 ( 人工智能3D AOI;智能3D AOI;深度学习3D AOI;晶圆制造AOI;半导体SMT AOI;半导体贴片AOI )
从一定角度来说,在某些方面比如目标检测,使用深度学习方式应该是全面压倒使用传统高精度的算法的。理由有以下几点:
在某些确定情形下,或许传统算法可能表现得优于深度学习算法,但是其鲁棒性从原理角度来说是无法媲美深度学习算法的,因为特征是人为设定的,在面对“噪声”干扰时,除了进行人为修正设定特征这种办法外没有其他方法论可使用;反观深度学习算法,由于是端到端思想,特征的设置完全由网络去学习,一般而言其包含的特征数目要远大于人为设计的传统特征,那么从理论上来讲它的鲁棒性就更强;另外,即便出现异常数据的情况,从理论上来讲只需要做数据增广即可,难度上较之人为设计特征修正要简便的多。
从使用的硬件消耗来说,由于深度学习模型存在共享参数等有利机制,并且还可以结合推理等手段来降低消耗,目前经典的模型其计算消耗已经很小了;而与之对应的,完成类似功能,达到相当水准的传统算法有一些则很难以加速优化。
使用传统算法可解释性虽然很强,但是传统算法存在着算法本身理解难度较大(相对的),调参复杂,上手困难的特点,不利于初学者;深度学习模型基本上搞清楚输入,输出,在参数未经细致调节的情况下也可以获得一个马马虎虎的结果,但传统算法就算了。
总结一下:在简单、固定的情形里面,传统算法或许能在计算资源消耗上优于深度学习,但是算法的表现最多只能是媲美训练perfect的深度学习模型;但是在复杂且干扰甚多的情形下,传统算法综合来说无法媲美深度学习模型。
那么传统算法如何同深度学习结合了?我根据工作经验认为主要有以下几点:
数据预处理, 深度学习算法的前期数据预处理阶段需要使用传统算法进行增强,比如对某些有“缺陷”的样本进行初步筛选,比如对有些你需要网络学习的特征进行增强处理等等。
在某些深度学习模型中提供参考,比如在某些condition GAN 里面,使用传统算法提取出的某些特征也作为输入参量一并输入
设计loss 函数,比如在图像风格转换、超分辨领域,使用SSIM等loss。
因此作为合格的图像算法工程师,对于传统算法和深度学习算法都应该有所了解。
郑重声明:
1、部分内容来源于网络,本文版权归原作者所有,转载文章仅为传播更多信息之目的。
2、本文仅供学术交流,非商用。如果某部分不小心侵犯了大家的利益,请联系删除。