1.3 人工智能的技术原理

那么,到底如何实现人工智能呢?人工智能的技术原理到底是怎样的呢?受限于计算机理论和计算机软件条件的限制,人工智能在不同的阶段采用了不同的技术途径。

第一代人工智能基于规则,机器根据配置和规则来完成任务。

第二代人工智能基于传统机器学习,根据有限的数据,学习模型、完成任务。

第三代人工智能基于深度学习,根据大量的数据,自行完成算法的迭代和学习,从而完成任务。

相较于第一代和第二代人工智能,基于深度学习的第三代人工智能所能完成的任务更多,效果更好。本节主要介绍以机器学习为导向的第二代人工智能和以深度学习为导向的第三代人工智能的技术原理。

1.3.1 机器学习和深度学习

机器学习的灵感来源于人类的学习方法。那么,人类是怎么学习的呢?人类是通过认识事物以及事物之间的关系来学习的。在此基础上,人类还会进行相应的行为模仿,并且能够基于对事物的认识进行推理。学习是一个贯穿人的一生的动态过程。简单来说,人类学习的过程就是认识事物的概念和了解事物(概念)之间关系的过程。

人脑具有很多高级的功能,比如接收信息、存储信息、交换信息,以及根据过去的经验学习事物的规则,从而使我们能够理解语言、进行抽象推理,以及对视觉模式进行分类。人脑的这些高级功能,使得我们能够快速、准确地从经验(感性知识)和数据(抽象知识)中学习复杂的知识结构。即使是只有8个月大的婴儿,也能发现口语中的规律,从而确定单词之间的界限。

那么,怎么才能让机器开始学习呢?(这里的机器指的是数字计算机,数字计算机只能处理数字信号。)要让计算机进行学习,首先要把真实世界里的“事物”变成数字,其次要把“事物之间的关系”变成运算逻辑,机器学习就是让计算机处理和学习数字之间的逻辑关系。

关于机器学习,周志华老师在他的著作《机器学习》中是这么描述的:

机器学习是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改善(计算机)系统自身的性能。

在计算机系统中,“经验”通常以“数据”形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型”的算法,即“学习算法”。

所以,对于一个实际问题,我们可以将利用人工智能解决这个问题的方法分为如下5个步骤。

第一步:提出问题。

第二步:准备数据。

第三步:训练(学习)模型。

第四步:测试模型。

第五步:应用模型。

本书就是按照这样的逻辑来安排内容的。在后续章节中,大家将陆续学习如何准备数据,以及如何利用不同的人工智能算法来训练并测试模型。进一步地,大家还将学习如何利用一个已经训练好的人工智能应用来帮助我们实现一些功能。

机器学习有很多种分类方式。根据所使用数据形式的不同,我们可以定义不同的训练任务。机器学习从任务类型上可以粗略地分为以下两类:监督学习(Supervised Learning)和无监督学习(Unsupervised Learning)。监督学习的训练数据有明确的预期结果,而无监督学习的训练数据没有明确的预期结果。

机器学习按照学习方法可以分为传统机器学习和深度学习。深度学习主要模拟人脑的工作原理,通过一些被称为“神经网络”的结构来实现,这些神经网络可以有很多层,因此得名“深度学习”。神经网络的每一层由数以千计的“神经元”组成,它们可以自动学习数据的表示。随着层数的增加,神经网络可以识别越来越复杂的模式。需要注意的是,深度学习是机器学习的一个重要分支。机器学习和深度学习并不是并列关系,而是包含关系。

1.3.2 机器学习三要素

数据、算法和模型是机器学习的三要素。数据 + 算法 = 模型。

在特征的选取上,传统机器学习是全人工的,而深度学习是半人工的。传统机器学习对训练数据量的需求比较小,而深度学习对训练数据量的需求非常大。对于计算能力,传统机器学习的需求较小,而深度学习的需求非常大。在所训练出来的模型的自适应性上,传统机器学习比深度学习稍弱,但前者训练出来的模型具有较强的可解释性。

传统机器学习首先需要根据问题的性质和数据的条件,选择合适的模型类型和模型函数。常用的机器学习模型有线性回归、逻辑回归、朴素贝叶斯分类、k均值聚类、支持向量机、隐马尔可夫模型、谱聚类等。

深度学习则主要由神经网络构成。神经网络也称为连接模型,是一种模拟人脑行为特征、进行分布式并行信息处理的数学模型,由神经元和连接构成。

神经网络是一种多层网络,这种网络依靠系统的复杂性,通过调整内部大量节点之间相互连接的关系,实现网络处理效果的最优化。在后续章节中,我们将详细介绍如何使用神经网络搭建深度学习算法,并训练和测试相关模型。

深度学习的发展经历了从追求深度到追求神经元的复杂性,并不断寻求不同类型的深度神经网络的过程,其间出现了卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)、长短期记忆(Long Short-Term Memory,LSTM)模型等。近些年,也有Attention、Transformer等更高效的类神经网络的深度学习机制出现。可以说,对于不同的应用,我们可以构造多种多样的深度学习模型来完成任务。