从神经科学到计算机视觉:人类与计算机视觉五十年回顾

简介: 本文简单的介绍了神经网络近50年的发展历程,从1968年的Hubel和Wiesel开展的猫实验,一直到李飞飞教授等人的成果。从本质上讲解了人工神经网络的原理及学习过程,对于想了解神经网络起源及发展历程的读者而言,是一篇较为合适的文章。

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud

如何像人类大脑一样完成一项视觉任务是复杂的,比如深度感知、目标跟踪、边缘检测等,而扫描环境和定位是大脑经常做的事情,这些都被人们认为是理所当然的事情。在过去某段时间里,研究者们可能从来没有想过创建类似人类大脑处理任务一样的系统。然而,在过去的50年中,我们已经从神经科学中看似一些小的突破转向能够描述图片中场景的“电脑”。

在神经科学课程教学过程中,有很多趣闻发生以帮助同学们更好地理解大脑是如何工作的。比如Phineas Gauge是一名美国的铁路工人,在某次施工时遭遇爆炸事故,被一根铁棍击穿头颅,幸运的是他活了下来,但是他的左额叶皮质受到损伤,导致语言障碍,同时也影响其生理性格;还有Britten的论文描述大脑何时再混乱的移动点钟发现信号。所有这些零碎的研究开始加深我们对大脑如何工作的理解。

1ae5c4a1fa23bc94494325dca04e3554f4915472

还有类似的一个例子,为人类视觉和计算机视觉的大量研究奠定了基础,那就是著名的Hubel和Wiesel的研究。由于二人在心理学上的突出贡献,获得了1981年的诺贝尔和平奖,此外他们在视觉系统的信息处理方面也获得了突破性的发现。他们打响了研究神经元的第一枪,他们通过连接一个电极到一个神经元上,就能够听到神经元对一条光的刺激作出的反应。他们对V1大脑皮层神经元的工作原理有了新的了解,这是令人兴奋的新认识,该研究有助于阐明V1神经元的映射和相关功能。

在下面的视频中,演示了 V1神经元是如何对待位置和角度的光条做出反应的,当光条移动时,就会有裂纹,这表明你听到猫的神经元对刺激做出的反应。

视频地址:http://v.youku.com/v_show/id_XNDc0MTg0NzA4.html?spm=5176.100239.blogcont241263.12.BcSa3L

通过这个实验,他们演示了几种类型的神经元只有在某些刺激下是如何被激活的,另一个有趣的特征是细胞似乎自然地映射到不同角度,如下图所示,V1的每一部分都包含一组非常特殊的神经元,这些神经元通常对特定角度的光条作出反应。

cc37b8a5640b890f34b819a9c19989f0b912538c

这些细胞的反应以某种方式结合起来,理论上能够创建一个自下向上的自然世界形象,也就是说,通过接收许多神经元对各种光条的反应,人类大脑开始绘制出周围的图景。

一晃近30年过去了,江山代有才人出,时代属于Olshausen和David JField二位研究者。两位研究人员都专注于计算神经科学领域,这个领域主要是研究大脑如何编码和解码信息,并推动了这个领域相关工作的进一步发展。事实上,他们在自己的工作中引用了Hubel和Wiesel的研究成果。此外,他们不只是注重单一的光条,还拍摄了照片,开始研究如何通过算法识别和编码图像内部的特征。

他们在1996年(20多年前)写的一篇叫做自然图像统计和高效编码,本文的目的是讨论在图像识别应用中失败的Hebbian学习模型。具体来说,Hebbian学习算法利用了主成分分析算法学习,但存在的问题是,该模型不能同时学习定位、定向以及带通结构来绘制自然图像。从理论上讲,该模型部分源自于Hubel和Wiesel在关的研究成果,除此之外,对192个神经元的输出进行了建模。

他们的研究表明,在对自然图像客观存在的规律进行编码时,模型的建立更多地侧重于稀疏性会使得模型更有效。

使用一个稀疏模型,该模型限制每个基函数列表所需的系数数目,来表示一个图像中的各种特征,由下式证明:

2e955286cf99db4229c3a2b3e8a6af954291d5ea

其主体部分是为了找到实际图像和函数表示图像之间的最低平均误差。

7798040c74b9043f490f94e51328cc70ae76061c

然后与代价函数一起迫使算法限制表示图像表示所需的系数数量。

b3e4716b7eaf66591578bafe3c4c6ad21d574606

使用梯度下降算法最大限度地减少表示图像所需的系数数量,但是该篇论文自身还没有显示出能够将特征转化为图像的神经网络。

在1991年,互联网刚刚普及。现在科学已经从检测猫的神经元对光条刺激的反应转到神经网络的数学模型,该模型能够输出图像的实际特征。在1996年的那篇论文中,最后一行是“未来一项重要而令人兴奋的挑战将是如何将这些原理推理到更高级的皮层视觉领域以提供预测”。这是一个挑战,通过利用低级的特,然后创建一个自下而上的网络模型来真正地预测一副图像。

