第1章绪论
本章是本书的绪论,将用两小节来介绍机器学习(machine learning,ML)及其代表性应用,在*后一节引出本书的主要内容,也是人工智能目前的重要研究方向之一-自动化机器学习(automated machine learning,AutoML)。
1.1机器学习介绍
机器学习是一门专注于两个问题的学科:“如何构建通过经验自动改进计算机的系统?”和“如何运用概率论、统计学、信息论等学科理论来统筹各类学习系统(包括计算机、人类,以及组织)?”。其核心任务是探索如何让计算机系统通过学习数据和模式来获取新的知识或技能,并且不断改善自身的性能。这一学习过程可以通过一个简单的框架来描述:一个计算机系统在经验(E)的指导下搜索大量候选程序,来优化程序在解决某个特定任务(T)下的性能(P)。例如,在学习监测钓鱼电子邮件时,任务T为给定的邮件标记“钓鱼”或“非钓鱼”标签(例如,对于给定输入邮件,输出“钓鱼”或“非钓鱼”标签),而待改进的性能P可以是钓鱼邮件分类器的准确性;经验E可以是历史邮件集,每封邮件都会被标注为“钓鱼”或“非钓鱼”。在这个例子中,一个机器学习方法可以看作在历史邮件集指导下搜索一个钓鱼邮件分类器(也就是一个学习到的程序/模型),以提高在未知邮件中正确标记钓鱼邮件的准确率。机器学习的目标就是考虑学习出什么样的模型及如何学习到*优模型,以使模型能对数据进行准确分析。
在当今数字化时代,机器学习已成为科技领域中的一股强大力量,为人类解决许多复杂问题,其应用涉及医疗、金融、交通、教育等领域。然而,机器学习并非一蹴而就,而是经历了漫长的发展历史,从传统机器学习到深度学习,不断推动着人工智能技术的发展。
传统机器学习,又称作统计机器学习,主要依赖统计学习理论进行数据分析和模式识别。在使用传统机器学习处理问题时,*先需要人工进行特征提取,然后根据提取后的特征进行问题求解,其发展历程可以追溯到20世纪30年代的线性判别分析(linear discriminant analysis,LDA)[1],它是一种通过对数据进行线性变换实现分类的方法。随后,贝叶斯分类器(Bayesian classifier)于1950年被提出,它利用贝叶斯定理进行分类推断。此后,层次聚类(hierarchical clustering)、k近邻(k-nearest neighbor,KNN)等方法相继涌现。1995年,支持向量机(support vector machine,SVM)的提出引领了机器学习的新潮流,其在处理线性和非线性分类问题上表现出色。2001年,随机森林(random forest)的出现进一步丰富了机器学习算法的类型,它是一种集成学习方法,通过组合多个决策树来提高分类性能。
深度学习是机器学习领域的一个分支,其核心思想是构建深层模型,通过训练大量数据来学习数据的特征表示。目前,深度神经网络是实现深度学习技术的主要模型,尽管深度学习这一概念在20世纪80年代就已经被提出,但直到21世纪初才真正迎来爆发式的发展。反向传播(back propagation)算法[5]为多层神经网络的训练提供了有效的方法。1989年,LeNet模型的出现开启了卷积神经网络(convolutional neural network,CNN)[6]在图像识别领域应用的先河。1997年,长短期记忆(longshort-term memory,LSTM)网络[7]的引入解决了传统循环神经网络中的梯度消失和梯度爆炸等问题。2006年,深度信念网络(deep belief network,DBN)[8]的提出进一步推动了深度学习的发展。2012年,AlexNet[9]在ImageNet图像识别竞赛中取得了巨大成功,证明了深度学习在大规模数据集上的有效性。随后,GoogLeNet[10]、生成对抗网络(generative adversarial network,GAN)[11]等模型相继问世,为图像生成和处理等领域带来了新的突破。2015年,ResNet模型通过引入残差连接解决了深度神经网络训练中的梯度消失问题,进一步加深了人们对深度学习的理解。2017年,Transformer模型[12]在自然语言处理领域取得了巨大成功,其自注意力机制被广泛应用于文本生成和机器翻译等任务。2020年,视觉Transformer(vision transformer,ViT)[13]的出现将Transformer模型成功应用于图像分类任务,而在2022年年底,ChatGPT模型的问世标志着语言模型在自然语言处理领域的一次巨大飞跃。
无论是传统机器学习还是深度学习,这些机器学习方法都具有三个核心要素:模型(model)、策略(strategy)和算法(algorithm)[14]。
(1)模型。机器学习*要考虑的是确定适合解决特定任务的模型。模型用于对具体的输入X进行相应的输出预测F,其通常可以用函数F=f(X)来表示。模型属于由输入空间到输出空间的映射的集合,这个集合通常叫作假设空间(hypothesis space)。假设空间包含了所有可能的函数,其界定机器学习范围,并且通常是一个具有无穷多个模型的集合。
(2)策略。基于模型的假设空间,机器学习需要考虑按照什么准则来学习或训练出*优模型。这通常需要一个度量函数来计算模型的预测值f(X)与真实值F之间的差距。在机器学习中,常用度量函数包括损失函数(loss function)、风险函数(risk function)、代价函数(cost function)、目标函数(object function)。
损失函数用于计算f(X)与F之间的非负实值差距。损失函数的期望,也称为期望损失(expected loss),构成了风险函数。根据大数定理,当数据样本容量趋于无穷时,模型在数据集(训练集)上的平均损失[也叫作经验风险(empirical risk)]趋近于期望损失。度量经验损失的函数称为代价函数。为了防止模型过拟合(overfitting),在机器学习中经常采用结构风险*小化(structural risk minimization,SRM)或正则化(regularization)的方法。风险函数是一个用于度量模型复杂度的函数,定义在假设空间上,通常与模型的复杂性正相关。模型越复杂,其结构风险越大,这意味着模型越容易过拟合。相反,结构风险较小的模型往往在训练和预测数据上表现更好。综合考虑代价函数和结构风险的函数被称为目标函数。*小化目标函数可以被视为一个优化问题,其求解过程涉及选择*优模型的过程。
(3)算法。在机器学习中,由于目标函数的复杂性,传统求解连续函数*小值的解决方法大多不可使用。这时需要提出一些算法来进行*小化目标函数的求解(也就是求解*优模型)。在机器学习中常用算法有*小二乘法、梯度下降法。*小二乘法主要用于线性模型,而梯度下降法则适用于具有可微性的更广泛模型。
不同机器学习方法之间的区别主要在于模型、策略、算法的不同。构建一种机器学习方法就是确定这三个要素。对于模型而言,若确定了错误的假设空间,那么无论如何都难以描述出数据集的正确分布特性。对于策略而言,如果确定了错误的目标函数,那么会导致选择错误的模型,进而会影响实际预测效果。对于算法而言,不同的算法会导致学习效率和效果的显著差异。
需要说明的是,机器学习是一个相当庞大的学科领域,本节仅从机器学习定义和机器学习三要素入手进行介绍,还有很多重要技术和概念没有谈及。读者可以从后续章节了解更多关于机器学习的介绍。
1.2代表性机器学习应用
机器学习技术经过几十年的沉淀与发展,在当今数字化时代扮演着至关重要的角色。特别是在计算机视觉(computer vision,CV)、自然语言处理(natural language processing,NLP)和语音识别(voice recognition)等领域,机器学习技术的广泛应用正不断推动科技的进步与创新。本节将重点介绍这三大代表性应用。
1.2.1计算机视觉
计算机视觉(CV)是一种让计算机能够“看懂”图像和视频的技术,它模仿人类视觉系统的工作方式,通过对图像和视频进行处理和分析来理解其内容。这种技术的核心在于从图像或视频中提取有用的信息,然后利用这些信息做出相应的决策或行动。随着深度学习技术的不断发展,计算机在多个视觉任务上的表现已经超过人类,例如:图像识别、物体检测、图像分割和视频理解。接下来,将简要介绍这些视觉任务。
图像识别(imagerecognition)是指通过计算机对图像进行处理、分析和理解,从而识别出图像中的物体、场景或特征。这一技术依赖于复杂的算法和模型,通过对图像中的颜色、形状、纹理等视觉元素的提取和解析,实现对图像内容的准确识别。图像识别在实际应用中极为广泛。以手写数字识别为例,当人们将一张手写数字的图片输入计算机,通过深度学习模型的处理,计算机能够分析图片中的笔迹特征,从而判断出这张图片上书写的是0到9中的哪一个数字。图像识别是CV领域中*基础、*重要的研究方向之一,也是许多高级CV和人工智能任务的基础。对于初学者来说,图像识别是一个很好的入门学习领域,可以帮助他们了解CV的基本概念和技术原理,为深入学习和研究提供基础。
物体检测(object detection)的核心目标是从复杂的图像或视频中精准地识别和定位出各种不同类型的物体。这一过程不仅要求系统能够准确识别图像中出现的物体类别,还要求系统精确确定每个物体在图像中的具体位置。为了实现这一目标,物体检测算法通常会利用深度学习模型对图像进行深度分析,通过提取图像中的特征信息来识别物体,并借助矩形边界框等方式来直观地标示出每个物体的位置。在物体检测任务中,算法需要处理的问题比单纯的图像识别更为复杂。它不仅要对图像中的物体进行分类,还要对每个物体的位置进行精确标注。这就要求算法具备强大的特征提取能力和空间定位能力。随着深度学习技术的不断发展,物体检测模型已经能够在实际应用场景中得到应用,例如:自动驾驶汽车中的行人检测、智能安防系统中的异常物体识别、医学影像分析中的病灶定位等场景。
图像分割(image segmentation)旨在将数字图像细分为多个具有特定语义含义或特征的*立区域或像素组合。这一过程的目标在于有效分离图像中的不同物体或区域,使每个分割出的区域都能反映出某种特定的信息或属性。通过图像分割,计算机能够更深入地理解图像内容,为后续的高级视觉任务提供有力的支持。图像分割任务研究方向可以划分为三类:语义分割、实例分割和边界分割。每种分割方式都有其*特的应用场景和技术要求。语义分割是一种对图像中每个像素进行分类的技术,其目标是将图像中的每个像素归属到预定义的类别中。通过语义分割,可以将图像中的不同物体或区域以不同的颜色进行标记,从而清晰地展示出图像中的各个组成部分。实例分割则是一种更为精细的分割方式,它不仅要求对不同物体进行像素级别的分类,还要求将属于同一物体的像素划分为同一个实例。边界分割则主要关注图像中物体的边缘信息。通过边界分割,可以将图像中物体的边界进行精确提取,通常输出的是物体的边缘像素。
视频理解(video understanding)是指对视频内容进行深入分析和理解,从而实现对视频中对象、行为、场景等信息的自动识别和解析的一系列任务。它不仅涉及对视频内容的提取和解析,还包括对视频中蕴含的各种信息的自动识别和解析。这一任务涵盖了多个细分子任务,如视频分类、对象检测与跟踪、动作识别及视频描述生成等。视频分类是视频理解的基础任务之一,它要求模型能够识别并归类视频的主题或内容。对象检测与跟踪则关注在视频流中准确找到并追踪特定的物体或人物。动作识别则更为复杂,需要系统能够理解和识别视频中的动态行为或事件。视频描述
展开