http://www.csdn.net/article/2015-03-24/2824301

【编者按】本文来自CMU的博士,MIT的博士后,vision.ai的联合创始人Tomasz Malisiewicz的个人博客文章,阅读本文,你可以更好的理解计算机视觉是怎么一回事,同时对机器学习是如何随着时间缓慢发展的也有个直观的认识。

以下为正文:

本文我们来关注下三个非常相关的概念(深度学习、机器学习和模式识别),以及他们与2015年最热门的科技主题(机器人和人工智能)的联系。

图1 人工智能并非将人放入一台计算机中(图片来源于 WorkFusion 的博客)

环绕四周,你会发现不缺乏一些初创的高科技公司招聘机器学习专家的岗位。而其中只有一小部分需要深度学习专家。我敢打赌,大多数初创公司都可以从最基本的数据分析中获益。那如何才能发现未来的数据科学家?你需要学习他们的思考方式。

三个与“学习”高度相关的流行词汇

模式识别(Pattern recognition)、机器学习(machine learning)和深度学习(deep learning)代表三种不同的思想流派。模式识别是最古老的(作为一个术语而言,可以说是很过时的)。机器学习是最基础的(当下初创公司和研究实验室的热点领域之一)。而深度学习是非常崭新和有影响力的前沿领域,我们甚至不会去思考后深度学习时代。我们可以看下图所示的谷歌趋势图。可以看到:

1)机器学习就像是一个真正的冠军一样持续昂首而上;
2)模式识别一开始主要是作为机器学习的代名词;
3)模式识别正在慢慢没落和消亡;
4)深度学习是个崭新的和快速攀升的领域。

2004年至今三个概念的谷歌搜索指数(图来源于 谷歌趋势 )

1. 模式识别:智能程序的诞生

模式识别是70年代和80年代非常流行的一个术语。它强调的是如何让一个计算机程序去做一些看起来很“智能”的事情,例如识别“3”这个数字。而且在融入了很多的智慧和直觉后,人们也的确构建了这样的一个程序。例如,区分“3”和“B”或者“3”和“8”。早在以前,大家也不会去关心你是怎么实现的,只要这个机器不是由人躲在盒子里面伪装的就好(图2)。不过,如果你的算法对图像应用了一些像滤波器、边缘检测和形态学处理等等高大上的技术后,模式识别社区肯定就会对它感兴趣。光学字符识别就是从这个社区诞生的。因此,把模式识别称为70年代,80年代和90年代初的“智能”信号处理是合适的。决策树、启发式和二次判别分析等全部诞生于这个时代。而且,在这个时代,模式识别也成为了计算机科学领域的小伙伴搞的东西,而不是电子工程。从这个时代诞生的模式识别领域最著名的书之一是由Duda & Hart执笔的“模式识别(Pattern Classification)”。对基础的研究者来说,仍然是一本不错的入门教材。不过对于里面的一些词汇就不要太纠结了,因为这本书已经有一定的年代了,词汇会有点过时。

图2 一个字符“3”的图像被划分为16个子块。

自定义规则、自定义决策,以及自定义“智能”程序在这个任务上,曾经都风靡一时(更多信息,可以查看这个 OCR 网页)

小测试:计算机视觉领域最著名的会议叫CVPR,这个PR就是模式识别。你能猜出第一届CVPR会议是哪年召开的吗?

2. 机器学习:从样本中学习的智能程序

在90年代初,人们开始意识到一种可以更有效地构建模式识别算法的方法,那就是用数据(可以通过廉价劳动力采集获得)去替换专家(具有很多图像方面知识的人)。因此,我们搜集大量的人脸和非人脸图像,再选择一个算法,然后冲着咖啡、晒着太阳,等着计算机完成对这些图像的学习。这就是机器学习的思想。“机器学习”强调的是,在给计算机程序(或者机器)输入一些数据后,它必须做一些事情,那就是学习这些数据,而这个学习的步骤是明确的。相信我,就算计算机完成学习要耗上一天的时间,也会比你邀请你的研究伙伴来到你家然后专门手工得为这个任务设计一些分类规则要好。

图3 典型的机器学习流程(图来源于 Natalia Konstantinova 博士的博客)。

在21世纪中期,机器学习成为了计算机科学领域一个重要的研究课题,计算机科学家们开始将这些想法应用到更大范围的问题上,不再限于识别字符、识别猫和狗或者识别图像中的某个目标等等这些问题。研究人员开始将机器学习应用到机器人(强化学习,操控,行动规划,抓取)、基因数据的分析和金融市场的预测中。另外,机器学习与图论的联姻也成就了一个新的课题---图模型。每一个机器人专家都“无奈地”成为了机器学习专家,同时,机器学习也迅速成为了众人渴望的必备技能之一。然而,“机器学习”这个概念对底层算法只字未提。我们已经看到凸优化、核方法、支持向量机和Boosting算法等都有各自辉煌的时期。再加上一些人工设计的特征,那在机器学习领域,我们就有了很多的方法,很多不同的思想流派,然而,对于一个新人来说,对特征和算法的选择依然一头雾水,没有清晰的指导原则。但,值得庆幸的是,这一切即将改变……

