深度学习之tenforflow入门、原理与进阶实战


深度学习之tenforflow入门、原理与进阶实战

文章插图
深度学习之tenforflow入门、原理与进阶实战【深度学习之tenforflow入门、原理与进阶实战】本书採用“理论+实践”的形式编写,通过大量的实例(共96个),全面而深入地讲解了深度学习神经网路原理和TensorFlow使用方法两方面的内容 。书中的实例具有很强的实用性,如对图片分类、製作一个简单的聊天机器人、进行图像识别等 。书中每章都配有一段教学视频,视频和图书的重点内容对应,能帮助读者快速地掌握该章的重点内容 。
基本介绍书名:深度学习之tensorflow入门、原理与进阶实战
作者:李金洪
ISBN:978-7-111-59005-7
页数:487
定价:99
出版社:机械工业出版社
出版时间:2018-3
装帧:平装
开本:16开
书籍介绍内容简介本书共12章,分为3篇 。第1篇深度学习与TensorFlow基础,包括快速了解人工智慧与TensorFlow、搭建开发环境、TensorFlow基本开发步骤、TensorFlow编程基础、识别图中模糊的手写数字等内容;第2篇深度学习基础——神经网路,介绍了神经网路的基础模型,包括单个神经元、多层神经网路、卷积神经网路、循环神经网路、自编码网路等内容;第3篇深度学习进阶,是对基础网路模型的灵活运用与自由组合,是对前面知识的综合及拔高,包括深度神经网路和对抗神经网路两章内容 。30秒极速了解本书精华内容1. 深度学习与TensorFlow基础快速了解人工智慧与TensorFlow搭建开发环境TensorFlow基本开发步骤——以逻辑回归拟合二维数据为例TensorFlow编程基础识别图中模糊的手写数字(实例21)2. 深度学习基础——神经网路单个神经元多层神经网路——解决非线性问题卷积神经网路——解决参数太多问题循环神经网路——具有记忆功能的网路自编码网路——能够自学习样本特徵的网路3. 深度学习进阶深度神经网路对抗神经网路(GAN)作者介绍李金洪,长期拼搏在一线的高级软体工程师 。先后担任过CAD算法工程师、手机游戏主程、架构师、项目经理、CTO、部门经理、资深产品总监和CEO等职务 。现任代码医生工作室主程式设计师 。精通C、C++、彙编、Python、Java和Go等程式语言;擅长神经网路、算法、协定分析、逆向和移动网际网路安全架构等技术 。在深度学习领域中参与过某移动网际网路后台的OCR项目、某娱乐节目机器人的语音识别和声纹识别项目,以及活体检测、金融和安全等领域的多个AI项目 。发布过两套关于CNTK深度学习框架的视频教程 。目录配套学习资源前言第1篇 深度学习与TensorFlow基础第1章 快速了解人工智慧与TensorFlow21.1 什幺是深度学习21.2 TensorFlow是做什幺的31.3 TensorFlow的特点41.4 其他深度学习框架特点及介绍51.5 如何通过本书学好深度学习61.5.1 深度学习怎幺学61.5.2 如何学习本书7第2章 搭建开发环境82.1 下载及安装Anaconda开发工具82.2 在Windows平台下载及安装TensorFlow112.3 GPU版本的安装方法122.3.1 安装CUDA软体包122.3.2 安装cuDNN库132.3.3 测试显示卡142.4 熟悉Anaconda 3开发工具152.4.1 快速了解Spyder162.4.2 快速了解Jupyter Notebook18第3章 TensorFlow基本开发步骤——以逻辑回归拟合二维数据为例193.1 实例1:从一组看似混乱的数据中找出y≈2x的规律193.1.1 準备数据203.1.2 搭建模型213.1.3 叠代训练模型233.1.4 使用模型253.2 模型是如何训练出来的253.2.1 模型里的内容及意义253.2.2 模型内部的数据流向263.3 了解TensorFlow开发的基本步骤273.3.1 定义输入节点的方法273.3.2 实例2:通过字典类型定义输入节点283.3.3 实例3:直接定义输入节点283.3.4 定义“学习参数”的变数293.3.5 实例4:通过字典类型定义“学习参数”293.3.6 定义“运算”293.3.7 最佳化函式,最佳化目标303.3.8 初始化所有变数303.3.9 叠代更新参数到最优解313.3.10 测试模型313.3.11 使用模型31第4章 TensorFlow编程基础324.1 编程模型324.1.1 了解模型的运行机制334.1.2 实例5:编写hello world程式演示session的使用344.1.3 实例6:演示with session的使用354.1.4 实例7:演示注入机制354.1.5 建立session的其他方法364.1.6 实例8:使用注入机制获取节点364.1.7 指定GPU运算374.1.8 设定GPU使用资源374.1.9 保存和载入模型的方法介绍384.1.10 实例9:保存/载入线性回归模型384.1.11 实例10:分析模型内容,演示模型的其他保存方法404.1.12 检查点(Checkpoint)414.1.13 实例11:为模型添加保存检查点414.1.14 实例12:更简便地保存检查点444.1.15 模型操作常用函式总结454.1.16 TensorBoard可视化介绍454.1.17 实例13:线性回归的TensorBoard可视化464.2 TensorFlow基础类型定义及操作函式介绍484.2.1 张量及操作494.2.2 算术运算函式554.2.3 矩阵相关的运算564.2.4 複数操作函式584.2.5 规约计算594.2.6 分割604.2.7 序列比较与索引提取614.2.8 错误类624.3 共享变数624.3.1 共享变数用途624.3.2 使用get-variable获取变数634.3.3 实例14:演示get_variable和Variable的区别634.3.4 实例15:在特定的作用域下获取变数654.3.5 实例16:共享变数功能的实现664.3.6 实例17:初始化共享变数的作用域674.3.7 实例18:演示作用域与操作符的受限範围684.4 实例19:图的基本操作704.4.1 建立图704.4.2 获取张量714.4.3 获取节点操作724.4.4 获取元素列表734.4.5 获取对象734.4.6 练习题744.5 配置分散式TensorFlow744.5.1 分散式TensorFlow的角色及原理744.5.2 分布部署TensorFlow的具体方法754.5.3 实例20:使用TensorFlow实现分散式部署训练754.6 动态图(Eager)814.7 数据集(tf.data)82第5章 识别图中模糊的手写数字(实例21)835.1 导入图片数据集845.1.1 MNIST数据集介绍845.1.2 下载并安装MNIST数据集855.2 分析图片的特点,定义变数875.3 构建模型875.3.1 定义学习参数875.3.2 定义输出节点885.3.3 定义反向传播的结构885.4 训练模型并输出中间状态参数895.5 测试模型905.6 保存模型915.7 读取模型92第2篇 深度学习基础——神经网路第6章 单个神经元966.1 神经元的拟合原理966.1.1 正向传播986.1.2 反向传播986.2 激活函式——加入非线性因素,解决线性模型缺陷996.2.1 Sigmoid函式996.2.2 Tanh函式1006.2.3 ReLU函式1016.2.4 Swish函式1036.2.5 激活函式总结1036.3 softmax算法——处理分类问题1036.3.1 什幺是softmax1046.3.2 softmax原理1046.3.3 常用的分类函式1056.4 损失函式——用真实值与预测值的距离来指导模型的收敛方向1056.4.1 损失函式介绍1056.4.2 TensorFlow中常见的loss函式1066.5 softmax算法与损失函式的综合套用1086.5.1 实例22:交叉熵实验1086.5.2 实例23:one_hot实验1096.5.3 实例24:sparse交叉熵的使用1106.5.4 实例25:计算loss值1106.5.5 练习题1116.6 梯度下降——让模型逼近最小偏差1116.6.1 梯度下降的作用及分类1116.6.2 TensorFlow中的梯度下降函式1126.6.3 退化学习率——在训练的速度与精度之间找到平衡1136.6.4 实例26:退化学习率的用法举例1146.7 初始化学习参数1156.8 单个神经元的扩展——Maxout网路1166.8.1 Maxout介绍1166.8.2 实例27:用Maxout网路实现MNIST分类1176.9 练习题118第7章 多层神经网路——解决非线性问题1197.1 线性问题与非线性问题1197.1.1 实例28:用线性单分逻辑回归分析肿瘤是良性还是恶性的1197.1.2 实例29:用线性逻辑回归处理多分类问题1237.1.3 认识非线性问题1297.2 使用隐藏层解决非线性问题1307.2.1 实例30:使用带隐藏层的神经网路拟合异或操作1307.2.2 非线性网路的可视化及其意义1337.2.3 练习题1357.3 实例31:利用全连线网路将图片进行分类1367.4 全连线网路训练中的最佳化技巧1377.4.1 实例32:利用异或数据集演示过拟合问题1387.4.2 正则化1437.4.3 实例33:通过正则化改善过拟合情况1447.4.4 实例34:通过增大数据集改善过拟合1457.4.5 练习题1467.4.6 dropout——训练过程中,将部分神经单元暂时丢弃1467.4.7 实例35:为异或数据集模型添加dropout1477.4.8 实例36:基于退化学习率dropout技术来拟合异或数据集1497.4.9 全连线网路的深浅关係1507.5 练习题150第8章 卷积神经网路——解决参数太多问题1518.1 全连线网路的局限性1518.2 理解卷积神经网路1528.3 网路结构1538.3.1 网路结构描述1538.3.2 卷积操作1558.3.3 池化层1578.4 卷积神经网路的相关函式1588.4.1 卷积函式tf.nn.conv2d1588.4.2 padding规则介绍1598.4.3 实例37:卷积函式的使用1608.4.4 实例38:使用卷积提取图片的轮廓1658.4.5 池化函式tf.nn.max_pool(avg_pool)1678.4.6 实例39:池化函式的使用1678.5 使用卷积神经网路对图片分类1708.5.1 CIFAR介绍1718.5.2 下载CIFAR数据1728.5.3 实例40:导入并显示CIFAR数据集1738.5.4 实例41:显示CIFAR数据集的原始图片1748.5.5 cifar10_input的其他功能1768.5.6 在TensorFlow中使用queue1768.5.7 实例42:协调器的用法演示1788.5.8 实例43:为session中的伫列加上协调器1798.5.9 实例44:建立一个带有全局平均池化层的卷积神经网路1808.5.10 练习题1838.6 反卷积神经网路1838.6.1 反卷积神经网路的套用场景1848.6.2 反卷积原理1848.6.3 实例45:演示反卷积的操作1858.6.4 反池化原理1888.6.5 实例46:演示反池化的操作1898.6.6 实例47:演示gradients基本用法1928.6.7 实例48:使用gradients对多个式子求多变数偏导1928.6.8 实例49:演示梯度停止的实现1938.7 实例50:用反卷积技术复原卷积网路各层图像1958.8 善用函式封装库1988.8.1 实例51:使用函式封装库重写CIFAR卷积网路1988.8.2 练习题2018.9 深度学习的模型训练技巧2018.9.1 实例52:最佳化卷积核技术的演示2018.9.2 实例53:多通道卷积技术的演示2028.9.3 批量归一化2048.9.4 实例54:为CIFAR图片分类模型添加BN2078.9.5 练习题209第9章 循环神经网路——具有记忆功能的网路2109.1 了解RNN的工作原理2109.1.1 了解人的记忆原理2109.1.2 RNN网路的套用领域2129.1.3 正向传播过程2129.1.4 随时间反向传播2139.2 简单RNN2159.2.1 实例55:简单循环神经网路实现——裸写一个退位减法器2159.2.2 实例56:使用RNN网路拟合回声信号序列2209.3 循环神经网路(RNN)的改进2259.3.1 LSTM网路介绍2259.3.2 窥视孔连线(Peephole)2289.3.3 带有映射输出的STMP2309.3.4 基于梯度剪辑的cell2309.3.5 GRU网路介绍2309.3.6 Bi-RNN网路介绍2319.3.7 基于神经网路的时序类分类CTC2329.4 TensorFlow实战RNN2339.4.1 TensorFlow中的cell类2339.4.2 通过cell类构建RNN2349.4.3 实例57:构建单层LSTM网路对MNIST数据集分类2399.4.4 实例58:构建单层GRU网路对MNIST数据集分类2409.4.5 实例59:创建动态单层RNN网路对MNIST数据集分类2409.4.6 实例60:静态多层LSTM对MNIST数据集分类2419.4.7 实例61:静态多层RNN-LSTM连线GRU对MNIST数据集分类2429.4.8 实例62:动态多层RNN对MNIST数据集分类2429.4.9 练习题2439.4.10 实例63:构建单层动态双向RNN对MNIST数据集分类2439.4.11 实例64:构建单层静态双向RNN对MNIST数据集分类2449.4.12 实例65:构建多层双向RNN对MNIST数据集分类2469.4.13 实例66:构建动态多层双向RNN对MNIST数据集分类2479.4.14 初始化RNN2479.4.15 最佳化RNN2489.4.16 实例67:在GRUCell中实现LN2499.4.17 CTC网路的loss——ctc_loss2519.4.18 CTCdecoder2549.5 实例68:利用BiRNN实现语音识别2559.5.1 语音识别背景2559.5.2 获取并整理样本2569.5.3 训练模型2659.5.4 练习题2729.6 实例69:利用RNN训练语言模型2739.6.1 準备样本2739.6.2 构建模型2759.7 语言模型的系统学习2799.7.1 统计语言模型2799.7.2 词向量2799.7.3 word2vec2819.7.4 实例70:用CBOW模型训练自己的word2vec2839.7.5 实例71:使用指定侯选採样本训练word2vec2939.7.6 练习题2969.8 处理