社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

传统高精度机器视觉与深度学习机器视觉如何结合?

新机器视觉 • 2 月前 • 76 次点击  

从一定角度来说,在某些方面比如目标检测,使用深度学习方式应该是全面压倒使用传统高精度的算法的。理由有以下几点:


1. 在某些确定情形下,或许传统算法可能表现得优于深度学习算法,但是其鲁棒性从原理角度来说是无法媲美深度学习算法的,因为特征是人为设定的,在面对“噪声”干扰时,除了进行人为修正设定特征这种办法外没有其他方法论可使用;反观深度学习算法,由于是端到端思想,特征的设置完全由网络去学习,一般而言其包含的特征数目要远大于人为设计的传统特征,那么从理论上来讲它的鲁棒性就更强;另外,即便出现异常数据的情况,从理论上来讲只需要做数据增广即可,难度上较之人为设计特征修正要简便的多。


2. 从使用的硬件消耗来说,由于深度学习模型存在共享参数等有利机制,并且还可以结合推理等手段来降低消耗,目前经典的模型其计算消耗已经很小了;而与之对应的,完成类似功能,达到相当水准的传统算法有一些则很难以加速优化。


3. 使用传统算法可解释性虽然很强,但是传统算法存在着算法本身理解难度较大(相对的),调参复杂,上手困难的特点,不利于初学者;深度学习模型基本上搞清楚输入,输出,在参数未经细致调节的情况下也可以获得一个马马虎虎的结果,但传统算法就算了。


总结一下:在简单、固定的情形里面,传统算法或许能在计算资源消耗上优于深度学习,但是算法的表现最多只能是媲美训练perfect的深度学习模型;但是在复杂且干扰甚多的情形下,传统算法综合来说无法媲美深度学习模型。


那么传统算法如何同深度学习结合了?我根据工作经验认为主要有以下几点:


  1. 数据预处理, 深度学习算法的前期数据预处理阶段需要使用传统算法进行增强,比如对某些有“缺陷”的样本进行初步筛选,比如对有些你需要网络学习的特征进行增强处理等等。


  2. 在某些深度学习模型中提供参考,比如在某些condition GAN 里面,使用传统算法提取出的某些特征也作为输入参量一并输入

  3. 设计loss 函数,比如在图像风格转换、超分辨领域,使用SSIM等loss。


因此作为合格的图像算法工程师,对于传统算法和深度学习算法都应该有所了解。


声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/172027
 
76 次点击