本篇文章3738字,读完约9分钟

最近,斯坦福大学发表的一篇论文“深度神经网络在从面部图像检测性取向方面比人类更准确”,引起了公众的强烈抗议。本文的研究指出,计算机算法可以从面部判断一个人的性取向,这在隐私、道德和伦理上引起了争议。然而,回头看,这原本是一篇关于卷积神经网络应用的技术文章,卷积神经网络是人工智能领域中图像识别和机器人视觉的核心部分。

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

图像识别技术是人工智能道路上的一座高峰。如今,你可以看到各种各样的应用,包括个人相册图片管理、刷脸解锁手机、刷脸打卡等。你一定很好奇,什么是图像识别?如何让机器理解一幅图片甚至一个动态的生物?它背后使用了什么技术?

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

今天,我们从源头上挖掘图像识别的概念、技术和应用。

什么是图像识别?

从概念的角度来看,图像识别是指用计算机处理、分析和理解图像的技术,以识别目标和对象(人、场景、位置、对象、动作等)的不同模式。)。

图像识别算法一般采用机器学习的方法,模拟人脑看图片。然后计算机依靠大量的数据来理解图像,最后建立相关的标签和类别。整个识别过程的核心是神经网络,经过优胜劣汰,它已经发展成为卷积神经网络(cnn或convnets)。

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

据不完全统计,从20世纪60年代末到80年代末,科学家们一直在研究卷积神经网络。

让计算机看到它经历了一个剥茧吐丝的神经网络进化过程

让我们先看看人们是如何识别物体的。人脑的神经细胞(神经元)包括许多相邻和相连的层。层数越多,网络越深。单个神经元可能从其他神经元接收多达100,000个信号。当其他神经元被触发时,它们会兴奋或抑制相连的神经元。如果我们的第一个神经元输入加起来达到某个阈值电压,它也会被触发。

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

也就是说,一个人不仅能用眼睛读单词,而且当别人在他背上写字时,他也能认出这些单词。就像下图,当人们看过去的时候,他们可以感觉到图片中有一定的层次或概念结构,一层一层的:

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

地面由草和水泥组成。照片里有一个孩子。这孩子正骑着一匹春天的马。春天的马在草地上。

关键是我们知道这是一个孩子,不管孩子知道什么样的环境,人类不需要重新学习孩子的概念。

但是机器是不同的,它需要经历许多重复的学习过程。让我们看看机器是如何识别物体的。在人工神经网络中,信号也在神经元之间传播,但是神经网络不是传输电信号,而是给不同的神经元分配权重。与权值较小的神经元相比,权值较大的神经元对下一层神经元的影响更大,这些加权输入将在最后一层集合起来得到答案。

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

例如,为了让计算机识别一只猫,有必要建立一组数据库,分别包含数千张猫图像和数千张没有猫的图像,然后将图像数据提供给神经网络。最后,输出层将所有信息与尖耳朵、圆脸、胡须、黑鼻子和长尾巴放在一起,并给出一个答案:猫。这种训练技术被称为监督学习。

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

另一种技术叫做无监督学习,也就是说,使用未标记的数据,计算机必须看着图片并自己识别事物,例如,通过敏锐的耳朵识别出它是一只猫而不是其他动物。然而,这些方法很容易误导机器,把尖耳猫误认为狗,或者把环熊猫误认为暹罗猫。

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

但是如果照片是这样的呢?

一个3岁的孩子可以识别猫的照片,但是计算机科学家已经花了很多年来教计算机阅读图片和其他东西。

直到20世纪80年代,由加拿大多伦多大学神经网络的先驱杰夫·辛顿领导的团队提出了一种训练神经网络的方法,称为卷积神经网络,这意味着它不会陷入局部陷阱。

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

如此强大的图形处理单元或图形处理器出现了,这意味着研究人员可以在桌面而不是超级计算机上运行、操作和处理图像。

同时,随着大数据的出现,卷积神经网络得到了广泛的应用。2007年,两位计算机科学家,普林斯顿大学的李·李凯·凯,斯坦福大学计算机科学副教授,美国工程院院士,推出了imagenet,这是一个由互联网上数百万个标记图像组成的数据库。在亚马逊机械土耳其公司等技术的帮助下,用户可以从给图片贴标签中获得几分钱。现在,imagenet为神经网络提供了大约1000万幅图像和1000种不同的标签。

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

从十年前到现在,神经网络已经成为机器人视觉的核心工具。虽然现代神经网络包含许多层,谷歌照片有大约30层的卷积神经网络,这仍然是一大进步。

机器如何像人类一样识别物体?

像传统的神经网络一样,卷积神经网络由加权神经元层组成。然而,它们不仅模仿大脑的运作,还从视觉系统本身获得灵感。

卷积神经网络中的每一层都使用滤波器来提取图像上的特定模式或特征。前几层检测较大的特征,如斜线,而后几层提取更精细的细节,并将它们组织成复杂的特征,如耳朵。

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

