热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

一文看懂深度学习与计算机视觉(上)

今年夏天,将在深圳举办“全球人工智能与机器人创新大会”(GAIR),在本次大会上,我们将发布“人工智能与机器人Top25创新企业榜“,慧眼科技是我们重点关注的公司之一。今天,我们邀请到慧眼科技研

今年夏天,将在深圳举办“全球人工智能与机器人创新大会”(GAIR),在本次大会上,我们将发布“人工智能与机器人Top25创新企业榜“,慧眼科技是我们重点关注的公司之一。今天,我们邀请到慧眼科技研发总监李汉曦,为我们带来深度学习与计算机视觉方面的内容分享。

嘉宾介绍:李汉曦,慧眼科技研发总监,澳大利亚国立大学博士;曾任澳大利亚国家信息通信公司(NICTA)任高级研究员;人脸识别,物体检测,物体跟踪、深度学习方面的专家,在TPAMI,TIP, TNNLS和Pattern Recognition等权威期刊,以及CVPR,ECCV,BMVC, ACCV等领域内重要会议发表过有影响力的论文;现为澳大利亚格里菲斯大学客座研究员,江西师范大学特聘教授。
 

 

人工智能是人类一个非常美好的梦想,跟星际漫游和长生不老一样。我们想制造出一种机器,使得它跟人一样具有一定的对外界事物感知能力,比如看见世界。

在上世纪50年代,数学家图灵提出判断机器是否具有人工智能的标准:图灵测试。即把机器放在一个房间,人类测试员在另一个房间,人跟机器聊天,测试员事先不知道另一房间里是人还是机器 。经过聊天,如果测试员不能确定跟他聊天的是人还是机器的话,那么图灵测试就通过了,也就是说这个机器具有与人一样的感知能力。

但是从图灵测试提出来开始到本世纪初,50多年时间有无数科学家提出很多机器学习的算法,试图让计算机具有与人一样的智力水平,但直到2006年深度学习算法的成功,才带来了一丝解决的希望。


众星捧月的深度学习
深度学习在很多学术领域,比非深度学习算法往往有20-30%成绩的提高。很多大公司也逐渐开始出手投资这种算法,并成立自己的深度学习团队,其中投入最大的就是谷歌,2008年6月披露了谷歌脑项目。2014年1月谷歌收购DeepMind,然后2016年3月其开发的Alphago算法在围棋挑战赛中,战胜了韩国九段棋手李世石,证明深度学习设计出的算法可以战胜这个世界上最强的选手。

在硬件方面,Nvidia最开始做显示芯片,但从2006及2007年开始主推用GPU芯片进行通用计算,它特别适合深度学习中大量简单重复的计算量。目前很多人选择Nvidia的CUDA工具包进行深度学习软件的开发。

微软从2012年开始,利用深度学习进行机器翻译和中文语音合成工作,其人工智能小娜背后就是一套自然语言处理和语音识别的数据算法。

百度在2013年宣布成立百度研究院,其中最重要的就是百度深度学习研究所,当时招募了著名科学家余凯博士。不过后来余凯离开百度,创立了另一家从事深度学习算法开发的公司地平线。

Facebook和Twitter也都各自进行了深度学习研究,其中前者携手纽约大学教授Yann Lecun,建立了自己的深度学习算法实验室;2015年10月,Facebook宣布开源其深度学习算法框架,即Torch框架。Twitter在2014年7月收购了Madbits,为用户提供高精度的图像检索服务。


前深度学习时代的计算机视觉
互联网巨头看重深度学习当然不是为了学术,主要是它能带来巨大的市场。那为什么在深度学习出来之前,传统算法为什么没有达到深度学习的精度?

在深度学习算法出来之前,对于视觉算法来说,大致可以分为以下5个步骤:特征感知,图像预处理,特征提取,特征筛选,推理预测与识别。早期的机器学习中,占优势的统计机器学习群体中,对特征是不大关心的。

我认为,计算机视觉可以说是机器学习在视觉领域的应用,所以计算机视觉在采用这些机器学习方法的时候,不得不自己设计前面4个部分。

但对任何人来说这都是一个比较难的任务。传统的计算机识别方法把特征提取和分类器设计分开来做,然后在应用时再合在一起,比如如果输入是一个摩托车图像的话,首先要有一个特征表达或者特征提取的过程,然后把表达出来的特征放到学习算法中进行分类的学习。

 

 

过去20年中出现了不少优秀的特征算子,比如最著名的SIFT算子,即所谓的对尺度旋转保持不变的算子。它被广泛地应用在图像比对,特别是所谓的structure from motion这些应用中,有一些成功的应用例子。另一个是HoG算子,它可以提取物体,比较鲁棒的物体边缘,在物体检测中扮演着重要的角色。

这些算子还包括Textons,Spin image,RIFT和GLOH,都是在深度学习诞生之前或者深度学习真正的流行起来之前,占领视觉算法的主流。


几个(半)成功例子
这些特征和一些特定的分类器组合取得了一些成功或半成功的例子,基本达到了商业化的要求但还没有完全商业化。

一是八九十年代的指纹识别算法,它已经非常成熟,一般是在指纹的图案上面去寻找一些关键点,寻找具有特殊几何特征的点,然后把两个指纹的关键点进行比对,判断是否匹配。

