以下文章来源于数据实战派 ,作者Paul Pop 转自 数据实战派 作者:Paul Pop(Neurolabs CEO) 译者:张雨嘉 原文:How our Obsession with Algorithms Broke Computer Vision: And how Synthetic Computer Vision can fix it 深度学习的出现带动了整个机器学习领域的发展,以数据为中心的发展也一样。 本文将论述主流计算机视觉(CV)的缺陷,和未来的发展重点:合成计算机视觉(SCV)。 计算机视觉的现状 根据 Crunchbase 统计,过去 8 年里对超过 1800 家计算机视觉创始公司的投资价值超过 150 亿美元。《福布斯》数据也表示,现在有 20 多家 CV 公司的估值超过 10 亿美元,并且还在持续增加中。 为什么这些公司的估值这么高?因为他们教会计算机看待世界的方法,让以前通过人类视觉才能完成的任务进行自动化。 这种繁荣景象是在 2012 年计算机视觉领域出现神经网络技术之后才有的。神经网络是模拟人类大脑的一种算法,使用大量的人类打标数据进行训练。自 2012 年以来,算法进行多次稳步改进,在某些视觉任务上的性能已经可以与人类相媲美,比如目标计数、唇语识别或癌症筛查任务等。 这 10 年里,很多人都对计算机视觉领域的发展有所贡献:学术界研究更好的、先进的算法;大公司对努力给图像数据集打标签的人进行投资支持。还有一些成果也会为了大家的利益进行开源,比如包含 1400 万张图像数据的 ImageNet 数据集。 但是,当我们将这些系统部署成产品时,就会遇到以下问题: 1.现有标注数据并不可靠。麻省理工学院一支团队对机器学习(ML)的数据集进行系统研究时发现,ImageNet 数据集中标记错误的错误率为 5.93%,其他数据集的平均错误率为 3.4%。 2.很少有人去专门解决数据本身的问题。学术界大都把智慧集中在算法开发方面,忽略了对良好数据的需求。吴恩达曾表示,人们 99% 的注意力放在算法上,而数据仅剩 1%。 3.计算机视觉算法不能很好地从一个领域推广到另一领域。用于检测法国南部车辆的算法,就很难在积雪覆盖的挪威进行车辆检测。同样,在特定相机上训练的系统很可能在另一个相机制造商或型号上就会出故障。 早在 1946 年,Alan Turin 就建议将国际象棋作为计算机能力的评价标准之一。经过更加深入的研究,这一标准得到了很多媒体的和认可。 Elo 评分系统是大家普遍接受的衡量国际象棋表现的方法,它可以有效比较大家的棋艺水平。下图是世界冠军和国际象棋游戏引擎的评分。在过去的50年里,人类的表现一直徘徊在 2800 分,但在 2010 年被计算机超越。 最近十年,人类一直基于自己可以理解的规则设计国际象棋算法。但深度学习革命却可以超越人类的理解范围,带来像计算机视觉一样的飞跃发展。 图 | 国际象棋引擎和人类的ELO评分 尽管在深度学习的技术下国际象棋游戏引擎已经取得不错的发展,但它已经被下一代的国际象棋引擎超过:DeepMind的AlphaZero。更惊人的是,AlphaZero 没有使用任何人类提供的数据。它在没有任何象棋游戏知识,也没有任何人类指导最佳走法的情况下构造的。AlphaZero 既是老师,也是学生——通过与自己的竞争和学习,教会自己如何更好地玩象棋游戏。 AlphaZero 没有输掉一场比赛,就战胜了当时最好的 Stockfish 8 引擎。即使少给 AlphaZero 一个数量级的考虑时间,仍能保持这种优势。 看到 AlphaZero 的显著成果,人们不禁要问:我们能否将它在国际象棋领域的成功应用到计算机视觉领域? 以数据为中心的人工智能 以数据为中心的人工智能的目的不是创造更好的算法,而是通过改变数据本身来提高模型性能。即使我们不考虑获取和标注图像数据集的困难,数据的质量问题仍然存在:数据是否覆盖了所有可能的情况?是否覆盖边界情况? 如果我们要构建以数据为中心的计算机视觉,就必须控制数据的来源。为了让计算机视觉模型更好地学习和理解参数,就必须保证数据的平衡。 比如,我们想要控制三个参数:相机的角度、光照和遮挡。当你收集这样的真实数据集时,必须努力控制这 3 个参数的值,同时收集 1000 张相关图像。但有了这些真实数据,任务还是非常艰巨。 过去的 5 年中,我们在优化数据收集过程和提高数据标签质量方面,取得了巨大的进展。而且还会使用各种数据增强技术,来充分利用数据集信息。比如将数据集中的图像应用一些数学函数,以创造更多样的数据。 目前,有 400 多家公司的总市值达到 1.3 万亿美元(略高于 Facebook),满足了如今算法对数据的需求。 但是,这些方法最终是否会走进死胡同?算法是否已经在人类数据集上达到了极限?就像我们在国际象棋中使用人类数据作为算法输入一样,模型会受到数据集设计的限制,而无法超越人类。 在国际象棋中,如果我们停止构建人类数据,并允许机器构建自己的数据来优化学习过程,后深度学习就能有所突破。在计算机视觉中,我们也必须允许机器自主生成可以促进它们学习的数据。 CV未来:合成计算机视觉 通过虚拟现实引擎,可以更好地创建训练数据。在准确率方面,模型的输出已经达到了现实世界的标准。意味着可以通过模型生成智能化的数据,来指导计算机视觉模型的学习。这种合成数据可以成为以数据为中心的人工智能框架的基础。 因此,我认为,现在需要广泛使用视觉合成数据。 虚拟现实引擎有专门的生成合成数据的组件(比如 NVIDIA IsaacSim,Unity Perception),这些合成数据不仅美观,而且有助于训练更好的算法。 3D 功能正迅速成为一种必需品——最新的 iPhone 手机就配备了激光雷达(LiDAR)和用于 3D 扫描的应用程序,来达到更好的性能。 元宇宙(Metaverse)的时代即将开始。人们将会渐渐习惯生活在虚拟现实的世界中。比如未来的宝马制造厂和谷歌的孪生供应链,就会应用到数字孪生技术。行业的领头者已经开始使用虚拟现实技术来改进计算机视觉算法:特斯拉(Tesla)就在利用虚拟现实技术来生成驾驶场景的边缘情况和更多的新视角。 如果我们有合适的工具来构建数据集,就可以省去繁琐的给数据手工打标的过程,更好地对计算机视觉算法进行开发和训练。Gartner 认为在未来 3 年中,合成数据将比真实数据更占优势。 如果往前再进一步呢?进入一个不需要人类对图像打标的计算机视觉的世界。 通过合成计算机视觉,我们可以在虚拟现实中构建模型,并在现实世界中进行部署。就像国际象棋比赛中,AlphaZero 可以自己学习重要的部分,所以我们用算法来决定模型需要重点学习的内容,以达到最佳的学习效果。 在合成计算机视觉(SCV)中,我们使用虚拟现实引擎训练计算机视觉模型,并将训练好的模型部署到现实世界。 人眼能看到的东西远不如现实世界丰富,所以我们构建的算法只能到人类理解和标记出的信息范围内。但事实可能并不是那样,所以我们可以为传感器构建算法,来测量超越人类感知范围的东西。这些算法可以在虚拟现实中通过编程的方式进行有效训练。 与其建立更大的模型,使用更多的计算能力来解决问题,我们不如更好地获取有助于算法学习的数据。算法的学习不需要同样类型的数据,而需要各种各样不同的数据。 Deep Mind 表明 AlphaZero 只是一个开始,他们已经将同样的方法应用到围棋、星际争霸和蛋白质折叠方面。我们现在已经拥有为计算机视觉构建类似 AlphaZero 系统的所有必要组件,让它不受人类设计输入的限制,可以进行自我学习。这个系统可以创建和操作虚拟场景,还可以通过自学去解决视觉自动化的任务。 合成计算机视觉的基础是合成数据。大约有 30 家处于早期阶段的公司开展了视觉合成数据生成的业务。有些公司专注于某个垂直领域的特定用例,而大多数公司是在多个垂直领域上同时进行。 2021 年只是新研究的开始,合成数据仅仅是需要被解决的一小部分问题。 图 | 合成数据公司