深度学习算法实践(基于Theano与TensorFlow)
  • 推荐0
  • 收藏4
  • 浏览1.1K

深度学习算法实践(基于Theano与TensorFlow)

闫涛 , 周琦 (作者) 

  • 书  号:978-7-121-33793-2
  • 出版日期:2018-03-01
  • 页  数:584
  • 开  本:16(185*260)
  • 出版状态:图书立项
  • 维护人:付睿
纸质版 ¥109.00
《深度学习算法实践(基于Theano和TensorFlow)》以深度学习算法入门为主要内容,通过系统介绍Python、NumPy、SciPy等科学计算库,深度学习主流算法,深度学习前沿研究,深度学习服务云平台构建四大主线,向读者系统地介绍了深度学习的主要内容和研究进展。《深度学习算法实践(基于Theano和TensorFlow)》介绍了Python、NumPy、SciPy的使用技巧,面向谷歌推出的开源深度学习框架TensorFlow,向读者展示了利用TensorFlow和Theano框架实现线性回归、逻辑回归、多层感知器、卷积神经网络、递归神经网络、长短时记忆网络、去噪自动编码机、堆叠自动编码机、受限玻尔兹曼机、深度信念网络等,并将这些技术用于MNIST手写数字识别任务。《深度学习算法实践(基于Theano和TensorFlow)》不仅讲述了深度学习算法本身,而且重点讲述了如何将这些深度学习算法包装成Web服务。《深度学习算法实践(基于Theano和TensorFlow)》旨在帮助广大工程技术人员快速掌握深度学习相关理论和实践,并将这些知识应用到实际工作中。
《深度学习算法实践(基于Theano和TensorFlow)》可以作为各类深度学习培训班的教材,也可以作为全国高等工科院校“深度学习”课程的教材,还可以作为广大人工智能、深度学习领域工程技术人员的参考书。
1.本书详细介绍深度学习算法的实现和实际应用,指导读者将各种深度学习算法应用到实践中去2.本书与偏重李玲介绍的书籍不同,是更偏向实践的图书。3.本书以Theano平台为基础,目前市面上的图书还没有。4.本书会将数学基础和C语言实现部分作为网络资源提供。
2016年上半年,随着AlphaGo战胜围棋世界冠军李世石,深度学习技术迅速进入大众的视野,成为热门技术。无论是科技领域还是创业投资领域,深度学习技术都受到了前所未有的关注,面向深度学习技术的初创公司不断刷新融资数额的纪录。
随着深度学习技术的流行,市场上对于深度学习人才的需求量激增。但是,由于深度学习技术涉及高等数学、线性代数、数理统计和机器学习相关知识,故学习曲线比较陡峭。目前国内外著名大学深度学习相关专业硕博士、国家重点实验室学生,都被BAT等一线互联网公司抢光了,人才大战有愈演愈烈之势。普通公司和初创公司,在这场人才大战中处于劣势,面临着越来越严重的人才荒。
随着深度学习技术的深入应用,企业对深度学习技术人才的渴求是正常的,但是当前市场上对深度学习技术人才的需求是非理性的。一方面,大家疯抢的深度学习人才都是著名院校的硕博士和重点实验室的研究员,但是这部分人所受的训练和精通的领域是做算法研究,而企业的目的是实际应用,二者在很大程度上是不匹配的,最后可能是企业下了血本却没有产生效益;另一方面,对于很多深度学习应用来说,对项目本身业务的理解,比对深度学习算法的理解要重要得多,而由于业务专家不懂深度学习技术,致使很多好的应用领域没有合适的人才来做。
编写本书的目的就是解决上述问题,希望读者可以通过对本书的学习,迅速掌握深度学习的理论框架和知识体系,具备在自己的专业领域内应用深度学习技术的能力,同时还具备跟踪深度学习领域最新进展的能力,能够独立复现顶级期刊文章中介绍的新方法和新理论。
本书内容及知识体系
第一部分为深度学习算法概述,包括第1章。
第 1 章简单介绍神经网络和深度学习发展史、现状和发展趋势,介绍并比较了深度学习开源框架,还介绍了开源框架的选择标准。
第二部分为深度学习算法基础,主要讲述深度学习算法中比较成熟的算法,包括第2章到第7章。
第 2 章介绍Python开发环境的搭建、NumPy的使用、Theano的安装和使用,并用本章介绍的知识实现一个简单的线性回归算法的程序。
第 3 章讲述逻辑回归算法的数学推导过程,并且讲述了通用学习模型的相关知识,还利用逻辑回归算法对MNIST手写数字识别数据集进行训练和识别。
第 4 章讲述多层感知器模型算法推导过程,以及数值计算与向量表示方式,并利用多层感知器模型对MNIST手写数字识别数据集进行训练和识别。
第 5 章讲述卷积神经网络的数学原理,详细讲解卷积神经网络的层间稀疏连接、权值共享和最大池化等技术,并利用卷积神经网络模型对MNIST手写数字识别数据集进行训练和识别。
第 6 章讲述递归神经网络的数学原理,以字符RNN网络为例,向读者演示了简单的计算机写作系统。而且,以微软图像标注数据集为例,以测试驱动开发的形式,向读者介绍利用递归神经网络做图像标注的典型应用。
第 7 章讲述长短时记忆网络的网络架构和数学原理,并以大型影评数据集为例,采用长短时记忆网络进行情感计算。
第三部分为深度学习算法进阶,主要讲述深度学习算法中比较前沿的算法,包括第8章到第11章。
第 8 章讲述自动编码机的数学原理,重点介绍实际中应用较多的去噪自动编码机和稀疏自动编码机,并以去噪自动编码机为例,对MNIST手写数字识别数据集进行特征提取。
第 9 章讲述将去噪自动编码机进行分层训练,组合成堆叠去噪自动编码机,并将堆叠去噪自动编码机用于MNIST手写数字识别任务。
第 10 章讲述受限玻尔兹曼机的数学原理,并将其用于MNIST手写数字识别任务。
第 11 章讲述深度信念网络的数学原理,以及其与受限玻尔兹曼机的关系,并将其用于MNIST手写数字识别任务。
第四部分为机器学习基础,主要讲述一些基础的机器学习算法,包括第12章和第13章。
第12章讲述生成式学习的基础理论,并将高斯判别分析用于癌症判别,将朴素贝叶斯算法用于垃圾邮件过滤。
第13章简单介绍支撑向量机算法的数学原理。
第五部分为深度学习平台 API,这部分讲述将深度学习算法包装成深度学习服务云平台的技术,包括第14章和第15章。
第14章介绍Python的Web开发环境及开发技术。
第15章应用Web开发技术,将前面介绍的多层感知器模型包装成RESTful服务,用户可以通过网页上传图片文件,并得到识别后的结果。
由于篇幅所限,书中很多例子只给出了部分代码,这些代码对于理解算法的实现原理是足够的,但是考虑到代码的完整性,我们将书中绝大部分例程都上传到了GitHub的开源项目https://github.com/yt7589/dlp.git,书中的代码放在book/chp**目录下,这些代码在Ubuntu 16.04+Python3.6+TensorFlow1.2和Windows+Anaconda+TensorFlow1.2下均可正常运行。读者可以下载相关源码,通过运行这些源码加深对书中内容的理解。

