本书从概念和数学原理上对人工智能所涉及的数据处理常用算法、图像识别、语音识别、自然语言处理、深度学习几个主要方面进行了阐述,并以Python为主要工具进行了相应的编程实践,以使读者对人工智能相关技术有更直观和深入的理解。此外,本书也用几个独立的章节从原理和实践上介绍了量子计算、区块链技术、并行计算、增强现实等与人工智能密切相关的前沿技术。
本书适合对人工智能领域感兴趣并有一定数学基础的相关人员阅读,也可作为高等院校相关专业的教学参考书。
1.对人工智能所涉及的数据处理常用算法从概念和数学原理上进行了简单介绍
2.使用Python为主要工具对图像识别、语音识别、自然语言处理、深度学习、量子计算、区块链技术、并行计算、增强现实等常用算法进行编程实现
3.提供所有案例实战源代码
4.语言通俗易懂,可读性强
吕鉴涛,中共党员,归国计算机科学博士,政府特聘科技专家。曾任职中关村著名企业为高级软件工程师。本科和硕士就读于华中师范大学。后留学于加拿大Dalhousie University。毕业后任职于加拿大联邦政府。2010年回国创业,将企业做成行业知名品牌。带领团队研发出全球首款并量产的3D食品打印机,引发国内各大媒体争相报道。拥有多项个人专利和软件著作权。
第1章 绪论 1
1.1 人工智能的起源与发展 1
1.2 人工智能的主要应用行业与领域 2
1.3 中国人工智能发展现状 3
1.4 Python与人工智能 4
1.5 构建Python人工智能编程环境 5
第2章 数据处理常用算法 11
2.1 傅里叶变换 11
2.1.1 傅里叶分析的由来 11
2.1.2 傅里叶变换原理与应用 11
2.2 卷积 16
2.2.1 数字信号处理与卷积运算 16
2.2.2 NumPy卷积函数 20
2.2.3 二维矩阵卷积计算 21
2.2.4 图像卷积应用示例 22
2.3 二分法求解 23
2.4 最小二乘法曲线拟合 25
2.4.1 最小二乘法的来历 25
2.4.2 最小二乘法与曲线拟合 25
2.5 泰勒级数 30
2.5.1 泰勒公式 30
2.5.2 泰勒级数展开与多项式近似 31
2.6 差分法逼近微分 34
2.6.1 差分法简介 34
2.6.2 差分的不同形式及其代码实现 35
2.7 蒙特卡罗方法 36
2.7.1 蒙特卡罗方法原理 37
2.7.2 蒙特卡罗方法应用 38
2.8 梯度下降算法 40
2.8.1 方向导数与梯度 41
2.8.2 梯度下降 42
2.8.3 基于梯度下降算法的线性回归 43
第3章 图像识别与Python编程
实践 49
3.1 图像识别发展简介 49
3.2 图像识别基本算法 50
3.2.1 边缘检测 50
3.2.2 角点检测 64
3.2.3 几何形状检测 68
3.2.4 尺度不变特征变换 72
3.3 OpenCV与视频图像处理 74
3.3.1 视频读写处理 74
3.3.2 运动轨迹标记 76
3.3.3 运动检测 80
3.3.4 运动方向检测 85
3.4 基于ImageAI的图像识别 88
3.4.1 图像预测 88
3.4.2 目标检测 92
3.5 人脸识别 95
3.5.1 基于Dlib的人脸识别 95
3.5.2 基于Face_recognition的人脸识别 103
3.6 Tesseract OCR与文本智能识别 108
3.6.1 Tesseract OCR的安装配置 108
3.6.2 基于Pytesseract的字符识别 109
3.6.3 条形码检测与识别 110
3.7 基于百度AI的智能图像识别 115
3.7.1 通用物体识别 116
3.7.2 车牌识别 117
第4章 语音识别与Python编程
实践 119
4.1 语音识别简介 119
4.1.1 语音识别的起源与发展 119
4.1.2 语音识别的基本原理 120
4.2 语音识别Python SDK 121
4.2.1 Microsoft语音识别框架SAPI 121
4.2.2 Speech 123
4.2.3 Python_Speech_Features 124
4.2.4 SpeechRecognition 128
4.3 MFCC语音特征值提取算法 131
4.3.1 MFCC语音特征值提取算法简介 131
4.3.2 语音信号分帧 133
4.3.3 计算MFCC系数 141
4.4 基于百度AI的语音识别 149
4.4.1 百度语音简介 149
4.4.2 百度语音识别 150
4.5 基于音频指纹的音乐识别 155
4.5.1 音频信号采集与播放 156
4.5.2 音频指纹生成 157
4.5.3 数据存储与检索 161
4.6 语音克隆技术简介 165
第5章 自然语言处理与Python编程
实践 169
5.1 NLP的发展趋势与关键技术 169
5.1.1 NLP的发展趋势 169
5.1.2 NLP的关键技术 170
5.2 NLP工具集NLTK 170
5.2.1 NLTK的安装 170
5.2.2 基于NLTK的简单文本分析 171
5.3 文本切分与标准化 176
5.3.1 文本切分 176
5.3.2 中文分词 177
5.3.3 标准化 186
5.4 词性标注 191
5.5 文本分类 193
5.6 语言检测识别 202
5.6.1 基于Langdetect的语言检测 202
5.6.2 基于Langid的语言检测 203
5.6.3 基于N-gram算法的语言检测 204
5.7 情感分析 207
5.7.1 简易情感分类器示例 207
5.7.2 基于NLTK的电影评论情感
分类 209
第6章 深度学习与Python编程
实践 212
6.1 深度学习常用算法 212
6.1.1 卷积神经网络 213
6.1.2 循环神经网络 219
6.1.3 生成对抗网络 224
6.2 深度学习框架及其应用 230
6.2.1 Theano 230
6.2.2 PyTorch 243
6.2.3 TensorFlow 253
第7章 量子计算与Python编程
实践 260
7.1 量子计算概述 261
7.1.1 什么是量子计算 261
7.1.2 人工智能与量子计算 262
7.2 量子计算发展现状 263
7.2.1 国外量子计算发展概况 263
7.2.2 中国量子计算进展 266
7.3 IBM Quantum Experience量子计算
云平台 267
7.3.1 IBM Quantum Experience平台账号
注册 268
7.3.2 IBM Quantum Experience量子电路
设计与运行 268
7.4 基于Qiskit的量子计算Python编程
接口 274
7.5 基于Qiskit的量子计算编程实践 276
7.5.1 Qconfig.py配置文件 276
7.5.2 基于模拟终端的算法电路运行 276
7.5.3 基于物理芯片的算法电路运行 277
7.5.4 量子电路可视化 279
7.5.5 量子傅里叶变换 280
7.6 Rigetti Computing量子编程平台 285
7.6.1 Forest SDK简介 285
7.6.2 PyQuil安装 286
7.6.3 PyQuil量子编程示例 286
第8章 区块链技术与Python编程
实践 288
8.1 区块链技术简介 288
8.2 区块链编程环境配置 291
8.3 区块链技术与编程实践 293
8.3.1 区块链的定义与创建 293
8.3.2 共识机制 296
8.3.3 创建节点 297
8.3.4 测试运行示例区块链 299
8.3.5 一致性算法 301
第9章 并行计算与Python编程
实践 304
9.1 基于Multiprocessing的并行计算 304
9.1.1 进程创建与管理 305
9.1.2 进程数据交换 306
9.1.3 进程同步 309
9.2 GPU并行计算 312
9.2.1 PyCUDA并行计算 313
9.2.2 Numba GPU高性能计算 317
9.3 MPI并行计算 319
9.3.1 mpi4py简介 319
9.3.2 mpi4py的安装与测试 319
9.3.3 mpi4py并行计算 320
9.4 ipyparallel并行计算 330
9.4.1 ipyparallel的安装与启动 330
9.4.2 ipyparallel并行计算 330
第10章 增强现实与Python编程
实践 335
10.1 AR技术简介 335
10.2 基于OpenCV的AR实现 336
10.2.1 照相机模型 336
10.2.2 基于OpenCV的AR编程实例 337