然后是2001年基于Haar的人脸检测算法,在当时的硬件条件下已经能够达到实时人脸检测,我们现在所有手机相机里的人脸检测,都是基于它或者它的变种。

第三个是基于HoG特征的物体检测,它和所对应的SVM分类器组合起来的就是著名的DPM算法。DPM算法在物体检测上超过了所有的算法,取得了比较不错的成绩。

但这种成功例子太少了,因为手工设计特征需要大量的经验,需要你对这个领域和数据特别了解,然后设计出来特征还需要大量的调试工作。说白了就是需要一点运气。

另一个难点在于,你不只需要手工设计特征,还要在此基础上有一个比较合适的分类器算法。同时设计特征然后选择一个分类器,这两者合并达到最优的效果,几乎是不可能完成的任务。


仿生学角度看深度学习
如果不手动设计特征,不挑选分类器,有没有别的方案呢?能不能同时学习特征和分类器?即输入某一个模型的时候,输入只是图片,输出就是它自己的标签。比如输入一个明星的头像,出来的标签就是一个50维的向量(如果要在50个人里识别的话),其中对应明星的向量是1,其他的位置是0。

 

 

这种设定符合人类脑科学的研究成果。

1981年诺贝尔医学生理学奖颁发给了David Hubel,一位神经生物学家。他的主要研究成果是发现了视觉系统信息处理机制,证明大脑的可视皮层是分级的。他的贡献主要有两个,一是他认为人的视觉功能一个是抽象,一个是迭代。抽象就是把非常具体的形象的元素,即原始的光线像素等信息,抽象出来形成有意义的概念。这些有意义的概念又会往上迭代,变成更加抽象,人可以感知到的抽象概念。

像素是没有抽象意义的,但人脑可以把这些像素连接成边缘,边缘相对像素来说就变成了比较抽象的概念;边缘进而形成球形,球形然后到气球,又是一个抽象的过程,大脑最终就知道看到的是一个气球。

 

 

模拟人脑识别人脸,也是抽象迭代的过程,从最开始的像素到第二层的边缘,再到人脸的部分,然后到整张人脸,是一个抽象迭代的过程。

再比如看到图片中的摩托车,我们可能在脑子里就几微秒的时间,但是经过了大量的神经元抽象迭代。对计算机来说最开始看到的根本也不是摩托车,而是RGB图像三个通道上不同的数字。

所谓的特征或者视觉特征,就是把这些数值给综合起来用统计或非统计的形式,把摩托车的部件或者整辆摩托车表现出来。深度学习的流行之前,大部分的设计图像特征就是基于此,即把一个区域内的像素级别的信息综合表现出来,利于后面的分类学习。

如果要完全模拟人脑,我们也要模拟抽象和递归迭代的过程,把信息从最细琐的像素级别,抽象到“种类”的概念,让人能够接受。


卷积的概念
计算机视觉里经常使卷积神经网络,即CNN,是一种对人脑比较精准的模拟。

什么是卷积?卷积就是两个函数之间的相互关系,然后得出一个新的值,他是在连续空间做积分计算,然后在离散空间内求和的过程。实际上在计算机视觉里面,可以把卷积当做一个抽象的过程,就是把小区域内的信息统计抽象出来。

比如,对于一张爱因斯坦的照片,我可以学习n个不同的卷积和函数,然后对这个区域进行统计。可以用不同的方法统计,比如着重统计中央,也可以着重统计周围,这就导致统计的和函数的种类多种多样,为了达到可以同时学习多个统计的累积和。

 

 

上图中是,如何从输入图像怎么到最后的卷积,生成的响应map。首先用学习好的卷积和对图像进行扫描,然后每一个卷积和会生成一个扫描的响应图,我们叫response map,或者叫feature map。如果有多个卷积和,就有多个feature map。也就说从一个最开始的输入图像(RGB三个通道)可以得到256个通道的feature map,因为有256个卷积和,每个卷积和代表一种统计抽象的方式。

在卷积神经网络中,除了卷积层,还有一种叫池化的操作。池化操作在统计上的概念更明确,就是一个对一个小区域内求平均值或者求最大值的统计操作。

带来的结果是,如果之前我输入有两个通道的,或者256通道的卷积的响应feature map,每一个feature map都经过一个求最大的一个池化层,会得到一个比原来feature map更小的256的feature map。

 

 

在上面这个例子里,池化层对每一个2X2的区域求最大值,然后把最大值赋给生成的feature map的对应位置。如果输入图像是100×100的话,那输出图像就会变成50×50,feature map变成了一半。同时保留的信息是原来2X2区域里面最大的信息。



推荐阅读
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 老牌医药收割AI红利:先投个15亿美元抢中国人才
    萧箫发自凹非寺量子位报道|公众号QbitAI没想到,一场大会把我的“刻板印象”攻破了。2021世界人工智能大会现场,能看见不少熟悉的身影, ... [详细]
  • 当写稿机器人真有了观点和感情,我们是该高兴还是恐惧?
    目前,写稿机器人多是撰写以数据为主的稿件,当它们能够为文章注入观点之时,这些观点真的是其所“想”吗?最近,《南 ... [详细]
  • ICRA2019最佳论文  Making Sense of Vision and Touch: SelfSupervised Learning of Multimodal Representatio
    文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
author-avatar
allmon白_980
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有