《深度学习算法实践(基于Theano和TensorFlow)》内容简介|作者

内容简介

本书以深度学习算法入门为主要内容,通过系统介绍Python、NumPy、SciPy等科学计算库,深度学习主流算法,深度学习前沿研究,深度学习服务云平台构建四大主线,向读者系统地介绍了深度学习的主要内容和研究进展。本书介绍了Python、NumPy、SciPy的使用技巧,面向谷歌推出的开源深度学习框架TensorFlow,向读者展示了利用TensorFlow和Theano框架实现线性回归、逻辑回归、多层感知器、卷积神经网络、递归神经网络、长短时记忆网络、去噪自动编码机、堆叠自动编码机、受限玻尔兹曼机、深度信念网络等,并将这些技术用于MNIST手写数字识别任务。本书不仅讲述了深度学习算法本身,而且重点讲述了如何将这些深度学习算法包装成Web服务。本书旨在帮助广大工程技术人员快速掌握深度学习相关理论和实践,并将这些知识应用到实际工作中。

本书可以作为各类深度学习培训班的教材,也可以作为全国高等工科院校 深度学习 课程的教材,还可以作为广大人工智能、深度学习领域工程技术人员的参考书。

作者简介:

闫涛,网名 最老程序员 。中科院苏州生物医学工程技术研究所副研究员(兼),科技部重点专项:帕金森症早期预防、 十三五 出生缺陷预防系统研究课题组成员,专注于深度学习在医学影像学诊断、医学图像分割、医学图像诊断性标注等应用方向的技术开发。CSDN博客重度使用者,博客地址http://blog.csdn.net/yt7589。北京动维康科技有限公司联合创始人、首席技术官,主持开发了移动医疗系统随诊医生。专注于移动互联网软件开发20年,精通主流开发技术,尤其擅长处理大容量、高并发系统的设计与实现。开源软件倡导者,本书部分代码的GitHub网址为https://github.com/yt7589/dlp/tree/master/book。

目 录:

目 录

第一部分 深度学习算法概述

第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

为您推荐

《谢米尔的小潜水艇》内容简介|作者

内容简介 好的幻想小说都是成长小说,它长久不衰的魅力,在于它能帮孩子处理成长过程中必须面对的内心冲突。它是一面镜子,能照出孩子的自我;是孩子们演练内心冲突的一个舞台;是一次孩子们的自我发现之旅。 日本大幻想文学..

《高考英语高分作文字帖》内容简介|作者

内容简介书籍特色 这是一套对英文字母、单词、短语、句子、文章书法练习的字帖,根据习字者的书法水平和英语程度,由浅入深,由易到难,通过循序渐进的练习,帮助习字者快速提高书..

《魏晋唐小楷-中国历代名碑名帖精选》内容简介|作者

内容简介书籍特色 为传承和发扬传统文化,江西美术出版社北京分社推出《中国历代名碑名帖精选》系列图书,让我们从这里抵达华夏文明的深处。  书法艺术是中华文化瑰宝,古人..

《王福庵印谱-全3册》内容简介|作者

《硬笔楷书入门字帖》内容简介|作者

内容简介书籍特色 广大学生和书法爱好者书写汉字,力求规范、端正、整洁,能用钢笔熟练地书写正楷字,逐步提高书写速度,规范书写习惯。随着国家对传统文化越来越重视,写一手好的..

《李文采临王羲之圣教序碑》内容简介|作者

内容简介本书由僧人怀仁集王羲之书而成。怀仁从唐内府所藏王羲之书迹及民间王字遗墨中集《圣教序》, 历时二十四年。前人评价此碑: “天衣无缝, 胜于自运”, “逸少真迹, 咸萃其中”。由于王羲之真迹不存, 此碑是后人..

《李文采临李邕李思训碑》内容简介|作者

内容简介本书精选历代著名碑帖 (自殷商至近代) 影印出版, 纵贯中国书法史, 更加精当合理, 底本注重艺术性与版本价值相结合, 是广大读者学习书法艺术的首选法帖。碑高一丈一尺三寸六分, 宽四尺八寸五分。字共三十行,..