TensorFlow+Keras深度学习人工智能实践应用

TensorFlow+Keras深度学习人工智能实践应用"

作者:林大贵
ISBN:9787302493020
定价:¥69
字数:千字
页数:
出版时间:2018.02.01
开本:
版次:1-6
装帧:
出版社:清华大学出版社
简介

本书提供安装、上机操作指南,同时辅以大量范例程序介绍TensorFlow + Keras深度学习方面的知识。本书分9部分,共21章,内容主要包括基本概念介绍、TensorFlow 与 Keras 的安装、Keras MNIST手写数字识别、Keras CIFAR-10照片图像物体识别、Keras多层感知器预测泰坦尼克号上旅客的生存概率、使用Keras MLP、RNN、LSTM进行IMDb自然语言处理与情感分析、以TensorFlow张量运算仿真神经网络的运行、TensorFlow MNIST手写数字识别、使用GPU大幅加快深度学习训练。

TensorFlow + Keras深度学习方面的知识不需要具备高等数学模型、算法等专业知识,读者只需要具备基本的Python程序设计能力,按照本书的步骤循序渐进地学习,就可以了解深度学习的基本概念,进而实际运用深度学习的技术。

前言

前 言

近年来,人工智能(Artificial Intelligence,AI)吸引了大众与媒体的目光,AlphaGo的成功更加让人工智能技术变得炙手可热,其实AI早已进入了我们的生活,如手机中的语音助理、人脸识别、影音平台每日的推荐等。然而,人工智能的发展才刚刚起步,未来人工智能的应用将会深入生活的每一个层面,也就是说未来一定是AI的时代。

深度学习是人工智能中成长最快的领域,深度学习就是仿真人类神经网络的工作方式,常见的深度学习架构有深度神经网络(DNN)、卷积神经网络(CNN)、递归神经网络(RNN)等。深度学习特别适用于视觉识别、语音识别、自然语言处理、识别癌细胞等领域,目前已经取得非常好的效果。

近年来,各大科技公司(如Google、Microsoft、Facebook、Amazon、Tesla等)都积极投入到深度学习领域进行研发。以Google公司为例,它在2014年以4亿美元并购了DeepMind公司。2016年,由DeepMind开发的人工智能围棋程序AlphaGo以4:1击败了世界级围棋冠军李世石,引起了网络与媒体的注目,让人们了解到深度学习的威力强大。

TensorFlow最初由Google Brain Team团队开发,Google使用TensorFlow进行研究及开发自身产品,并于2015年公开了它的源代码,所有的开发者都可以免费使用。Google的很多产品早就使用了机器学习或深度学习,例如Gmail过滤垃圾邮件、Google语音识别、图像识别、翻译等。

TensorFlow功能强大,执行效率高,支持各种平台。但是,TensorFlow是比较底层的深度学习链接库,学习门槛高,对于从未接触过深度学习的初学者,如果一开始就学习TensorFlow,就要面对其特殊的“计算图”(computational graph)程序设计模式,还必须自行设计张量(Tensor)运算,可能会有很大的挫折感。

所以本书先介绍Keras,这是以TensorFlow为底层的、高级的深度学习链接库,可以很容易地建立深度学习模型,进行训练并使用模型预测,对初学者而言学习门槛较低。等读者熟悉了深度学习模型后,再去学习TensorFlow就很轻松了。

近年来,深度学习和人工智能技术快速发展的一个很重要的因素是,GPU提供了强大的并行运算架构,可以让深度学习训练比用CPU来进行要快数十倍。本书也特别介绍了GPU的安装与应用,读者只需要有NVIDIA显示适配器(显卡),然后按照本书的介绍依次安装CUDA、cuDNN、TensorFlow GPU版本与Keras,就可以使用GPU大幅加快深度学习的训练。

林大贵

目录

目  录

第1章  人工智能、机器学习与深度学习简介 1

1.1  人工智能、机器学习、深度学习的关系 2

1.2  机器学习介绍 4

1.3  机器学习分类 4

1.4  深度学习简介 7

1.5  结论 8

第2章  深度学习的原理 9

2.1  神经传导的原理 10

2.2  以矩阵运算仿真神经网络 13

