Author:Francois Chollet, 张亮译
本书由 Keras 之父、现任 Google 人工智能研究员的弗朗索瓦 • 肖莱(François Chollet)执笔,详尽介 绍了用 Python 和 Keras 进行深度学习的探索实践,涉及计算机视觉、自然语言处理、生成式模型等应用。 书中包含 30 多个代码示例,步骤讲解详细透彻。由于本书立足于人工智能的可达性和大众化,读者无须 具备机器学习相关背景知识即可展开阅读。在学习完本书后,读者将具备搭建自己的深度学习环境、建立 图像识别模型、生成图像和文字等能力。 本书适合从事大数据及机器学习领域工作,并对深度学习感兴趣的各类读者。
Tags
Support Statistics
¥.00 ·
0times
Text Preview (First 20 pages)
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
Page
1
(This page has no text content)
Page
2
(This page has no text content)
Page
3
(This page has no text content)
Page
4
图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果购买者有侵权行为,我们可能 对该用户实施包括但不限于关闭该 帐号等维权措施,并可能追究法律 责任。
Page
5
图 灵 程 序 设 计 丛 书 Python深度学习 Deep Learning with Python 人 民 邮 电 出 版 社 北 京 [美] 弗朗索瓦·肖莱 著 张亮 译
Page
6
内 容 提 要 本书由 Keras 之父、现任 Google 人工智能研究员的弗朗索瓦 • 肖莱(François Chollet)执笔,详尽介 绍了用 Python 和 Keras 进行深度学习的探索实践,涉及计算机视觉、自然语言处理、生成式模型等应用。 书中包含 30 多个代码示例,步骤讲解详细透彻。由于本书立足于人工智能的可达性和大众化,读者无须 具备机器学习相关背景知识即可展开阅读。在学习完本书后,读者将具备搭建自己的深度学习环境、建立 图像识别模型、生成图像和文字等能力。 本书适合从事大数据及机器学习领域工作,并对深度学习感兴趣的各类读者。 定价:119.00元 读者服务热线:(010)51095186转600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东工商广登字 20170147 号 著 [美] 弗朗索瓦 • 肖莱 译 张 亮 责任编辑 温 雪 责任印制 周昇亮 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn 北京 印刷 开本:800×1000 1/16 印张:19.25 字数:455千字 2018年 8 月第 1 版 印数:1 — 5 000册 2018年 8 月北京第1次印刷 著作权合同登记号 图字:01-2018-2896号 ◆ ◆ ◆
Page
7
版 权 声 明 Original English language edition, entitled Deep Learning with Python by François Chollet, published by Manning Publications. 178 South Hill Drive, Westampton, NJ 08060 USA. Copyright © 2018 by Manning Publications. Simplified Chinese-language edition copyright © 2018 by Posts & Telecom Press. All rights reserved. 本书中文简体字版由Manning Publications授权人民邮电出版社独家出版。未经出版者书面 许可,不得以任何方式复制或抄袭本书内容。 版权所有,侵权必究。
Page
8
(This page has no text content)
Page
9
前 言 你拿起这本书的时候,可能已经知道深度学习近年来在人工智能领域所取得的非凡进展。 在图像识别和语音转录的任务上,五年前的模型还几乎无法使用,如今的模型的表现已经超越 了人类。 这种突飞猛进的影响几乎蔓延到所有行业。但是,想要将深度学习技术部署到它能解决的 所有问题上,就需要让尽可能多的人接触这门技术,其中包括非专家,即既不是研究人员也不 是研究生的那些人。想要让深度学习充分发挥其全部潜能,就需要彻底推广给大众。 2015 年 3 月,我发布了 Keras 深度学习框架的第一版,当时还没有想过人工智能的大众化。 我在机器学习领域已经做了多年的研究,创造Keras是为了帮我自己做实验。但在 2015—2016年, 数万名新人进入了深度学习领域,其中很多人都选择了 Keras,因为它是最容易上手的框架(现 在仍然是)。看到大量新人以意想不到的强大方式使用 Keras,我开始密切关注人工智能的可达 性和大众化。我意识到,这些技术传播得越广,就会变得越有用、越有价值。可达性很快成为 Keras 开发过程中的一个明确目标,在短短几年内,Keras 开发者社区已经在这方面取得了了不 起的成就。我们让数万人掌握了深度学习,他们反过来用这些技术来解决那些重要的问题,而 我们是最近才知道这些问题的。 你手里拿的这本书,也是为了让尽可能多的人能够使用深度学习而写的。Keras 一直需要一 个配套教程,同时涵盖深度学习的基础知识、Keras 使用模式以及深度学习的最佳实践。本书是 我尽最大努力制作的这么一本教程。本书的重点是用尽可能容易理解的方式来介绍深度学习背 后的概念及其实现。我这么做没有贬低任何事情的意思,我坚信深度学习中没有难以理解的东西。 希望本书对你有价值,能够帮助构建智能应用程序并解决那些对你很重要的问题。
Page
10
致 谢 我要感谢 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 以及写作本书的过程中都给予了极大的 支持。
Page
11
关于本书 本书是为那些想要从零开始探索深度学习的人或想要拓展对深度学习的理解的人而写的。 无论是在职的机器学习工程师、软件开发者还是大学生,都会在本书中找到有价值的内容。 本书是对深度学习的实践探索,避免使用数学符号,尽量用代码片段来解释定量概念,帮 你建立关于机器学习和深度学习核心思想的直觉。 书中包含 30 多个代码示例,有详细的注释、实用的建议和简单的解释。知道这些你就可以 开始用深度学习来解决具体问题了。 全书代码示例都使用 Python 深度学习框架 Keras,并用 TensorFlow 作为后端引擎。Keras 是最受欢迎且发展最快的深度学习框架之一,被广泛推荐为上手深度学习的最佳工具。 读完本书后,你将会充分理解什么是深度学习、什么时候该用深度学习,以及它的局限性。 你将学到解决机器学习问题的标准工作流程,还会知道如何解决常见问题。你将能够使用 Keras 来解决从计算机视觉到自然语言处理等许多现实世界的问题,包括图像识别、时间序列预测、 情感分析、图像和文字生成等。 谁应该阅读这本书 本书的目标读者是那些具有 Python 编程经验,并且想要开始上手机器学习和深度学习的人。 但本书对以下这些读者也都很有价值。 如果你是熟悉机器学习的数据科学家,你将通过本书全面掌握深度学习及其实践。深度 学习是机器学习中发展最快、最重要的子领域。 如果你是想要上手 Keras 框架的深度学习专家,你会发现本书是市面上最棒的 Keras 速 成教程。 如果你是研究深度学习的研究生,你会发现本书是对你所受教育的实践补充,有助于你 培养关于深度神经网络的直觉,还可以让你熟悉重要的最佳实践。 有技术背景的人,即使不经常编程,也会发现本书介绍的深度学习基本概念和高级概念非 常有用。 使用 Keras 需要具有一定的 Python 编程水平。另外,熟悉 Numpy 库也会有所帮助,但并不 是必需的。你不需要具有机器学习或深度学习方面的经验,本书包含从头学习所需的必要基础 知识。你也不需要具有高等数学背景,掌握高中水平的数学知识应该足以看懂本书内容。
Page
12
2 关于本书 学习路线图 本书分为两部分。如果你之前没有关于机器学习的经验,我强烈建议你先读完第一部分, 然后再阅读第二部分。我们会从简单示例讲起,然后再依次介绍越来越先进的技术。 第一部分是对深度学习的介绍,给出了一些背景和定义,还解释了上手机器学习和神经网 络需要掌握的所有概念。 第 1 章介绍人工智能、机器学习和深度学习的重要背景知识。 第 2 章介绍从事深度学习必须了解的基本概念:张量、张量运算、梯度下降和反向传播。 这一章还给出了本书第一个可用的神经网络示例。 第 3 章包括上手神经网络所需要了解的全部内容:Keras 简介,它是我们的首选深度学 习框架;建立自己的工作站的指南;三个基本代码示例以及详细解释。读完这一章,你 将能够训练简单的神经网络来处理分类任务和回归任务,你还将充分了解训练过程背后 发生的事情。 第 4 章介绍标准的机器学习工作流程。你还会了解常见的陷阱及其解决方案。 第二部分将深入介绍深度学习在计算机视觉和自然语言处理中的实际应用。这一部分给出 了许多示例,对于在现实世界的实践中遇到的深度学习问题,你可以用这些示例作为解决问题 的模板。 第 5 章介绍了一系列实用的计算机视觉示例,重点放在图像分类。 第 6 章介绍了处理序列数据(比如文本和时间序列)的实用技术。 第 7 章介绍了构建最先进深度学习模型的高级技术。 第 8 章介绍了生成式模型,即能够创造图像和文本的深度学习模型,它有时会产生令人 惊讶的艺术效果。 第 9 章将帮你巩固在本书学到的知识,还会探讨深度学习的局限性及其未来的可能性。 软件 / 硬件需求 本书所有代码示例都使用 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 实例的 云工作流程,你可以通过浏览器访问。
Page
13
1 5 3 7 10 2 6 9 4 8 11 关于本书 3 源代码 本书所有代码示例都可以从配套网站(https://www.manning.com/books/deep-learning-with- python)和 GitHub 网站(https://github.com/fchollet/deep-learning-with-python-notebooks)上以 Jupyter 笔记本的形式下载。 本书论坛 购买本书英文版 a的读者还可以免费访问由 Manning 出版社运营的私有网络论坛,你可以 在那里就本书发表评论、询问技术问题,获得来自作者和其他用户的帮助。论坛地址为 https:// forums.manning.com/forums/deep-learning-with-python。你还可以访问 https://forums.manning.com/ forums/about 了解关于 Manning 论坛和行为规则的更多信息。 Manning 承诺为读者提供一个平台,让读者之间、读者和作者之间可以进行有意义的对话。 但这并不保证作者的参与程度,因其对论坛的贡献完全是自愿的(而且无报酬)。我们建议你试 着问作者一些有挑战性的问题,这样他才会感兴趣!只要本书仍在销售中,你就可以在 Manning 网站上访问论坛和存档的讨论记录。 电子书 扫描如下二维码,即可购买本书电子版。 a 中文版读者可登录图灵社区本书页面提交评论和勘误,并下载源代码:http://www.ituring.com.cn/book/2599。 ——编者注
Page
14
关于封面 本书封面插画的标题为“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 的插画让这些生活重新焕发生机),以此表明计算机行业的创造 性与主动性。
Page
15
目 录 第一部分 深度学习基础 第 1 章 什么是深度学习 ............................. 2 1.1 人工智能、机器学习与深度学习 ...............2 1.1.1 人工智能 ...........................................3 1.1.2 机器学习 ...........................................3 1.1.3 从数据中学习表示 ...........................4 1.1.4 深度学习之“深度” .........................6 1.1.5 用三张图理解深度学习的工作 原理 ..................................................7 1.1.6 深度学习已经取得的进展 ...............9 1.1.7 不要相信短期炒作 ...........................9 1.1.8 人工智能的未来 .............................10 1.2 深度学习之前:机器学习简史 .................11 1.2.1 概率建模 .........................................11 1.2.2 早期神经网络 .................................11 1.2.3 核方法 .............................................12 1.2.4 决策树、随机森林与梯度 提升机 ............................................13 1.2.5 回到神经网络 .................................14 1.2.6 深度学习有何不同 .........................14 1.2.7 机器学习现状 .................................15 1.3 为什么是深度学习,为什么是现在 .........15 1.3.1 硬件 .................................................16 1.3.2 数据 .................................................17 1.3.3 算法 .................................................17 1.3.4 新的投资热潮 .................................17 1.3.5 深度学习的大众化 .........................18 1.3.6 这种趋势会持续吗 .........................18 第 2 章 神经网络的数学基础 .....................20 2.1 初识神经网络 .............................................20 2.2 神经网络的数据表示 .................................23 2.2.1 标量(0D 张量) .............................23 2.2.2 向量(1D 张量) .............................24 2.2.3 矩阵(2D 张量) .............................24 2.2.4 3D 张量与更高维张量 ...................24 2.2.5 关键属性 .........................................25 2.2.6 在 Numpy 中操作张量 ...................26 2.2.7 数据批量的概念 .............................27 2.2.8 现实世界中的数据张量 .................27 2.2.9 向量数据 .........................................27 2.2.10 时间序列数据或序列数据 ...........28 2.2.11 图像数据 .......................................28 2.2.12 视频数据 .......................................29 2.3 神经网络的“齿轮”:张量运算 ..............29 2.3.1 逐元素运算 .....................................30 2.3.2 广播 .................................................31 2.3.3 张量点积 .........................................32 2.3.4 张量变形 .........................................34 2.3.5 张量运算的几何解释 .....................34 2.3.6 深度学习的几何解释 .....................35 2.4 神经网络的“引擎”:基于梯度的 优化 .............................................................36 2.4.1 什么是导数 .....................................37 2.4.2 张量运算的导数:梯度 .................38 2.4.3 随机梯度下降 .................................38 2.4.4 链式求导:反向传播算法 .............41 2.5 回顾第一个例子 .........................................41 本章小结 ..............................................................42
Page
16
2 目 录 第 3 章 神经网络入门 ...............................43 3.1 神经网络剖析 .............................................43 3.1.1 层:深度学习的基础组件 .............44 3.1.2 模型:层构成的网络 .....................45 3.1.3 损失函数与优化器:配置学习 过程的关键 ....................................45 3.2 Keras 简介 ...................................................46 3.2.1 Keras、TensorFlow、Theano 和 CNTK ..............................................47 3.2.2 使用 Keras 开发:概述 .................48 3.3 建立深度学习工作站 .................................49 3.3.1 Jupyter 笔记本:运行深度学习 实验的首选方法 ............................49 3.3.2 运行 Keras:两种选择 ..................50 3.3.3 在云端运行深度学习任务: 优点和缺点 ....................................50 3.3.4 深度学习的最佳 GPU ....................50 3.4 电影评论分类:二分类问题 .....................51 3.4.1 IMDB 数据集 .................................51 3.4.2 准备数据 .........................................52 3.4.3 构建网络 .........................................52 3.4.4 验证你的方法 .................................56 3.4.5 使用训练好的网络在新数据上 生成预测结果 ................................59 3.4.6 进一步的实验 .................................59 3.4.7 小结 .................................................59 3.5 新闻分类:多分类问题 .............................59 3.5.1 路透社数据集 .................................60 3.5.2 准备数据 .........................................61 3.5.3 构建网络 .........................................61 3.5.4 验证你的方法 .................................62 3.5.5 在新数据上生成预测结果 .............65 3.5.6 处理标签和损失的另一种方法 .....65 3.5.7 中间层维度足够大的重要性 .........65 3.5.8 进一步的实验 .................................66 3.5.9 小结 .................................................66 3.6 预测房价:回归问题 .................................66 3.6.1 波士顿房价数据集 .........................67 3.6.2 准备数据 .........................................67 3.6.3 构建网络 .........................................68 3.6.4 利用 K 折验证来验证你的 方法 ................................................68 3.6.5 小结 .................................................72 本章小结 ..............................................................73 第 4 章 机器学习基础 ...............................74 4.1 机器学习的四个分支 .................................74 4.1.1 监督学习 .........................................74 4.1.2 无监督学习 .....................................75 4.1.3 自监督学习 .....................................75 4.1.4 强化学习 .........................................75 4.2 评估机器学习模型 .....................................76 4.2.1 训练集、验证集和测试集 .............77 4.2.2 评估模型的注意事项 .....................80 4.3 数据预处理、特征工程和特征学习 .........80 4.3.1 神经网络的数据预处理 .................80 4.3.2 特征工程 .........................................81 4.4 过拟合与欠拟合 .........................................83 4.4.1 减小网络大小 .................................83 4.4.2 添加权重正则化 .............................85 4.4.3 添加 dropout 正则化 ......................87 4.5 机器学习的通用工作流程 .........................89 4.5.1 定义问题,收集数据集 .................89 4.5.2 选择衡量成功的指标 .....................89 4.5.3 确定评估方法 .................................90 4.5.4 准备数据 .........................................90 4.5.5 开发比基准更好的模型 .................90 4.5.6 扩大模型规模:开发过拟合的 模型 ................................................91 4.5.7 模型正则化与调节超参数 .............92 本章小结 ..............................................................92
Page
17
1 5 3 7 10 2 6 9 4 8 11 目 录 3 第二部分 深度学习实践 第 5 章 深度学习用于计算机视觉 .............94 5.1 卷积神经网络简介 .....................................94 5.1.1 卷积运算 .........................................96 5.1.2 最大池化运算 ...............................101 5.2 在小型数据集上从头开始训练一个 卷积神经网络 ...........................................102 5.2.1 深度学习与小数据问题的 相关性 ..........................................103 5.2.2 下载数据 .......................................103 5.2.3 构建网络 .......................................106 5.2.4 数据预处理 ...................................107 5.2.5 使用数据增强 ............................... 111 5.3 使用预训练的卷积神经网络 ...................115 5.3.1 特征提取 .......................................116 5.3.2 微调模型 .......................................124 5.3.3 小结 ...............................................130 5.4 卷积神经网络的可视化 ...........................130 5.4.1 可视化中间激活 ...........................131 5.4.2 可视化卷积神经网络的 过滤器 ..........................................136 5.4.3 可视化类激活的热力图 ...............142 本章小结 ............................................................146 第 6 章 深度学习用于文本和序列 ........... 147 6.1 处理文本数据 ...........................................147 6.1.1 单词和字符的 one-hot 编码 ........149 6.1.2 使用词嵌入 ...................................151 6.1.3 整合在一起:从原始文本到 词嵌入 ..........................................155 6.1.4 小结 ...............................................162 6.2 理解循环神经网络 ...................................162 6.2.1 Keras 中的循环层 ........................164 6.2.2 理解 LSTM 层和 GRU 层 ...........168 6.2.3 Keras 中一个 LSTM 的具体 例子 ..............................................170 6.2.4 小结 ...............................................172 6.3 循环神经网络的高级用法 .......................172 6.3.1 温度预测问题 ...............................172 6.3.2 准备数据 .......................................175 6.3.3 一种基于常识的、非机器学 习的基准方法 ..............................177 6.3.4 一种基本的机器学习方法 ...........178 6.3.5 第一个循环网络基准 ...................180 6.3.6 使用循环 dropout 来降低过 拟合 ..............................................181 6.3.7 循环层堆叠 ...................................182 6.3.8 使用双向 RNN .............................184 6.3.9 更多尝试 .......................................187 6.3.10 小结 .............................................187 6.4 用卷积神经网络处理序列 .......................188 6.4.1 理解序列数据的一维卷积 ...........188 6.4.2 序列数据的一维池化 ...................189 6.4.3 实现一维卷积神经网络 ...............189 6.4.4 结合 CNN 和 RNN 来处理 长序列 ..........................................191 6.4.5 小结 ...............................................195 本章总结 ............................................................195 第 7 章 高级的深度学习最佳实践 ........... 196 7.1 不用 Sequential模型的解决方案: Keras 函数式 API .....................................196 7.1.1 函数式 API 简介 ..........................199 7.1.2 多输入模型 ...................................200 7.1.3 多输出模型 ...................................202 7.1.4 层组成的有向无环图 ...................204 7.1.5 共享层权重 ...................................208 7.1.6 将模型作为层 ...............................208 7.1.7 小结 ...............................................209 7.2 使用 Keras 回调函数和 TensorBoard 来检查并监控深度学习模型 ...................210 7.2.1 训练过程中将回调函数作用于 模型 ..............................................210
Page
18
4 目 录 7.2.2 TensorBoard 简介:TensorFlow 的可视化框架 ..............................212 7.2.3 小结 ...............................................219 7.3 让模型性能发挥到极致 ...........................219 7.3.1 高级架构模式 ...............................219 7.3.2 超参数优化 ...................................222 7.3.3 模型集成 .......................................223 7.3.4 小结 ...............................................224 本章总结 ............................................................225 第 8 章 生成式深度学习 .......................... 226 8.1 使用 LSTM 生成文本 ..............................227 8.1.1 生成式循环网络简史 ...................227 8.1.2 如何生成序列数据 .......................228 8.1.3 采样策略的重要性 .......................229 8.1.4 实现字符级的 LSTM 文本 生成 ..............................................230 8.1.5 小结 ...............................................234 8.2 DeepDream ................................................235 8.2.1 用 Keras 实现 DeepDream ...........236 8.2.2 小结 ...............................................241 8.3 神经风格迁移 ...........................................241 8.3.1 内容损失 .......................................242 8.3.2 风格损失 .......................................243 8.3.3 用 Keras 实现神经风格迁移 .......243 8.3.4 小结 ...............................................249 8.4 用变分自编码器生成图像 .......................249 8.4.1 从图像的潜在空间中采样 ...........249 8.4.2 图像编辑的概念向量 ...................250 8.4.3 变分自编码器 ...............................251 8.4.4 小结 ...............................................256 8.5 生成式对抗网络简介 ...............................257 8.5.1 GAN 的简要实现流程 .................258 8.5.2 大量技巧 .......................................259 8.5.3 生成器 ...........................................260 8.5.4 判别器 ...........................................261 8.5.5 对抗网络 .......................................261 8.5.6 如何训练 DCGAN .......................262 8.5.7 小结 ...............................................264 本章总结 ............................................................264 第 9 章 总结 ............................................ 265 9.1 重点内容回顾 ...........................................265 9.1.1 人工智能的各种方法 ...................265 9.1.2 深度学习在机器学习领域 中的特殊之处 ..............................266 9.1.3 如何看待深度学习 .......................266 9.1.4 关键的推动技术 ...........................267 9.1.5 机器学习的通用工作流程 ...........268 9.1.6 关键网络架构 ...............................268 9.1.7 可能性空间 ...................................272 9.2 深度学习的局限性 ...................................273 9.2.1 将机器学习模型拟人化的 风险 ..............................................273 9.2.2 局部泛化与极端泛化 ...................275 9.2.3 小结 ...............................................276 9.3 深度学习的未来 .......................................277 9.3.1 模型即程序 ...................................277 9.3.2 超越反向传播和可微层 ...............278 9.3.3 自动化机器学习 ...........................279 9.3.4 终身学习与模块化子程序复用 ....279 9.3.5 长期愿景 .......................................281 9.4 了解一个快速发展领域的最新进展 .......281 9.4.1 使用 Kaggle 练习解决现实 世界的问题 ..................................281 9.4.2 在 arXiv 阅读最新进展 ...............282 9.4.3 探索 Keras 生态系统 ...................282 9.5 结束语 .......................................................282 附录 A 在 Ubuntu 上安装 Keras 及其 依赖 ............................................ 283 附录 B 在 EC2 GPU 实例上运行 Jupyter 笔记本 ............................ 287
Page
19
Part 1 第一部分 深度学习基础 本书第 1~4 章将让你对下列内容有基本的了解:什么是深度学习,它能取得哪些成就,以 及它的工作原理是怎样的。你还会熟悉使用深度学习来解决数据问题的标准工作流程。如果对 深度学习不是特别了解的话,你应该先读完第一部分,再阅读第二部分中的实际应用。
Page
20
1第 1章 什么是深度学习 本章包括以下内容: 基本概念的定义 机器学习发展的时间线 深度学习日益流行的关键因素及其未来潜力 在过去的几年里,人工智能(AI)一直是媒体大肆炒作的热点话题。机器学习、深度学习 和人工智能都出现在不计其数的文章中,而这些文章通常都发表于非技术出版物。我们的未来 被描绘成拥有智能聊天机器人、自动驾驶汽车和虚拟助手,这一未来有时被渲染成可怕的景象, 有时则被描绘为乌托邦,人类的工作将十分稀少,大部分经济活动都由机器人或人工智能体 (AI agent)来完成。对于未来或当前的机器学习从业者来说,重要的是能够从噪声中识别出信号, 从而在过度炒作的新闻稿中发现改变世界的重大进展。我们的未来充满风险,而你可以在其中 发挥积极的作用:读完本书后,你将会成为人工智能体的开发者之一。那么我们首先来回答下 列问题:到目前为止,深度学习已经取得了哪些进展?深度学习有多重要?接下来我们要做什 么?媒体炒作是否可信? 本章将介绍关于人工智能、机器学习以及深度学习的必要背景。 1.1 人工智能、机器学习与深度学习 首先,在提到人工智能时,我们需要明确定义所讨论的内容。什么是人工智能、机器学习 与深度学习(见图 1-1)?这三者之间有什么关系? 图 1-1 人工智能、机器学习与深度学习
The above is a preview of the first 20 pages. Register to read the complete e-book.
Comments 0
Loading comments...
Reply to Comment
Edit Comment