图:典型的卷积神经网络结构

最终输出层像普通神经网络一样完全连接(即,该层中的所有神经元都连接到上层中的所有神经元)。它整合了高度特定的特征,可能包括猫的狭缝瞳孔,杏仁状的眼睛,从眼睛到鼻子的距离,并产生超精确的分类:猫。

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

2012年,谷歌用数千个未标记的youtube视频片段缩略图训练了一个卷积神经网络,看看会发生什么。毫不奇怪,它变得擅长寻找猫的视频。

如何用卷积神经网络处理图像?基本上有三个步骤:卷积层、汇集层和使用下采样阵列作为常规全连接神经网络的输入。例如,从刚才一个孩子的骑行照片,卷积神经网络识别对象的步骤可以分解,包括五个步骤:

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

第一步:将图片分解成部分重叠的小块

所以这幅画被分解成77个同样大小的小块。

第二步:将每个小块输入一个小的神经网络

重复这个步骤77次,每次判断一个小块

然而,有一个非常重要的区别:我们将对每个图块使用相同的神经网络权重。换句话说,我们平等地对待每个小块,如果任何小块有任何异常,我们认为这个块是异常的。

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

步骤3:将每个小块的结果保存到一个新的数组中

我们不想打乱图块的顺序,所以我们按照图片上的顺序输入每个图块并保存结果,如下所示:

步骤4:减少像素采样

第三步的结果是一个数组,它对应于原始图片中最不正常的部分。但是这个阵列仍然非常大:

为了减小这个数组的大小,我们使用了一个叫做max pooling的函数来进行下采样。但这还不够!

让我们先看看每个2 ^ 2的方阵,留下最大的数字:

在这里,一旦我们在组成2 2平方矩阵的四个输入中发现任何异常部分,我们只保留这个数字。结果,我们阵列的大小减小了,而最重要的部分保留了下来。

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

最后一步:做一个预测。到目前为止,我们已经将一个大图片缩小到一个相对较小的数组。

一个数组只是一串数字,所以我们可以把这个数组输入另一个神经网络。最后,这个神经网络将决定图片是否匹配。为了区别于卷积,我们称之为全连通网络。

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

所以从开始到结束,我们的五个步骤像管道一样连接在一起:

在整个过程中,您可以多次任意组合和堆叠这些步骤。卷积层越多,网络能够识别的特征就越复杂。当您想要减少数据量时,您总是可以调用最大池函数。深度卷积神经网络使用多个卷积、最大池和多个全连接层。为了实现卷积神经网络的应用,机器学习需要反复试验。

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

如何建立卷积神经网络?这里有一些应用编程接口

从头开始构建卷积神经网络可能是一项昂贵且耗时的任务。话虽如此,该行业最近开发了一些应用编程接口(API),使不同的组织能够收集不同的意见,而无需学习机器学习或计算机视觉专业知识。

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

谷歌云视觉是谷歌的视觉识别api,使用rest api。它基于开源张量流框架。它检测单个人脸和物体,并包含一套相当全面的标签。

此外,谷歌图像搜索可以说是一个巨大的图像数据库,它从根本上改变了我们处理图像的方式。

以下是谷歌图像搜索的简要年表。

IBM Watson Visual Recognition IBM Watson Visual Recognition是Watson开发人员云的一部分,并带有大量内置类别,但它实际上是为了根据您提供的图像来训练定制类而构建的。它还支持一些伟大的功能,包括nsfw和ocr检测,如谷歌云视觉。

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

脸谱网的多路径网3脸谱网人工智能研究(Fair)认为,深度卷积神经网络允许我们看到图像分类(图像中有什么)和对象检测(对象在哪里?)的巨大进步。见下文(a)和(b)。但这仅仅是理解图像或视频中最相关的视觉内容的开始。目标是设计一种技术来识别和分割图像中的每个对象,例如下图所示的最右边的面板(C),这是一个可以完全应用的关键功能。

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

Facebook希望将机器视觉推向下一个阶段,并在像素级理解图像和物体。主要的新算法是deepmask1分割框架和sharpmask2细分模块。它们共同使费尔的机器视觉系统能够检测并准确描述图像中的每一个物体。在识别管道的最后阶段,使用一个称为多面体3的特殊卷积网络,用其对象类型(如人、狗和羊)屏蔽每个对象。

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

Clarif.ai是一种新的图像识别服务,它也使用rest api。clarif.ai的一个有趣的方面是它附带了一些模块,这些模块有助于根据特定的主题定制它的算法,例如食物、旅行和婚礼。

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

虽然上述api适用于一些一般的应用程序,但是您可能仍然需要为特定的任务开发定制的解决方案。幸运的是,通过处理优化和计算,许多库可以让开发人员和数据科学家的生活变得更加轻松,这样他们就可以专注于训练模型。许多库,包括antano、torch、deeplearning4j和tensorflow,已经成功地应用于各种应用。

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

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

地址:http://www.hcsbodzyz.com/hcxw/7534.html