大圣陪你学AI:人工智能从入门到实验(第2版)
上QQ阅读APP看书,第一时间看更新

哪种妖怪,悟空一看便知

悟空既然已经答应传授八戒火眼金睛的技能,自然就要认真履行诺言,这样也能尽快找到妖怪,救出师父,真是一举两得的好事。

八戒的方法

悟空学着当年菩提祖师的样子,一本正经地说道:“八戒,我现在传授你看图识妖怪的技能,你先和师兄说说你平时是如何识别妖怪的?”

八戒虽没有悟空的火眼金睛,但这一路跟随大师兄降妖除魔,也跟众多妖怪打过交道了,自己也总结了点识别妖怪的小本事。

八戒认真地说道:“我识别妖怪时,主要看妖怪的外在特点。”

“以咱们在平顶山莲花洞遇到的金角大王和银角大王为例吧,这俩妖怪头上都有角,金角大王的角是金色的,银角大王的角是银色的;再就是他们的衣服,一个是金色的,一个是银色的;还有他们随身携带的法器,与别的妖怪不同,他们的法器是一个葫芦。”

037-1

八戒说到这里,想到上次悟空差点被那葫芦融化,打趣道:“猴哥,你还记得那个葫芦吧?就是把你吸进去,差点融化你的那个葫芦。”

037-2

悟空拍了拍八戒的头,说道:“你还想不想学了,竟然敢拿我说笑,况且当初那葫芦对我本无效,只是困住我罢了!”

八戒嘿嘿笑道:“猴哥,我知错了,我这不是看你担心师父,想调节一下气氛吗?”

悟空继续说道:“你这种方法有时候确实有用,当年菩提祖师教我挑西瓜时用的就是这种方法。不过后来我发现有时候这种方法不管用,你发现了吗?”

八戒点点头,说道:“是的,有时候我这方法就不灵了,这让我很困惑。”

八戒的困惑

悟空笑道:“你说说看,有什么困惑?”

八戒说道:“如果同一个妖怪呈现不同的表情和不同的姿态,我就很难识别出来了。”

038-1

“还有一些妖怪诡计多端,善于变化伪装,根本判断不出来!”八戒说着,有些着急了。

悟空大笑道:“没错,你和我当初遇到的问题一样。

“妖怪变化多端,难以分辨。对于同一种妖怪,你需要观察并记忆他的各种变形。无论他高矮胖瘦,或者飞天遁地出现在任何地方,或者伪装成任何形态,比如人形、树木、房子,才能准确地揭开妖怪的面目。

“另外,各路妖怪虽千奇百怪,但难免存在一些共同点,要想识别是哪种妖怪,务必要找到能够区分不同妖怪的关键特点。”

038-2

例如,独角兕大王和牛魔王看起来相像,实则不同。从颜色上看,独角兕大王是青牛精,牛魔王是一头大白牛。从兵器上看,青牛精的兵器是太上老君防身用的金刚琢,逮住什么套什么,牛魔王用的却是棒子。抓住这些关键特点就很容易区分妖怪了。

“而如何找出这些关键的特点就是人工智能要做的事情啦!”

悟空的火眼金睛

听了悟空的精彩讲解,八戒有点迷糊了,尴尬地问道:“大师兄,道理我老猪是明白了,可是妖怪种类多、特点也多,我还是学不会呀!”

039-1

悟空说道:“不要着急,我带你一起去EasyDL平台用火眼金睛来识别抓走师父的妖怪,也许你就能学会了。”

040-1

同学们,还记得吗?

EasyDL平台是当年菩提祖师送给悟空的宝典之一。

其网址为https://ai.baidu.com/easydl/

要在EasyDL平台上实现图像分类,不需要深入学习理论知识,只需收集数据,给数据进行标注,将其制作成一个符合标准的数据集,EasyDL就能自动完成模型训练,实现图像分类的技能。

知识点

图像分类中的数据是指我们收集到的照片、图片,例如妖怪的图片。

标注是人对照片/图片属于何种妖怪的记录,如白骨精、蜘蛛精。

悟空带着八戒来到了EasyDL平台,准备用八戒拍摄的妖怪照片作为数据集,来识别抓走师父的妖怪,好赶快去救师父。

八戒则在一旁看着悟空操作。

041-1

实验1

看图识别妖怪

第一步 创建模型

这个阶段的主要任务是选择平台类型,确定模型类型,配置模型基本信息(包括名称等),并记录希望模型实现的功能。

1)打开EasyDL平台主页,网址为https://ai.baidu.com/easydl/,显示如图2-1所示的页面。

042-1

图2-1 EasyDL平台主页

点击图2-1所示页面中的【立即使用】按钮,显示如图2-2所示的【选择模型类型】选择框。模型类型选择【图像分类】,进入【我的模型】,显示图2-3所示的操作台页面。

042-2

图2-2 选择模型类型

2)在图2-3所示的操作台页面中创建模型。

043-1

图2-3 操作台页面

点击操作台页面中的【创建模型】按钮,显示如图2-4所示的页面,填写模型名称为“看图识别妖怪”,模型归属选择“个人”,填写联系方式、功能描述等信息,点击【完成】按钮,完成模型的创建。

043-2

