让计算机拥有一双眼睛 人工智能科学家已经努力了半个世纪


    最近斯坦福大学一篇论文《Deep neural networks are more accurate than humans at detecting sexual orientation from facial images》一出,舆论哗然,该论文研究指出,计算机算法可以从面相判断一个人的性取向,引发了对隐私、道德、伦理问题的争议。然而回过头去看,这原本是一个卷积神经网络应用的技术文章,在人工智能领域,它是图像识别和机器人视觉的核心部分。
    图像识别技术,是人工智能道路上的一座高峰,如今你可以看到包括个人相册图片管理、刷脸解锁手机、刷脸上班打卡等广泛应用。你一定好奇,图像识别是什么?如何让机器理解一张图甚至一个动态的生物?背后又用到了哪些技术?
    今天,我们就从源头挖一挖图像识别的概念、技术和应用。
    什么是“图像识别”?
    从概念来看,图像识别是指利用计算机对图像进行处理、分析和理解,以识别不同模式的目标和对像(人物、场景、位置、物体、动作等)的技术。
    而图像识别算法一般采用机器学习方法,模拟人脑看图,随后计算机依靠大量的数据,理解图像,最后建立相关的标签和类别。整个识别过程的核心,就是神经网络,经过优胜劣汰,目前已经发展到卷积神经网络(CNN或ConvNets)。
    据不完全统计,科学家们从神经网络研究到卷积神经网络,就花了从20世纪60年代末到20世纪80年代末的时间。
    让计算机看见,经历了一个剥茧抽丝的神经网络演进过程
    我们先来看,人如何辨识物体。人脑的神经细胞(神经元)包括很多彼此相邻并相连的层,层数越多,网络越“深”。单个神经元从其他神经元接收信号——可能高达10万个,当其他神经元被触发时,它们会对相连的神经元施加兴奋或抑制作用,如果我们的第一个神经元输入加起来达到一定阈值电压(threshold voltage)时,它也会被触发。
    也就是说,人不但可以用眼看字,当别人在他背上写字时,他也认得出这个字来。就好比下图,人一眼看过去,就能感知到图片中存在某种层级(hierarchy)或者概念结构(conceptual structure),一层一层的:
    地面是由草和水泥组成,图中有一个小孩,小孩在骑弹簧木马,弹簧木马在草地上。
    
    关键点是,我们知道这是小孩,无论小孩在哪种环境都认识,因此人类不需要重新学习小孩这个概念。
    但机器不同,它需要经过多次反复的学习过程。我们再来看,机器如何辨识物体。在人工神经网络中,信号也在“神经元”之间传播,但是,神经网络不是发射电信号,而是为各种神经元分配权重。 和权重较小的神经元相比,权重更大的神经元会对下一层神经元产生更多的作用,最后一层将这些加权输入放在一起,以得出答案。
    比如,要想让一个计算机认出“猫”,需要建立一组数据库,包含数千张猫的图像和数千张不含猫的图像,分别标记“猫”和“不是猫”,然后,将图像数据提供给神经网络,最终输出层将所有信息——尖耳朵、圆脸、胡须、黑鼻子、长尾巴——放在一起,并给出一个答案:猫。这种训练技术被称为监督学习(supervised learning)。
    还有一种技术叫做无监督学习(Unsupervised learning),就是使用未标记的数据,计算机必须自己看图识物,比如从“尖耳朵”辨别这是一只猫而不是其他动物。然而这些方法容易误导机器,误把“尖耳朵”猫识别成狗,或者把浣熊猫误认为暹罗猫。
    但是,如果图片是这样的呢?
    
    一个3岁小孩都能识别出猫的照片,计算机科学家们却花了多年时间教会计算机看图识物。关键就是自主训练量。
    直到20世纪80年代,来自加拿大多伦多大学的“神经网络先驱”Geoff Hinton领导的小组,提出了一种训练神经网络的方法,叫做卷积神经网络,意味着它不会陷入局部陷阱。
    于是强大的图形处理单元或GPU出现了,研究人员因此可以在台式机上运行、操纵和处理图像,而不用超级计算机了。
    同时大数据的加持,让卷积神经网络应用越来越广泛。2007年,美国斯坦福大学计算机科学系副教授李飞飞推出了ImageNet——一个来自互联网的数百万带有标签图像的数据库。ImageNet为神经网络提供了约1000万张图像和1000个不同的标签。
    一直到现在,神经网络成为机器人视觉的核心工具。尽管现代神经网络包含许多层次——Google Photos有大约30层——但卷积神经网络的出现,仍然是前进了一大步。
    当你教会计算机认图,它需要反复学习
    与传统神经网络一样,卷积神经网络也是由加权神经元层组成。但是,它们不仅仅是模仿人脑的运作,而是非常恰到好处地从视觉系统本身获得了灵感。
    卷积神经网络中的每个层,都在图像上使用过滤器拾取特定的图案或特征。前几层检测到较大的特征,例如下图斜线,而后面的层拾取更细的细节,并将其组织成诸如“耳朵”的复杂特征。
    
    图:典型的卷积神经网络架构
    最终输出层像普通神经网络一样是完全连接的(也就是说,该层中的所有神经元都连接到上一层的所有神经元)。它集合高度具体的特征——其中可能包括猫的狭缝状瞳孔、杏仁形眼睛、眼睛到鼻子的距离——并产生超精确的分类:猫。
    在2012年,谷歌用数千个未标记的YouTube剪辑缩略图培训了一个卷积神经网络,看看会出现什么。毫不奇怪,它变得擅长寻找猫视频。
    
    
    1  2  下一页>