在本文中,我们将关注接下来三个非常相关的概念(深度学习、机器学习和模式识别)以及它们与2015年最热门的科技话题(机器人和人工智能)的联系
在本文中,我们将关注接下来三个非常相关的概念(深度学习、机器学习和模式识别)以及它们与2015年最热门的科技话题(机器人和人工智能)的联系。
图1人工智能没有把人放进电脑里(图片来自WorkFusion的博客)。
在周围,你会发现一些初创的高科技公司并不缺少机器学习专家的职位。其中只有一小部分需要深度学习专家。我敢打赌,大多数创业公司都能从最基本的数据分析中受益。那么如何才能找到未来的数据科学家呢?你需要学习他们的思维方式。
与“学”高度相关的三个流行词
模式识别、机器学习和深度学习代表了三种不同的思想流派。模式识别是最古老的(作为一个术语,可以说是非常过时了)。机器学习是最基础的(创业公司和研究实验室的热门领域之一)。深度学习是一个非常新的、很有影响力的前沿领域,我们甚至没有想过后深度学习时代。我们可以看看下图的谷歌趋势图。你可以看到:
1)机器学习继续像真正的冠军一样昂着头;2)模式识别最初主要作为机器学习的代名词;3)模式识别正在慢慢衰落和消亡;4)深度学习是一个全新的快速崛起的领域。
2004年至今三个概念的谷歌搜索索引(图来自谷歌趋势)
1.模式识别:智能程序的诞生
模式识别是20世纪七八十年代非常流行的一个术语。它强调如何让计算机程序做一些看起来“聪明”的事情,比如识别数字“3”。在融合了大量的智慧和直觉之后,人们确实建立了这样一个程序。比如区分“3”和“b”或者“3”和“8”。早在以前,人们不会在意你是怎么实现的,只要机器不是被人藏在箱子里伪装的(图2)。但是,如果你的算法对图像应用了一些先进的技术,如滤波器、边缘检测和形态学处理,模式识别界肯定会对它感兴趣。光学字符识别就是从这个社区诞生的。因此,在20世纪70年代、80年代和90年代初,将模式识别称为“智能”信号处理是恰当的。决策树、启发式、二次判别分析都是在这个时代诞生的。而且在这个时代,模式识别也成为了计算机科学领域的小伙伴,而不是电子工程。这个时代诞生的模式识别领域最著名的书籍之一就是杜达哈特写的《模式分类》。对于基础研究人员来说还是很好的入门教材。不过也不用太在意里面的一些文字,因为这本书有一定的年代了,文字会有点过时。
图2字符“3”的图像被分成16个子块。
自定义规则、自定义决策和自定义“智能”程序在这项任务中风靡一时(有关更多信息,请参见此OCR页面)。
小测验:计算机视觉领域最著名的会议叫做CVPR,这个PR是模式识别。你能猜出第一次CVPR会议是什么时候召开的吗?
2.机器学习:从样本中学习的智能程序。
20世纪90年代初,人们开始意识到一种更有效的构造模式识别算法的方式,那就是用数据(可以由廉价劳动力收集)代替专家(拥有大量图像知识的人)。所以我们收集大量的人脸和非人脸图像,然后选择一个算法,然后对着咖啡晒太阳,等待计算机完成对这些图像的学习。这就是机器学习的思想。“机器学习”强调的是把一些数据输入到计算机程序(或机器)之后,它必须做一些事情,也就是学习这些数据,而且这个学习的步骤是明确的。相信我,即使计算机需要一天的时间来完成这项研究,也要比邀请你的研究伙伴到你家,手工为这项任务设计一些分类规则要好。
图3典型的机器学习过程(图片来自Natalia Konstantinova博士的博客)。
在21世纪中期,机器学习已经成为计算机科学领域的一个重要研究课题,计算机科学家已经开始将这些思想应用到更广泛的问题中,不再局限于识别字符、猫和狗,或者识别图像中的一个物体。研究人员开始将机器学习应用于机器人(强化学习、操纵、行动规划和抓取)、基因数据分析和金融市场预测。此外,机器学习和图论的结合也产生了一个新的课题——图模型。每个机器人专家都“不情愿地”成为了机器学习的专家,同时,机器学习也迅速成为了人们渴望的必备技能之一。然而,“机器学习”的概念对底层算法只字未提。我们看到,凸优化、核方法、支持向量机、Boosting算法都有各自辉煌的时期。再加上人工设计的一些特点,在机器学习领域,我们有很多方法,也有很多不同的流派。但是对于一个新人来说,功能和算法的选择还是很茫然,没有明确的指导原则。但是,幸运的是,这一切即将改变.
延伸阅读:要了解更多关于计算机视觉的特性,请阅读原作者之前的博文:《从特性描述符到深度学习:计算机视觉20年》。
3.深度学习:一统江湖的框架
快进到今天,我们看到一个令人瞩目的技术——深度学习。在深度学习的模型中,最受欢迎的是卷积神经网络(CNN),用于大规模图像识别任务。
图4 ConvNet框架(该图来自Torch的教程)
深度学习强调的是你使用的模型(比如深度卷积多层神经网络),模型中的参数是从数据中学习得到的。然而,深度学习也带来了一些其他需要考虑的问题。因为你面对的是一个高维的模型(也就是一个庞大的网络),你需要大量的数据(大数据)和强大的计算能力(图形处理器,GPU)来优化这个模型。卷积广泛应用于深度学习(尤其是计算机视觉应用),其架构往往是非浅的。
想要学习深度学习,首先要复习一些线性代数的基础知识,当然也要有编程基础。强烈推荐Andrej Karpathy的博文:《一个黑客的神经网络指南》。另外,作为学习的开始,可以选择一个没有卷积运算的应用问题,然后实现基于CPU的反向传播算法。
对于深度学习来说,还有很多问题没有解决。既没有关于深度学习有效性的完整理论,也没有任何指南或书籍可以超越机器学习的实际经验。另外,深度学习也不是万能的。它有足够的理由变得越来越受欢迎,但它永远无法接管整个世界。然而,只要你不断提高你的机器学习技能,你的工作就会有保障。但是不要过于崇拜深层框架,也不要害怕对这些框架进行切割和调整,得到一个可以和你的学习算法一起工作的软件框架。未来的Linux内核可能运行在Caffe(一个非常流行的深度学习框架)上。然而,伟大的产品总是需要伟大的愿景、领域专业知识、市场开发,最重要的是,人类的创造力。
其他相关术语
1)大数据(Big-data):大数据是一个丰富的概念,比如大量数据的存储和数据中隐藏信息的挖掘。对于企业运营来说,大数据往往能给决策一些建议。对于机器学习算法来说,其与大数据的结合早在早年就已经出现。研究人员甚至任何日常开发者都可以接触到云计算、GPU、DevOps、PaaS等服务。
2)人工智能:人工智能应该是最古老的名词,也是最模糊的。在过去的50年里,它经历了几次大起大落。当你遇到一个说自己在做人工智能的人,你可以有两种选择:要么摆出一副嘲讽的表情,要么拿出一张纸,把他说的话都记录下来。
延伸阅读:原作者2011年的博客:《计算机视觉就是人工智能》。
结论
关于机器学习的讨论就停留在这里(不要简单的认为是深度学习、机器学习或者模式识别中的一种,只是强调的东西不同)。但是,研究还会继续,探索还会继续。我们会继续打造更智能的软件,我们的算法也会继续学习,但我们只会开始探索那些真正能一统江湖的框架。
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们