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


来源:科技行者

概要:计算机算法可以从面相判断一个人的性取向,引发了对隐私、道德、伦理问题的争议。然而回过头去看,在人工智能领域,它是图像识别和机器人视觉的核心部分。


最近斯坦福大学一篇论文《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剪辑缩略图培训了一个卷积神经网络,看看会出现什么。毫不奇怪,它变得擅长寻找猫视频。


卷积神经网络如何进行图片处理?基本上有三个步骤,卷积层、池化层、采用下采样阵列作为常规全连接神经网络的输入。


譬如,从刚刚那张“小孩骑马图”可以分解出,卷积神经网络辨识物体的五个步骤:


第一步:把图片分解成部分重合的小图块


              于是图片被分解成了 77 块同样大小的小图块。


第二步:把每个小图块输入到小型神经网络中


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


然而,有一个非常重要的不同:对于每个小图块,我们会使用同样的神经网络权重,也就是说,如果哪个小图块不一样,我们就认为这个图块是“异常”(interesting)的。


第三步:把每一个小图块的结果都保存到一个新的数组当中


我们不想并不想打乱小图块的顺序,所以就把每个小图块按照图片上的顺序输入并保存结果,就像这样:



第四步:缩减像素采样


第三步的结果是一个数组,这个数组对应着原始图片中最异常的部分。但是这个数组依然很大:



为了减小这个数组的大小,我们利用一种叫做最大池化(max pooling)的函数来降采样(downsample)。但这依然不够!


让我们先来看每个 2×2 的方阵数组,并且留下最大的数:



这里,一旦我们找到组成 2×2 方阵的 4 个输入中任何异常的部分,但我们就只保留这一个数。这样一来我们的数组大小就缩减了,同时最重要的部分也保留住了。


最后一步:作出预测


到现在为止,我们已经把一个很大的图片缩减到了一个相对较小的数组。


数组就是一串数字而已,所以我们我们可以把这个数组输入到另外一个神经网络里面去。最后的这个神经网络会决定这个图片是否匹配。为了区分它和卷积的不同,我们把它称作“全连接”网络(“Fully Connected” Network)。


所以从开始到结束,我们的五步就像管道一样被连接了起来:



整个过程中,你可以把这些步骤任意组合、堆叠多次,卷积层越多,网络就越能识别出复杂的特征。当你想要缩小数据大小时,也随时可以调用最大池化函数。而深层卷积网络(Convolutional Neural Networks)就是使用了多次卷积、最大池化和多个全连接层。为了实现卷积神经网络应用,机器学习需要反复学习测试。


如何构建卷积神经网络?这里有一些API


从零开始构建卷积神经网络,费钱又耗时,业内开放了一些API(Application Programming Interface,应用程序编程接口),使开发者无需自己研究机器学习或计算机视觉专业知识。


谷歌 Cloud Vision


GoogleCloud Vision是谷歌的视觉识别API,使用REST API。它基于开源的TensorFlow框架。它检测单个面部和物体,并包含一个相当全面的标签集。

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


这里有一张谷歌图像搜索的时间表。


 


IBM沃森视觉识别


IBM沃森视觉识别是沃森开发者云(Watson Developer Cloud)的一部分,并附带了一大批内置的类别,但实际上是为根据你提供的图像来训练自定义定制类而构建的。它还支持一些很棒的功能,包括NSFW和OCR检测,如Google Cloud Vision。


Facebook的MultiPathNet 3


Facebook AI Research(FAIR)认为,深度卷积神经网络让我们已经看到图像分类(图像中有什么)以及对象检测(对象在哪里?)上的巨大进步(见下图a和b),但这只是一个开始,目标是设计一种识别和分割图像中每个对象的技术,如下图c。




于是Facebook想将机器视觉推向下一个阶段——在像素级别上理解图像和对象。推动的主要新算法是DeepMask 1分段框架以及SharpMask 2细分模块。它们共同使FAIR的机器视觉系统,能够检测并精确地描绘图像中的每个物体。识别流水线的最后阶段使用一个专门的卷积网络,称之为MultiPathNet 3,以其包含的对象类型(例如人,狗,羊),为每个对象掩码标记。


Clarif.ai


