计算机如何理解图片
让我给大家展示一些东西。好,这是一只猫坐在床上。那个男孩正在抚摸大象。那些人正要登上飞机。这是一个三岁的小孩在描述她在一系列照片中看到的东西。她可能对这个世界还有很多不了解的地方,但她已经擅长一项非常重要的任务:理解她所看到的东西。
技术进步与机器视觉的挑战
我们的社会比以往任何时候都更加技术先进。我们把人类送上了月球,制造出了会说话的手机,甚至能定制只播放我们喜欢的音乐的电台。然而,我们最先进的机器和计算机在理解视觉内容方面仍然面临巨大挑战。因此,我今天要向大家汇报一下我们在计算机视觉研究方面的最新进展,这是一项计算机科学中最前沿且具有革命潜力的技术。
我们有可以自动驾驶的原型车,但如果没有智能视觉,它们无法真正区分路上的一张纸袋和一块石头。我们制造了出色的百万像素相机,但还没有为盲人提供视力。无人机可以飞越大片土地,但还不足以帮助我们跟踪雨林的变化。安防摄像头无处不在,但当孩子在游泳池中溺水时,它们不会发出警报。照片和视频正以超出任何人类或团队所能观看的速度生成,而你我在这次TED演讲中也在贡献这些内容。然而,我们最先进的软件仍在努力理解和管理这些内容。换句话说,作为一个社会集体,我们实际上是盲目的,因为我们最聪明的机器仍然是盲目的。
视觉理解的难题
为什么这么难呢?你可能会问。相机可以通过将光转换为二维像素数组来拍摄照片。但这些只是没有生命的数字,它们本身不携带意义。就像听到声音不等于听懂一样,拍照不等于看见。而所谓的“看见”,我们真正指的是“理解”。实际上,大自然花了5.4亿年的时间才完成这一任务,而大部分努力都花在了我们大脑的视觉处理装置上,而不是眼睛本身。所以,视觉从眼睛开始,但真正发生在大脑中。
教计算机“看见”
从我在加州理工学院攻读博士学位开始,到后来领导斯坦福大学的视觉实验室,15年来,我一直和我的导师、合作者以及学生们一起努力教计算机如何“看见”。我们的研究领域被称为计算机视觉和机器学习,是人工智能的一部分。最终,我们希望教会机器像我们一样看见,命名物体,识别人,推断场景的三维几何,理解关系、情感、动作和意图。你我在目光落在某个物体上时,会编织出整个人、地点和事物的故事。
实现这一目标的第一步是教计算机识别物体,这是视觉世界的构建块。简单来说,可以把这个教学过程想象成向计算机展示一些特定物体的训练图像,比如猫,并设计一个能从这些训练图像中学习的模型。这个过程有多难呢?毕竟,猫只是形状和颜色的集合。在早期的物体建模中,我们用数学语言告诉计算机算法,猫有圆脸、胖乎乎的身体、尖耳朵和长尾巴。这看起来都不错,但如果猫蜷缩起来呢?你就必须为物体模型添加另一种形状或视角。如果猫被遮挡了呢?还有这些搞笑的猫呢?现在你明白了,即使是家养宠物这样简单的东西,也能给物体模型带来无限的变化,而这只是一种物体。
大数据与机器学习的结合
大约八年前,一个非常简单而深刻的观察改变了我的思维。没有人告诉小孩如何看见,尤其是在早期,他们通过现实世界的经验和例子来学习。如果你把小孩的眼睛看作一对生物相机,它们每200毫秒拍一张照片,这是平均眼球运动的时间。所以到三岁时,一个小孩已经看到了数亿张现实世界的照片。这是大量的训练例子。因此,与其专注于越来越好的算法,我的见解是为算法提供类似于小孩通过经验获得的训练数据,不仅在数量上,还在质量上。
一旦我们意识到这一点,我们知道需要收集一个比以往任何时候都多得多的图像数据集,可能是成千上万倍。于是,在2007年,我和普林斯顿大学的凯·李教授启动了ImageNet项目。幸运的是,我们不必在头上安装摄像机等待多年。我们去了互联网,人类有史以来创造的最大图片库。我们下载了近十亿张图像,并使用众包技术,如亚马逊的Mechanical Turk平台,帮助我们标记这些图像。在其巅峰时期,ImageNet是亚马逊Mechanical Turk平台上最大的雇主之一。来自167个国家的近5万名工人帮助我们清理、分类和标记了近十亿张候选图像。这就是捕捉到一个孩子早期发展阶段所接收的图像的一个小部分所需的努力。
ImageNet项目的突破
事后看来,使用大数据训练计算机算法的想法现在可能显而易见,但在2007年并不那么显而易见。在这段旅程中,我们相当孤单。有些友好的同事建议我做些对我的终身职位更有用的事情,我们也在不断为研究资金挣扎。有一次,我甚至开玩笑说要重新开我的干洗店来资助ImageNet项目,毕竟这是我大学期间的资金来源。
然而我们坚持了下来。2009年,ImageNet项目交付了一个包含1500万张图像的数据库,涵盖了22000种物体和事物类别,并按照日常英语单词组织起来。在数量和质量上,这都是前所未有的规模。以猫为例,我们有超过62000只各种外观和姿势的猫,涵盖了所有家猫和野猫的种类。我们对ImageNet项目的成果感到非常兴奋,并希望整个研究界都能从中受益。所以,我们以TED的精神,将整个数据集免费向全球研究社区开放。
卷积神经网络的崛起
现在我们有了丰富的数据来滋养计算机大脑,我们准备回到算法本身。事实证明,ImageNet提供的丰富信息与一种特殊的机器学习算法——卷积神经网络——完美匹配。卷积神经网络由Kunihiko Fukushima、Geoff Hinton和Yann LeCun在20世纪70年代和80年代开创。就像大脑由数十亿高度连接的神经元组成一样,神经网络的基本操作单元是类神经元节点。它从其他节点接收输入,并向其他节点发送输出。此外,这些成千上万甚至上百万的节点按层次结构组织,也类似于大脑。
我们用来训练物体识别模型的典型神经网络有2400万个节点,1.4亿个参数和150亿个连接。这是一个庞大的模型,由ImageNet的海量数据和现代CPU及GPU提供动力,训练如此庞大的模型。卷积神经网络以一种无人预料的方式蓬勃发展,成为生成令人兴奋的新物体识别结果的获胜架构。
计算机视觉的应用与未来
这是计算机告诉我们这张图片包含一只猫以及猫的位置。当然,还有比猫更多的东西。所以这里有一个计算机算法告诉我们图片中有一个男孩和一个泰迪熊、一只狗、一个人和背景中的一个小风筝,或者一张非常繁忙的图片,包含一个人、滑板、栏杆和灯柱等等。
有时当计算机对所看到的内容不太自信时,我们教它足够聪明,可以给出一个安全的答案,而不是过于肯定,就像我们会做的那样。但在其他时候,我们的计算机算法在告诉我们物体的具体信息方面非常出色,比如汽车的品牌、型号和年份。我们将这个算法应用于数百万张Google街景图像,跨越数百个美国城市,我们学到了一些非常有趣的东西。首先,它证实了我们的常识:汽车价格与家庭收入非常相关。但令人惊讶的是,汽车价格也与城市的犯罪率或邮政编码的投票模式密切相关。
未来的挑战与希望
那么,计算机已经匹配甚至超越了人类的能力吗?还没那么快。到目前为止,我们只是教计算机看见物体。这就像一个小孩学会说几个名词。这是一个令人难以置信的成就,但这只是第一步。很快,另一个发展里程碑将出现,孩子们开始用句子交流。于是,除了说“这是一张图片中的猫”,你已经听到小女孩告诉我们“这是一只躺在床上的猫”。
为了教计算机看见图片并生成句子,大数据和机器学习算法的结合必须迈出另一大步。现在,计算机必须从图片和由人类生成的自然语言句子中学习。就像大脑整合视觉和语言一样,我们开发了一个模型,将视觉场景的部分(如视觉片段)与句子中的单词和短语连接起来。
大约四个月前,我们终于将这一切结合起来,产生了第一个能够在首次看到图片时生成类似人类句子的计算机视觉模型。现在,我准备展示一下计算机在看到小女孩在本次演讲开始时看到的图片时会说什么。
“一名男子站在一头大象旁边。”“一架大飞机停在机场跑道上。”当然,我们仍在努力改进我们的算法,它还有很多东西需要学习,计算机仍然会犯错。“一只猫躺在一床毯子上。”所以,当它看到太多的猫时,可能会认为所有东西都像猫。“一个小男孩拿着一个棒球棒。”或者如果它没见过牙刷,它会把牙刷误认为棒球棒。“一个男人骑着一匹马在街上走,旁边有一栋建筑。”“一只斑马站在一片草地上。”它还没有学会欣赏自然的惊人美丽,就像你我一样。
迈向未来的计算机视觉
从零岁到三岁是一个艰难的过程,真正的挑战是从三岁到十三岁,甚至更远。让我再次提醒你这张男孩和蛋糕的照片。到目前为止,我们已经教会计算机看见物体,甚至在看到图片时告诉我们一个简单的故事。“一个人坐在桌子旁,桌上有一个蛋糕。”但这张照片中不仅仅有一个人和一个蛋糕。计算机没有看到的是,这是一个只有在复活节期间才会供应的特别意大利蛋糕。男孩穿着他父亲从悉尼旅行后送给他的最喜欢的T恤。你我都能看出他有多么开心,以及他当时脑海中到底在想些什么。这是我的儿子,Leo。
在我对视觉智能的追求中,我时刻想着Leo和他将生活的未来世界。当机器能够看见时,医生和护士将有额外一双不知疲倦的眼睛来帮助诊断和照顾病人。汽车将在道路上更智能、更安全地行驶。机器人而不是人类将帮助我们勇敢地进入灾区,拯救被困和受伤的人。我们将通过机器的帮助发现新物种、更好的材料,并探索未见的前沿。一步一步地,我们正在赋予机器视觉。首先,我们教它们看见,然后它们帮助我们更好地看见。人类的眼睛将不再是唯一探索我们世界的眼睛。我们不仅将利用机器的智能,还将以我们无法想象的方式与它们合作。这是我赋予计算机视觉智能的任务,也是为Leo和世界创造更美好未来的任务。
谢谢大家。
信息来源
内容由MiX Copilot基于大语言模型生成,有可能存在错误的风险。