温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
TensorFlow
实战
Google
深度
学习
框架
CMYCMMYCYCMYK“.pdf 1 2018/1/18 上午9:17 内 容 简 介 TensorFlow 是谷歌 2015 年开源的主流深度学习框架,目前已得到广泛应用。本书为 TensorFlow 入门参考书,旨在帮助读者以快速、有效的方式上手 TensorFlow 和深度学习。书中省略了烦琐的数学模型推导,从实际应用问题出发,通过具体的 TensorFlow 示例介绍如何使用深度学习解决实际问题。书中包含深度学习的入门知识和大量实践经验,是走进这个前沿、热门的人工智能领域的优选参考书。第 2 版将书中所有示例代码从 TensorFlow 0.9.0 升级到了 TensorFlow 1.4.0。在升级 API 的同时,第 2版也补充了更多只有 TensorFlow 1.4.0 才支持的功能。另外,第 2 版还新增两章分别介绍 TensorFlow 高层封装和深度学习在自然语言领域应用的内容。本书适用于想要使用深度学习或 TensorFlow 的数据科学家、工程师,希望了解深度学习的大数据平台工程师,对人工智能、深度学习感兴趣的计算机相关从业人员及在校学生等。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 TensorFlow:实战 Google 深度学习框架郑泽宇,梁博文,顾思宇著.2 版.北京:电子工业出版社,2018.2 ISBN 978-7-121-33066-7 .T .郑 梁 顾 .人工智能算法研究 .TP18 中国版本图书馆 CIP 数据核字(2017)第 285250 号 责任编辑:张春雨 印 刷:三河市良远印务有限公司 装 订:三河市良远印务有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:787980 1/16 印张:22.75 字数:490 千字 版 次:2017 年 3 月第 1 版 2018 年 2 月第 2 版 印 次:2018 年 2 月第 1 次印刷 定 价:89.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)51260888-819,。推 荐 序 1“互联网+”的大潮催生了诸如“互联网+外卖”、“互联网+打车”、“互联网+家政”等众多商业模式的创新和创业佳话。而当“互联网+”已被写入教科书并成为传统行业都在积极践行的发展道路时,过去一年科技界的聚光灯却被人工智能和深度学习所创造的一个个奇迹所占据。从 AlphaGo 肆虐围棋界,到人工智能创业大军的崛起,都预示着我们即将步入“AI+”的时代:“AI+教育”、“AI+媒体”、“AI+医学”、“AI+配送”、“AI+农业”,等等,将会层出不穷。AI 在近期的爆发离不开数据“质”和“量”的提升,离不开高性能计算平台的发展,更离不开算法的进步,而深度学习则成为了推动算法进步中的一个主力军。TensorFlow 作为谷歌开源的深度学习框架,包含了谷歌过去 10 年间对于人工智能的探索和成功的商业应用。谷歌的自动驾驶、搜索、购物、广告、云计算等产品,都无时无刻不在利用类似TensorFlow 的深度学习算法将数据的价值最大化,从而创造巨大的商业价值。TensorFlow 作为一个开源框架,在极短时间内迅速圈粉并已成为 上耀眼的明星。然而,掌握深度学习需要较强的理论功底,用好 TensorFlow 又需要足够的实践和解析。开源项目和代码本身固然重要,但更重要的是使用者的经验和领域知识,以及如何将底层技术或工具采用最佳实践和模式来解决现实问题。我与作者共事多年,浏览本书后深深体会到该作品是作者在谷歌多年分布式深度学习实践经验和其理论才学的浓缩,也相信这本从入门到高级实践的读物能够为每个读者带来一个精神盛宴,并帮助计算机技术从业者在各自的业务领域打开新的思路、插上新的翅膀。张鑫 杭州才云科技有限公司联合创始人 CEO、美国卡耐基梅隆大学计算机博士 推 荐 序 2 深度学习带来的技术革命波及甚广,学术界同样早已从中受益,将深度学习广泛应用到各个学科领域。深度学习源自“古老”的神经网络技术,既标志着传统神经网络的卷土重来,也借由 AlphaGo 碾压人类围棋一役,开启了 AI 爆炸式发展的大幕。机器学习为人工智能指明道路,而深度学习则让机器学习真正落地。作为高等教育工作者,让学生了解和跟上最新技术发展的意义不言而喻。而深度学习的重要性,从近来国内外互联网巨擘对未来的展望中可见端倪在深度学习照耀下的人工智能技术,毫无疑问是下一个时代的主角和支柱。然而,目前深度学习的相关资料,尤其是像 TensorFlow 这种引领未来趋势的新技术的学习资料,普遍存在明显缺憾。其一,中文资料非常少,而且信息零散、不成系统。这篇文章里讲一个算法,那个博客里介绍一个应用,很难让学生形成一个完整的、全局的概念体系。其二,已有的深度学习资料大多偏重理论,对概率、统计等数学功底有很高的要求,不易激发学生的兴趣。而这些现存问题,也正是我对泽宇这部著作寄予厚望的原因这是一本非常适合高校学生走近深度学习的入门读物。因为它从实际问题出发,可以激发读者的兴趣,让读者可以快速而直观地享受到解决问题的成就感。同时,此书理论与实践并重,既介绍了深度学习的基本概念,为更加深入地研究深度学习奠定基础;又给出了具体的 TensorFlow 样例代码,让读者可以将学习成果直接运用到实践中。我非常相信也衷心希望,有志参与深度学习未来大潮的莘莘学子,能凭借此书更快速、更扎实地开启深度学习之旅,并通过 TensorFlow 来实现深度学习常用算法,从而登堂入室,最终成为 AI 的真正驾驭者。张铭 北京大学信息科学技术学院教授 序 2017 年初,我曾为本书第 1 版写过一篇“推荐序”。后来郑泽宇邀请我共同完成第 2版的写作,我从读者变成了作者,又有了许多新的感受。因此我想借着重新写序的机会,跟读者分享一下写作第 2 版的心路点滴。我在自然语言处理领域工作多年,这次负责撰写第 9 章自然语言处理的相关内容,本以为会是得心应手,然而事实上,写作的过程远比我想象中困难得多。最困难的地方在于,写作进行的时候无法及时得到读者的反馈,不能把握读者的心声理论部分介绍多少比较合适?关于语料预处理的内容会不会令读者感到枯燥?模型的实现应该使用基本模块来搭建还是直接调用TensorFlow中的库?注意力机制有那么多变体,到底应该介绍哪一个才符合读者的期望?这些都是我在写作过程中反复思考的问题。最后书中呈现的内容,大致是我认真揣测读者的心思后,想到的在特定领域搭建应用时所要用到的最精简的知识。希望这些知识能为读者进一步学习和实践打下良好的基础。TensorFlow 的库非常丰富。除了基础的网络结构之外,很多最新的研究成果都会被迅速提交到 TensorFlow 的库中。而为了提供最大的灵活度,每一个结构又常常提供许多配置参数。如果将这些库、参数都一一列出,那么本书无异于一本枯燥的 API 说明文档,这是我们不希望看到的。因此我们本着只介绍 API 中最实用、最核心部分的原则,希望能帮助读者快速上手。同时我们鼓励读者多多查阅官方文档,也许你想实现的某个功能已经包含在 TensorFlow 官方库中了。在这里,我想感谢郑泽宇的邀请,让我全心投入,感受到了写书的乐趣与不易,于我自己也是一个巨大的提升。还要感谢我的同事高勤和江鹏在写作过程中为我提供的宝贵意见。同时,衷心感谢在本书第 1 版的官方网站上留言的热心读者们,你们的建议成就了更好的第 2 版内容。希望读者们继续多提建议,包括希望看到哪些内容可以更详细、更深入,哪些内容可以精简,以及未来版本可以加入哪些内容等。读者们的支持永远是我们持续改进的动力!梁博文 2017 年 12 月 前 言“深度学习”这个词在过去的一年之中已经轰炸了媒体、技术博客甚至朋友圈。这也许正是你会读到本书的原因之一。数十年来,人工智能技术虽不断发展,但像深度学习这样在学术界和工业界皆具颠覆性的技术实在是十年难遇。可惜的是,理解和灵活运用深度学习并不容易,尤其是其复杂的数学模型,让不少感兴趣的同学很快“从入门到放弃”。在本书第 1 版前,很难找到从实战出发的深度学习和 TensorFlow 参考书,这也是笔者在工作之余熬夜撰写这本书的动力。笔者本人作为一枚标准码农、创业党,希望这本书能够帮助码农和准码农们绕过深度学习复杂的数据公式,快速上手深度学习,解决工作、学习中的实际问题。2016 年初,笔者和小伙伴们从美国谷歌辞职,回到祖国并在杭州联合创办了才云科技(Caicloud.io),为企业提供人工智能平台和解决方案。回国之初,很多企业对于 TensorFlow都显示出了浓厚的兴趣,然而在深度交流之后,发现 TensorFlow 虽然是一款非常容易上手的工具,但是深度学习的技术并不是每一家企业都能掌握的。为了让更多的人和企业可以享受到深度学习技术带来的福利,笔者与电子工业出版社的张春雨编辑一拍即合,开始了本书的撰写工作。使用 TensorFlow 实现深度学习是本书介绍的重点。本书将从 TensorFlow 的安装开始,依次介绍 TensorFlow 的基本概念、使用 TensorFlow 实现全连接深层神经网络、卷积神经网络和循环神经网络等深度学习算法,以及 TensorFlow 并行化输入数据处理流程、TensorBoard 可视化工具、TensorFlow 高层封装、带 GPU 的分布式 TensorFlow 使用方法。在介绍使用 TensorFlow 实现不同深度学习算法的同时,也介绍了这些算法背后的理论,并列举了这些算法可以解决的具体问题。本书避开了枯燥复杂的数学公式,从实际问题出发,在实践中介绍深度学习的概念和 TensorFlow 的用法。本书第 1 版出版之后,笔者收到了广大读者的踊跃来信。信中既充分肯定了第 1 版对他们学习 TensorFlow 和深度学习的帮助,又提出了对更新 TensorFlow 版本和其他新内容的期待,这正是笔者开始撰写第 2 版的强大动力。第 1 版中大部分示例都是与计算机视觉相前 言 VII 关的,为了更好地介绍与自然语言处理相关的内容,笔者特别邀请了在 Google 翻译组工作了 5 年的梁博文来撰写这部分内容。第 2 版中将有专门的一个章节介绍语言模型、Seq2Seq模型、注意力(attention)模型等自然语言应用。TensorFlow 是一个飞速发展的工具。第 1 版在写作时的最新版本为 0.9.0,然而到第 1版出版时,谷歌已经推出了 TensorFlow 的第一个正式版 1.0.0。相比第 1 版中使用的TensorFlow 0.9.0,TensorFlow 1.0.0 以后的版本对 API 也进行了大量调整,之前的大量示例代码已经无法正常运行。第 2 版在更新示例 API 版本的同时,对 TensorFlow 0.9.0 之后推出的重要新功能也进行了详细介绍,希望能够帮助读者更好地使用 TensorFlow。为了让广大读者更好地理解和使用书中的示例代码,我们为大家提供了一个完全公开的 GitHub 代码库来维护 TensorFlow 不同版本的示例程序。该代码库的网址为https:/ zeyucaicloud.io。读者也可以登录博文视点官网 http:/,下载本书代码或提交勘误信息。一旦勘误信息被作者或编辑确认,即可获得博文视点奖励积分,用于兑换电子书。读者可以随时浏览图书页面,查看已发布的勘误信息。致谢 在此我要特别感谢为此书做出贡献的每一个人。首先,我要感谢所有的读者。在第 1 版出版之后,我收到了大量的读者来信。这些信中表达了对本书内容的喜爱,同时也给出了非常多的宝贵建议。广大读者的支持和鼓励正是我完成第 2 版的最大动力。在此,我再次感谢每一位读者