Clarif.ai是一个新兴的图像识别服务,也使用REST API。关于Clarif.ai的一个有趣的方面是它附带了一些模块,有助于将其算法定制到特定主题,如食物、旅行和婚礼。


尽管上述API适用于少数一般应用程序,但你可能仍然需要为特定任务开发自定义解决方案。幸运的是,许多库可以通过处理优化和计算方面来使开发人员和数据科学家的生活变得更加容易,从而使他们专注于训练模型。有许多库,包括Theano、Torch、DeepLearning4J和TensorFlow已经成功应用于各种应用。


-END-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php点击验证码,用PHP实现验证码功能

作者:hutuworm 来源:糊涂馋寺牐犇壳埃不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉…

业界 | 计算芯片革命来临?英伟达谷歌入局紧逼英特尔

来源:AI科技评论概要:为了能够满足高速增长的计算需求,一些科技巨头们现在正从生物学中寻找灵感。他们正在重新思考电脑的本质,然后建造更像人类大脑的机器:神经系统里要有一个中央脑干,然后把听、说这样的…

php tp框架分页源代码,ThinkPHP3.2框架自带分页功能实现方法示例

本文实例讲述了ThinkPHP3.2框架自带分页功能实现方法。分享给大家供大家参考,具体如下:1.前端-分页代码:{$page}2.创建分页样式:如page.css 并将以下代码复制到该文件中.pages{float: right}.pages a,.pages span {display:inline…

【研究报告】城市云脑,智慧城市2.0产生背后的深层原因,两个重要特征是关键

作者:计算机博士,互联网进化论作者 刘锋到2017年,智慧城市与脑的关键词不断涌现,在互联网云脑的研究基础上,城市云脑形成更为清晰的定义,从2009年智慧地球和智慧城市提出以来,经过8年时间&#…

c# php加解密,PHP和C#可共用的可逆加密算法详解

在一些项目中要求在php中生成加密,然后在asp.net中接受过来的密码再解密,下面和大家分享一个PHP与asp.net C#可共用的可逆加密算法,感兴趣的可以参考参考。php加密算法:class DES{var $key;var $iv; //偏移量function DES($key 1…

机器人也需要拥有属于自己的性格

原作者:STEPH HAY, CAPITAL ONE译者:彭婷概要:建立信任最有效的方法之一就是在你的每一次互动中始终如一地展示你的人格的完整性。现实生活中是如此,在AI中也是如此。对话设计师Mindy Gold曾经设计出一款没有明确名称以及性别的健…

php中英文字符串长度,php 计算中英文混合字符串的长度

php 计算中英文混合字符串的长度echo ccStrLen($str),;echo ccStrLeft($str,3);function ccStrLeft($str,$len) #从左边截取中英文混合字符串{$ascLenstrlen($str); if($ascLen<$len) return $str;$hasCCereg("[xA1-xFE]",$str); #同上$hasAscereg("[x01-x…

IBM Watson 的中国生意

来源&#xff1a;财经杂志概要&#xff1a;鉴于过往&#xff0c;IBM的此次转型更具深意。这家巨头公司此次转型的任务是&#xff0c;业务架构要从软件硬件服务&#xff0c;转变为云认知行业。IBM的这场转型尚未到最终评定是否成功的阶段&#xff0c;但新的业务组合收入如果超过…

java 包含汉字,java判断字符串中是否包含汉字

java判断字符串中是否包含汉字package com.zuidaima.util;/**[email protected] www.zuidaima.com**/public class test {public static void main(String[] args) {String a "中国China";for (int ia.length(); --i>0;) {String b a.substring(i, i1);boolean …

2013-2017:中国 CV(计算机视觉)公司恩仇录

来源&#xff1a;KnowingAI知智概要&#xff1a;这是属于中国 CV&#xff08;计算机视觉&#xff09;公司的五年&#xff0c;这是属于他们的时代。2013 年新广告法还没实行&#xff0c;旷视科技为 Face 写下文案&#xff1a;「最好的人脸识别云计算平台」。2014 年是「格灵深瞳…

git php自动发布,使用 Git Hooks 实现自动部署PHP项目

最近正在寻找一种简便的自动部署代码到服务器的方式&#xff0c;然后就发现了git hooks这个方法&#xff0c;查了一些资料再自己尝试过后&#xff0c;觉得还不错&#xff0c;记录下。什么是git hooks在git上是这么介绍的&#xff1a;和其它版本控制系统一样&#xff0c;Git能在…

matlab读取时间数据,Matlab有关数据库读取及时间项的设定

Matlab有关数据库的读取需下载mysql-connector-java-5.1.26-bin.jar文件放到指定位置&#xff0c;并修改classpath.txt相关文件&#xff0c;具体可网上自行查找。看一下实例&#xff1a;conndatabase(‘photo‘, ‘root‘, ‘123321‘, ‘com.mysql.jdbc.Driver‘, ‘jdbc:mysq…

GAN还有这种操作!谷歌大脑和X实验室利用模拟条件和域适应提高机器抓取效率(附论文)

来源&#xff1a;机器人圈作者&#xff1a;Coogle Brain&#xff0c;Google X概要&#xff1a;相信大家都知道&#xff0c;通过检测和采集带有注释的视觉抓取数据集来训练现代机器学习算法可以说是非常耗时、昂贵的。相信大家都知道&#xff0c;通过检测和采集带有注释的视觉抓…

java gui 打开另一个,java – 从另一个JFrame Gui访问vars

好的,我已根据您的说法对我的代码进行了一些更改.我有3个班&#xff1a;第二类(和第一个GUI)&#xff1a;我有4个JButton – Simulare,CazParticular,Start和HandSelection,一些JLabel和3个JTextField;当我按下HandSelection按钮时,另一个框架会创建不同的内容.第三类(和第二个…

英伟达的雄心:成为AI时代的计算平台

9 月 26 日&#xff0c;NVIDIA英伟达在北京举行GTC大会&#xff0c;NVIDIA 创始人兼首席执行官黄仁勋在演讲中展示了能够加快人工智能大规模采用速度的全新技术&#xff0c;并介绍了为云服务商、电商和智慧城市提供的各项计算平台服务。发布AI 推理软件TensorRT 3&#xff1a;可…

lc filter在matlab哪,基于python实现matlab filter函数过程详解

matlab中的filter函数&#xff1a;y filter(b,a,x)python实现matlab中的filter函数def filter_matlab(b,a,x):y []y.append(b[0] * x[0])for i in range(1,len(x)):y.append(0)for j in range(len(b)):if i > j :y[i] y[i] b[j] * x[i - j ]j 1for l in range(len(b)-1…

php多商户限时抢购,GitHub - 617746883/thinkphp5.0_shop: 基于thinkphp5,多商户商城。积分商城、团购、秒杀、拍卖、夺宝等多插件(持续开发中)...

SUL1SS_shopAuthor:SUL1SSEmail:617746883qq.com简介与现状自营多商户上传管理后台api接口核心功能组件化积分商城预计后续实现功能:团购、拍卖、秒杀、夺宝等插件。客户端-web手机端将采用vue搭建脚手架框架。由于个人能力有限&#xff0c;所以应用的代码在有些地方设计可能存…

Gartner公布云计算市场排位:亚马逊微软阿里前三

来源&#xff1a;网易科技概要&#xff1a;Gartner认为&#xff0c;亚马逊、微软和阿里云三大巨头引领了增长&#xff0c;预估IaaS、PaaS和SaaS的5年增长分别为28%、22%和19%。9月27日&#xff0c;美国权威研究机构Gartner发布2016年全球公共云市场份额报告&#xff0c;全球云计…

matlab设置固定的窗宽窗位,python实现CT窗宽窗位的调整(即指定HU值保存图像)...

最近一直在做实验&#xff0c;所以好久没有更新了&#xff0c;先把上周做的一些小的实验贴出来供大家分享。在医生诊断时&#xff0c;是会将CT图像调整成不同的窗来处理的。比如说肺部CT吧&#xff0c;肺窗(窗宽为2000&#xff0c;窗位为-400)用于看小的肺结节&#xff1b;腹部…

重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN

来源&#xff1a; AI科技大本营概要&#xff1a;深度神经网络需要花大力气调参&#xff0c;相比之下 gcForest 要容易训练得多。此外&#xff0c;深度神经网络需要大规模的训练数据&#xff0c;而 gcForest 在仅有小规模训练数据的情况下也照常运转。今年 2 月&#xff0c;南京…