图2-4 创建模型

3)模型创建成功后,可以在【我的模型】中看到刚刚创建的模型“看图识别妖怪”,如图2-5所示。

044-1

图2-5 模型列表

第二步 准备数据

这个阶段的主要工作是根据图像分类的任务准备相应的数据集,并把数据集上传到平台,用来训练模型。

(1)准备数据集

首先扫描封底二维码下载压缩包,在【第2章-实验1】中找到训练模型所需的图像数据。对于识别妖怪任务,我们准备了三种妖怪的图像,分别为豹子精、老虎精和狮子精。图片类型支持png、bmp、jpeg格式。之后,需要将准备好的图片按照分类存放在不同的文件夹里,同时将所有文件夹压缩为.zip格式。

然后,需要将准备好的图像数据按照分类存放在不同的文件夹里,文件夹名称即为图像对应的类别标签(Leopard、Lion、Tiger)。此处要注意,图像类别名(即文件夹名称)只能包含字母、数字、下划线,不支持中文命名。

最后,将所有文件夹压缩,命名为yaoguai.zip,压缩包的结构示意图如图2-6所示。

045-1

图2-6 压缩包的结构示意图

(2)上传数据集

选择图2-7所示的【EasyData数据服务】中的【数据总览】,点击【创建数据集】按钮,进入如图2-8所示的页面。在该页面中填写数据集名称,点击【完成】按钮完成数据集的创建。点击图2-9中的【导入】按钮,进入如图2-10所示的页面,在该页面中选择数据标注状态为【有标注信息】,导入方式选择【本地导入】,标注格式选择【以文件夹命名分类】并点击【上传压缩包】,选择yaoguai.zip压缩包进行上传。

045-2

图2-7 创建数据集

046-1

图2-8 填写数据集名称

046-2

图2-9 数据集创建结果

047-1

图2-10 导入数据集

选择好压缩包后,点击【确认并返回】按钮,成功上传数据集。

(3)查看数据集

上传成功后,可以在【数据总览】中看到数据集的信息,如图2-11所示。数据集上传后,需要一段处理时间,大约几分钟后就可以看到数据集上传的结果,如图2-12所示。

047-2

图2-11 数据集展示

048-1

图2-12 数据集上传结果

点击【查看与标注】可以看到数据的详细情况,如图2-13所示。

048-2

图2-13 数据集详情

第三步 训练模型并校验结果

前两步已经创建好一个图像分类模型,并且创建了数据集。本步骤的主要任务是用上传的数据一键训练模型,并且在模型训练完成后,在线校验模型的效果。

(1)训练模型

数据上传成功后,在【训练模型】中,选择之前创建的图像分类模型,添加分类数据集,开始训练模型。训练时间与数据量有关,在训练过程中,可以设置训练完成的短信提醒并离开页面,如图2-14~图2-17所示。

049-1

图2-14 添加数据集

049-2

图2-15 选择数据集

050-1

图2-16 训练模型

050-2

图2-17 模型训练中

(2)查看模型效果

模型训练完成后,在【我的模型】列表中可以看到模型的效果(如图2-18所示)以及详细的模型评估报告(如图2-19所示)。从模型训练的整体情况可以看出,该模型的训练效果是很优异的。

051-1

图2-18 模型训练结果

051-2

图2-19 模型整体评估

知识点

准确率,正确识别的妖怪数/妖怪总数*100%。

召回率,正确识别为某类妖怪的数量/该类妖怪原本的数量*100%。

(3)校验模型

我们可以在【校验模型】中对模型的效果进行校验。

首先,点击【启动模型校验服务】按钮,如图2-20所示,大约需要等待5分钟。

052-1

图2-20 启动校验服务

然后,准备一条图像数据,点击【点击添加图片】,如图2-21所示。

052-2

图2-21 添加图像

最后,使用训练好的模型对上传图像进行预测,如图2-22所示,结果显示图像属于老虎。

053-1

图2-22 校验结果

最后,悟空和八戒成功识别出不同的动物,并且找到了抓走师父的妖怪,二人成功救出了师父。

053-2

火眼金睛是怎么炼成的

八戒救出了师父,非常开心。他更开心的是自己和猴哥一起用人工智能找到了抓走师父的妖怪,简直太神奇了。

只不过,急于救师父,八戒只顾着实践,却没有探明其中的奥秘:猴哥的火眼金睛到底是怎么炼成的呢?

八戒带着疑惑又来请教悟空。

悟空说道:“现在师父回来了,那我就可以好好给你讲讲这其中的奥秘了。”

人工智能其实是模仿人脑思考的过程,实现一个类似于人脑神经元的结构去解决问题。

首先,人工智能会创建一个类似于人脑神经元的结构,我们称之为“模型”,它可以观察、比对、记录图片中的各种特点。然后,它为每个特点赋予一个数值,表示该特点所达到的程度,就像第1章中提到的西瓜外观特征值。最后,这个类似于人脑的结构会告诉我们,这张图片中是否为妖怪。

刚开始时,这个结构跟我们小时候的大脑一样,并不“聪明”,识别结果经常出现错误。经过不断添加训练数据进行训练,它变得越来越聪明,最后就像长大的我们,能够分辨出很多类别的图片。