深度学习 vs 机器学习 vs 模式识别

简介: 本文我们来关注下三个非常相关的概念(深度学习、机器学习和模式识别),以及他们与2015年最热门的科技主题(机器人和人工智能)的联系。 图1 人工智能并非将人放入一台计算机中(图片来源于 WorkFusion 的博客) 环绕四周,你会发现不缺乏一些初创的高科技公司招聘机器学习专家的岗位。

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

5510f4de93adf

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

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

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

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

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

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

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

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

5510f556a4ef4

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

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

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

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

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

5510f5a57e7ea_middle

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

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

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

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

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

5510f5cdaa82f_middle

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

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

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

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

其他相关术语

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

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

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
机器学习/深度学习 人工智能 安全
探索AI的未来:从机器学习到深度学习
【10月更文挑战第28天】本文将带你走进AI的世界,从机器学习的基本概念到深度学习的复杂应用,我们将一起探索AI的未来。你将了解到AI如何改变我们的生活,以及它在未来可能带来的影响。无论你是AI专家还是初学者,这篇文章都将为你提供新的视角和思考。让我们一起探索AI的奥秘,看看它将如何塑造我们的未来。
462 3
|
10月前
|
机器学习/深度学习 人工智能 供应链
从概念到商业价值:AI、机器学习与深度学习全景指南
在这个科技飞速发展的时代🚀,人工智能正以惊人的速度渗透到我们的生活和工作中👀。但面对铺天盖地的AI术语和概念,很多人感到困惑不已😣。"AI"、"机器学习"、"深度学习"和"神经网络"到底有什么区别?它们如何相互关联?如何利用这些技术提升工作效率和创造价值?
525 0
|
机器学习/深度学习 人工智能 算法
探索机器学习:从线性回归到深度学习
本文将带领读者从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过代码示例,展示如何实现这些算法,并解释其背后的数学原理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和知识。让我们一起踏上这段激动人心的旅程吧!
254 3
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
656 3
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
616 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
机器学习/深度学习 人工智能 算法
机器学习与深度学习:差异解析
机器学习与深度学习作为两大核心技术,各自拥有独特的魅力和应用价值。尽管它们紧密相连,但两者之间存在着显著的区别。本文将从定义、技术、数据需求、应用领域、模型复杂度以及计算资源等多个维度,对机器学习与深度学习进行深入对比,帮助您更好地理解它们之间的差异。
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的深度学习模型:原理与应用
探索机器学习中的深度学习模型:原理与应用
388 0
|
5月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1457 6