从茹毛饮血的蛮荒,到钢筋水泥的城市,人类逐步将自身能力投射到计算机上。无论是计算能力,还是记忆能力,计算机的如今表现都堪称卓越。但仅拥有这些还远远不够,我们期待计算机可以做得更多。一部风靡全球《星际穿越》激起了无数人对探索浩瀚宇宙奥秘的渴望,也让许多人记住了Tars这个聪明可爱、幽默风趣的智能机器人。
人工智能主题的好莱坞电影一直广受影迷们的喜爱,人类用无尽的想象力和炫目的特技构筑了一个又一个无比精彩的未来世界,令人如痴如醉。不过,回到现实,计算机科学家们的行动力却看似远远赶不上电影艺术家们的想象力,电影终归是电影,要研发出一个像Tars一样能看懂周围世界、听懂人类语言、并和人类进行流畅对话的智能机器人,我们要走的路还有很长。
▲Tars /《星际穿越》(Interstellar)
长时间来,让计算机能看、能听、能说一直是我和计算机界同行们孜孜以求的目标。耕耘在计算机视觉领域十余年,赋予计算机一双慧眼,让它也能看懂这个多彩的世界,一直是激励着我在这条充满挑战的道路上前行的重要力量。虽然计算机暂时还无法像电影中所展现的那般智能,但已经取得了很多令人惊喜的成绩。在这篇文章中,我将就如何让计算机能“看”懂世界这个主题,为大家介绍计算机视觉的基本概念、这个领域面临的挑战、一些带来重要突破的技术并展望未来的演进趋势。
世界如何在我们眼中形成?
对人类而言,“认人”似乎是与生俱来的本能,刚出生几天的婴儿就能模仿父母的表情;它赋予我们只凭极少细节就分辨彼此的能力,借着暗淡灯光我们仍能认出走廊那端的朋友。然而,这项对人类而言轻而易举的能力,对计算机而言却举步维艰。过去很长一段时间,计算机视觉技术徘徊不前,在进一步探求前,不如先谈谈我们是如何用眼睛观察世界的。
相信大家都在中学的物理课上尝过小孔成像的原理。不过人的眼睛要比小孔成像复杂得多,当我们观察物体时,每秒大约扫视3次,并有1次驻留。当视网膜的感光体感受到蜡烛的轮廓,一个被称为中央凹的区域其实是以扭曲变形的形式记录下蜡烛的形状。
那么问题来了,为何我们看到的世界既未扭曲也没有变形呢?很简单,因为人类拥有大脑皮层这个万能的“转换器”,它将我们的视觉神经捕捉到的信号转换为真实的形象。这个“转换器”可简化理解为四个区域,生物学家将它们分别称为V1、V2、V4和IT区。V1区的神经元,只针对整个视觉区域中很小的一部分做出反应,例如,某些神经元发现一条直线,就变得异常活跃。这条直线可以是任何事物的一部分,也许是桌边,也许是地板,也许是这篇文章某个字符的笔划。眼睛每扫视一次,这部分神经元的活动就可能发生快速变化。
奥秘出现在大脑皮层顶层的IT区,生物学家发现,物体在视野的任何地方出现(例如一张脸),某些神经元会一直处于固定的活跃状态中。也就是说,人类的视觉辨识是从视网膜到IT区,神经系统从能识别细微特征,到逐渐变为能识别目标。如果计算机视觉也可以拥有一个“转换器”,那么计算机识别的效率将大为提高,人眼视觉神经的运作为计算机视觉技术的突破提供了启迪。
计算机为何总是“雾里看花”?
尽管人眼识别的奥秘已经被逐步揭开,但直接应用于计算机上却非易事。我们会发现计算机识别总是在“雾里看花”,一旦光线、角度等发生变化,计算机难以跟上环境的节奏,就会误识。对计算机而言,识别一个在不同环境下的人,还不如识别在同一环境下的两个人来得简单。这是因为最初研究者试图将人脸想象为一个模板,用机器学习的方法掌握模板的规律。然而人脸虽然看起来是固定的,但角度、光线、打扮不同,样子也有差别,都令简单的模板难以匹配所有人脸。
因此,人脸识别的核心问题在于,如何让计算机忽略同一个人的内部差异,又能发现两个人之间的分别,即让同一个人相似,不同的人有别。
对人工神经网络的引进是计算机视觉超越模板识别的关键。然而人类尚且未完全掌握神经的运作机制时,又该如何引导计算机进步呢?人工神经网络在1960年代就已萌芽,初期理论只固定在简单的模型之上,即生物课上的“输入-隐层-输出”模型。在介绍神经的工作原理时,老师们一般都会简单告知是外界刺激接触到输入神经元,输入神经元再链接其他部分形成隐层,最后通过输出神经元表现出来。这些神经元的链接强度并不相同,就像不同乐谱的强弱高低不同,人工神经网络就是依靠这些神经元之间不同的链接强度,学会将输入方式映射到输出上。
不过“乐谱”只是静止不动的,而且只能从“输入走向输出”,不存在反向呈现。也就是说如果人静止不动,计算机也许可以通过这一原理读出,但这在现实生活中不可能实现。1980年代末期,用于人工神经网络的“反向传播算法”发明,它能将输出单元的错误传回输入单元,并记住它。这种方法令人工神经网络能从大量训练样本中学习统计规律,对未知事件做出预测。不过与大脑的复杂及层级结构相比,这种只包含一个隐层的神经网络构造还显得微不足道。
深层神经网络为计算机“拨云见日”
2006年,多伦多大学教授Geoffrey Hinton在深层神经网络的训练上取得了突破。一方面,他证明了多隐层的人工神经网络具备更优异的特征学习能力,另一方面能通过逐层初始化克服此前一直困扰研究者的训练难题——基本原理是先通过大量无监督数据保证网络初始化,再用有监督数据在初始化好的或者是预训练的网络上优化调整。
受到这些因素的启发,如今的人脸或图像识别研究,大多基于CNN(Convolution Neural Networks)原理。CNN可以被视为一种逐层扫描的“机器”。第一层检测边缘、角点、平坦或不平坦的区域,这一层几乎不包含语义信息;第二层基于第一层检测的结果进行组合,并将组合传递给下一层,以此类推。多层扫描之下,累加准确率,计算机
关注天下网吧微信,了解网吧网咖经营管理,安装维护:
本文来源:不详 作者:佚名