目录

第一部分 深度学习算法概述
第1章 深度学习算法简介 2
1.1 神经网络发展简史 2
1.1.1 神经网络第一次兴起 3
1.1.2 神经网络沉寂期(20世纪80年代—21世纪) 4
1.1.3 神经网络技术积累期(20世纪90年代—2006年) 5
1.1.4 深度学习算法崛起(2006年至今) 8
1.2 深度学习现状 10
1.2.1 传统神经网络困境 10
1.2.2 深度多层感知器 12
1.2.3 深度卷积神经网络 14
1.2.4 深度递归神经网络 15
1.3 深度学习研究前瞻 16
1.3.1 自动编码机 17
1.3.2 深度信念网络 18
1.3.3 生成式网络最新进展 19
1.4 深度学习框架比较 20
1.4.1 TensorFlow 20
1.4.2 Theano 21
1.4.3 Torch 22
1.4.4 DeepLearning4J 23
1.4.5 Caffe 23
1.4.6 MXNet 24
1.4.7 CNTK 27
1.4.8 深度学习框架造型指导原则 27
1.5 深度学习入门路径 28
1.5.1 运行MNIST 28
1.5.2 深度学习框架的选择 29
1.5.3 小型试验网络 33
1.5.4 训练生产网络 33
1.5.5 搭建生产环境 34
1.5.6 持续改进 35
第二部分 深度学习算法基础
第2章 搭建深度学习开发环境 38
2.1 安装Python开发环境 38
2.1.1 安装最新版本Python 38
2.1.2 Python虚拟环境配置 39
2.1.3 安装科学计算库 40
2.1.4 安装最新版本Theano 40
2.1.5 图形绘制 40
2.2 NumPy简易教程 43
2.2.1 Python基础 43
2.2.2 多维数组的使用 51
2.2.3 向量运算 58
2.2.4 矩阵运算 60
2.2.5 线性代数 62
2.3 TensorFlow简易教程 68
2.3.1 张量定义 69
2.3.2 变量和placeholder 69
2.3.3 神经元激活函数 71
2.3.4 线性代数运算 72
2.3.5 操作数据集 74
2.4 Theano简易教程 77
2.4.1 安装Theano 77
2.4.2 Theano入门 78
2.4.3 Theano矩阵相加 79
2.4.4 变量和共享变量 80
2.4.5 随机数的使用 84
2.4.6 Theano求导 84
2.5 线性回归 86
2.5.1 问题描述 86
2.5.2 线性模型 88
2.5.3 线性回归学习算法 89
2.5.4 解析法 90
2.5.5 Theano实现 93
第3章 逻辑回归 100
3.1 逻辑回归数学基础 100
3.1.1 逻辑回归算法的直观解释 100
3.1.2 逻辑回归算法数学推导 101
3.1.3 牛顿法解逻辑回归问题 103
3.1.4 通用学习模型 106
3.2 逻辑回归算法简单应用 113
3.3 MNIST手写数字识别库简介 124
3.4 逻辑回归MNIST手写数字识别 126
第4章 感知器模型和MLP 139
4.1 感知器模型 139
4.1.1 神经元模型 139
4.1.2 神经网络架构 143
4.2 数值计算形式 144
4.2.1 前向传播 144
4.2.2 误差反向传播 145
4.2.3 算法推导 147
4.3 向量化表示形式 152
4.4 应用要点 153
4.4.1 输入信号模型 154
4.4.2 权值初始化 155
4.4.3 早期停止 155
4.4.4 输入信号调整 156
4.5 TensorFlow实现MLP 156
第5章 卷积神经网络 174
5.1 卷积神经网络原理 174
5.1.1 卷积神经网络的直观理解 174
5.1.2 卷积神经网络构成 177
5.1.3 卷积神经网络设计 191
5.1.4 迁移学习和网络微调 193
5.2 卷积神经网络的TensorFlow实现 195
5.2.1 模型搭建 197
5.2.2 训练方法 203
5.2.3 运行方法 208
第6章 递归神经网络 212
6.1 递归神经网络原理 212
6.1.1 递归神经网络表示方法 213
6.1.2 数学原理 214
6.1.3 简单递归神经网络应用示例 219
6.2 图像标记 226
6.2.1 建立开发环境 226
6.2.2 图像标记数据集处理 227
6.2.3 单步前向传播 229
6.2.4 单步反向传播 231
6.2.5 完整前向传播 234
6.2.6 完整反向传播 236
6.2.7 单词嵌入前向传播 239
6.2.8 单词嵌入反向传播 241
6.2.9 输出层前向/反向传播 243
6.2.10 输出层代价函数计算 245
6.2.11 图像标注网络整体架构 248
6.2.12 代价函数计算 249
6.2.13 生成图像标记 255
6.2.14 网络训练过程 258
6.2.15 网络持久化 265
第7章 长短时记忆网络 269
7.1 长短时记忆网络原理 269
7.1.1 网络架构 269
7.1.2 数学公式 272
7.2 MNIST手写数字识别 274
第三部分 深度学习算法进阶
第8章 自动编码机 286
8.1 自动编码机概述 286
8.1.1 自动编码机原理 287
8.1.2 去噪自动编码机 287
8.1.3 稀疏自动编码机 288
8.2 去噪自动编码机TensorFlow实现 291
8.3 去噪自动编码机的Theano实现 298
第9章 堆叠自动编码机 307
9.1 堆叠去噪自动编码机 308
9.2 TensorFlow实现 322
9.3 Theano实现 341
第10章 受限玻尔兹曼机 344
10.1 受限玻尔兹曼机原理 344
10.1.1 网络架构 344
10.1.2 能量模型 346
10.1.3 CD-K算法 351
10.2 受限玻尔兹曼机TensorFlow实现 353
10.3 受限玻尔兹曼机Theano实现 362
第11章 深度信念网络 381
11.1 深度信念网络原理 381
11.2 深度信念网络TensorFlow实现 382
11.3 深度信念网络Theano实现 403
第四部分 机器学习基础
第12章 生成式学习 420
12.1 高斯判别分析 422
12.1.1 多变量高斯分布 422
12.1.2 高斯判决分析公式 423
12.2 朴素贝叶斯 436
12.2.1 朴素贝叶斯分类器 436
12.2.2 拉普拉斯平滑 439
12.2.3 多项式事件模型 441
第13章 支撑向量机 444
13.1 支撑向量机概述 444
13.1.1 函数间隔和几何间隔 445
13.1.2 最优距离分类器 448
13.2 拉格朗日对偶 448
13.3 最优分类器算法 450
13.4 核方法 453
13.5 非线性可分问题 455
13.6 SMO算法 457
13.6.1 坐标上升算法 458
13.6.2 SMO算法详解 458
第五部分 深度学习平台API
第14章 Python Web编程 462
14.1 Python Web开发环境搭建 462
14.1.1 CherryPy框架 463
14.1.2 CherryPy安装 463
14.1.3 测试CherryPy安装是否成功 464
14.2 最简Web服务器 465
14.2.1 程序启动 465
14.2.2 显示HTML文件 466
14.2.3 静态内容处理 468
14.3 用户认证系统 471
14.4 AJAX请求详解 473
14.4.1 添加数据 474
14.4.2 修改数据 476
14.4.3 删除数据 478
14.4.4 REST服务实现 479
14.5 数据持久化技术 487
14.5.1 环境搭建 487
14.5.2 数据库添加操作 488
14.5.3 数据库修改操作 489
14.5.4 数据库删除操作 490
14.5.5 数据库查询操作 491
14.5.6 数据库事务操作 492
14.5.7 数据库连接池 494
14.6 任务队列 499
14.7 媒体文件上传 502
14.8 Redis操作 504
14.8.1 Redis安装配置 504
14.8.2 Redis使用例程 505
第15章 深度学习云平台 506
15.1 神经网络持久化 506
15.1.1 数据库表设计 506
15.1.2 整体目录结构 511
15.1.3 训练过程及模型文件保存 512
15.2 神经网络运行模式 528
15.3 AJAX请求调用神经网络 531
15.3.1 显示静态网页 531
15.3.2 上传图片文件 540
15.3.3 AJAX接口 543
15.4 请求合法性验证 545
15.4.1 用户注册和登录 546
15.4.2 客户端生成请求 553
15.4.3 服务器端验证请求 555
15.5 异步结果处理 557
15.5.1 网页异步提交 557
15.5.2 应用队列管理模块 559
15.5.3 任务队列 560
15.5.4 结果队列 561
15.5.5 异步请求处理流程 562
15.6 神经网络持续改进 563
15.6.1 应用遗传算法 563
15.6.2 重新训练 564
15.6.3 生成式对抗网络 565
后 记 567
参考文献 568

