【51CTO.com快译】从人工智能技术的早期开发开始,科学家就在梦想能够创造出可以“看到”外部世界的计算机。由于视觉这一功能对于人们的工作和生活起着至关重要的作用,因此破解计算机视觉的密码成为了开发通用人工智能的主要步骤之一。
但是,就像人工智能中需要实现的许多目标一样,计算机视觉的实现说起来容易做起来难。麻省理工学院的科学家在1966年的夏季启动了一个“夏季视觉计划”, 旨在创建一个能够识别图像中物体和背景区域的计算机系统,计划在两个月的时间完成,但要实现这些目标,需要的时间远远不止两个月。事实上,直到2010年以后,图像分类器和对象检测器才变得足够灵活和可靠,可以在主流应用中使用。
在过去的几十年中,机器学习和神经科学的发展帮助计算机视觉取得了长足的进步。但是要创建一个像人类一样观察世界的人工智能系统,还有很长的路要走。
哈佛医学院教授Gabriel Kreiman在其所著的《生物和计算机视觉》一书描述了人类和动物如何处理视觉数据以及在计算机上复制这些功能方面取得的进展。
Kreiman编著的这本书有助于理解生物学和计算机视觉之间的差异。该书详细介绍了数十亿年的演变如何为人类和动物提供了复杂的视觉处理系统,以及如何研究它开发更好的计算机视觉算法。此外,还讨论了现代计算机视觉系统与生物视觉系统的区别。
在此简要列出这本著作的一些主要内容。
硬件差异
生物视觉运行在有机经元和皮层细胞上,而计算机视觉运行在晶体管和电子电路上
在《生物和计算机视觉》一书的简介中,Kreiman写道:“我对生物神经与计算电路之间的联系感到特别兴奋。生物视觉是数百万年进化的产物。而研究人员开发计算模型时,可以从生物学中学习和了解如何解决视觉问题,并将这些解决方案作为建立更好算法的灵感。”
事实上,对视觉皮层的研究一直是计算机视觉和人工智能的灵感源泉。但在实现视觉的数字化功能之前,科学家必须克服生物视觉和计算机视觉之间巨大的硬件鸿沟。生物视觉在皮层细胞和有机神经元相互连接的网络上运行。而在另一方面,计算机视觉运行在由晶体管组成的电子芯片上。
因此,视觉理论的定义必须在计算机中能够以一种类似于生物水平的方式实现。Kreiman将其称之为“Goldilocks 解决方案”,这种抽象理念既不详细也不简化。
例如,在计算机视觉的早期尝试中,试图以一种非常抽象的方式来处理计算机视觉,这种方式忽略了人脑和动物大脑如何识别视觉模式。事实证明,这些方法非常脆弱且效率低下。另一方面,在分子水平上研究和模拟大脑也被证明计算效率低下。
Kreiman说:“我并不是所谓的‘复制生物学’的忠实拥护者。生物学的许多方面可以而且应该被抽象出来。我们可能不需要开发2万种蛋白质、细胞质和复杂树突状几何结构的单元,这具有太多的生物学细节。另一方面,我们不能只研究不够详细的行为。”
Kreiman在《生物和计算机视觉》一书中指出,神经科学和医学技术的进步使得研究单个神经元毫秒级的活动成为可能。
这些研究的结果帮助开发了不同类型的人工神经网络,这是一种人工智能算法,可以轻松地模拟哺乳动物的大脑皮层区域的运作。近年来,神经网络已被证明是视觉数据中模式识别的最有效算法,并且已经成为许多计算机视觉应用程序的关键组件。
架构差异
最近几十年来,深度学习领域开展了大量的创新工作,这帮助计算机模仿了生物视觉的某些功能。受到动物视觉皮层研究的启发,卷积层在查找视觉数据中的模式方面非常有效。池化层有助于概括卷积层的输出,并使其对视觉图案的位移不太敏感。卷积层和池化层堆叠在一起,可以从发现微小图案(物体的棱角和边缘等)到复杂的对象(面部、椅子、汽车等)。
但是,人工神经网络的高级架构与人们对哺乳动物视觉皮层的了解之间仍然存在不匹配。
Kreiman说:“不幸的是,层这个术语有点含糊。在计算机科学中,人们使用层来表示不同的处理阶段(层主要类似于大脑区域)。在生物学中,每个大脑区域包含六个皮质层。我认为六层结构(其连通性与微电路类似)非常关键。人们还不清楚应该在神经网络中包含该电路的哪些方面。”
此外,正如Kreiman在《生物学和计算机视觉》一书中强调的那样,大脑中的信息向多个方向移动。光信号从视网膜移到下颞叶皮层,再移到视觉皮层的V1、V2和其他层。但每一层也向它的上一层提供反馈。在每一层中,神经元彼此交互并传递信息。所有的相互作用和相互联系都有助于大脑填补视觉输入的空白,并在信息不完整时进行推断。
相比之下,在人工神经网络中,数据通常是单向移动的。卷积神经网络是一种“前馈网络”,这意味着信息只从输入层传递到更高层和输出层。
还有一种叫做“反向传播”的反馈机制,可以帮助纠正错误和调整神经网络的参数。但反向传播算法计算量大,并且仅用于神经网络的训练。目前还不清楚反向传播是否直接对应于皮质层的反馈机制。
另一方面,将较高层的输出与前一层的输入相结合的递归神经网络在计算机视觉中的应用还很有限。
在视觉皮层(图右)中,信息沿多个方向移动。而在神经网络(图左)中,信息只能向一个方向移动
Kreiman指出,横向移动和自上而下的信息流对于将人工神经网络引入其生物学对应物至关重要。
他说:“水平连接(即同一层内单元的连接)对于某些计算可能至关重要。自上而下的连接(即从一个层中的单元到下面一个层中的单元的连接)对于做出预测,引起关注,合并上下文信息等可能至关重要。”
他还指出,神经元具有当前神经网络中所缺少的复杂的时间整合特性。
目标差异
人类功能的进化成功地开发了可以完成许多任务的神经架构。多项研究表明,人们的视觉系统可以根据想要实现的目标动态调整其敏感度。然而,对于希望创造具有这种灵活性的计算机视觉系统来说仍然是一个重大挑战。
当前的计算机视觉系统是为完成单项任务而设计的。例如有神经网络可以分类对象、定位对象,将图像分割成不同的对象、描述图像、生成图像等。但是每个神经网络都只能单独完成一个任务。
Gabriel Kreiman编著的《生物和计算机视觉》
Kreiman说,“一个核心问题是理解‘视觉惯例’,人类怎么样才能以任务相关的方式灵活地传递视觉信息呢?基本上可以在一张图片上回答更多的问题。不只是标记对象,还可以计算对象,可以描述它们的颜色、相互作用、大小等等。我们可以建立神经网络来做这些事情,但是并不能建立同时做这些事情的神经网络。有一些有趣的方法可以通过问答系统来实现这一点,但这些算法虽然令人兴奋,但仍然相当原始,尤其是与人类的表现相比。”
整合差异
对于人类和动物来说,视觉与嗅觉、触觉和听觉密切相关。视觉皮层、听觉皮层、体感皮层、嗅觉皮层相互作用,并从彼此那里获取线索,以调整它们对世界的推断。在而另一方面,在人工智能系统中,每种事物都是独立存在的。
那么,科学家是否需要这种集成来制作更好的计算机视觉系统?Kreiman 说:“作为科学家,通常经常喜欢将问题进行分解并逐一解决。我个人认为这是一个合理的起点,可以看到更清楚,虽然不能嗅到也不能听见。这就像看一部卓别林所演的无声电影(没有声音和文字),但人们也可以了解很多事情。如果一个人天生聋哑,他们仍然能看得很清楚。当然,还有很多例子涉及各种模式之间有趣的交互,但是我认为,通过这种简化,可以取得很大的进步。”
然而,更复杂的一个问题是视觉与大脑更复杂区域的整合。人类的视觉与其他大脑功能如逻辑、推理、语言和常识等紧密结合。
Kreiman说:“解决某些视觉问题可能会花费'更多的时间,并且需要将视觉输入与有关世界的现有知识相结合。”
他以美国前总统巴拉克·奥巴马的照片为例。要了解这张照片到底发生了什么,就需要具备一些世界知识、社会知识和常识。
例如,人工智能系统需要知道体重秤上的人在做什么,奥巴马在做什么,谁在笑,他们为什么会笑等各种细节。回答这些问题需要处理大量信息,其中包括生活知识(体重秤测量体重)、物理知识(奥巴马的脚会施加力)、心理知识(许多人对体重有自己的估测,如果他们的体重远高于平常的体重会感到惊讶),社交理解(有些人认为是在开玩笑,有些人则不是)。
Kreiman说,“当前的人工智能架构无法做到这一点。所有这些都将需要动态(人们并没有立即意识到这一切,并且通常使用更多功能来理解图像)和自上而下的信号的整合。”
语言和常识等领域本身对于人工智能社区是一些巨大挑战。但这些问题能否单独解决,并与愿景一起整合,还是整合本身才是解决所有问题的关键,这还有待观察。
Kreiman说:“在某个时候,我们需要深入到认知的其他方面,很难想象如果不涉及语言和逻辑,如何整合认知。我希望在未来的几年,将更多的语言和逻辑融入到视觉模型中(或者反过来也将视觉融入到语言模型中),这将会有令人兴奋的重大进展。”
原文标题:Understanding the differences between biological and computer vision,作者:Ben Dickson
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】