本书由 Keras 之父、现任 Google 人工智能研究员的弗朗索瓦 · 肖莱(Francois Chollet)执笔,详尽介绍了用 Python 和 Keras 进行深度学习的探索实践,包括计算机视觉、自然语言处理、产生式模型等应用。书中包含30多个代码示例,步骤讲解详细透彻。由于本书立足于人工智能的可达性和大众化,读者无须具备机器学习相关背景知识即可展开阅读。在学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。
弗朗索瓦 · 肖莱(François Chollet),Keras 之父,TensorFlow 机器学习框架贡献者,Kaggle 竞赛教练,个人 Kaggle 竞赛全球排名曾获得第17名。目前任职于 Google,从事人工智能研究,尤其关注计算机视觉与机器学习在形式推理方面的应用。
你拿起这本书的时候,可能已经知道深度学习近年来在人工智能领域所取得的非凡进展。在图像识别和语音转录的任务上,五年前的模型还几乎无法使用,如今的模型的表现已经超越了人类。
这种突飞猛进的影响几乎蔓延到所有行业。但是,想要将深度学习技术部署到它能解决的所有问题上,就需要让尽可能多的人接触这门技术,其中包括非专家,即既不是研究人员也不是研究生的那些人。想要让深度学习充分发挥其全部潜能,就需要彻底推广给大众。
2015年3月,我发布了 Keras 深度学习框架的第一版,当时还没有想过人工智能的大众化。我在机器学习领域已经做了多年的研究,创造 Keras 是为了帮我自己做实验。但在2015—2016年,数万名新人进入了深度学习领域,其中很多人都选择了 Keras,因为它是最容易上手的框架(现在仍然是)。看到大量新人以意想不到的强大方式使用 Keras,我开始密切关注人工智能的可达性和大众化。我意识到,这些技术传播得越广,就会变得越有用、越有价值。可达性很快成为 Keras 开发过程中的一个明确目标,在短短几年内,Keras 开发者社区已经在这方面取得了了不起的成就。我们让数万人掌握了深度学习,他们反过来用这些技术来解决那些重要的问题,而我们是最近才知道这些问题的。
你手里拿的这本书,也是为了让尽可能多的人能够使用深度学习而写的。Keras 一直需要一个配套教程,同时涵盖深度学习的基础知识、Keras 使用模式以及深度学习的最佳实践。本书是我尽最大努力制作的这么一本教程。本书的重点是用尽可能容易理解的方式来介绍深度学习背后的概念及其实现。我这么做没有贬低任何事情的意思,我坚信深度学习中没有难以理解的东西。希望本书对你有价值,能够帮助构建智能应用程序并解决那些对你很重要的问题。
我要感谢 Keras 社区让本书得以成书。Keras 的开源贡献者已经增长到上千人,用户人数也超过20万。是你们的贡献和反馈让 Keras 终有所成。
我还要感谢 Google 对 Keras 项目的支持。很高兴看到 Keras 被采纳为 TensorFlow 的高级 API。Keras 和 TensorFlow 之间的顺利集成,对 TensorFlow 用户和 Keras 用户都有很大好处,也让大多数人更容易使用深度学习。
我要感谢 Manning 出版社的工作人员,他们让本书得以出版。感谢出版人 Marjan Bace 以及编辑和制作团队的所有人,包括 Christina Taylor、Janet Vail、Tiffany Taylor、Katie Tennant、Dottie Marsico 及幕后工作的其他人。
非常感谢 Aleksandar Dragosavljević 领导的技术审稿团队,他们是 Diego Acuña Rozas、Geoff Barto、David Blumenthal-Barby、Abel Brown、Clark Dorman、Clark Gaylord、Thomas Heiman、Wilson Mar、Sumit Pal、Vladimir Pasman、Gustavo Patino、Peter Rabinovitch、Alvin Raj、Claudio Rodriguez、Srdjan Santic、Richard Tobias、Martin Verzilli、William E. Wheeler 和 Daniel Williams。我还要感谢论坛贡献者。他们的贡献包括发现技术错误、术语错误和错别字,还包括给出主题建议。每一次审查过程和论坛主题中的每一条反馈,都为本书的成稿做出了贡献。
在技术方面,我要特别感谢本书的技术编辑 Jerry Gaines 与技术校对 Alex Ott 和 Richard Tobias。作为技术编辑,他们是最棒的。
最后,我要感谢我的妻子 Maria,她在我开发 Keras 以及写作本书的过程中都给予了极大的支持。
本书是为那些想要从零开始探索深度学习的人或想要拓展对深度学习的理解的人而写的。无论是在职的机器学习工程师、软件开发者还是大学生,都会在本书中找到有价值的内容。
本书是对深度学习的实践探索,避免使用数学符号,尽量用代码片段来解释定量概念,帮你建立关于机器学习和深度学习核心思想的直觉。
书中包含30多个代码示例,有详细的注释、实用的建议和简单的解释。知道这些你就可以开始用深度学习来解决具体问题了。
全书代码示例都使用 Python 深度学习框架 Keras,并用 TensorFlow 作为后端引擎。Keras 是最受欢迎且发展最快的深度学习框架之一,被广泛推荐为上手深度学习的最佳工具。
读完本书后,你将会充分理解什么是深度学习、什么时候该用深度学习,以及它的局限性。你将学到解决机器学习问题的标准工作流程,还会知道如何解决常见问题。你将能够使用 Keras 来解决从计算机视觉到自然语言处理等许多现实世界的问题,包括图像识别、时间序列预测、情感分析、图像和文字生成等。
本书的目标读者是那些具有 Python 编程经验,并且想要开始上手机器学习和深度学习的人。但本书对以下这些读者也都很有价值。
有技术背景的人,即使不经常编程,也会发现本书介绍的深度学习基本概念和高级概念非常有用。
使用 Keras 需要具有一定的 Python 编程水平。另外,熟悉 Numpy 库也会有所帮助,但并不是必需的。你不需要具有机器学习或深度学习方面的经验,本书包含从头学习所需的必要基础知识。你也不需要具有高等数学背景,掌握高中水平的数学知识应该足以看懂本书内容。
本书分为两部分。如果你之前没有关于机器学习的经验,我强烈建议你先读完第一部分,然后再阅读第二部分。我们会从简单示例讲起,然后再依次介绍越来越先进的技术。
第一部分是对深度学习的介绍,给出了一些背景和定义,还解释了上手机器学习和神经网络需要掌握的所有概念。
第二部分将深入介绍深度学习在计算机视觉和自然语言处理中的实际应用。这一部分给出了许多示例,对于在现实世界的实践中遇到的深度学习问题,你可以用这些示例作为解决问题的模板。
本书所有代码示例都使用 Keras 深度学习框架,它是开源的,可以免费下载。你需要一台安装了 UNIX 的计算机,也可以使用 Windows,但我不推荐后者。附录 A 将引导你完成整个安装过程。
我还推荐你在计算机上安装最新的 NVIDIA GPU,比如一块 TITAN X。这不是必需的,但它会让你运行代码示例的速度快上几倍,让你有更好的体验。3.3节给出了建立深度学习工作站的更多信息。
如果你没有已安装最新 NVIDIA GPU 的本地工作站,那么可以使用云环境,特别推荐谷歌云实例(比如带有 NVIDIA Tesla K80 扩展的 n1-standard-8 实例)或亚马逊网络服务(AWS)的 GPU 实例(比如 p2.xlarge 实例)。附录 B 详细介绍了一套通过 Jupyter 笔记本运行 AWS 实例的云工作流程,你可以通过浏览器访问。
本书所有代码示例都可以从配套网站(https://www.manning.com/books/deep-learning-with-python)和 GitHub 网站(https://github.com/fchollet/deep-learning-with-python-notebooks)上以 Jupyter 笔记本的形式下载。
购买本书英文版[1]的读者还可以免费访问由 Manning 出版社运营的私有网络论坛,你可以在那里就本书发表评论、询问技术问题,获得来自作者和其他用户的帮助。论坛地址为 https://forums.manning.com/forums/deep-learning-with-python。你还可以访问 https://forums.manning.com/forums/about 了解关于 Manning 论坛和行为规则的更多信息。
Manning 承诺为读者提供一个平台,让读者之间、读者和作者之间可以进行有意义的对话。但这并不保证作者的参与程度,因其对论坛的贡献完全是自愿的(而且无报酬)。我们建议你试着问作者一些有挑战性的问题,这样他才会感兴趣!只要本书仍在销售中,你就可以在 Manning 网站上访问论坛和存档的讨论记录。
[1] 中文版读者可登录图灵社区本书页面提交评论和勘误,并下载源代码:http://www.ituring.com.cn/book/2599。——编者注
本书封面插画的标题为“1568年一位波斯女士的服饰”(Habit of a Persian Lady in 1568)。该图选自 Thomas Jefferys 的《各国古代和现代服饰集》(A Collection of the Dresses of Different Nations, Ancient and Modern,共四卷,1757—1772年出版于伦敦)。该书扉页说这些插画都是手工上色的铜版画,用阿拉伯树胶保护。
Thomas Jefferys(1719—1771)被称为“乔治三世国王的地理学家”。他是英国的一名地图绘制员,是当时主要的地图供应商。他为政府和其他官方机构雕刻并印制地图,还制作了大量商业地图和地图集,尤其是北美地区的。地图制作人的工作激发了他对所调查和绘制地区的当地服饰民俗的兴趣,这些都在这套服饰集中有精彩展示。向往遥远的地方、为快乐而旅行,在18世纪后期还是相对新鲜的现象,类似于这套服饰集的书非常受欢迎,它们向旅行者和足不出户的“游客”介绍其他国家的居民。
Jefferys 书中异彩纷呈的插画生动地描绘了约200年前世界各国的独特魅力。从那以后,着装风格已经发生变化,各个国家和地区当时非常丰富的着装多样性也逐渐消失。来自不同大陆的人,现在仅靠衣着已经很难区分开了。也许可以乐观地来看,我们这是用文化和视觉上的多样性,换来了更为多样化的个人生活,或是更为多样化、更有趣的精神生活和技术生活。
曾经,计算机书籍也很难靠封面来区分,Manning 出版社采用了展示两个世纪前各地丰富多彩生活的图书封面(Jefferys 的插画让这些生活重新焕发生机),以此表明计算机行业的创造性与主动性。
本书第1~4章将让你对下列内容有基本的了解:什么是深度学习,它能取得哪些成就,以及它的工作原理是怎样的。你还会熟悉使用深度学习来解决数据问题的标准工作流程。如果对深度学习不是特别了解的话,你应该先读完第一部分,再阅读第二部分中的实际应用。
阅读全文: http://gitbook.cn/gitchat/geekbook/5b9f79b1f7356128d411838f