读者评论

相关博文

相关图书

OpenCV 4机器学习算法原理与编程实战

朱斌 (作者)

本书主要面向OpenCV领域的研究与开发人员,采用原理结合实战的方式,介绍OpenCV 4的机器学习算法模块与深度神经网络模块中的核心算法原理与C++编程实战。...

 

深度学习500问

谈继勇 (作者)

本书系统地描述了深度学习的基本理论算法及应用。全书共14章,第1~3章论述了数学基础、机器学习基础和深度学习基础;第4~7章介绍了一些经典网络及计算机视觉领域中...

¥109.00

人工智能工程化:应用落地与中台构建

蒋彪 (作者)

人工智能深刻影响着人类发展,本书将带领读者从工程化的角度了解人工智能。<br>本书第1章和第2章简单介绍了人工智能的基本概念及其常见算法。第3章和第4章从工程化...

¥79.00

语音识别原理与应用

洪青阳 (作者)

本书从语音信号、特征提取等基础内容出发,逐层深入到动态时间规整、隐马尔科夫模型、GMM-HMM、DNN等经典算法模型,帮助读者系统了解语音识别技术的基础知识,最...

¥128.00

Python极简讲义:一本书入门数据分析与机器学习

张玉宏 (作者)

本书以图文并茂的方式介绍了Python的基础内容,并深入浅出地介绍了数据分析和机器学习领域的相关入门知识。 第1章至第5章以极简方式讲解了Python的常用语...

¥89.60

联邦学习

杨强,刘洋,程勇,康焱,陈天健,于涵 (作者) 杨强 (译者)

如何在保证本地训练数据不公开的前提下,实现多个数据拥有者协同训练一个共享的机器学习模型?传统的机器学习方法需要将所有的数据集中到一个地方(例如,数据中心),然后...

¥62.30