2.3  多层感知器模型 14

2.4  使用反向传播算法进行训练 16

2.5  结论 21

第3章  TensorFlow与Keras介绍 22

3.1  TensorFlow架构图 23

3.2  TensorFlow简介 24

3.3  TensorFlow程序设计模式 26

3.4  Keras介绍 27

3.5  Keras程序设计模式 28

3.6  Keras与TensorFlow比较 29

3.7  结论 30

第4章  在Windows中安装TensorFlow与Keras 31

4.1  安装Anaconda 32

4.2  启动命令提示符 35

4.3  建立TensorFlow的Anaconda虚拟环境 37

4.4  在Anaconda虚拟环境安装TensorFlow与Keras 40

4.5  启动Jupyter Notebook 42

4.6  结论 48

第5章  在Linux Ubuntu中安装TensorFlow与Keras 49

5.1  安装Anaconda 50

5.2  安装TensorFlow与Keras 52

5.3  启动Jupyter Notebook 53

5.4  结论 54

第6章  Keras MNIST手写数字识别数据集 55

6.1  下载MNIST数据 56

6.2  查看训练数据 58

6.3  查看多项训练数据images与label 60

6.4  多层感知器模型数据预处理 62

6.5  features数据预处理 62

6.6  label数据预处理 64

6.7  结论 65

第7章  Keras多层感知器识别手写数字 66

7.1  Keras多元感知器识别MNIST手写数字图像的介绍 67

7.2  进行数据预处理 69

7.3  建立模型 69

7.4  进行训练 73

7.5  以测试数据评估模型准确率 77

7.6  进行预测 78

7.7  显示混淆矩阵 79

7.8  隐藏层增加为1000个神经元 81

7.9  多层感知器加入DropOut功能以避免过度拟合 84

7.10  建立多层感知器模型包含两个隐藏层 86

7.11  结论 89

第8章  Keras卷积神经网络识别手写数字 90

8.1  卷积神经网络简介 91

8.2  进行数据预处理 97

8.3  建立模型 98

8.4  进行训练 101

8.5  评估模型准确率 104

8.6  进行预测 104

8.7  显示混淆矩阵 105

8.8   结论 107

第9章  Keras CIFAR-10图像识别数据集 108

9.1  下载CIFAR-10数据 109

9.2  查看训练数据 111

9.3  查看多项images与label 112

9.4  将images进行预处理 113

9.5  对label进行数据预处理 114

9.6  结论 115

第10章  Keras卷积神经网络识别CIFAR-10图像 116

10.1  卷积神经网络简介 117

10.2  数据预处理 118

10.3  建立模型 119

10.4  进行训练 123

10.5  评估模型准确率 126

10.6  进行预测 126

10.7  查看预测概率 127

10.8  显示混淆矩阵 129

10.9  建立3次的卷积运算神经网络 132

10.10  模型的保存与加载 135

10.11  结论 136

第11章  Keras泰坦尼克号上的旅客数据集 137

11.1  下载泰坦尼克号旅客数据集 138

11.2  使用Pandas DataFrame读取数据并进行预处理 140

11.3  使用Pandas DataFrame进行数据预处理 142

11.4  将DataFrame转换为Array 143

11.5  将ndarray特征字段进行标准化 145

11.6  将数据分为训练数据与测试数据 145

11.7  结论 147

第12章  Keras多层感知器预测泰坦尼克号上旅客的生存概率 148

12.1  数据预处理 149

12.2  建立模型 150

12.3  开始训练 152

12.4  评估模型准确率 155

12.5  加入《泰坦尼克号》电影中Jack与Rose的数据 156

12.6  进行预测 157

12.7  找出泰坦尼克号背后的感人故事 158

12.8  结论 160

第13章  IMDb网络电影数据集与自然语言处理 161

13.1  Keras自然语言处理介绍 163

13.2  下载IMDb数据集 167

13.3  读取IMDb数据 169

13.4  查看IMDb数据 172

13.5  建立token 173

13.6  使用token将“影评文字”转换成“数字列表” 174

13.7  让转换后的数字长度相同 174

13.8  结论 176

