新書推薦:
《
甲骨拼合六集
》
售價:HK$
333.8
《
视觉美食家:商业摄影实战与创意解析
》
售價:HK$
132.2
《
中国经济发展的新阶段:机会与选择
》
售價:HK$
99.7
《
DK月季玫瑰百科
》
售價:HK$
210.6
《
为你想要的生活
》
售價:HK$
66.1
《
关键改变:如何实现自我蜕变
》
售價:HK$
77.3
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
99.7
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
62.7
|
編輯推薦: |
《深度学习TensorFlow编程实战》首先讲述了深度学习的基本原理,了解基本的深度学习算法之后,通过实践来解决经典的问题,逐步过渡到解决实际问题。其次,《深度学习TensorFlow编程实战》精心设计了一些调用不同的TensorFlow API来构建深度网络的实例,读者能亲身体会如何将深度学习理论应用到实际中,加深对深度学习算法的理解和编程能力的提高,逐步掌握深度学习的原理和编程技能,拉近理论与实践的距离。*后,本书专门设有读者QQ群,欢迎读者加群,方便与作者一起探讨书中的技术问题。
|
內容簡介: |
《深度学习TensorFlow编程实战》讲述深度学习的基本原理,使用TensorFlow实现涉及的深度学习算法。通过理论学习和编程操作,使读者了解并掌握深度学习的原理和TensorFlow编程技能,拉近理论与实践的距离。全书共分为10章,主要内容包括TensorFlow介绍、TensorFlow文件操作、BP神经网络原理与实现、TensorFlow基础编程、神经网络训练与优化、卷积神经网络原理、卷积神经网络示例、词嵌入模型、循环神经网络原理、循环神经网络示例。全书源码全部在TensorFlow 1.13版本上调试成功。 《深度学习TensorFlow编程实战》内容较全面、可操作性强,做到了理论与实践相结合。本书适合深度学习和TensorFlow编程人员作为入门和提高的技术参考书,也适合用作计算机专业高年级本科生和研究生的教材或教学参考书。
|
關於作者: |
袁梅宇,北航工学博士,硕士导师,现在昆明理工大学计算机系任教。为本科生和研究生主讲Java程序设计、Java EE技术、数据库原理、人工智能、Dot Net技术等核心课程,参加过863 CIMS Net建设、中欧合作项目DRAGON和多项国家基金和省基金项目,第一作者公开发表论文十余篇,软件著作权(颁证)六项。第一作者专著有《Java EE企业级编程开发实例详解》、《数据挖掘与机器学习WEKA应用技术与实践》(第一版、第二版)、《求精要诀Java EE编程开发案例精讲》。
|
目錄:
|
第1章 TensorFlow介绍 1
1.1 深度学习与TensorFlow简介 2
1.1.1 深度学习简介 2
1.1.2 TensorFlow简介 3
1.2 TensorFlow的安装 6
1.2.1 Anaconda下载 6
1.2.2 在Windows平台安装TensorFlow 7
1.2.3 在Linux Ubuntu下安装TensorFlow 8
1.2.4 Anaconda管理 9
1.3 常用数据集 13
1.3.1 MNIST数据集 13
1.3.2 Fashion-MNIST数据集 14
1.3.3 IMDB数据集 16
1.3.4 CIFAR-10数据集 18
1.3.5 REUTERS数据集 20
1.3.6 QIQC数据集 22
1.3.7 Dogs vs. Cats数据集 23
第2章 TensorFlow文件操作 25
2.1 CSV文件操作 26
2.1.1 读取CSV文件 26
2.1.2 生成CSV文件 27
2.2 编写网络下载程序 28
2.3 TFRecords文件操作 30
2.3.1 生成TFRecords文件 30
2.3.2 读取TFRecords文件 33
2.4 数据集API 35
2.4.1 数据集对象 35
2.4.2 读取内存数据 36
2.4.3 读取文本文件 38
2.4.4 读取CSV文件 39
2.4.5 读取图像文件 41
第3章 BP神经网络原理与实现 45
3.1 神经网络构件 46
3.1.1 神经元 46
3.1.2 激活函数 47
3.2 神经网络原理 52
3.2.1 神经网络表示 52
3.2.2 前向传播 54
3.2.3 代价函数 58
3.2.4 梯度下降 58
3.2.5 反向传播 60
3.3 BP神经网络的Python实现 62
3.3.1 辅助函数 62
3.3.2 前向传播实现 66
3.3.3 反向传播实现 68
3.3.4 模型训练和预测 72
3.3.5 主函数和运行结果 74
3.4 BP神经网络的TensorFlow实现 76
3.4.1 加载数据集 76
3.4.2 模型训练和预测 77
第4章 TensorFlow基础编程 79
4.1 TensorFlow的编程环境 80
4.2 TensorFlow计算图 81
4.3 核心概念 81
4.3.1 变量与占位符 81
4.3.2 矩阵运算 85
4.3.3 常用运算符 86
4.3.4 图、会话及运行 87
4.4 通过实例学习TensorFlow 90
4.4.1 异或问题描述与解决思路 90
4.4.2 低级API解决异或问题 91
4.4.3 用Keras解决异或问题 93
4.4.4 用Estimators解决异或问题 94
4.5 一个简单的文本分类示例 97
4.6 TensorBoard可视化工具 101
4.6.1 启动TensorBoard 101
4.6.2 在浏览器中查看 103
第5章 神经网络训练与优化 107
5.1 神经网络迭代概述 108
5.1.1 训练误差与泛化误差 108
5.1.2 训练集、验证集和测试集的划分 109
5.1.3 偏差与方差 111
5.2 正则化方法 112
5.2.1 提前终止 113
5.2.2 正则化 113
5.2.3 Dropout 115
5.3 优化算法 117
5.3.1 小批量梯度下降 117
5.3.2 Momentum算法 119
5.3.3 RMSProp算法 121
5.3.4 Adam算法 124
第6章 卷积神经网络原理 127
6.1 CNN介绍 128
6.1.1 CNN与图像处理 128
6.1.2 卷积的基本原理 128
6.1.3 池化的基本原理 138
6.2 Keras实现LeNet-5网络 142
6.2.1 LeNet-5介绍 142
6.2.2 使用Keras实现LeNet-5网络 143
6.3 用Estimator实现CIFAR-10图像识别 147
6.3.1 预创建的Estimator 147
6.3.2 定制 Estimator 151
6.3.3 用TensorBoard查看 157
第7章 卷积神经网络示例 161
7.1 经典CNN案例 162
7.1.1 VGG 162
7.1.2 ResNet 163
7.1.3 Inception 165
7.1.4 Xception 168
7.2 使用预训练的CNN 169
7.2.1 直接使用预训练CNN 169
7.2.2 数据生成器 172
7.2.3 特征提取 173
7.2.4 微调 181
7.3 CNN可视化 183
7.3.1 中间激活可视化 183
7.3.2 过滤器可视化 190
第8章 词嵌入模型 195
8.1 词嵌入模型介绍 196
8.1.1 独热码 196
8.1.2 词嵌入 202
8.2 词嵌入学习 204
8.2.1 词嵌入学习的动机 204
8.2.2 Skip-Gram算法 205
8.2.3 CBOW算法 207
8.2.4 负采样 208
8.2.5 GloVe算法 211
8.3 Word2Vec算法实现 212
8.3.1 Skip-Gram算法实现 212
8.3.2 CBOW算法实现 218
8.3.3 负采样Skip-Gram算法实现 220
第9章 循环神经网络原理 229
9.1 RNN介绍 230
9.1.1 有记忆的神经网络 230
9.1.2 RNN的用途 233
9.2 基本的RNN模型 236
9.2.1 基本RNN的原理 236
9.2.2 基本RNN的训练问题 241
9.2.3 基本RNN示例 243
9.3 LSTM 246
9.3.1 LSTM原理 246
9.3.2 LSTM示例 250
9.4 GRU 251
9.4.1 GRU原理 251
9.4.2 GRU示例 253
第10章 循环神经网络示例 255
10.1 情感分析 256
10.2 文本序列数据生成 262
10.2.1 向莎士比亚学写诗 262
10.2.2 神经机器翻译 268
参考文献282
|
內容試閱:
|
深度学习是机器学习中最激动人心的领域,深度学习算法工程师、图像视觉工程师和自然语言处理工程师逐渐成为报酬高的新兴职业,各行各业的公司都在寻求具备深度学习理论知识和TensorFlow编程技能的人才。只有具备深度学习相关理论和实践技能,才更有可能在上述新兴职业中获得成功,但是学习和掌握神经网络、卷积神经网络、循环神经网络等深度学习理论具有一定的难度,同时掌握TensorFlow等常用深度学习工具更显得困难重重,因此一本容易上手的深度学习入门书籍肯定会对初学者有很大帮助。本书就是专门为初学者精心编写的。
初学者学习深度学习理论与TensorFlow编程技术一般都会面临两大障碍。第一大障碍是深度学习理论基础。深度学习包含很多需要掌握的基本概念,如神经元、全连接、Dropout、Normalizing、权重初始化、优化算法、卷积神经网络、卷积层、池化层、残差网络、Inception网络、迁移学习、循环神经网络、LSTM、GRU、双向循环神经网络、词嵌入、Word2Vec、GloVe、注意力机制等,学习和理解这些概念需要花费大量的时间和精力,学习周期漫长。第二大障碍是编程实践。TensorFlow是一个非常庞大的开源平台,拥有一个包含各种工具、库和社区资源的全面、灵活的生态系统。即便使用最为流行的Python接口,也有多种API可选,如低级TensorFlow API、Estimators和Keras,这三种API使得学习TensorFlow编程更为困难,学习曲线陡且应用中会不断遇到新问题。
本书就是为了让初学者顺利入门而设计的。首先,本书讲述深度学习的基本原理。了解基本的深度学习算法之后,通过实践来解决经典的问题,逐步过渡到解决实际问题。其次,本书精心设计了一些调用不同的TensorFlow API来构建深度网络的实例,读者能亲身体会如何将深度学习理论应用到实际中,加深对深度学习算法的理解,提高编程能力,逐步掌握深度学习的原理和编程技能,拉近理论与实践的距离。最后,本书专门设有读者QQ群,群号为278724996,欢迎读者加群,下载书中源代码,与作者直接对话,探讨书中技术问题。
本书共分为10章。第1章介绍深度学习和TensorFlow的基本概念、TensorFlow的安装和常用数据集;第2章介绍TensorFlow文件操作,主要内容包括CSV文件操作、编写网络下载程序、TFRecords文件操作和数据集API;第3章介绍BP神经网络原理与实现,主要内容包括BP神经网络介绍、神经网络原理、BP神经网络的Python实现、BP神经网络的TensorFlow实现;第4章介绍TensorFlow基础编程,主要内容包括TensorFlow的编程环境、TensorFlow计算图、核心概念、通过实例学习TensorFlow、一个简单的文本分类示例和TensorBoard可视化工具;第5章介绍神经网络训练与优化,主要内容包括神经网络迭代概念、正则化方法、优化算法;第6章介绍卷积神经网络原理,主要内容包括CNN的基本概念、Keras实现LeNet-5网络、Estimator实现CIFAR-10图像识别;第7章为卷积神经网络示例,主要内容包括CNN案例介绍、使用预训练的CNN算法以及CNN可视化;第8章介绍词嵌入模型,主要内容包括词嵌入模型介绍、词嵌入学习、Word2Vec算法实现;第9章介绍循环神经网络原理,主要内容包括RNN介绍、基本的RNN模型、LSTM、GRU以及对应的API介绍;第10章为循环神经网络示例,主要内容包括情感分析、文本序列数据生成。
感谢昆明理工大学提供的研究和写作环境。感谢清华大学出版社的编辑老师在出版方面提出的建设性意见和给予的无私帮助;特别感谢出版社的魏莹老师,没有她的大力支持、帮助和鼓励,这本书不一定能够面世。感谢读者群的一些未见面的群友,他们对作者以前的著作提出宝贵的建议并鼓励作者撰写更多更好的技术书籍,虽然我无法一一列举姓名,但他们的帮助我会一直铭记在心。感谢购买本书的朋友,欢迎批评指正,你们的批评建议都会受到重视,并在将来再版中改进。
作者在写作中付出很多精力和劳动,但限于作者的学识、能力和精力,书中难免存在一些缺陷,甚至错误,敬请各位读者批评指正。
袁梅宇
于昆明理工大学
|
|