首页 理论教育 Python与AI编程(下):计算机核心实现方式及信息处理

Python与AI编程(下):计算机核心实现方式及信息处理

时间:2023-11-08 理论教育 版权反馈
【摘要】:目前人工智能的实现主要以计算机为核心,通过构建算法模型、编制程序来模拟人类对外部信息的处理。计算机AI系统的基本组成计算机是目前最不知疲倦、具有计算能力的载体。在计算机实现AI的过程中,信息的表达和处理是其中的重要环节。下面将以编程语言Python为例,展示信息的数字化表征以及后续的处理方式。

Python与AI编程(下):计算机核心实现方式及信息处理

目前人工智能的实现主要以计算机为核心,通过构建算法模型、编制程序来模拟人类对外部信息的处理。

计算机AI系统的基本组成

计算机是目前最不知疲倦、具有计算能力的载体。计算机中有CPU(中央处理器),可以处理各种复杂的运算,CPU类似于生物的大脑(智能的产生处);计算机中有各种存储单元,这相当于人类的记忆;计算机中还有感应和接收外界信号的外部设备——传感器,如听觉传感器(麦克风接收声音)、视觉传感器(摄像头采集图像)、味觉传感器(电子舌)、嗅觉传感器(电子鼻)、触觉传感器(电子皮肤)以及其他传感器(温度传感器、湿度传感器等)。

AI系统一般包括模型、软件、硬件、编程语言,通过它们来实现各种智能任务,如图像识别、语音识别、自然语言理解等,如下图所示。

在计算机实现AI的过程中,信息的表达和处理是其中的重要环节。真实世界通过数字化的表征进入计算机,经过计算机程序所实现的模型进行处理后,向真实世界反馈结果,实现智能任务。下面将以编程语言Python为例,展示信息的数字化表征以及后续的处理方式。

计算机AI系统组成示例

数字化表征与维度

1.数字化表征

当我们将客观世界映射到计算机中时,需要对客观世界的人和物进行描述,通常会抽取事物(人、物品等)的多个特征、指标来进行刻画,示例如下。

● 天气:温度、湿度、风力等。

● 学生信息:性别、年龄、班级等。

● 健康情况:身高、体重、血压血糖等。

● 果蔬营养成分:微量元素、碳水化合物蛋白质等。

● 显示器:大小、分辨率等。

同样,在计算机的虚拟世界中,如电子游戏所建立的玩家、装备、场景也都是用各种特征来进行描述的。例如:

甚至人类也试图将我们的整个世界进行数字化,构建数字孪生世界:

图片来源:http://www.prcfe.com/finance/2019/0322/343514.html

2.数据的维度与存储维度

在数字世界中,每一个实体对象(人、物、场景等)都用多个属性来描述,在计算机世界中都作为数据进行存储,数据的维度与其属性特征对应。例如,表征“实体”采用的属性个数决定了数据的维度,以“天气”实体为例,如表6-1所示。

表6-1 “天气”数据的维度

不管是一维数据还是高维数据,都需要在计算机中进行存储,存储的形式和数据的维度有关,但并非一一对应,一维数据可以存储为高维的形式,而高维数据也可以存储为一维的形式。数据的存储形式就是计算机中数据的组织形式,采用合适的组织形式有助于表征原有数据之间的内在联系,不同的编程语言采用不同的数据类型来存储数据,并基于此进行后续的信息处理。下面以“天气”对象为例简要说明数据的存储维度。

如果仅用温度表示“天气”情况,则数据的维度为一维,但数据的组织形式可以有多种,例如,需要存储近十年的温度数据(取每天的平均气温),不同的存储维度如下。

● 一维存储(将所有数据排成一行,即顺序存储):

● 二维存储(将每年的数据排成一行,即按年顺序存储):

● 三维存储(将每月的数据排成一行,每年的数据按月存储为二维数据,存储多年的数据即三维存储):

因此,即使数据的维度是一维,在存储中也可以存成多维的形式。同样,高维数据也可以存储为低维形式,例如一个黑白图像,本身是一个矩阵(可理解为二维表格),自然的存储方式是按照二维进行存储,也可以依照一维存储方式把所有的数字排成一行进行存储。

例如,在著名的手写体数字识别数据集mnist中,每张图片都有28×28=784像素,每个像素都是从0(黑)到255(白)的亮度值,如下图所示。

