了解生物视觉和计算机视觉之间的差异
2022年1月29日整理发布:自人工智能诞生之初,科学家们就梦想创造出能够“看到”世界的计算机。由于视觉在我们每天所做的许多事情中都发挥着关键作用,因此破解计算机视觉代码似乎是开发通用人工智能的主要步骤之一。
但与 AI 中的许多其他目标一样,计算机视觉已被证明说起来容易做起来难。1966 年,麻省理工学院的科学家发起了“夏季视觉项目”,这是一个为期两个月的努力,旨在创建一个可以识别图像中的物体和背景区域的计算机系统。但实现这些目标的时间远不止一个暑假。事实上,直到 2010 年代初,图像分类器和对象检测器才足够灵活和可靠,可以在主流应用中使用。
在过去的几十年里,机器学习和神经科学的进步帮助计算机视觉取得了长足的进步。但是,在构建能够像我们一样看待世界的人工智能系统之前,我们还有很长的路要走。
哈佛医科大学教授 Gabriel Kreiman 所著的《生物与计算机视觉》一书提供了一个易于理解的说明,说明了人类和动物如何处理视觉数据,以及我们在计算机中复制这些功能的进展情况。
Kreiman 的书有助于理解生物视觉和计算机视觉之间的差异。这本书详细介绍了数十亿年的进化如何为我们配备了复杂的视觉处理系统,以及研究它如何帮助激发更好的计算机视觉算法。Kreiman 还讨论了当代计算机视觉系统与其生物对应系统的区别。
虽然我会向任何对该领域感兴趣的人推荐完整的生物和计算机视觉阅读,但我已经尝试在这里(在 Gabriel 本人的帮助下)列出我从书中获得的一些主要内容。
硬件差异
在介绍生物和计算机视觉时,Kreiman 写道:“我对连接生物和计算电路感到特别兴奋。生物视觉是数百万年进化的产物。在开发计算模型时,没有理由重新发明轮子。我们可以从生物学如何解决视觉问题中学习,并以解决方案为灵感来构建更好的算法。”
事实上,视觉皮层的研究一直是计算机视觉和人工智能的重要灵感来源。但在能够将视觉数字化之前,科学家们必须克服生物视觉和计算机视觉之间巨大的硬件差距。生物视觉在皮质细胞和有机神经元的互连网络上运行。另一方面,计算机视觉在由晶体管组成的电子芯片上运行。
因此,视觉理论必须定义在可以在计算机中以与生物相媲美的方式实现的水平。Kreiman 将此称为“Goldilocks resolution”,这是一种既不太详细也不太简化的抽象层次。
例如,计算机视觉的早期努力试图在非常抽象的层面上解决计算机视觉问题,这种方式忽略了人类和动物大脑如何识别视觉模式。事实证明,这些方法非常脆弱且效率低下。另一方面,在分子水平上研究和模拟大脑将被证明是计算效率低下的。
“我不是我所谓的‘复制生物学’的忠实粉丝,”Kreiman 告诉TechTalks。“生物学的许多方面可以而且应该被抽象出来。我们可能不需要具有 20,000 个蛋白质和细胞质和复杂树突几何形状的单元。那将是太多的生物学细节。另一方面,我们不能仅仅研究行为——这还不够详细。”
在生物和计算机视觉中, Kreiman 将新皮层回路的 Goldilocks 量表定义为每毫秒的神经元活动。神经科学和医学技术的进步使得以毫秒时间粒度研究单个神经元的活动成为可能。
这些研究的结果帮助开发了不同类型的人工神经网络,人工智能算法可以松散地模拟哺乳动物大脑皮层区域的运作。近年来,神经网络已被证明是视觉数据中最有效的模式识别算法,并已成为许多计算机视觉应用的关键组成部分。
架构差异
近几十年来,深度学习领域出现了大量创新工作,这些工作帮助计算机模仿了生物视觉的一些功能。受对动物视觉皮层研究的启发,卷积层在发现视觉数据中的模式方面非常有效。池化层有助于泛化卷积层的输出,并使其对视觉模式的位移不太敏感。堆叠在一起的卷积层和池化层块可以从寻找小图案(角落、边缘等)到复杂的对象(脸、椅子、汽车等)。
但人工神经网络的高级架构与我们对哺乳动物视觉皮层的了解之间仍然存在不匹配。
“不幸的是,‘层’这个词有点模棱两可,”Kreiman 说。“在计算机科学中,人们使用层来表示不同的处理阶段(层主要类似于大脑区域)。在生物学中,每个大脑区域都包含六个皮质层(和细分)。我的直觉是六层结构(其连接性有时被称为规范微电路)非常关键。目前尚不清楚我们应该在神经网络中包含该电路的哪些方面。有些人可能会争辩说,六层主题的各个方面已经被合并(例如标准化操作)。但可能缺少巨大的财富。”
此外,正如 Kreiman 在生物和计算机视觉中强调的那样,大脑中的信息会向多个方向移动。光信号从视网膜移动到颞下皮层到 V1、V2 和视觉皮层的其他层。但每一层也向其前辈提供反馈。在每一层内,神经元之间相互作用并传递信息。所有这些相互作用和相互联系有助于大脑填补视觉输入的空白?并在信息不完整时做出推断。
相比之下,在人工神经网络中,数据通常沿单一方向移动。卷积神经网络是“前馈网络”,这意味着信息只从输入层传递到更高层和输出层。
有一种称为“反向传播”的反馈机制,它有助于纠正错误并调整神经网络的参数。但是反向传播的计算成本很高,并且只在神经网络的训练中使用。并且不清楚反向传播是否直接对应于皮质层的反馈机制。
另一方面,将较高层的输出结合到其前一层的输入的循环神经网络在计算机视觉中的用途仍然有限。
在我们的谈话中,Kreiman 建议横向和自上而下的信息流对于将人工神经网络引入其生物学对应物至关重要。
“水平连接(即层内单元的连接)对于某些计算(例如模式完成)可能至关重要,”他说。“自上而下的连接(即,从一层中的单元到下一层中的单元的连接)对于进行预测、注意力、合并上下文信息等可能是必不可少的。”
他还指出,神经元具有“当前网络中缺少的复杂时间综合特性”。