本书介绍了人工智能领域常用的方法,包括搜索、统计学习、深度学习和自动机器学习等内容。各章节涉及的问题均根据历史典故或现实生活引出,并使用通俗易懂的方式提出问题及其解决方法。因此,读者在阅读本书时不会感到枯燥无味,也不需要具备人工智能相关的知识背景。书中包含很多代码示例,每个示例均有详细的解释,有助于读者进一步理解相应的算法。在学完本书后,读者将初步具备使用人工智能算法解决生活中实际问题的能力。
本书可作为高校人工智能及相关专业的教材,也可供计算机相关领域从业人员参考使用。
(1)由浅入深 通俗易懂
本书旨在以通俗、易懂的方式让读者掌握人工智能的基本技术。描述问题及解答方案时不使用复杂的公式,也不使用晦涩难懂的专业术语,因此读者无需具备相关领域的专业知识即可开始阅读本书。
(2)案例丰富 代码详解
除了相关理论知识外,本书还选取了多个典型的应用案例,每个案例均给出了代码实现以及详细的解释,有助于读者进一步理解相应的算法原理。
(3)立体资源 多元服务
本书配套教学PPT、教学大纲、教案、案例素材、文献导读及视频等丰富的教学辅助资源,全方位服务于教师教学。
周庆国,兰州大学信息科学与工程学院教授,博导,中国计算机学会(CCF)高级会员,首批全国万名优秀创新创业导师,教育部“新世纪优秀人才支持计划”入选者,宁夏回族自治区高等学校特聘教授,青海省“高端创新人才千人计划”(引进领军人才)入选者,兰州大学开源软件与实时系统教育部工程研究中心副主任,兰州大学计算机系统结构研究所所长,兰州大学分布式与嵌入式系统实验室主任。目前主要从事实时系统、嵌入式系统、人工智能的研究,2017年研制了甘肃省第一辆无人驾驶试验车。近年来荣获甘肃省科技进步二等奖(1/8)、第一届全国高等学校计算机教育教学青年教师优秀论文奖一等奖、兰州大学教学成果奖一等奖(1/5)等荣誉,牵头编制了《甘肃省网络空间安全纲要》。
雍宾宾,兰州大学信息科学与工程学院副教授,硕士生导师。主要从事高性能计算、深度学习和自动驾驶相关研究。2018年获ACM兰州分区优秀博士,2019年获得谷歌奖教金,2021年获得华为云与计算先锋教师。共发表学术论文三十余篇,承担5项教育部产学合作项目。
人工智能技术基础 1
内容提要 1
前 言 2
目 录 4
第 一章 趣谈/漫话人工智能 11
1.1 一个古老的职业 11
1.2 最后的观(占)星大师 12
1.3 中世纪的宇宙模型 13
1.4 八卦中的秘密 14
1.5 另一个苹果 16
1.6 神经网络发展 20
1.7 新时代的炼金术 21
1.8 深度学习和大数据 22
1.9 最后的围棋大师 23
本章小结 24
习题 24
第二章 学习在于实践-编程环境和基础 25
2.1编程环境管家-Anaconda管理工具 25
2.1.1 Anaconda 简介 25
2.1.2 如何安装 25
2.1.3 环境管理 28
2.2简明胶水语言-Python 29
2.2.1 简介 29
2.2.2 安装 29
2.2.3 基础语法 30
2.2.4 解决兔子繁殖问题 35
2.3 面向数组的计算-NumPy 36
2.3.1 简介 36
2.3.2 安装 36
2.3.3 基础语法 37
2.3.4 案例 38
2.4 机器学习百宝箱-Sklearn 41
2.4.1 简介 41
2.4.2 安装 41
2.5 大道至简-keras 42
2.5.1 简介 42
2.5.2 安装 42
本章小结 43
习题 43
第三章 穷举的魅力-搜索 44
3.1驴友的困惑-经典旅行问题 44
3.1.1 七桥问题 44
3.1.2 旅行商问题 45
3.1.3 迷宫问题 46
3.2搜索的积木-基础数据结构 46
3.2.1 树 46
3.2.2 图 47
3.2.3 栈 49
3.2.4 优先队列 50
3.3林深时见鹿-深度优先搜索 51
3.3.1 宽度优先搜索简介 51
3.3.2 使用DFS解决七桥问题 54
3.3.3 使用DFS解决旅行商问题 55
3.3.4 使用DFS解决迷宫问题 57
3.4近水楼台先得月-广度优先搜索 59
3.4.1 广度优先搜索简介 59
3.4.2使用BFS解决七桥问题 59
3.4.3 使用BFS解决旅行商问题 59
3.4.4 使用BFS解决迷宫问题 60
本章小结 60
习题 60
第四章 计算机里的物竞天择-进化算法 61
4.1 生物的演化规律-物种起源 61
4.2程序的优化方法-遗传算法 61
4.2.1 遗传学的启发 61
4.2.2 遗传定律 62
4.2.3 遗传算法 62
4.3基因优化的模拟-交叉变异 64
4.3.1 基因的二进制表示 64
4.3.2 适应度的选择方法 65
4.3.3 基因交叉计算 66
4.3.4 基因变异 67
4.4更高级的程序优化-进化算法 67
4.4.1 进化算法原理 67
4.4.2 数值优化应用实践 67
4.4.3 进化算法库Geatpy 69
4.5横看成岭侧成峰-多目标优化 72
4.5.1 帕累托最优 73
4.5.2 多目标优化算法 73
4.5.3 多目标优化实践 73
4.6麻雀虽小五脏俱全-其它进化算法 75
4.6.1 粒子群优化算法 75
4.6.2 蚁群算法 76
本章小结 77
习题 77
第五章 数据即规律-统计学习 78
5.1 润物细无声-教师和学习 78
5.2 理想中的世界-线性模型 80
5.3 物以类聚,人以群分-聚类 86
5.4 如何做出选择-决策树 87
5.5 维度的秘密-支持向量机 90
5.6 三个臭皮匠顶个诸葛亮--集成机器学习 93
5.7 本章小结 94
5.8 习题 95
第六章 描述万物的规律-神经网络 96
6.1 最简单的神经网络模型-感知机 96
6.2 神经网络的核心-非线性激活函数 97
6.3 感知机的缺陷-解决找茬(异或)难题 99
6.4 万能的神经网络-通用函数拟合 103
6.5 魔方缺了一面-利用反向传播求解神经网络 106
6.6 构建神经网络的积木-keras API函数 109
6.7 开始动手-神经网络应用 112
本章小结 116
习题 116
第七章 抽象的威力-深度学习 117
7.1被麻醉的猫-生物视觉原理 117
7.2深度学习的视觉-CNN模型 118
7.2.1 彩色图片数据组成 119
7.2.2 CNN是怎么工作的 119
7.2.3 CNN学到了什么 122
7.2.4 CNN应用实例—猫狗大战 123
7.3瞻前顾后的深度模型-RNN 130
7.3.1 RNN模型结构 130
7.3.2 往前看和往后看——双向RNN 132
7.3.3 RNN的其他应用 132
7.4 最大的烦恼就是记性太好-长短期记忆网络 132
7.4.1 梯度消失和梯度爆炸问题 132
7.5 本章小结 140
7.6 习题 140
7.7 拓展阅读 141
第八章 深度学习的集市 142
8.1学会识别不同的图像-图像分类 142
8.2寻找物体的相框-目标检测 150
8.2.1 数据集 150
8.2.2 基本原理 152
8.2.3 知名目标检测模型 153
8.3学会区分不同的物体边界-语义分割 158
8.3.1 数据集 158
8.3.2 基本原理 161
8.3.3 知名语义分割模型 161
本章小结 163
习题 163
第九章 基于关系的网络-GNN 164
9.1 关系的表述-又是图结构 164
9.1.1 灵活处理非欧数据的GNN 164
9.1.2 定义及概念介绍 165
9.2解决社交问题-原理和实践 167
9.2.1 GCN原理介绍 167
9.2.2 GCN的应用——微博用户性别预测(节点分类) 167
9.2.3 GCN的应用——闲鱼垃圾评论识别(边分类) 169
9.2.4 基于keras的GCN代码解析 171
9.3 改进GCN模型-GAT原理及应用 179
9.3.1 GAT原理介绍 179
9.3.2 GAT的应用——微博用户性别预测 180
9.3.3 基于keras的GAT代码解析 181
本章小结 184
习题 184
拓展阅读 184
第十章 巴甫洛夫的狗-智能体学习 185
10.1 灵感来源-反射学习 185
10.2 向狗学习-强化学习 185
10.2.1 发展历程 185
10.2.2 强化学习范式 186
10.2.3 值函数与策略函数 189
10.2.4 MDP求解方法 190
10.3 实现强化学习-两种策略 191
10.3.1 Off-policy学习 191
10.3.2 On-policy学习 191
10.4 引入万能的神经网络-深度强化学习 192
10.4.1 基于值函数的方法 193
10.4.2 基于策略梯度方法 193
10.5 解决更复杂的问题-分布式强化学习 194
10.5.1 Impala 194
10.5.2 SeedRL 195
10.5.3 Ape-X 196
10.5.4 Acme 196
10.6 史上最强大的狗-阿尔法狗(AlphaGo) 196
10.6.1 围棋简介 196
10.6.2 AlphaGo算法运行原理 197
10.6.3 与AlphaGo下棋小例子 199
10.7 走向更强-高级强化学习 200
10.7.1 分层强化学习 200
10.7.2 逆强化学习 200
10.7.3 元强化学习 201
10.7.4 多智能体强化学习 201
本章小结 202
第十一章 学会艺术创作-生成学习 203
11.1 和梵高学习画画-风格迁移模型 203
11.1.1 深度学习作画 203
11.1.2 第 一个风格迁移神经网络 205
11.1.3 固定风格任意内容的快速风格迁移 206
11.1.4 基于keras实现的Gatys风格迁移模型 207
11.2 失业的画家-生成对抗网络 214
11.2.1 对抗生成模型GAN 214
11.2.2 GAN原理解析 214
11.2.3 基于DCGAN的手写体数字生成 217
11.3 深度学习也“脆弱”-对抗攻击 221
11.4复活的唐诗-大规模预训练模型 223
11.4.1 大规模预训练”语言模型 223
11.4.2 BERT和GPT原理浅析 225
11.4.3 基于BERT和GPT的诗歌生成 226
本章小结 227
习题 227
拓展阅读 227
第十二章 学习使我快乐-自动学习 228
12.1 如何实现自动学习-AutoML原理 228
12.1.1 算法模型选择 229
12.1.2 超参数优化 230
12.1.3 网络结构优化 234
12.2 动手实践-AutoML实例 234
12.2.1 Auto-sklearn 234
12.2.2 分布式H2O 235
12.3 自动深度学习-AutoDL 236
12.3.1 深度学习概述 236
12.3.2 深度学习参数调节 236
12.4 自动强化学习-AutoRL 237
12.5 自动图神经网络-AutoGL 238
12.5.1 图神经网络简介 238
12.5.2 自动图神经网络 239
本章小结 242
参考文献 243