AutoML在计算机视觉领域的能与不能

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

cb29e9908155c7080a6e5508d4c475bf.jpeg

最近几年AutoML炙手可热,一时风头无两。各大公司都推出了自己的AutoML服务。
谷歌云的Cloud AutoML

  • Natural Language

    • classification

    • entity extraction

    • sentiment analysis

  • Tables

  • Translation

  • Video Intelligence

    • classification

    • object tracking

  • Vision

    • classification

    • object detection

Azure的Automated machine learning

  • Tables

    • classification

    • regression

    • time-series forecasting

AWS的Amazon SageMaker Autopilot

  • Tables

    • classification

    • regression

其中功能丰富度最高的是谷歌云的AutoML、文档最详尽的也是谷歌云的AutoML。

同时微软、亚马逊还有AutoML的开源toolbox——NNI、AutoGluon,之前写了一篇回答对二者做了一个简单的介绍。

AutoML的兴起搞得算法从业人员人心惶惶,不可终日,似乎自己就是珍妮纺织机和蒸汽机发明前夕的纺织工人。情况果真如此吗?我觉得短期看来,AutoML是提高算法工程师效率的工具,而不是抢算法工程师饭碗的恶魔。下面是我对AutoML在计算机视觉领域的看法。


AutoML在计算机视觉领域的能

AutoML在计算机视觉领域主要有两大用途:自动调参(比如LR、weight decay等等)、NAS(在特定软/硬件环境下面降低时延或者提升效果)。无论是调参还是在特定软/硬件环境下面降低时延或者提升效果,都是算法工程师日常工作。AutoML在一定程度上可以减少算法工程师的工作,提高算法工程师的效率,提升算法工程师的幸福感。


AutoML在计算机视觉领域的不能

数据层面

自动调超参和NAS有一些前提:任务可学习;采集的训练集分布与测试集分布(或者部署时的数据分布)一致;标注的质量足够高。

公开数据集比如ImageNet、Pascal VOC、COCO、LVIS、Open Images已经满足上述前提,提出这些数据集的人替我们做了这些事情(大家可以看看这些公开数据集的论文如何解决上述问题)。但是当我们接到一个新的真实业务需求的时候,我们”一穷二白“,我们有以下事情需要做:
1、我们得确定业务应该建模为什么任务,是分类、检索、目标检测、语意分割、实例分割、关键点检测还是兼而有之;
2、需要采集什么样的数据,使得数据分布包含了部署算法时的几乎所有情况;
3、制定标注标注,使得任务可学习,而且操作性足够强(即不能太主观,标注标准太主观会导致一千个标注员有一千种标注结果);
4、建立标注质量控制方案,以保证标注质量。

上述前提都需要算法工程师来做,AutoML基本无能为力。同时,上述四点表面看起来很简单,其实并不简单,数据和模型是一个硬币的两面,只有对模型非常熟悉的人才能做好上述四件事情,而做好了上述四件事情,后面的模型选型、调参就会容易很多。

数据层面的工作做得够扎实,即使一个很简单的模型,效果就会好到不可思议;相反数据层面的工作不重视,一心扑在模型上,再fancy的模型,效果也会大打折扣。


模型调试层面

算法工程师经常会遇到模型结果不好的情况,这个时候就需要进行模型调试,调超参是模型调试的一部分。

AutoML自动调参是在设定的超参空间里以指定指标(比如accuracy)为目标搜索最优超参的过程。自动调参是带着镣铐(资源有限)跳舞(希望搜索得到尽可能好的效果),搜索空间越大,全局最优在搜索空间中的可能性越大,搜索效率越低(在资源有限的情况下)。

为了在效率和效果之间达到折衷,AutoML往往会将搜索空间限制在一个比较小的空间之中,这个空间是AutoML系统的先验,如果实际情况与该先验一致,那么AutoML效果会很好;但是如果实际情况与该先验不一致,那么AutoML效果会不太好。

另外,有一些超参的搜索空间不像LR和weight decay这样好定义,搜索空间定义不出来,自动调参只能望洋兴叹,只能靠算法工程师撸袖子干。

还有一些情况,算法工程师把预测得不好的结果打印在图上,立马就能猜出来原因何在,像老中医一般;但是如果用自动调参的方式,也许要搜索很久,效率不一定比人高。

说到底自动调参的目的是为了降低成本,提高效率,只有自动调参成本比人低,或者效率比人高,那么企业才有动力用自动调参系统替换算法工程师。

NAS层面

NAS跟上述自动调参有一个类似的问题,带着镣铐(资源有限)跳舞(希望搜索到尽可能好的结果),为了在效率和效果之间取得折衷,NAS也会通过先验将搜索空间限制在一个较小的空间之中。

如果实际情况(具体任务、数据分布等等)与NAS的先验一致,效果好;如果不一致,效果则差。


总结

AutoML是提高算法工程师的效率工具,而不是抢算法工程师饭碗的恶魔。自动化的背后是效率和效果的折衷,折衷是靠限制搜索空间实现的,搜索空间就是AutoML的先验,天下没有免费的午餐。

没有专业知识,无法保证先验的正确性,也无法保证有好的结果;在算法工程师手里,AutoML能发挥更大的效用,算法工程师可以通过自己的专业知识,根据实际情况,设置合适的搜索空间。

AutoML能否替换算法工程师的根本在于成本能否做得比算法工程师低,或者效率比算法工程师高。

 
 

好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇

 
 

9481ab07d449c1ce53f24e73984e5a0e.jpeg

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值