将这个数组展开成一个向量(例如按行展开,排成一行),长度是28×28=784。展平图片的数字数组会丢失图片的二维结构信息,从AI识别的角度看不够理想,优秀的计算机视觉方法会挖掘并利用这些结构信息。

在这个例子中,每一个手写体数字都用784个点来表示,数据的维度是784,这是一个高维数据。从存储角度来看,如果存成二维数组形式,则存储结构为二维;若存成一个向量形式,则存储结构为一维。对于计算机程序处理来说,主要关注的是根据存储维度来选择合适的数据类型,从人工智能识别任务的角度来看,更注重数据本身的维度信息和结构信息。在本书后续利用Python进行数据处理时,所涉及的维度主要指存储维度。

手写体数字8的像素信息
图片来源:https://ml4a.github.io/ml4a/cn/neural_networks/(www.xing528.com)

基于Python的数据处理流程

一个完整的数据操作周期不仅包含数据的存储,还有数据的表示和操作。其中,存储是数据在文件、数据库等中的表现形式;表示是数据在程序中的表现形式;操作是数据存储形式和表现形式之间的转换和处理。当需要对数据进行操作时,计算机编程语言需要采用合适的数据类型对数据进行表示,相应的各种操作(运算、函数)都是根据数据类型来进行的,操作之后的结果通常也需要存入某种数据类型变量中,根据需要再进行存储。因此一个数据的操作周期包括存储、表示和操作,如下图所示。

数据的操作周期

具体如下。

(1)读操作

● 与存储数据产生关联:与文件或数据库中存储的数据连接(文件打开、数据库链接)。

● 数据读入和表示:进行读操作,将读入的数据存储到某数据类型的变量中。

(2)数据的操作

采用各种基本运算或者函数、方法对变量进行操作。

(3)操作结果返回

将操作结果存入变量。

(4)数据的写入

● 写入数据:将变量中的数据写入文件。

● 断开与存储数据的连接:文件关闭,数据库链接断开。

针对不同存储维度的数据,Python作为一种编程语言,有相应的数据类型进行表示和操作,具体如下。

● 一维数据:由对等关系的有序或无序数据构成,采用线性方式组织,可以采用基本数据类型列表(List)进行表示。

● 二维数据:由多个一维数据构成,是一维数据的组合形式,可以采用嵌套的列表进行表示。

● 多维数据:由一维或二维数据在新维度上扩展形成,可以用多维列表来表示。

● 高维数据:仅利用最基本的二元关系展示数据间的复杂结构,例如json、yaml格式的数据。

在进行数据分析时,为提高数据处理的速度,推荐使用Python的扩展数据分析模块Numpy和Pandas。其中,最常用的是Numpy模块中的多维数组nDarray以及Pandas模块中的数据框DataFrame。下图展示了如何利用Pandas模块从网络中的iris.data文件中读取数据并进行操作,该实例的完整版本见第七章。

在该实例中,首先给出数据文件的地址,可以是url地址,也可以是本地磁盘地址,然后通过相应的读取函数将数据从文件中读出,存入变量中,之后对变量进行一系列的操作。

数据操作示例

基于数据的AI信息处理流程

目前,基于大数据的AI方兴未艾。在这一过程中在执行AI任务时,由于需要完成如分类、图像识别、语言理解、优化等工作,因此基于数据的一系列操作是按照某个模型算法的步骤执行的,基于数据的AI信息处理过程如下图所示。

基于数据的AI信息处理过程

在后续的章节中,将介绍几种AI的模型以及基于Python的实现方法,包括机器学习、图像识别、语音识别和自然语言理解以及优化。这些AI任务都基本遵循这一信息处理过程。

本章小结

本章首先介绍了人工智能的一些基本内容,包括信息的输入、模型和学习等概念,进而介绍了3个人工智能流派、目前人工智能的局限性以及潜在应用,并对以计算机为核心的AI实现过程进行了描述,阐述了AI系统结构、数据维度、基于Python的数据处理方法以及基于数据的AI信息处理过程。本章可以帮助读者初步建立AI的信息处理框架,有助于读者理解后续章节中的具体应用实例。

本章习题

找一找生活中的人工智能。

说一说你对人工智能学习的理解。

说一说人工智能的局限性。

数据操作周期的主要步骤是什么?

Python的扩展数据模块有哪些?

请描述基于数据的AI信息处理过程。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