新書推薦:
《
白夜追凶(上下)
》
售價:HK$
109.8
《
财富、战争与智慧——二战股市风云录
》
售價:HK$
132.2
《
低空经济:中国经济发展新引擎
》
售價:HK$
88.5
《
汉字学理与小学汉字教学
》
售價:HK$
89.6
《
即将到来的能源战争
》
售價:HK$
89.4
《
时刻人文·臆造南洋:马来半岛的神鬼人兽
》
售價:HK$
65.0
《
心智、现代性与疯癫:文化对人类经验的影响
》
售價:HK$
188.2
《
时刻人文·信用的承诺与风险:一个被遗忘的犹太金融传说与欧洲商业社会的形成
》
售價:HK$
103.0
|
編輯推薦: |
读者对象:
希望了解TensorFlow结构和新特性的数据科学家、机器学习的开发人员、深度学习的研究人员和具有统计知识的开发者。要充分利用这本书,需要你掌握Python编程语言方面的知识。
TensorFlow是流行的、使用广泛的机器学习框架,它使得每个人都能轻松开发机器学习解决方案。使用TensorFlow 2.0,你将研究一个改进后的框架结构,它提供了大量的新特性,以提升开发者的工作效率和便于开发者使用。
本书通过聚焦于开发基于神经网络的解决方案来介绍机器学习。本书从构建深度学习解决方案所需的概念和技术开始介绍,之后将介绍如何创建分类器、构建目标检测和语义分割神经网络、训练生成式模型,以及使用TensorFlow 2.0的工具(如TensorFlow Datasets和TensorFlow Hub)加速开发过程。
学完本书之后,你将能够使用TensorFlow 2.0开发任何机器学习问题的解决方案,并能将它们部署到生产环境之中。
你将学到以下内容:
? 掌握机器学习和神经网络技术,解决有挑战性的任务。
? 使用TensorFlow 2.0的新特性加速开发。
? 使用
|
內容簡介: |
本书通过聚焦于开发基于神经网络的解决方案来介绍机器学习,首先将从熟悉构建深度学习解决方案所需的概念和技术开始,然后介绍如何创建分类器、构建目标检测和语义分割神经网络、训练生成式模型,以及使用TF 2.0的工具,如TensorFlow Datasets和TensorFlow Hub,加速开发过程。学完本书之后,读者将能够使用TF 2.0开发任何机器学习问题的解决方案,并能将它们部署到生产环境之中。
|
關於作者: |
作者简介:
保罗加莱奥内(Paolo Galeone)是一位具有丰富实践经验的计算机工程师。获得硕士学位后,他加入了意大利博洛尼亚大学的计算机视觉实验室并担任研究员,在那里他丰富了自己在计算机视觉和机器学习领域的知识。目前,他领导着意大利ZURU科技公司的计算机视觉和机器学习实验室。
2019年,谷歌授予他机器学习领域的谷歌开发技术专家(Google Developer Expert,GDE)称号,以此认可他的专业技能。作为一名GDE,他通过写博客、在会议上演讲、参与开源项目以及回答Stack Overflow上面的问题,分享了他对机器学习和TensorFlow框架的热爱。
闫龙川 硕士,国家电网有限公司信息通信分公司高级工程师,信息通信技术专家,主要从事电力信息通信系统运行技术研究工作,研究兴趣包括深度学习、强化学习、自然语言处理、云计算及数据中心管理等。
白东霞 博士,国家电网有限公司信息通信分公司高级工程师,主要从事电力信息系统运行测试技术研究工作,研究兴趣包括人工智能、密码理论等。作者简介:
保罗加莱奥内(Paolo Galeone)是一位具有丰富实践经验的计算机工程师。获得硕士学位后,他加入了意大利博洛尼亚大学的计算机视觉实验室并担任研究员,在那里他丰富了自己在计算机视觉和机器学习领域的知识。目前,他领导着意大利ZURU科技公司的计算机视觉和机器学习实验室。
2019年,谷歌授予他机器学习领域的谷歌开发技术专家(Google Developer Expert,GDE)称号,以此认可他的专业技能。作为一名GDE,他通过写博客、在会议上演讲、参与开源项目以及回答Stack Overflow上面的问题,分享了他对机器学习和TensorFlow框架的热爱。
译者简介:
闫龙川 硕士,国家电网有限公司信息通信分公司高级工程师,信息通信技术专家,主要从事电力信息通信系统运行技术研究工作,研究兴趣包括深度学习、强化学习、自然语言处理、云计算及数据中心管理等。
白东霞 博士,国家电网有限公司信息通信分公司高级工程师,主要从事电力信息系统运行测试技术研究工作,研究兴趣包括人工智能、密码理论等。
郭永和 博士,国家电网有限公司信息通信分公司高级工程师,主要从事电力信息系统网络安全技术研究工作,研究兴趣包括机器学习、大数据分析、计算机体系结构、密码技术等。
李 妍 博士,国家电网有限公司信息通信分公司工程师,主要从事电力信息通信系统故障诊断技术研究工作,研究兴趣包括机器学习、人工智能等。
|
目錄:
|
译者序
前言
作者简介
审校者简介
第一部分 神经网络基础
第1章 什么是机器学习2
1.1 数据集的重要性3
1.1.1 n维空间5
1.1.2 维度诅咒8
1.2 有监督学习9
1.2.1 距离和相似性k-NN算法10
1.2.2 参数模型11
1.2.3 评估模型性能度量指标13
1.3 无监督学习18
1.4 半监督学习19
1.5 总结20
1.6 练习题20
第2章 神经网络与深度学习22
2.1 神经网络23
2.1.1 生物神经元23
2.1.2 人工神经元24
2.1.3 全连接层25
2.1.4 激活函数27
2.1.5 损失函数29
2.1.6 参数初始化30
2.2 优化31
2.2.1 梯度下降法32
2.2.2 梯度下降优化算法34
2.2.3 反向传播和自动微分37
2.3 卷积神经网络39
2.3.1 卷积运算符39
2.3.2 二维卷积40
2.3.3 卷间的二维卷积41
2.3.4 11D卷积44
2.4 正则化45
2.4.1 dropout45
2.4.2 数据扩充48
2.4.3 早期停止48
2.4.4 批量归一化49
2.5 总结50
2.6 练习题51
第二部分 TensorFlow基础
第3章 TensorFlow图架构54
3.1 环境设置55
3.1.1 TensorFlow 1.x的环境设置56
3.1.2 TensorFlow 2.0的环境设置57
3.2 数据流图58
3.2.1 主要结构tf.Graph60
3.2.2 图定义从tf.Operation到tf.Tensor60
3.2.3 图放置tf.device64
3.2.4 图执行tf.Session66
3.2.5 静态图中的变量69
3.3 模型定义和训练72
3.3.1 用tf.layers定义模型72
3.3.2 自动微分损失函数和优化器75
3.4 用Python操作图78
3.4.1 给占位符赋值79
3.4.2 总结记录80
3.4.3 保存模型参数和模型选择81
3.5 总结83
3.6 练习题85
第4章 TensorFlow 2.0架构86
4.1 重新学习这个框架87
4.2 Keras框架及其模型88
4.2.1 顺序API90
4.2.2 函数式API92
4.2.3 子类方法93
4.3 eager执行模式和新的特征94
4.3.1 基本示例94
4.3.2 函数,而不是会话96
4.3.3 不再有全局的东西97
4.3.4 控制流99
4.3.5 GradientTape 101
4.3.6 定制训练循环102
4.3.7 保存和恢复模型状态105
4.3.8 总结记录和指标度量107
4.3.9 AutoGraph111
4.4 代码库迁移115
4.5 总结117
4.6 练习题117
第5章 高效的数据输入流水线和估计器API120
5.1 高效的数据输入流水线121
5.1.1 输入流水线的结构121
5.1.2 tf.data.Dataset对象122
5.1.3 性能优化125
5.1.4 构建自己的数据集126
5.1.5 数据扩充127
5.1.6 TensroFlow 数据集tdfs128
5.1.7 Keras整合130
5.1.8 eager整合131
5.2 估计器API132
5.2.1 数据输入流水线134
5.2.2 定制估计器136
5.2.3 预制估计器139
5.3 总结140
5.4 练习题141
第三部分 神经网络应用
第6章 使用TensorFlow Hub进行图像分类144
6.1 获取数据145
6.2 迁移学习147
6.2.1 TensorFlow Hub149
6.2.2 使用Inception v3作为特征提取器150
6.2.3 使数据适应模型152
6.2.4 建立模型hub.KerasLayer152
6.2.5 训练与评估154
6.2.6 训练速度155
6.3 微调156
6.3.1 何时微调157
6.3.2 TensorFlow Hub集成157
6.3.3 训练和评估158
6.3.4 训练速度159
6.4 总结159
6.5 练习题160
第7章 目标检测162
7.1 获取数据163
7.2 目标定位167
7.2.1 定位是一个回归问题168
7.2.2 IoU173
7.2.3 平均精度175
7.2.4 平均精度均值175
7.2.5 改进训练脚本176
7.3 分类和定位177
7.3.1 多任务学习177
7.3.2 双头网络178
7.3.3 基于锚的检测器180
7.3.4 锚框180
7.4 总结182
7.5 练习题182
第8章 语义分割和自定义数据集生成器184
8.1 语义分割184
8.1.1 挑战185
8.1.2 反卷积转置卷积186
8.1.3 U-Net架构187
8.2 创建一个TensorFlow数据集生成器191
8.2.1 层次化结构192
8.2.2 数据集类和DatasetInfo193
8.2.3 创建数据集分割194
8.2.4 生成示例195
8.2.5 使用生成器198
8.3 模型训练与评估198
8.3.1 数据准备199
8.3.2 训练循环和Keras回调函数199
8.3.3 评估与推论201
8.4 总结203
8.5 练习题204
第9章 生成式对抗网络206
9.1 了解GAN及其应用206
9.1.1 价值函数207
9.1.2 非饱和价值函数208
9.1.3 模型定义和训练阶段208
9.1.4 GAN的应用209
9.2 无条件的GAN211
9.2.1 准备数据211
9.2.2 定义生成器212
9.2.3 定义鉴别器213
9.2.4 定义损失函数214
9.2.5 无条件的GAN中的对抗训练过程215
9.3 有条件的GAN219
9.3.1 为有条件的GAN获取数据220
9.3.2 在有条件的GAN中定义生成器220
9.3.3 在有条件的GAN中定义鉴别器221
9.3.4 对抗训练过程222
9.4 总结223
9.5 练习题224
第10章 在生产环境中部署模型226
10.1 SavedModel序列化格式226
10.1.1 特征227
10.1.2 通过Keras模型创建SavedModel 228
10.1.3 使用通用函数进行SavedModel转换229
10.2 Python部署231
10.2.1 通用计算图 231
10.2.2 Keras模型 233
10.2.3 平面图234
10.3 支持部署的平台235
10.3.1 TensorFlow.js236
10.3.2 Go绑定和tfgo240
10.4 总结243
10.5 练习题244
|
內容試閱:
|
技术领导者正在采用神经网络来增强他们的产品,使之更加智能,或者用一句市场营销的话来说,就是用人工智能赋能。本书是一本关于TensorFlow的动手实践指南,内容涉及其内部结构、2.0版的新特性以及如何使用它们来创建基于神经网络的应用程序。学完本书,你将精通TensorFlow的架构及其新特性。借助神经网络,你将能够轻松地解决机器学习方面的问题。
这本书首先对机器学习和神经网络的理论进行概述,然后介绍TensorFlow库,包括1.x和2.0版本。通过阅读本书并借助易于学习的示例,你将精通神经网络的工作原理。接下来,你将学习如何掌握优化技术和算法,以便使用TensorFlow 2.0提供的新模块构建各种神经网络架构。此外,在分析了TensorFlow结构之后,你将在研究工作和项目中学习如何实现更复杂的神经网络架构,例如用于分类的CNN、语义分割网络、生成式对抗网络等。
在本书的最后,你将掌握TensorFlow结构,并能够毫不费力地利用该机器学习框架来训练和使用不同复杂度的神经网络。
本书读者
本书面向希望了解TensorFlow结构和新特性的数据科学家、机器学习的开发人员、深度学习的研究人员和具有统计知识的开发者。要充分利用这本书,需要你掌握Python编程语言方面的知识。
本书主要内容
第1章涵盖机器学习的基本原理:什么是有监督学习、无监督学习和半监督学习,以及为什么这些区别非常重要。此外,你将开始了解如何创建数据流水线,如何度量算法的性能,以及如何验证结果。
第2章专注于神经网络。你将了解机器学习模型的优点,如何进行网络学习,以及如何在实践中执行模型参数更新。在该章结束时,你将了解到反向传播和网络参数更新背后的直觉。此外,你将了解为什么需要深层神经网络架构来解决具有挑战性的任务。
第3章涵盖TensorFlow的结构该结构在1.x和2.x版本之间共享。
第4章演示TensorFlow 1.x和TensorFlow 2.x之间的区别。你将开始使用这两个版本开发一些简单的机器学习模型,还将了解这两个版本所有的共同特性。
第5章演示如何使用tf.data API定义完整的数据输入流水线,以及如何使用tf.estimator API定义实验。在该章结束时,你将能够使用tf.data和tf.io.gfile API的所有功能,创建复杂高效的输入流水线。
第6章介绍如何利用TensorFlow Hub与Keras API的紧密集成,轻松进行迁移学习和微调。
第7章演示如何扩展分类器,使其成为一个目标检测器以回归分析边界框的坐标,还介绍了更复杂的目标检测架构。
第8章介绍如何实现语义分割网络,如何为此类任务准备数据集,以及如何训练和测试模型的性能。你将使用U-Net解决语义分割问题。
第9章从理论和实践的角度来介绍GAN。你将了解生成模型的结构,以及如何使用TensorFlow 2.0轻松实现对抗性训练。
第10章演示如何将训练过的模型转换为完整的应用程序。该章还介绍如何将训练好的模型以指定的表示方式导出(保存模型)并在完整的应用程序中使用它。在该章结束时,你能够导出一个训练好的模型,并在Python、TensorFlow.js以及Go中通过tfgo库来使用它。
充分利用本书
你需要对神经网络有一些基本的了解,但这并不是必需的,因为本书将从理论和实践的角度来讨论这些主题,有基本的机器学习算法工作经验更佳。你需要对Python 3有很好的了解。
你应该已经知道如何使用pip安装软件包,如何设置工作环境来使用TensorFlow,以及如何启用(如果可用)GPU加速。此外,还需要有良好的编程概念方面的背景知识,如命令式语言与描述性语言以及面向对象编程。
在学完前两章机器学习和神经网络理论的内容之后,第3章将介绍环境设置。
下载示例代码及彩色图像
本书的示例代码及所有截图和样图,可以从http:www.packtpub.com通过个人账号下载,也可以访问华章图书官网http:www.hzbook.com,通过注册并登录个人账号下载。
该书的代码包也托管在GitHub上,网址为https:github.comPacktPublishingHands-on-Neural-Networks-with-TensorFlow-2.0。如果对代码有更新,将在现有的GitHub存储库上进行更新。
此外,在https:github.comPacktPublishing上有丰富的图书和视频目录,以及其他的代码包。
排版约定
代码片段如下:
命令行输入和输出如下所示:
黑体:表示新术语、重要的词或者屏幕上看到的词句。例如,菜单或对话框中出现的词。举例说明:tf.Graph图结构的第二个特点是它的图集合。
警告或重要说明的图标。
提示和技巧的图标。
译 者 序
当今,人工智能技术应用日益成熟,已经从实验室走进了各行各业,全球有大量的科研人员、软件工程师、数据科学家在从事着机器学习、神经网络方面的研究和开发设计工作。子曰:工欲善其事,必先利其器。优良的开发工具能够大大激发人们的工作热情,开发出更加卓越的应用。TensorFlow是神经网络领域一个极受欢迎的开发框架,TensorFlow 2.0是该框架的最新版,增加了很多新的特性,以便开发人员快速构建各类神经网络,提高工作的效率和质量。
本书是一本介绍TensorFlow 2.0和神经网络的入门书籍,读者可以通过本书了解机器学习和神经网络,尤其是掌握CNN、GAN等深度神经网络的基本概念和关键技术,以及各种深度神经网络结构和最新应用情况,具备创建神经网络以解决各自领域实际问题的能力。
本书分为三个部分,分别讲解机器学习、TensorFlow和神经网络的应用。第一部分主要介绍机器学习、神经网络与深度学习的基本概念。第二部分是TensorFlow基础,主要介绍TensorFlow 2.0的工作原理、与1.x版本的差别,以及如何定义一个完整的机器学习流水线。第三部分是神经网络的应用,介绍如何利用各类神经网络解决图像分类、目标检测、语义分割、图像生成等问题,展示了神经网络的强大能力,最后介绍如何将训练好的模型部署到生产环境,让神经网络在实际工作中发挥作用。
近年来,深度学习的快速崛起,将人工智能推向了一个新的历史高度。世界各国都非常重视人工智能研究、开发与应用,有大量的科学家、工程师从事这方面的工作。这个领域每天都有新的进展,一些顶级期刊和国际会议都会报道该领域最新的进展和科研成果,一些互联网公司会推出各类开发工具、框架和神经网络模型。感兴趣的读者,可以阅读有关人工智能方面的期刊和会议论文,掌握最新的神经网络模型和技术进展,在实际工作中创造更大的价值。《浮士德》中有句话:理论全是灰色的,唯有生命之树常青。学习本书的最好方法是边阅读、边实践、边思考,在调试和执行代码的实践中掌握神经网络设计开发的各种方法和技巧,不断总结提高。本书在每章的最后提供了练习题,是非常不错的学习材料,希望读者认真完成,这样可以进一步融会贯通、锻炼本领。
我国非常重视人工智能的研究与应用工作,国务院印发了《新一代人工智能发展规划》,提出了以加快人工智能与经济、社会、国防深度融合为主线,以提升新一代人工智能科技创新能力为主攻方向的指导思想来发展智能经济,各行各业都在推进智能化,人工智能在电力、交通、医疗、教育、安全等领域的应用越来越广泛,这为人工智能的发展与应用提供了广阔的舞台和光明的前景。希望本书能为读者提供参考和借鉴,为我国新一代人工智能技术的普及应用贡献绵薄之力。
最后,我们要感谢本书的作者Paolo Galeone,感谢他无私的经验分享和辛勤的工作,为我们带来这本书的英文版。感谢机械工业出版社华章公司的编辑们,是他们的耐心和鼓励使得本书能与读者很快见面。感谢家人的支持和理解。尽管我们努力准确、简洁地表达作者的思想,但仍难免有词不达意之处。译文中的错误和不当之处,敬请读者朋友不吝指正。
闫龙川
2020年3月
|
|