延伸阅读:要了解更多关于计算机视觉特征的知识,可以看看原作者之前的博客文章:“ 从特征描述子到深度学习:计算机视觉的20年 ”。

3. 深度学习:一统江湖的架构

快进到今天,我们看到的是一个夺人眼球的技术---深度学习。而在深度学习的模型中,受宠爱最多的就是被用在大规模图像识别任务中的卷积神经网络(Convolutional Neural Nets,CNN),简称ConvNets。

图4 ConvNet框架(图来源于 Torch的教程 )

深度学习强调的是你使用的模型(例如深度卷积多层神经网络),模型中的参数通过从数据中学习获得。然而,深度学习也带来了一些其他需要考虑的问题。因为你面对的是一个高维的模型(即庞大的网络),所以你需要大量的数据(大数据)和强大的运算能力(图形处理器,GPU)才能优化这个模型。卷积被广泛用于深度学习(尤其是计算机视觉应用中),而且它的架构往往都是非浅层的。

如果你要学习Deep Learning,那就得先复习下一些线性代数的基本知识,当然了,也得有编程基础。我强烈推荐Andrej Karpathy的博文:“ 神经网络的黑客指南 ”。另外,作为学习的开端,可以选择一个不用卷积操作的应用问题,然后自己实现基于CPU的反向传播算法。

对于深度学习,还存在很多没有解决的问题。既没有完整的关于深度学习有效性的理论,也没有任何一本能超越机器学习实战经验的指南或者书。另外,深度学习不是万能的,它有足够的理由能日益流行,但始终无法接管整个世界。不过,只要你不断增加你的机器学习技能,你的饭碗无忧。但也不要对深度框架过于崇拜,不要害怕对这些框架进行裁剪和调整,以得到和你的学习算法能协同工作的软件框架。未来的Linux内核也许会在Caffe(一个非常流行的深度学习框架)上运行,然而,伟大的产品总是需要伟大的愿景、领域的专业知识、市场的开发,和最重要的:人类的创造力。

其他相关术语

1)大数据(Big-data):大数据是个丰富的概念,例如包含大量数据的存储,数据中隐含信息的挖掘等。对企业经营来说,大数据往往可以给出一些决策的建议。对机器学习算法而言,它与大数据的结合在早几年已经出现。研究人员甚至任何一个日常开发人员都可以接触到云计算、GPU、DevOps和PaaS等等这些服务。

2)人工智能(Artificial Intelligence):人工智能应该是一个最老的术语了,同时也是最含糊的。它在过去50年里经历了几度兴衰。当你遇到一个说自己是做人工智能的人,你可以有两种选择:要么摆个嘲笑的表情,要么抽出一张纸,记录下他所说的一切。

延伸阅读:原作者2011的博客:“ 计算机视觉当属人工智能 ”。

结论

关于机器学习的讨论在此停留(不要单纯的认为它是深度学习、机器学习或者模式识别中的一个,这三者只是强调的东西有所不同),然而,研究会继续,探索会继续。我们会继续构建更智能的软件,我们的算法也将继续学习,但我们只会开始探索那些能真正一统江湖的框架。

如果你也对深度学习的实时视觉应用感兴趣,特别是那些适合机器人和家居智能化的应用,欢迎来我们的网站 vision.ai 交流。希望未来,我能说的再多一点……

作者简介:Tomasz Malisiewicz,CMU的博士,MIT的博士后,vision.ai的联合创始人。关注计算机视觉,在这个领域也做了大量的工作。另外,他的博客也富含信息量和价值,感兴趣的可以浏览他个人主页和博客。

原文链接: Deep Learning vs Machine Learning vs Pattern Recognition(译者/邹晓艺,CSDN 博客专家,关注机器学习、计算机视觉、人机交互和人工智能等领域  责编/钱曙光)

转载于:https://www.cnblogs.com/bnuvincent/p/4853078.html

