1.2 机器学习和深度学习

机器学习和深度学习都是人工智能领域中的重要概念,本节将详细讲解这两个概念的知识和区别。

1.2.1 机器学习

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。

机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或分类。更具体地说,机器学习可以看作寻找一个函数,输入是样本数据,输出是期望的结果,只是该函数过于复杂,不太方便形式化表达。需要注意的是,机器学习的目标是使学到的函数很好地适用于“新样本”,而不仅是在训练样本上表现很好。学到的函数适用于新样本的能力称为泛化(Generalization)能力。

机器学习有一个显著的特点,也是机器学习最基本的做法,就是使用一个算法从大量的数据中解析并得到有用的信息,并从中学习,然后对之后真实世界中会发生的事情进行预测或做出判断。机器学习需要海量的数据来进行训练,并从这些数据中得到要用的信息,然后反馈到真实世界的用户中。

可以用一个简单的例子来说明机器学习,假设在淘宝或京东购物时,淘宝或京东会向用户推送商品信息,这些推荐的商品往往是用户很感兴趣的东西,该过程是通过机器学习完成的。其实这些推送商品是淘宝或京东根据用户以前的购物订单和经常浏览的商品记录而得出的结论,淘宝或京东可以从中得出商城中的哪些商品是用户感兴趣并且会大概率购买的,从而将这些商品定向推送给用户。

1.2.2 深度学习

前面介绍的机器学习是一种实现人工智能的方法,深度学习则是一种实现机器学习的技术。深度学习本来并不是一种独立的学习方法,其本身也会用到有监督和无监督学习方法来训练深度神经网络。但由于近几年该领域发展迅猛,一些特有的学习手段相继被提出(如残差网络),因此越来越多的人将其单独看作一种学习的方法。

假设需要识别某个照片是狗还是猫,如果是传统机器学习的方法,会首先定义一些特征,如有没有胡须,耳朵、鼻子、嘴巴的模样等。总之,首先要确定相应的“面部特征”作为机器学习的特征,以此对对象进行分类识别。而深度学习的方法则更进一步,其自动找出该分类问题所需要的重要特征;而传统机器学习则需要人工给出特征。那么,深度学习是如何做到这一点的呢?继续以猫狗识别为例进行说明,步骤如下:

(1)确定哪些边和角与识别出猫狗关系最大。

(2)根据步骤(1)找出的很多小元素(边、角等)构建层级网络,找出它们之间的各种组合。

(3)在构建层级网络之后,就可以确定哪些组合可以识别出猫和狗。

注意:其实深度学习并不是一个独立的算法,在训练神经网络时也通常会用到监督学习和无监督学习。但是,由于一些独特的学习方法被提出,作者认为将其看作单独的一种学习算法应该问题也不大。深度学习可以大致理解成包含多个隐藏层的神经网络结构,深度学习的“深”指的就是隐藏层的深度。

1.2.3 机器学习和深度学习的区别

机器学习和深度学习相互关联,但两者之间也存在一些区别,具体如下。

1. 应用范畴方面的区别

(1)机器学习是一个更广泛的概念,涵盖了多种算法和技术,用于让计算机系统通过数据和经验改善性能。机器学习不仅包括传统的统计方法,还包括基于模型的方法、基于实例的方法等。

(2)深度学习是机器学习的一个特定分支,其基于多层次的神经网络结构,通过学习多层次的抽象表示来提取数据的复杂特征。深度学习关注于利用神经网络进行数据表示学习和模式识别。

2. 网络结构方面的区别

(1)机器学习方法包括各种算法,如决策树、支持向量机、线性回归等,它们可以应用于各种任务,不一定需要多层神经网络结构。

(2)深度学习方法主要是基于多层神经网络的结构,涉及多个层次的抽象表示。深度学习的关键是使用多层次的非线性变换来捕捉数据的复杂特征。

3. 特征学习方面的区别

(1)传统机器学习方法通常需要手工设计和选择特征,然后使用这些特征来进行训练和预测。

(2)深度学习的一个重要优势是其可以自动学习数据的特征表示,减少了对特征工程的依赖,从而能够处理更复杂的数据和任务。

4. 适用场景方面的区别

(1)机器学习广泛应用于各个领域,包括图像处理、自然语言处理、推荐系统等,使用不同的算法来解决不同的问题。

(2)深度学习主要在大规模数据和高度复杂的问题上表现出色,特别适用于图像识别、语音识别、自然语言处理等领域。

5. 计算资源需求方面的区别

(1)传统机器学习方法通常能够在较小的数据集上进行训练和预测,计算资源需求相对较低。

(2)深度学习方法通常需要大量的数据和更多的计算资源,如训练一个大型深度神经网络可能需要使用多个GPU(Graphics Processing Unit,图形处理器)。

6. 解决问题方面的区别

(1)在解决问题时,传统机器学习算法通常先把问题分成几块,一个个地解决好之后,再重新组合起来。假设有如下任务:识别出在某图片中有哪些物体,并找出它们的位置。传统机器学习的做法是把问题分为两步:发现物体和识别物体。即先使用物体边缘检测算法来识别图像中被检测物体的可能位置,再将这些区域用矩形框标记出来。

(2)深度学习则是一次性的、端到端地解决问题。仍以上述任务为例,深度学习会直接在图片中把对应的物体识别出来,同时标明对应物体的名字,这样就可以做到实时的物体识别。例如, YOLO Net可以在视频中实时识别物体。

总之,机器学习是一个更广泛的概念,包括多种算法和技术;而深度学习是机器学习的一个分支,侧重于基于多层神经网络的数据表示学习。深度学习在处理复杂数据和任务时表现出色,但也需要更多的计算资源和数据来训练和部署。

注意:人工智能、机器学习、深度学习三者的关系为,机器学习是实现人工智能的方法;深度学习是机器学习算法中的一种算法,一种实现机器学习的技术和学习方法。