第1章 机器智能的发展 1
1.1 机器智能 1
1.1.1 机器智能的定义 1
1.1.2 机器智能的分类 1
1.2 深度学习 2
1.2.1 机器智能的神经网络方法 2
1.2.2 人工神经元与人工神经网络 3
1.2.3 神经网络的复兴 4
1.3 机器学习 5
1.3.1 机器学习的基本原理 5
1.3.2 机器学习泛化能力 6
1.3.3 大数据是深度学习的基础 6
参考文献 7
第2章 深度学习 8
2.1 深度学习的原理 8
2.1.1 人工神经元 8
2.1.2 多层人工神经网络 10
2.1.3 神经网络训练 11
2.2 典型的神经网络架构 15
2.2.1 卷积神经网络 15
2.2.2 循环神经网络 17
2.2.3 长短时记忆循环网络 18
2.2.4 门控循环单元循环网络 19
2.3 机器感知 21
2.3.1 语音识别 21
2.3.2 计算机视觉 25
2.4 深度学习实践 26
2.4.1 建模工具 26
2.4.2 软硬件工具 26
2.5 小结 28
参考文献 28
第3章 强化学习 30
3.1 强化学习基础 30
3.1.1 强化学习概述 30
3.1.2 深度强化学习 32
3.1.3 强化学习框架 35
3.2 计算机围棋 36
3.2.1 围棋游戏 36
3.2.2 蒙特卡洛树搜索 37
3.2.3 基于卷积网络的围棋程序 43
3.3 阿尔法围棋的原理 43
3.3.1 阿尔法围棋团队 44
3.3.2 深度卷积网络 44
3.3.3 结合策略网络和价值网络的蒙特卡洛树搜索 46
3.3.4 阿尔法围棋技术总结 48
3.4 小结 49
参考文献 49
第4章 TensorFlow简介 51
4.1 TensorFlow 51
4.2 TensorFlow使用 53
4.2.1 TensorFlow起步 53
4.2.2 Tensor Flow数据的结构 53
4.2.3 TensorFlow的工作流程 54
4.3 Tensor运算 54
4.4 导入实验数据 55
4.4.1 NumpyArray方法 56
4.4.2 TensorFlow组件方法 57
4.4.3 TensorFlow示例 58
4.5 TensorBoard示例 59
4.6 小结 61
参考文献 61
第5章 Keras简介 62
5.1 Keras 62
5.2 Keras组织结构 63
5.2.1 Models 63
5.2.2 Core Layers 63
5.2.3 Layers 63
5.2.4 Activations 63
5.2.5 Optimizers 64
5.3 Keras实践 64
5.3.1 Keras安装 64
5.3.2 Keras使用 65
5.4 小结 66
参考文献 66
第6章 声控智能1——预处理与训练 67
6.1 声控智能 67
6.1.1 语音指令 67
6.1.2 语音时频谱图 68
6.1.3 语音文件录音 68
6.2 实验过程 69
6.2.1 语音数据预处理 69
6.2.2 语音识别网络 70
6.2.3 TensorFlow/Keras的使用 73
6.3 小结 76
参考文献 77
第7章 声控智能 2——部署 78
7.1 网站端——在线推断 78
7.1.1 云知音网站功能 78
7.1.2 Flask网站搭建 79
7.1.3 Flask+Keras实现 80
7.2 移动端——离线推断 81
7.2.1 移动端的网络模型文件 81
7.2.2 安卓平台的TensorFlow库生成 85
7.2.3 安卓应用的TensorFlow库调用 88
7.2.4 安卓应用的录音功能调用 89
7.2.5 快速集成开发 91
7.3 小结 93
参考文献 94
第8章 PYNQ语音识别 95
8.1 PYNQ 95
8.1.1 PYNQ简介 95
8.1.2 PYNQ-Z1开发板 95
8.1.3 Jupyter Notebook 97
8.2 实验设计 97
8.2.1 PYNQ设置 97
8.2.2 服务器端设置 99
8.3 实验过程 101
8.3.1 AudioInput 101
8.3.2 传送云端 105
参考文献 106
第9章 TX1视觉对象检测 107
9.1 英伟达Jetson TX1 107
9.2 YOLO算法 107
9.2.1 YOLO算法 107
9.2.2 YOLOv2算法 110
9.2.3 YOLO的TX1实践 112
9.3 SSD算法 113
9.3.1 SSD算法介绍 113
9.3.2 SSD的TX1实践 113
参考文献 115
后记 116
附录A Python和TensorFlow操作基础 117
A.1 Python实践基础 117
A.2 TensorFlow实践基础 120