如何像人类大脑一样完成一项视觉任务是复杂的,比如深度感知、目标跟踪、边缘检测等,而扫描环境和定位是大脑经常做的事情,这些都被人们认为是理所当然的事情。在过去某段时间里,研究者们可能从来没有想过创建类似人类大脑处理任务一样的系统。然而,在过去的50年中,我们已经从神经科学中看似一些小的突破转向能够描述图片中场景的“电脑”。
在神经科学课程教学过程中,有很多趣闻发生以帮助同学们更好地理解大脑是如何工作的。比如Phineas Gauge是一名美国的铁路工人,在某次施工时遭遇爆炸事故,被一根铁棍击穿头颅,幸运的是他活了下来,但是他的左额叶皮质受到损伤,导致语言障碍,同时也影响其生理性格;还有Britten的论文描述大脑何时再混乱的移动点钟发现信号。所有这些零碎的研究开始加深我们对大脑如何工作的理解。
还有类似的一个例子,为人类视觉和计算机视觉的大量研究奠定了基础,那就是著名的Hubel和Wiesel的研究。由于二人在心理学上的突出贡献,获得了1981年的诺贝尔和平奖,此外他们在视觉系统的信息处理方面也获得了突破性的发现。他们打响了研究神经元的第一枪,他们通过连接一个电极到一个神经元上,就能够听到神经元对一条光的刺激作出的反应。他们对V1大脑皮层神经元的工作原理有了新的了解,这是令人兴奋的新认识,该研究有助于阐明V1神经元的映射和相关功能。
在下面的视频中,演示了 V1神经元是如何对待位置和角度的光条做出反应的,当光条移动时,就会有裂纹,这表明你听到猫的神经元对刺激做出的反应。
视频:http://v.youku.com/v_show/id_XNDc0MTg0NzA4.html?spm=5176.100239.blogcont241263.10.nADySV
通过这个实验,他们演示了几种类型的神经元只有在某些刺激下是如何被激活的,另一个有趣的特征是细胞似乎自然地映射到不同角度,如下图所示,V1的每一部分都包含一组非常特殊的神经元,这些神经元通常对特定角度的光条作出反应。
这些细胞的反应以某种方式结合起来,理论上能够创建一个自下向上的自然世界形象,也就是说,通过接收许多神经元对各种光条的反应,人类大脑开始绘制出周围的图景。
一晃近30年过去了,江山代有才人出,时代属于Olshausen和David JField二位研究者。两位研究人员都专注于计算神经科学领域,这个领域主要是研究大脑如何编码和解码信息,并推动了这个领域相关工作的进一步发展。事实上,他们在自己的工作中引用了Hubel和Wiesel的研究成果。此外,他们不只是注重单一的光条,还拍摄了照片,开始研究如何通过算法识别和编码图像内部的特征。
他们在1996年(20多年前)写的一篇叫做自然图像统计和高效编码,本文的目的是讨论在图像识别应用中失败的Hebbian学习模型。具体来说,Hebbian学习算法利用了主成分分析算法学习,但存在的问题是,该模型不能同时学习定位、定向以及带通结构来绘制自然图像。从理论上讲,该模型部分源自于Hubel和Wiesel在关的研究成果,除此之外,对192个神经元的输出进行了建模。
他们的研究表明,在对自然图像客观存在的规律进行编码时,模型的建立更多地侧重于稀疏性会使得模型更有效。
使用一个稀疏模型,该模型限制每个基函数列表所需的系数数目,来表示一个图像中的各种特征,由下式证明:
其主体部分是为了找到实际图像和函数表示图像之间的最低平均误差。
然后与代价函数一起迫使算法限制表示图像表示所需的系数数量。
使用梯度下降算法最大限度地减少表示图像所需的系数数量,但是该篇论文自身还没有显示出能够将特征转化为图像的神经网络。
在1991年,互联网刚刚普及。现在科学已经从检测猫的神经元对光条刺激的反应转到神经网络的数学模型,该模型能够输出图像的实际特征。在1996年的那篇论文中,最后一行是“未来一项重要而令人兴奋的挑战将是如何将这些原理推理到更高级的皮层视觉领域以提供预测”。这是一个挑战,通过利用低级的特,然后创建一个自下而上的网络模型来真正地预测一副图像。
Olshausen等人的模型类似于上图,如果你对深度学习了解的话,那么对这个输出低级特征的矩阵看起来是不是非常熟悉。
在过去的几年中,很多论文都使用了与上图非常相似的矩阵,这些矩阵被用作卷积神经网络的卷积层。可以发现,这应该是模拟单个神经元对视觉刺激的反应方式。
此时此刻,利用这些低层次的特征来预测图像的实际背景不再是Olshausen等人论文中的最后一行中的理论猜想,这在今天变成了现实。
这同时也说明了神经元能够识别光条的原因,神经网络可以利用低层次的特征预测图像所包含的信息。2015年斯坦福大学的Andrej Karpathy和李飞飞发表了一篇关于这一问题的重要论文——Deep Visual-Semantic Alignments for Generating Image Descriptions。在这篇论文中,演示了通过一个递归神经网络能够详细描述图像,如下图所示,不仅仅只是指出了图片中有一只猫或一只狗,而且能够详细描述图像内容,比如“男孩在尾板上做后空翻”等。虽然现在它并不完美,但它相较于1968年而言,仍是一个跨越式的发展!
从1968年到现在,这是一个漫长的发展过程。本文引用的论文从1968年开始到2015结束都快有50年的时间。然而,从大局来看,神经网络的发展只会越来越快,它不仅仅只是用来识别图像,还被用于医学图像的癌症检测、预测人类的情感表达、自动驾驶等等各个领域。
接下来的50年里,计算机视觉的发展前景如何?欢迎广大读者留言发表自己的看法。
原文发布时间为:2017-11-13
本文作者:SeattleDataGuy
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号