第1章
深度学习简介
1.1
什么是深度学习
1.1.1
机器学习简介
毫无疑问,人类是地球上最具智慧的生物。一个重要体现是,人类可以做很多其他动物或者机器不能做的精细动作或者事情,如阅读、开车。人工智能的一个目的是让机器可以实现人类的某些能力,从而提高机器的工作效率,扩大机器的应用范围。我们如何让机器具有人类的某些智慧或者能力呢?一个自然的方法是,我们手把手教机器如何做。如图1-1所示,首先制定一套完成某项任务的规则(或称为算法),然后通过编程实现算法,最后输入指定值,通过算法得到输出值,依据输出值做出相应的决策。假设我们想让机器判断图片中的图形是一个矩形还是圆形,可以事先“告诉”(通过编程实现“告诉”的过程)机器判断矩形和圆形的标准或者规则。例如,我们已知由4条首尾相连的边组成且4条边的夹角均为90°的图形是矩形。在图形只包括矩形和圆形的情况下,判断矩形和圆形的规则如算法1.1所示。
图1-1 算法方式实现人工智能
算法1.1 在图形只包括矩形和圆形的情况下,制定判断矩形和圆形的规则
如果图形由4条首尾相连的边组成且4条边的夹角均为90°, 图形是矩形否则, 图形是圆形
另一个方法是,给机器提供很多矩形和圆形,让机器从中学习矩形和圆形的特征,进而做出判断。我们首先测量并记录这些图形的一些属性(属性也称为特征),如边的数量、夹角度数等,得到数据(该数据称为训练数据),如表1-1所示。
表1-1 判断矩形和圆形的训练数据
图形编号
特征
标签
边的数量夹角度数
0490°矩形
100°圆形
我们将该训练数据提供给一个机器学习算法,然后该算法通过学习得出一个关于图形特征和形状的模型。当碰到一个新的图形时,测量其特征,然后将特征代入训练好的模型,模型将会自动判断新的图形是矩形还是圆形。对于一般情况,机器学习方法实现人工智能的流程分为3个步骤(见图1-2)。
图1-2 机器学习方法实现人工智能的流程
(1)收集和预处理数据。
(2)根据数据特点,选择适合的机器学习算法,使用数据训练模型。
(3)给定输入值,使用训练好的模型得到输出值(通常为一个预测或者判断),做出相应的决策或者行动。
总体来说,第一种方法比较直接,对一些相对简单的情况,它可以取得很好的效果,而且编程实现较快。然而,第一种方法在实际应用中有两点不足。首先,这种方法难推广。例如,如果进一步希望算法可以判断4种图形,如圆形、椭圆形、矩形和正方形,那么我们需要从头开始设计算法,重新编程。其次,对于较难的问题,我们有时会很难设计有效的算法。例如,判断图1-3的矩形框中是否为眼睛。可以试着想想,如何采用算法教一个小宝宝判断图1-3的矩形框中是眼睛。
图1-3 数字图像处理领域常用的标准图片
第二种方法基于机器学习算法,它可以有效克服第一种方法的缺点。首先,机器学习方法更易于推广。例如,如果已经建立了一个判断矩形和圆形的算法,现在,我们希望可以拓展模型的功能,判断图形是否是圆形、椭圆形、矩形和正方形,那么我们只需要收集这些图形的图片,测量其特征,得到训练数据,然后训练机器学习模型。在这个过程中,训练模型的方法是类似的,整个过程只在收集数据的步骤中增加了工作量,其他步骤中没有增加工作量。机器学习方法可以处理更加复杂的问题。例如,对于判断图1-3的矩形框中是否为眼睛的问题,我们只需要收集图片不同部位的特征,选择合适的机器学习算法,然后训练模型。这个过程与我们教小宝宝的过程类似,我们会指着图片的不同部位,告诉小宝宝哪个部位是眼睛,哪个部位不是眼睛;小宝宝通过学习不同的人脸、不同的部位,慢慢地便可以学会判断哪个脸部器官是眼睛。基于机器学习的诸多优点,现在机器学习是实现人工智能最重要的方法。深度学习是机器学习的一个分支。深度学习是机器学习的一部分,与机器学习的其他分支学科,以及统计学、人工智能等学科都有着紧密的联系。深度学习、机器学习、人工智能、统计学之间的关系如图1-4所示。