书籍作者:蒋子阳 | ISBN:9787517068228 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:9820 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
TensorFlow是谷歌研发的人工智能学习系统,是一个用于数值计算的开源软件库。《TensorFlow深度学习算法原理与编程实战》以基础+实践相结合的形式,详细介绍了TensorFlow深度学习算法原理及编程技巧。通读全书,读者不仅可以系统了解深度学习的相关知识,还能对使用TensorFlow进行深度学习算法设计的过程有更深入的理解。
《TensorFlow深度学习算法原理与编程实战》共14章,主要内容有:人工智能、大数据、机器学习和深度学习概述;深度学习及TensorFlow框架的相关背景;TensorFlow的安装;TensorFlow编程策略;深度前馈神经网络;优化网络的方法;全连神经网络的经典实践;卷积神经网络的基础知识;经典卷积神经网络的TensorFlow实现;循环神经网络及其应用;深度强化学习概述;TensorFlow读取数据的API;TensorFlow持久化模型的API;可视化工具TensorBoard的使用;TensorFlow使用多GPU或并行的方式加速计算等。
《TensorFlow深度学习算法原理与编程实战》内容通俗易懂,案例丰富,实用性强,特别适合对人工智能、深度学习感兴趣的的相关从业人员阅读,也适合没有相关基础但是对该方面研究充满兴趣的爱好者阅读。
蒋子阳,多年专业编程工作经验,曾参与多个机器人目标识别与定位等深度学习相关项目,擅长图像识别算法、语音识别算法等。涉及行业包括金融、证券、汽车、公共安全等领域。近年来,本人对机器学习及深度学习进行了深入研究,随着TensorFlow的出现,开始将精力转移到TensorFlow深度学习算法原理的研究中,并专门推导过其中的大部分算法,对该框架有着独特的认识和深入的理解。
讲解细:沿着需求è算法è代码实现的思路,适合各类读者
图示多:全书200多张图片,助你快速理解算法核心
案例全:将近80个代码案例,可以拿来就用
涉及广:囊括神经网络、深度强化学习、可视化、加速计算等内容
2016年3月,AlphaGo 的成功使得人工智能成为人们茶余饭后津津乐道的话题,而实现人工智能的主要方法——深度学习,也作为一个关键词开始出现在公众的视野并迅速被接纳。然而,深度学习并不算是一门比较新的技术或是一个比较新的词汇,它在2006年就出现了,在后来的一些大赛(如ILSVRC计算机视觉大赛)或实际应用上也取得了一定的效果。人工智能在不断地发展,深度学习技术已经在学术界和工业界产生了颠覆性的影响,而之所以在 AlphaGo 之前我们很少接触到深度学习,主要是因为在一些项目上深度学习获得的成功没有像 AlphaGo 那样举世瞩目而已。介绍使用TensorFlow实现深度学习,就是笔者写作本书的原因。
2015年年底面世的TensorFlow,是Google推出的一款开源的实现深度学习算法的框架。TensorFlow一经出现就获得了极大的关注——一个月内在GitHub上获得的star超过1万。得益于开源社区提供的众多支持,TensorFlow得到了飞速的发展。在写作本书时,TensorFlow的最新版本号为1.4,但是本书选择使用基于1.0.0-rc0版本的示例进行讲解,在这一版本上构建的代码应该能够很好地兼容后来或者最新的TensorFlow框架。
本书特色1.内容丰富实用、主次分明,符合初学者的学习特点
本书内容涵盖了深度学习算法设计以及使用TensorFlow框架时将会用到的一些知识,从内容安排上非常注重这些知识的基础性和实用性。全书对于必须掌握的知识点没有含糊其辞,而是进行了细致的说明;仅需要大致了解的内容则点到即止。这样的安排不仅对初学阶段必备的知识有了着重的介绍,读者也能对比较深入的知识有一个大致的了解。
2.文字叙述生动有趣,全程伴随实例,用实例学习更高效
按照认知规律,本书将内容的介绍设计得环环相扣,连贯统一。在第一部分(第1~3章),主要介绍了一些关于深度学习与TensorFlow的基础认识。为了方便后续的编程实践,在这一部分还介绍了TensorFlow的安装以及简单的编程使用规则。在第二部分(第4~10章),主要介绍了关于深度神经网络的设计以及一些网络的TensorFlow实现,如果没有第一部分介绍的相关内容,在用TensorFlow实现这些网络时无疑是充满挑战的。第三部分(第11~14章)补充了TensorFlow的使用,这一部分可以看作是TensorFlow的高阶用法,熟练掌握这些用法可以使网络的设计事半功倍。
在介绍这些知识时,笔者绝不是板着面孔,用说明书式的语言来讲授,而是以非常生动有趣的语言进行通俗易懂的讲解,确保内容能够较完整地表达写作时最初的本意,在最大程度上帮助读者掌握TensorFlow的相关内容。
3.图文搭配合理,尽量避免学习枯燥无味
尽管笔者尽力让文字通俗易懂,但TensorFlow毕竟也是目前“高大上”的技术,所以在书中很多章节不失时机地插入了一些具有说明性的图片。在笔者看来,一张恰当的图片能够节省很多枯燥无味的文字并起到辅助我们理解文章内容的作用。
本书内容及体系结构第一部分:探索深度学习之方法的开始
第一部分包括前3章内容。其中第1章是整书的开篇,放置这一章的目的主要是引导读者对人工智能的发展、机器学习与深度学习之间的关系以及人工神经网络的过去有一个初步的了解。此外,本章还涉及TensorFlow及深度学习框架的介绍。内容很多,但是却充满了联系。
第2章介绍了安装TensorFlow的一些方法。本章没有重要知识点,但使用TensorFlow框架进行深度学习算法设计或者搭建深度神经网络前将它安装在计算机上是必须的。对于安装过程,按照书中内容执行就好。
第3章介绍了一些基本的TensorFlow编程策略,可以把这一章的内容看作是TensorFlow的使用说明书,计算图、张量和会话是在使用TensorFlow 框架前必须要了解的框架本身的一些机制。这些内容不是非常的“进阶”但却非常的重要。
第二部分:TensorFlow实现深度网络
第二部分包括4~10章的内容。第4章介绍了深度前馈神经网络。该网络涵盖的范围比较广,在介绍网络的前向传播过程以及激活函数、损失函数等网络的基本组件时,都选择了比较简明的全连接形式的网络。
第5章介绍的是优化网络的方法。用一些优化方法优化网络是必须的。这一章的开始涉及了梯度下降、反向传播的理论;在后续,还针对网络会出现的过拟合现象介绍了一些相应的优化方法。可以说这一章中介绍的方法都是常用的。当然,也适当地给出了TensorFlow实现。
第6章给出了一个全连神经网络的经典实践案例,其主要内容是通过全连接形式的神经网络实现基于MNIST数据集的手写数字识别。在这个实践中用到了第4章和第5章所讲的绝大部分内容。尽管可以看作是一个入门案例,并且所占篇幅也不大,但是起到了总结所学内容的作用。
第7章介绍了卷积神经网络。卷积神经网络同样是一种前馈神经网络。不同于全连接的方式,卷积神经网络是稀疏连接的。在这一章介绍了卷积神经网络中卷积层和池化层的TensorFlow实现,并在之后以一个使用了Cifar-10数据集的简单循环神经网络作为本章中要实践的内容。作为一些补充,最后还添加了一些TensorFlow中关于图像处理的API的使用。可以说,本章的内容也是非常繁杂的。
第8章给出了经典卷积神经网络的TensorFlow实现。在第7章的基础上,这一章介绍了LeNet-5、AlexNet、VGGNet、InceptionNet-V3和ResNet 5个经典的卷积神经网络,这些卷积神经网络是按出现时间的先后顺序进行组织的,并且每一个卷积神经网络都提出了一些新的想法,章内会尽可能地分享这些想法。
第9章介绍了循环神经网络。循环神经网络已经不再属于前馈神经网络的范畴,其应用多见于自然语言处理领域(当然也不仅仅是该领域)。除了介绍循环神经网络本身,本章也适当地加入了一些其在自然语言处理领域应用的例子。
第10章是一些深度强化学习的内容,深度强化学习是现代通用人工智能的实现方法,本章使用较短的篇幅概述了深度强化学习的相关内容。
第三部分:TensorFlow的使用进阶
第三部分包括11~14章的内容。第11章介绍了使用TensorFlow进行数据读取的相关方法。网络需要数据的输入,为了方便这一过程,TensorFlow本身提供了一些API。本章主要讲述的就是这些API。
第12章介绍了TensorFlow模型持久化。将训练好的网络模型存储起来并在使用时加载存储好的模型可以节约很多的时间,因为模型的训练过程一般是比较耗时的。本章除了给出模型持久化的实例外,还适当地介绍了TensorFlow模型持久化的原理,内容比较全面。
第13章介绍了TensorFlow自带的TensorBoard可视化工具。网络模型中的一些标量数据、图片或者音频数据都可以通过TensorBoard工具可视化出来,甚至模型的计算图也可以,这大大方便了我们的调试过程。本章就介绍了如何使用这款方便的工具。
第14章介绍了TensorFlow加速计算。深度神经网络模型的训练过程中会产生大量的计算,TensorFlow支持使用多个GPU设备或者分布式的方式来并行加快计算的过程。本章先是介绍了并行计算的一些模式,然后重点放在了如何通过代码实现TensorFlow使用多个GPU设备或者分布式的方式加速计算。
本书读者对象
◎人工智能领域爱好者及相关开发人员 ◎计算机相关专业的学生
◎机器人、自动化行业的人员 ◎数据分析、数据挖掘人员
第一部分探索深度学习之方式的开始
第1章开篇
1.1人工智能的发展
1.1.1萌芽
1.1.2复苏
1.1.3现代实践:大数据+深度神经网络模型
1.2大数据
1.3机器学习与深度学习
1.3.1机器学习
1.3.2深度学习
1.3.3同人工智能的关系
1.4人工神经网络与TensorFlow
1.4.1人工神经网络
1.4.2TensorFlow
1.5其他主流深度学习框架介绍
1.5.1Caffe
1.5.2Torch
1.5.3Theano
1.5.4MXNet
1.5.5Keras
1.6机器学习的常见任务
1.6.1分类
1.6.2回归
1.6.3去噪
1.6.4转录
1.6.5机器翻译
1.6.6异常检测
1.6.7结构化输出
1.7深度学习的现代应用
1.7.1计算机视觉
1.7.2自然语言处理
1.7.3语音识别
第2章安装TensorFlow
2.1安装前的须知
2.1.1检查硬件是否达标
2.1.2推荐选用GPU进行训练
2.1.3为什么选择Linux系统
2.1.4为什么选择Python语言
2.2安装Anaconda
2.3TensorFlow的两个主要依赖包
2.3.1Protocol Buffer
2.3.2Bazel
2.4安装CUDA和cuDNN
2.4.1CUDA
2.4.2cuDNN
2.5正式安装TensorFlow
2.5.1使用pip安装
2.5.2从源代码编译并安装
2.6测试你的TensorFlow
2.6.1运行向量相加的例子
2.6.2加载过程存在的一些问题
2.7推荐使用IDE
第3章TensorFlow编程策略
3.1初识计算图与张量
3.2计算图——TensorFlow的计算模型
3.3张量——TensorFlow的数据模型
3.3.1概念
3.3.2使用张量
3.4会话——TensorFlow的运行模型
3.4.1TensorFlow系统结构概述
3.4.2简单使用会话
3.4.3使用with/as环境上下文管理器
3.4.4Session的参数配置
3.4.5placeholder机制
3.5TensorFlow变量
3.5.1创建变量
3.5.2变量与张量
3.6管理变量的变量空间
3.6.1get_variable()函数
3.6.2variable_scope()与name_scope()
第二部分TensorFlow实现深度网络
第4章深度前馈神经网络
4.1网络的前馈方式
4.2全连接
4.2.1神经元与全连接结构
4.2.2前向传播算法
4.3线性模型的局限性
4.4激活函数
4.4.1常用激活函数
4.4.2激活函数实现去线性化
4.5多层网络解决异或运算
4.6损失函数
4.6.1经典损失函数
4.6.2自定义损失函数
第5章优化网络的方法
5.1基于梯度的优化
5.1.1梯度下降算法
5.1.2随机梯度下降
5.2反向传播
5.2.1简要解释反向传播算法
5.2.2自适应学习率算法
5.2.3TensorFlow提供的优化器
5.3学习率的独立设置
5.3.1指数衰减的学习率
5.3.2其他优化学习率的方法
5.4拟合
5.4.1过拟合和欠拟合
5.4.2正则化的方法
5.4.3Bagging方法
5.4.4Dropout方法
第6章全连神经网络的经典实践
6.1MNIST数据集
6.2网络的设计
6.3超参数和验证集
6.4与简单模型的对比
第7章卷积神经网络
7.1准备性的认识
7.1.1图像识别与经典数据集
7.1.2卷积网络的神经科学基础
7.1.3卷积神经网络的历史
7.2卷积
7.2.1卷积运算
7.2.2卷积运算的稀疏连接
7.2.3卷积运算的参数共享
7.2.4卷积运算的平移等变
7.2.5多卷积核
7.2.6卷积层的代码实现
7.3池化
7.3.1池化过程
7.3.2常用池化函数
7.3.3池化层的代码实现
7.4实现卷积神经网络的简例
7.4.1卷积神经网络的一般框架
7.4.2用简单卷积神经网络实现Cifar-10数据集分类
7.5图像数据处理
7.5.1图像编解码处理
7.5.2翻转图像
7.5.3图像色彩调整
7.5.4图像标准化处理
7.5.5调整图像大小
7.5.6图像的标注框
第8章经典卷积神经网络
8.1LeNet-5卷积网络模型
8.1.1模型结构
8.1.2TensorFlow实现
8.2AlexNet卷积网络模型
8.2.1模型结构
8.2.2TensorFlow实现
8.3VGGNet卷积网络模型
8.3.1模型结构
8.3.2TensorFlow实现
8.4InceptionNet-V3卷积网络模型
8.4.1模型结构
8.4.2Inception V3 Module的实现
8.4.3使用Inception V3完成模型迁移
8.5ResNet卷积网络模型
8.5.1模型结构
8.5.2TensorFlow实现
第9章循环神经网络
9.1循环神经网络简介
9.1.1循环神经网络的前向传播程序设计
9.1.2计算循环神经网络的梯度
9.1.3循环神经网络的不同设计模式
9.2自然语言建模与词向量
9.2.1统计学语言模型
9.2.2Word2Vec
9.2.3用TensorFlow实现Word2Vec
9.3LSTM实现自然语言建模
9.3.1长短时记忆网络(LSTM)
9.3.2LSTM在自然语言建模中的应用
9.3.3循环神经网络的Dropout
9.4循环神经网络的变种
9.4.1双向循环神经网络
9.4.2深层循环神经网络
第10章深度强化学习
10.1理解基本概念
10.2深度强化学习的思路
10.3典型应用场景举例
10.3.1场景1:机械臂自控
10.3.2场景2:自动游戏系统
10.3.3场景3:自动驾驶
10.3.4场景4:智能围棋系统
10.4Q学习与深度Q网络
10.4.1Q学习与深度Q学习
10.4.2深度Q网络
第三部分TensorFlow的使用进阶
第11章数据读取
11.1文件格式
11.1.1TFRecord格式
11.1.2CSV格式
11.2队列
11.2.1数据队列
11.2.2文件队列
11.3使用多线程处理输入的数据
11.3.1使用Coordinator类管理线程
11.3.2使用QueueRunner创建线程
11.4组织数据batch
第12章模型持久化
12.1通过代码实现
12.2模型持久化的原理
12.2.1model.ckpt.mate文件
12.2.2从.index与.data文件读取变量的值
12.3持久化的MNIST手写字识别
12.4PB文件
第13章TensorBoard可视化
13.1TensorBoard简要介绍
13.2MNIST手写字识别的可视化
13.2.1实现的过程
13.2.2标量数据可视化结果
13.2.3图像数据可视化结果
13.2.4计算图可视化结果
13.3其他监控指标可视化
第14章加速计算
14.1TensorFlow支持的设备
14.2TensorFlow单机实现
14.2.1查看执行运算的设备
14.2.2device()函数的使用
14.3并行训练的原理
14.3.1数据并行
14.3.2模型并行
14.4单机多GPU加速TensorFlow程序
14.4.1实现的过程
14.4.2多GPU并行的可视化
14.5分布式TensorFlow概述
等了好久,终于到货,书算是比较厚重,希望内容一样精彩!
2018-11-10 15:42:52