0a8cd9c39e5fcb359e77d2a7f8d89e982e69d20e

Olshausen等人的模型类似于上图,如果你对深度学习了解的话,那么对这个输出低级特征的矩阵看起来是不是非常熟悉。

在过去的几年中,很多论文都使用了与上图非常相似的矩阵,这些矩阵被用作卷积神经网络的卷积层。可以发现,这应该是模拟单个神经元对视觉刺激的反应方式。

942122a0eb72076660339626174de79833953cd5

此时此刻,利用这些低层次的特征来预测图像的实际背景不再是Olshausen等人论文中的最后一行中的理论猜想,这在今天变成了现实。

这同时也说明了神经元能够识别光条的原因,神经网络可以利用低层次的特征预测图像所包含的信息。2015年斯坦福大学的Andrej Karpathy和李飞飞发表了一篇关于这一问题的重要论文——Deep Visual-Semantic Alignments for Generating Image Descriptions。在这篇论文中,演示了通过一个递归神经网络能够详细描述图像,如下图所示,不仅仅只是指出了图片中有一只猫或一只狗,而且能够详细描述图像内容,比如“男孩在尾板上做后空翻”等。虽然现在它并不完美,但它相较于1968年而言,仍是一个跨越式的发展!

89613207630f6e7891ac99a223ef7c962ddbd114

从1968年到现在,这是一个漫长的发展过程。本文引用的论文从1968年开始到2015结束都快有50年的时间。然而,从大局来看,神经网络的发展只会越来越快,它不仅仅只是用来识别图像,还被用于医学图像的癌症检测、预测人类的情感表达、自动驾驶等等各个领域。

接下来的50年里,计算机视觉的发展前景如何?欢迎广大读者留言发表自己的看法。

作者信息

SeattleDataGuy,软件工程师,专注于机器学习、深度学习以及数据科学。

Twitter: https://twitter.com/SeattleDataGuy

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《From Neuroscience To Computer Vision》,作者: SeattleDataGuy,译者:海棠,审阅:李烽

文章为简译,更为详细的内容,请查看原文

 

相关文章
|
机器学习/深度学习 监控 网络协议
zabbix批量导入监控主机
从excel表中批量导入被监控主机 自动根据分组名称创建分组 根据模板名称匹配主机监控模板
1690 0
zabbix批量导入监控主机
|
4月前
|
存储 文字识别 运维
企业DLP系统如何与云桌面结合?
随着云桌面普及,数据集中云端却仍面临复制、截图、外发等泄露风险。Ping64 DLP 深度融合阿里云云桌面,以内容识别、分类分级、行为审计与外发控制为核心,实现“数据不出云、明文不离端、风险可追溯”的一体化防护,助力企业合规与安全协同落地。
|
4月前
|
人工智能 负载均衡 定位技术
骑手配送系统中的智能调度逻辑解析
本文解析骑手智能调度系统的核心逻辑与设计思路,涵盖距离优先、负载均衡、区域划分、订单分级、高峰期应对等关键策略,并结合代码示例说明调度因子与数据驱动优化路径,助力平台提升履约效率与用户体验。(239字)
|
7月前
|
存储 调度 异构计算
推理平台全景
本次分享介绍了常见的开源推理平台项目: NVIDIA Dynamo, llm-d, Kthena, RoleBasedGroup, OME, AiBrix, KServe
1208 8
推理平台全景
|
7月前
|
存储 人工智能 安全
OpenClaw + 飞书 打造个人知识管理助手
环保工作者亲测:OpenClaw + 飞书打造安全、高效、AI驱动的个人知识管理系统——支持语音/文字秒建笔记、自动整理会议纪要、提取文章要点、项目文档归档,数据自主可控,部署于阿里云轻量服务器,开源免费,开箱即用。(239字)
2183 8
|
JavaScript
基于Element UI或Element Plus实现具有倒计时的Message消息提示
本文介绍了如何在Element UI或Element Plus框架中实现具有倒计时功能的消息提示组件,支持多次点击生成多个独立倒计时的消息提示,并提供了详细的实现代码和使用示例。
1519 1
基于Element UI或Element Plus实现具有倒计时的Message消息提示
中缀表达式转后缀表达式(逆波兰式)
中缀表达式转后缀表达式(逆波兰式)
1835 0
|
开发工具 数据安全/隐私保护 git
git: 修改gitlab仓库提交地址
git: 修改gitlab仓库提交地址
1295 0
|
设计模式 API 数据库
【C/C++ 设计思路】C++中解耦策略的艺术:有效管理复杂依赖关系
【C/C++ 设计思路】C++中解耦策略的艺术:有效管理复杂依赖关系
1116 3
|
消息中间件 存储 缓存
并发编程之Disruptor框架介绍和高阶运用(一)
并发编程之Disruptor框架介绍和高阶运用
1095 0

热门文章

最新文章