深度学习 vs 机器学习 vs 模式识别相关推荐

  1. 整理:深度学习 vs 机器学习 vs 模式识别

    摘要:本文我们来关注下三个非常相关的概念(深度学习.机器学习和模式识别),以及他们与2015年最热门的科技主题(机器人和人工智能)的联系,让你更好的理解计算机视觉,同时直观认识机器学习的缓慢发展过程. ...

  2. 全新深度学习,机器学习,模式识别,软件编程,面经资料汇总

    1.牛客-剑指offer程序练习区 https://www.nowcoder.com/ta/coding-interviews 2.计算机视觉算法岗面经:两万字啊你确定不看看: https://ac. ...

  3. 什么是深度学习,深度学习和机器学习之间,主要有什么区别

    在深度学习中,计算机模型学习直接从图像.文本或声音中执行分类任务.深度学习模式可以达到新的精确度,有时甚至超过人类的表现.大多数深度学习方法使用神经网络的架构,这也是深度学习模型通常被称为深度神经网络 ...

  4. 统计学、深度学习、机器学习、数据挖掘

    统计学.深度学习.机器学习.数据挖掘 1. 2. 3.数据挖掘: (1)数据挖掘是在大型数据库中,自动地发现有用信息的过程.用来探查大型数据库,发现先前未知的有用模式,预测未来观测接结果. (2)它是 ...

  5. 神经网络与深度学习(一)——机器学习基础

    神经网络与深度学习 (一)--机器学习基础 1.人工智能基础概念 2. 机器学习 2.1 基本概念 2.2 机器学习的三个基本要素 2.2.1 模型 2.2.2 学习准则 2.2.2.1 损失函数 L ...

  6. 深度学习、机器学习方向计算机毕业设计题目大全(算法应用实践类)

    (吐血整理) 手动整理了1500多个深度学习及机器学习相关算法在实际应用中的项目,完全可以作为本科生当前较新的毕业设计题目选择方向.讲道理有些题目,比如"用户评分的隐式成分信息的研究&quo ...

  7. 计算机毕业设计(深度学习,机器学习)

    手动整理了一些深度学习及机器学习相关算法在实际应用中的项目,完全可以作为本科生当前较新的毕业设计题目选择方向. 大家在选择机器学习.深度学习算法应用的项目作为自己的毕业设计题目时确实可以避免自己编程能 ...

  8. 统计学,数据挖掘,深度学习和机器学习的定义和关系

    定义: 统计学: 统计学是通过搜索.整理.分析.描述数据等手段,以达到推断所测对象的本质,甚至预测对象未来的一门综合性科学. 数据挖掘: 数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程.也 ...

  9. 人工智能、神经网络、深度学习、机器学习傻傻分不清?来看看AI奠基人的解答!...

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 数智物语(公众号ID:decision_engine)出品 策划.编写:卷毛雅各布 数智物语本期推荐书 ...

最新文章

  1. 怎样知道邮箱的端口_网络端口介绍
  2. JAVA之JVM调优-从eclipse开始
  3. 权限设计中的数据灵活存储设计策略参考[以不变应万变]
  4. JS_arguments
  5. C语言电话薄登录系统,求助 哈稀表编电话薄程序(c语言) 算法
  6. Python调用自己写的模块
  7. POJ3068 Shortest pair of paths 【费用流】
  8. 计算机视觉可分计算成像学()五大类,中国大学 MOOC_化工过程与控制仿真实习_期末考试选修课答案...
  9. iphone7home键按压失灵_iPhone home键失灵怎么办 iPad home键失灵解决办法【详解】
  10. Golang 编译成DLL文件
  11. 连点脚本java,按键精灵如何设置自动连续点击 自动连点脚本设置教程
  12. 大数据分析:原著 PK 电影,谁更得观众心?
  13. 王小波:资本主义居然用代码行发工资,真虚伪!
  14. 如何将一个HTML页面嵌套在另一个页面中
  15. cutelyst教程_02 _Cutelyst基础
  16. 【顺丰一面】2020/4/5_顺丰第一次技术面试_20分钟
  17. 看《赘婿》我不仅收获了快乐,还收获了独特的目标管理方法(OKRs-E)
  18. mac系统如何进入系统偏好设置_技巧:5 种迅速定位 Mac「系统偏好设置」选项的方法...
  19. 康熙王朝---转自别人的旁白分析
  20. Linux 修改远程默认端口 22

热门文章

  1. c语言long int表示范围_C语言编程第9讲——这些C语言整数类型的知识点你掌握了吗...
  2. linux sh 改 cmd
  3. 外网远程桌面连接设置
  4. 一起读Bert文本分类代码 (pytorch篇 五)
  5. logging.basicConfig函数
  6. Lidar激光雷达市场
  7. 第三个Python程序:Python函数
  8. 员工信息管理系统java6_职工信息管理系统java源代码【可修改】.doc
  9. Android 隐式跳转(Activity的隐式跳转)
  10. android 实现 下拉筛选的效果