第14章  Keras建立MLP、RNN、LSTM模型进行IMDb情感分析 177

14.1  建立多层感知器模型进行IMDb情感分析 178

14.2  数据预处理 179

14.3  加入嵌入层 180

14.4  建立多层感知器模型 181

14.5  训练模型 182

14.6  评估模型准确率 184

14.7  进行预测 185

14.8  查看测试数据预测结果 185

14.9  查看《美女与野兽》的影评 187

14.10  预测《美女与野兽》的影评是正面或负面的 190

14.11  文字处理时使用较大的字典提取更多文字 192

14.12  RNN模型介绍 193

14.13  使用Keras RNN模型进行IMDb情感分析 195

14.14  LSTM模型介绍 197

14.15  使用Keras LSTM模型进行IMDb情感分析 199

14.16  结论 200

第15章  TensorFlow程序设计模式 201

15.1  建立“计算图” 202

15.2  执行“计算图” 204

15.3  TensorFlow placeholder 206

15.4  TensorFlow数值运算方法介绍 207

15.5  TensorBoard 208

15.6  建立一维与二维张量 211

15.7  矩阵基本运算 212

15.8  结论 214

第16章  以TensorFlow张量运算仿真神经网络的运行 215

16.1  以矩阵运算仿真神经网络 216

16.2  以placeholder传入X值 220

16.3  创建layer函数以矩阵运算仿真神经网络 222

16.4  建立layer_debug函数显示权重与偏差 225

16.5  结论 226

第17章  TensorFlow MNIST手写数字识别数据集 227

17.1  下载MNIST数据 228

17.2  查看训练数据 229

17.3  查看多项训练数据images与labels 232

17.4  批次读取MNIST数据 234

17.5  结论 235

第18章  TensorFlow多层感知器识别手写数字 236

18.1  TensorFlow建立多层感知器辨识手写数字的介绍 237

18.2  数据准备 239

18.3  建立模型 239

18.4  定义训练方式 242

18.5  定义评估模型准确率的方式 243

18.6  进行训练 244

18.7  评估模型准确率 249

18.8  进行预测 249

18.9  隐藏层加入更多神经元 250

18.10  建立包含两个隐藏层的多层感知器模型 251

18.11  结论 252

第19章  TensorFlow卷积神经网络识别手写数字 253

19.1  卷积神经网络简介 254

19.2  进行数据预处理 255

19.3  建立共享函数 256

19.4  建立模型 258

19.5  定义训练方式 264

19.6  定义评估模型准确率的方式 264

19.7  进行训练 265

19.8  评估模型准确率 266

19.9  进行预测 267

19.10  TensorBoard 268

19.11  结论 270

第20章  TensorFlow GPU版本的安装 271

20.1  确认显卡是否支持CUDA 273

20.2  安装CUDA 274

20.3  安装cuDNN 278

20.4  将cudnn64_5.dll存放的位置加入Path环境变量 281

20.5  在Anaconda建立TensorFlow GPU虚拟环境 283

20.6  安装TensorFlow GPU版本 285

20.7  安装Keras 286

20.8  结论 286

第21章  使用GPU加快TensorFlow与Keras训练 287

21.1  启动TensorFlow GPU环境 288

21.2  测试GPU与CPU执行性能 293

21.3  超出显卡内存的限制 296

21.4  以多层感知器的实际范例比较CPU与GPU的执行速度 297

21.5  以CNN的实际范例比较CPU与GPU的执行速度 299

21.6  以Keras Cifar CNN的实际范例比较CPU与GPU的执行速度 302

21.7  结论 304

附录A  本书范例程序的下载与安装说明 305

A.1  在Windows系统中下载与安装范例程序 306

A.2  在Ubuntu Linux系统中下载与安装范例程序 310

作者简介

编辑推荐

浅入深地讲解Keras与TensorFlow深度学习类神经网络

使用实际的数据集配合范例程序代码介绍各种深度学习算法,并示范如何进行数据预处理、训练数据、建立模型和预测结果

作者寄语

林大贵,从事IT行业多年,在系统设计、网站开发、数字营销、商业智慧、大数据、机器学习等领域具有丰富的实战经验。

电子资料

www.luweidong.cn

下一个