《深度学习实战》
译者序
深度神经网络是一种层数更多、规模更大的人工神经网络,较传统神经网络在处理能力上有大幅的提升。2006年,加拿大多伦多大学的教授杰弗里·辛顿(Geoffrey Hinton)在深度信念网络方面进行了卓越的工作,开辟了深度学习这个新的技术领域。目前,深度学习技术已经成为新一代人工智能技术的研究与开发热点,得到了全球的普遍关注,每天都有相关的报道,每年有大量的论文发表,不断刷新着语音识别、图像分类、商品推荐等各应用领域智能处理水平的纪录。与此同时,深度学习模型难以解释、参数调优困难、参数规模大、训练周期长等问题也困扰着研究和开发人员。
如何让深度学习模型设计更加简洁高效,如何处理模型参数调试中遇到的困扰和难题,如何将深度学习快速地应用到具体的业务领域,这些都是深度学习技术研究与开发者需要掌握的内容。本书作为一本聚焦深度学习实际应用的开发指南,很好地解决了这些问题。本书的作者是一位资深的软件工程师,有着丰富的软件开发和调试经验。本书记录了作者从实际工作中总结出来的很多开发技巧,非常适合开发实际应用的深度学习工程师阅读和参考。
本书的第1章从深度学习相关的基本概念开始,介绍了典型的神经网络结构和各种层的设计特点,然后对深度学习中常见的数据集进行了介绍,最后对数据预处理和数据集的划分进行了细致的阐述。第2章是与深度神经网络调试相关的通用技巧,主要涉及如何解决遇到的问题,包括排查错误、检查结果、选择激活函数、正则化和Dropout、设置训练参数等技巧。第3~15章以实际例子,介绍了深度学习在文本处理、图像处理、音乐处理等方面的技巧,涵盖了深度学习主要应用的领域和数据类型,内容非常丰富。最后一章作者从实际使用的角度告诉读者如何在生产系统中部署机器学习应用,使得本书的内容更加贴近实际。
深度学习的技术还处在不断迭代更新的阶段,每天都有新的研究进展发布,新的开发工具开源,以及新的技术挑战出现。本书的内容是当前深度学习设计开发技巧的总结,需要读者在实践中不断尝试,进而提升自己的技术水平,这样才会不断加深对深度学习技术的理解和把握,创造出更加优秀的算法、模型和应用。希望读者朋友在深度学习的实践中不断总结提炼,贡献出更多优秀的图书作品。
每一次翻译工作都是一次难忘的学习之旅,我们非常珍惜这个机会。非常感谢本书的作者和机械工业出版社华章公司的编辑,是他们辛勤的工作为我们创造了难得的机会,让我们能够和广大读者一起走进深度学习的世界,领略新一代人工智能技术的风采。这里还要感谢公司同事和家人的大力支持,他们的鼓励给了我们不断前进的动力。本书翻译过程中,我们努力表达作者的真知灼见,但因水平有限,难免有词不达意的地方和疏漏之处,敬请读者朋友不吝赐教。
译者
2018年12月
译者简介
李君婷 国家电网有限公司信息通信分公司,主要从事电力信息通信运维数据统计分析、项目管理等工作,研究兴趣包括深度学习、数据科学、颠覆性创新等。
闫龙川 国家电网有限公司信息通信分公司,主要从事电力信息通信技术研究工作,研究兴趣包括深度学习、强化学习、云计算、数据中心等。
俞学豪 国家电网有限公司信息通信分公司,主要从事电力信息通信技术研究与管理工作,研究兴趣包括人工智能、云计算、绿色数据中心等。
高德荃 国家电网有限公司信息通信分公司,主要从事电力信息通信技术研究工作,研究兴趣包括数据科学与人工智能、地理空间分析等。
《TensorFlow学习指南:深度学习系统构建详解》
前言深度学习在过去的若干年中已经成为构建可以从数据中学习的智能系统的首要技术。深度神经网络最开始在一定程度上受到人类大脑学习方式的启发,是用大量数据进行训练从而能够以足够高的准确度解决复杂任务的技术。由于开源框架的广泛存在,这项技术也被广泛使用,目前已经成为任何想要从事大数据和机器学习工作的人的必备知识。
TensorFlow是当前深度学习领域领先的开源软件,使用它从事计算机视觉、自然语言处理(NLP)、语音识别和一般性预测分析工作的技术实践者(工程师)的数目仍在飞速增长。
本书是专为数据科学家、工程师、学生和科研工作者设计的 TensorFlow “端对端”指导。书中采取适合广大技术读者的实战观点,不仅让初学者能够接受,也会深入探讨一些高级话题并展示如何构建产品级的系统。
通过本书,你可以习得:
1. 快速顺畅地安装和运行TensorFlow。
2. 使用 TensorFlow 从零构建模型。
3. 训练和理解流行的用于计算机视觉和NLP的深度学习模型。
4. 使用多种抽象库让开发更加简单和迅速。
5. 使用队列和多线程扩展TensorFlow,在集群上训练,在产品级应用上部署输出结果。
6. 还有更多其他内容!
本书由同时在工业界和学术界拥有大量研发经验的数据科学家撰写。作者采用实战观点,结合实际且直观的案例、解释及供实践者们探索构建产品级系统的洞察,满足想要学会理解和构建灵活强大模型的读者的需求。
预备知识本书假定读者有基本的Python编程知识,包括熟悉科学计算库Numpy。
机器学习的概念在本书中会被讨论,并且贯穿全书进行直观解说。对于想深入学习的读者,建议你掌握一定程度的机器学习、线性代数、微积分、概率论和统计学方面的知识。
本书约定下面给出本书所采用字体的约定:
斜体字(Italic)表示新的术语、链接、电子邮箱地址、文件名和文件扩展名。
等宽字体(Constant width)用于程序清单,也用于在段落中引用程序元素,例如变量名、函数名、数据库、数据类型、环境变量、程序语句和关键词。
加粗等宽字体(Constant width bold)表示应该由用户输入的命令或者其他文字信息。
斜体的等宽字体(Constant width italic)表示此处应该替换为由用户提供的数值,或者根据上下文确定的数值。
如何使用示例代码补充材料(示例代码、练习等)可以在https://github.com/Hezi-Resheff/Oreilly- Learning-TensorFlow上下载。
本书的目的是帮助你完成自己的任务。一般来说,如果代码是和本书一起提供的,那么你可以在你的程序和文档中使用它们。你不需要联系我们获取许可,除非你想大量复制这些代码。例如,在自己的程序中使用到本书中的几段代码,并不需要获得许可,但把O扲eilly书籍里的示例代码刻录成光盘就必须获得许可。回答问题时引用本书内容和示例代码,不需要获得许可,但是将大量的示例代码用于你的产品文档则必须获得许可。