图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果购买者有侵权行为,我们可能 对该用户实施包括但不限于关闭该 帐号等维权措施,并可能追究法律 责任。 内 容 提 要 本书主要目标是处理很多深度学习应用的热点问题并向读者披露解决方案的细节。主要内容分为 7 章: 第 1 章介绍深度学习基础知识,第 2 章介绍大规模数据的分布式深度学习,第 3 章介绍卷积神经网络,第 4 章介绍循环神经网络,第 5 章介绍受限玻尔兹曼机,第 6 章介绍自动编码器,第 7 章介绍如何用 Hadoop 玩转深度学习。 本书适合人工智能相关专业师生,以及对深度学习在大数据领域的应用感兴趣的软件工程师。 ◆ 著 [印] 迪帕延 • 德夫 译 范东来 赵运枫 封 强 责任编辑 岳新欣 执行编辑 杨 婷 责任印制 周昇亮 ◆ 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn 北京 印刷 ◆ 开本:800×1000 1/16 印张:8.5 字数:201千字 印数:1 — 3 500册 著作权合同登记号 2018年 5 月第 1 版 2018年 5 月北京第 1 次印刷 图字:01-2017-6477号 定价:39.00元 读者服务热线:(010)51095186转600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东工商广登字 20170147 号 谨以此书献给我的父亲 Tarun Kumar Deb 和母亲 Dipti Deb。 也献给我的兄长 Tapojit Deb。 前 前 言 1 言 1 2 3 本书将教你如何使用 Hadoop 在深度神经网络中部署大型数据集,以实现最佳性能。 从了解什么是深度学习以及与深度神经网络相关的各种模型开始,本书将向你展示如何配置 用于深度学习的 Hadoop 环境。 4 5 本书内容 第 1 章,深度学习介绍。深度学习在过去十年间已深入人心,由于功能增强了,其发展速度 甚至超过了机器学习。这一章首先介绍了人工智能的现实应用、相关的挑战,以及深度学习为何 能够有效地解决这些问题。通过解决一些主要的机器学习问题(如维度诅咒、梯度消失等) ,深 入阐释了深度学习。为了后续各章内容的学习,后半部分讨论了各种类型的深度学习网络。该章 主要适用于想了解深度学习的基础知识,但不需要深入了解各个深度神经网络细节的读者。 6 第 2 章,大规模数据的分布式深度学习。大数据和深度学习无疑是近段时间最热门的两大技 术趋势。两者关系密切,过去几年中都呈现出了巨大的发展。这一章首先介绍了如何将深度学习 技术用于大量非结构化的数据,并从中提取宝贵的隐藏信息。Google、Facebook、苹果等知名技 术公司正在深度学习项目中使用这种大规模数据,以更智能的方式训练一些优秀的深度神经网 络。然而,深度神经网络在处理大数据时遇到了一些挑战。这一章将详细说明这些挑战。后半部 分介绍了 Hadoop,并探讨了如何使用 Hadoop 的 YARN 及其迭代 Map-Reduce 来实现深度学习模 型。接着介绍了深度学习中一个流行的开源分布式框架:Deeplearning4j,并解释了其各种组件。 8 第 3 章,卷积神经网络。卷积神经网络是一种深度神经网络,广泛应用于顶尖技术产业的各 种深度学习项目中。卷积神经网络在图像识别、视频识别、自然语言处理等各个领域都有广泛的 应用。卷积是一种特殊的数学运算,是卷积神经网络的重要组成部分。为了学习卷积神经网络, 这一章首先用现实生活中的一个示例说明了卷积的概念。接下来,通过对网络的每个组成部分进 行说明,深入阐释了卷积神经网络。为了提高网络性能,卷积神经网络具有三个最重要的参数: 稀疏连接、参数共享和平移不变性。这一章对这些概念进行了解释,以便更好地理解卷积神经网 络。卷积神经网络还有一些关键的超参数,这些超参数有助于确定网络输出图像的维度。这一章 还详细讨论了这些超参数之间的数学关系。后半部分重点介绍分布式卷积神经网络,并展示了如 7 9 10 11 12 13 2 前 言 何使用 Hadoop 和 Deeplearning4j 来实现分布式卷积神经网络。 第 4 章,循环神经网络。循环神经网络是一种特殊的神经网络,可作用于长向量序列,以产 生不同的向量序列。近年来,它们已成为可变长序列建模中极受欢迎的选择。循环神经网络已经 成功应用于语音识别、在线手写识别、语言建模等领域。通过提供一些必要的数学关系和可视化 表征,这一章详细阐释了循环神经网络的各种概念。循环神经网络拥有自己的“内存”来存储中 间隐藏层的输出。“记忆”是循环神经网络的核心部分,这一章用合适的框图对其进行了讨论。 此外,为了克服单向循环神经网络的局限性,这一章引入了双向循环神经网络的概念。随后,为 了解决第 1 章中提到的梯度消失问题,讨论了循环神经网络中被称为“长短期记忆”的一个特殊 单元。最后,使用 Deeplearning4j 在 Hadoop 中实现分布式深度循环神经网络。 第 5 章,受限玻尔兹曼机。这一章涵盖了第 3 章和第 4 章中讨论过的两种模型,并说明了它 们是判别模型,还探讨了名为“受限玻尔兹曼机”的生成模型。在给定隐藏参数时,受限玻尔兹 曼机能够随机生成可见的数值。该章首先介绍了“基于能量的模型”这一概念,并阐释了受限玻 尔兹曼机和它的关系。此外,还讨论了一种被称为“卷积受限玻尔兹曼机”的特殊受限玻尔兹曼 机,它是卷积和受限玻尔兹曼机的组合,有助于提取高维图像的特征。 这一章的后半部分介绍了深度信念网络,这是一种被广泛使用的、由几个受限玻尔兹曼机组 成的多层网络。此外,还讨论了如何使用 Hadoop 在分布式环境中实现深度信念网络。最后讨论 了如何使用 Deeplearning4j 实现受限玻尔兹曼机以及分布式深度信念网络。 第 6 章,自动编码器。这一章引入了一种称为“自动编码器”的生成模型,这种模型通常用 于降维、特征学习或提取。该章首先解释了自动编码器的基本概念及其通用框图。自动编码器的 核心结构基本上可分为编码器和解码器两部分。编码器将输入映射到隐藏层,而解码器将隐藏层 映射到输出层。基础自动编码器的主要作用是将输入层的某些方面复制到输出层。这一章接着讨 论了稀疏自动编码器,它基于隐藏层的分布式稀疏表征。随后深入介绍了包含多个编码器和解码 器的深度自动编码器的概念,并提供了适当的示例和框图。该章后半部分对降噪自动编码器和堆 叠式降噪自动编码器进行了说明。最后展示了如何使用 Deeplearning4j 在 Hadoop 中实现堆叠式 降噪自动编码器和深度自动编码器。 第 7 章,用 Hadoop 玩转深度学习。这一章主要介绍分布式环境中三种最常用的机器学习应 用的设计。该章讨论了如何使用 Hadoop 进行大规模的视频处理、图像处理和自然语言处理,阐 释了如何在 Hadoop 分布式文件系统中部署大型视频和图像数据集,并使用 Map-Reduce 算法进 行处理。对于自然语言处理,该章最后对其设计和实现进行了深入的说明。 阅读背景 我们希望本书的所有读者都具有一定的计算机科学背景。本书主要讨论不同的深度神经网 图灵社区会员 ChenyangGao(2339083510@qq.com) 专享 尊重版权 前 言 3 络,以及其基于 Deeplearning4j 的设计和应用。为了更好地学习本书中的内容,你最好已掌握机 器学习、线性代数、概率论、分布式系统和 Hadoop 的基础知识。为了使用 Hadoop 实现深度神 经网络,本书广泛应用了 Deeplearning4j。运行 Deeplearning4j 所需的知识可以参考以下链接: https://deeplearning4j.org/quickstart。 读者对象 1 2 3 如果你是想学习如何在 Hadoop 上进行深度学习的数据科学家,那么本书很适合你。对机器 学习的基本概念与 Hadoop 有一定的了解,将有助于你充分利用本书。 4 排版约定 在本书中,你会发现一些不同的文本样式。以下举例说明它们的含义。 嵌入代码、数据库表名、用户输入等用等宽字体表示,例如: “.build()函数用于构建层。 ” 代码块的样式如下所示: public static final String DATA_URL = "http://ai.stanford.edu/~amaas/data/sentiment/*"; 5 6 7 当我们希望你注意代码块中的特定部分时,相关行或项目将以粗体显示: MultiLayerNetwork model = new MultiLayerNetwork(getConfiguration()); Model.init(); 8 新术语和重要内容会以黑体字显示。 9 此图标表示警告或重要事项。 10 此图标表示提示和技巧。 11 读者反馈 我们非常欢迎读者的积极反馈。如果你对本书有任何想法或看法,请及时反馈给我们,这将 有助于我们出版充分满足读者需求的图书。一般性反馈请发送至电子邮箱 feedback@packtpub.com, 并在邮件主题中注明书名。如果你擅长某个领域,并有意编写图书或是贡献一份力量,可以参考 我们的作者指南:http://www.packtpub.com/authors。 12 13 4 前 言 客户支持 你现在已经是 Packt 的尊贵读者了。为了让你的购买物超所值,我们还为你准备了以下内容。 下载示例代码 你可以使用自己的账户从 http://www.packtpub.com 下载所有已购 Packt 图书的示例代码文件。 如果你是从其他途径购买的本书,那么可以访问 http://www.packtpub.com/support 并注册,我们将 通过电子邮件向你发送文件。 可以通过以下步骤下载示例代码文件。 (1) 使用电子邮件和密码登录或注册我们的网站。 (2) 将鼠标光标移到网站上方的 SUPPORT 标签。 (3) 单击 Code Downloads & Errata 按钮。 (4) 在搜索框中输入书名。 (5) 选择想要下载代码文件的图书。 (6) 从下拉菜单中选择购书途径。 (7) 单击 Code Download
Hadoop深度学习
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
本文档由 user 于 2021-02-28 15:17:11上传分享