前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AutoML在计算机视觉领域的能与不能

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

作者头像
小白学视觉
发布2022-12-27 16:52:21
2640
发布2022-12-27 16:52:21
举报

最近几年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能否替换算法工程师的根本在于成本能否做得比算法工程师低,或者效率比算法工程师高。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白学视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AutoML在计算机视觉领域的能
  • AutoML在计算机视觉领域的不能
    • 数据层面
      • 模型调试层面
      • 总结
      相关产品与服务
      图像处理
      图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档