深度学习算法实践(基于Theano和TensorFlow)出版时间:2018内容简介 本书以深度学习算法入门为主要内容,通过系统介绍Python、NumPy、SciPy等科学计算库,深度学习主流算法,深度学习前沿研究,深度学习服务云平台构建四大主线,向读者系统地介绍了深度学习的主要内容和研究进展。本书介绍了Python、NumPy、SciPy的使用技巧,面向谷歌推出的开源深度学习框架TensorFlow,向读者展示了利用TensorFlow和Theano框架实现线性回归、逻辑回归、多层感知器、卷积神经网络、递归神经网络、长短时记忆网络、去噪自动编码机、堆叠自动编码机、受限玻尔兹曼机、深度信念网络等,并将这些技术用于MNIST手写数字识别任务。本书不仅讲述了深度学习算法本身,而且重点讲述了如何将这些深度学习算法包装成Web服务。本书旨在帮助广大工程技术人员快速掌握深度学习相关理论和实践,并将这些知识应用到实际工作中。目 录第一部分 深度学习算法概述第1章 深度学习算法简介 21.1 神经网络发展简史 21.1.1 神经网络第一次兴起 31.1.2 神经网络沉寂期(20世纪80年代―21世纪) 41.1.3 神经网络技术积累期(20世纪90年代―2006年) 51.1.4 深度学习算法崛起(2006年至今) 81.2 深度学习现状 101.2.1 传统神经网络困境 101.2.2 深度多层感知器 121.2.3 深度卷积神经网络 141.2.4 深度递归神经网络 151.3 深度学习研究前瞻 161.3.1 自动编码机 171.3.2 深度信念网络 181.3.3 生成式网络最新进展 191.4 深度学习框架比较 201.4.1 TensorFlow 201.4.2 Theano 211.4.3 Torch 221.4.4 DeepLearning4J 231.4.5 Caffe 231.4.6 MXNet 241.4.7 CNTK 271.4.8 深度学习框架造型指导原则 271.5 深度学习入门路径 281.5.1 运行MNIST 281.5.2 深度学习框架的选择 291.5.3 小型试验网络 331.5.4 训练生产网络 331.5.5 搭建生产环境 341.5.6 持续改进 35第二部分 深度学习算法基础第2章 搭建深度学习开发环境 382.1 安装Python开发环境 382.1.1 安装最新版本Python 382.1.2 Python虚拟环境配置 392.1.3 安装科学计算库 402.1.4 安装最新版本Theano 402.1.5 图形绘制 402.2 NumPy简易教程 432.2.1 Python基础 432.2.2 多维数组的使用 512.2.3 向量运算 582.2.4 矩阵运算 602.2.5 线性代数 622.3 TensorFlow简易教程 682.3.1 张量定义 692.3.2 变量和placeholder 692.3.3 神经元激活函数 712.3.4 线性代数运算 722.3.5 操作数据集 742.4 Theano简易教程 772.4.1 安装Theano 772.4.2 Theano入门 782.4.3 Theano矩阵相加 792.4.4 变量和共享变量 802.4.5 随机数的使用 842.4.6 Theano求导 842.5 线性回归 862.5.1 问题描述 862.5.2 线性模型 882.5.3 线性回归学习算法 892.5.4 解析法 902.5.5 Theano实现 93第3章 逻辑回归 1003.1 逻辑回归数学基础 1003.1.1 逻辑回归算法的直观解释 1003.1.2 逻辑回归算法数学推导 1013.1.3 牛顿法解逻辑回归问题 1033.1.4 通用学习模型 1063.2 逻辑回归算法简单应用 1133.3 MNIST手写数字识别库简介 1243.4 逻辑回归MNIST手写数字识别 126第4章 感知器模型和MLP 1394.1 感知器模型 1394.1.1 神经元模型 1394.1.2 神经网络架构 1434.2 数值计算形式 1444.2.1 前向传播 1444.2.2 误差反向传播 1454.2.3 算法推导 1474.3 向量化表示形式 1524.4 应用要点 1534.4.1 输入信号模型 1544.4.2 权值初始化 1554.4.3 早期停止 1554.4.4 输入信号调整 1564.5 TensorFlow实现MLP 156第5章 卷积神经网络 1745.1 卷积神经网络原理 1745.1.1 卷积神经网络的直观理解 1745.1.2 卷积神经网络构成 1775.1.3 卷积神经网络设计 1915.1.4 迁移学习和网络微调 1935.2 卷积神经网络的TensorFlow实现 1955.2.1 模型搭建 1975.2.2 训练方法 2035.2.3 运行方法 208第6章 递归神经网络 2126.1 递归神经网络原理 2126.1.1 递归神经网络表示方法 2136.1.2 数学原理 2146.1.3 简单递归神经网络应用示例 2196.2 图像标记 2266.2.1 建立开发环境 2266.2.2 图像标记数据集处理 2276.2.3 单步前向传播 2296.2.4 单步反向传播 2316.2.5 完整前向传播 2346.2.6 完整反向传播 2366.2.7 单词嵌入前向传播 2396.2.8 单词嵌入反向传播 2416.2.9 输出层前向/反向传播 2436.2.10 输出层代价函数计算 2456.2.11 图像标注网络整体架构 2486.2.12 代价函数计算 2496.2.13 生成图像标记 2556.2.14 网络训练过程 2586.2.15 网络持久化 265第7章 长短时记忆网络 2697.1 长短时记忆网络原理 2697.1.1 网络架构 2697.1.2 数学公式 2727.2 MNIST手写数字识别 274第三部分 深度学习算法进阶第8章 自动编码机 2868.1 自动编码机概述 2868.1.1 自动编码机原理 2878.1.2 去噪自动编码机 2878.1.3 稀疏自动编码机 2888.2 去噪自动编码机TensorFlow实现 2918.3 去噪自动编码机的Theano实现 298第9章 堆叠自动编码机 3079.1 堆叠去噪自动编码机 3089.2 TensorFlow实现 3229.3 Theano实现 341第10章 受限玻尔兹曼机 34410.1 受限玻尔兹曼机原理 34410.1.1 网络架构 34410.1.2 能量模型 34610.1.3 CD-K算法 35110.2 受限玻尔兹曼机TensorFlow实现 35310.3 受限玻尔兹曼机Theano实现 362第11章 深度信念网络 38111.1 深度信念网络原理 38111.2 深度信念网络TensorFlow实现 38211.3 深度信念网络Theano实现 403第四部分 机器学习基础第12章 生成式学习 42012.1 高斯判别分析 42212.1.1 多变量高斯分布 42212.1.2 高斯判决分析公式 42312.2 朴素贝叶斯 43612.2.1 朴素贝叶斯分类器 43612.2.2 拉普拉斯平滑 43912.2.3 多项式事件模型 441第13章 支撑向量机 44413.1 支撑向量机概述 44413.1.1 函数间隔和几何间隔 44513.1.2 最优距离分类器 44813.2 拉格朗日对偶 44813.3 最优分类器算法 45013.4 核方法 45313.5 非线性可分问题 45513.6 SMO算法 45713.6.1 坐标上升算法 45813.6.2 SMO算法详解 458第五部分 深度学习平台API第14章 Python Web编程 46214.1 Python Web开发环境搭建 46214.1.1 CherryPy框架 46314.1.2 CherryPy安装 46314.1.3 测试CherryPy安装是否成功 46414.2 最简Web服务器 46514.2.1 程序启动 46514.2.2 显示HTML文件 46614.2.3 静态内容处理 46814.3 用户认证系统 47114.4 AJAX请求详解 47314.4.1 添加数据 47414.4.2 修改数据 47614.4.3 删除数据 47814.4.4 REST服务实现 47914.5 数据持久化技术 48714.5.1 环境搭建 48714.5.2 数据库添加操作 48814.5.3 数据库修改操作 48914.5.4 数据库删除操作 49014.5.5 数据库查询操作 49114.5.6 数据库事务操作 49214.5.7 数据库连接池 49414.6 任务队列 49914.7 媒体文件上传 50214.8 Redis操作 50414.8.1 Redis安装配置 50414.8.2 Redis使用例程 505第15章 深度学习云平台 50615.1 神经网络持久化 50615.1.1 数据库表设计 50615.1.2 整体目录结构 51115.1.3 训练过程及模型文件保存 51215.2 神经网络运行模式 52815.3 AJAX请求调用神经网络 53115.3.1 显示静态网页 53115.3.2 上传图片文件 54015.3.3 AJAX接口 54315.4 请求合法性验证 54515.4.1 用户注册和登录 54615.4.2 客户端生成请求 55315.4.3 服务器端验证请求 55515.5 异步结果处理 55715.5.1 网页异步提交 55715.5.2 应用队列管理模块 55915.5.3 任务队列 56015.5.4 结果队列 56115.5.5 异步请求处理流程 56215.6 神经网络持续改进 56315.6.1 应用遗传算法 56315.6.2 重新训练 56415.6.3 生成式对抗网络 565后 记 567参考文献 568 上一篇: 实战Java虚拟机:JVM故障诊断与性能优化 [葛一鸣] 2017年版 下一篇: Python应用开发实战