JavaScript深度学习
上QQ阅读APP看书,第一时间看更新

关于本书

适用人群

本书面向对 JavaScript 有一定应用能力并希望涉足深度学习的程序员,包括 Web 前端开发人员和基于 Node.js 的后端开发人员。本书旨在满足以下两个读者群体的学习需求。

● JavaScript 程序员:他们对机器学习或相关数学原理几乎没有应用经验,但渴望对深度学习的工作原理有一定的了解,并且对相关的工作流程有足够的认知,从而能够解决分类和回归等常见的数据科学问题。

● Web 开发人员及 Node.js 开发人员:他们需要将预训练的模型作为新功能部署到 Web 应用程序或后端技术栈中。

对于第一类读者,本书以循序渐进的方式从零开始讲解机器学习和深度学习的基本概念,并辅以有趣的 JavaScript 代码示例,随时待读者探索和修改。我们还使用示意图、伪代码以及具体示例来替代数学证明,帮助你获得对深度学习基本工作原理直观且扎实的理解。

对于第二类读者,本书讲解了将已有模型(比如 Python 训练库生成的模型)转换成与 Web 浏览器和 Node.js 服务器端环境兼容且可部署的格式时,所涉及的关键步骤。我们着重说明这些步骤中的一些实际要素,比如模型大小和性能的优化,以及对服务器端、浏览器插件、移动端应用程序等各种部署环境的考量。

本书还会为所有读者深度讲解如何使用 TensorFlow.js API,包括读取和格式化数据,构建和加载模型,还有对模型进行推断、评估与训练。

最后,对那些热爱技术,但又不常用 JavaScript 或其他语言编程的人而言,本书也是不错的神经网络入门或进阶教材。

内容结构

本书分为四大部分。第一部分仅有一章,大致介绍了什么是人工智能、机器学习和深度学习,以及为什么要用 JavaScript 进行深度学习。

第二部分深入浅出地讲解深度学习中最根本、最常见的一些概念。

● 第 2 章和第 3 章为之后的机器学习内容预热。第 2 章以如何通过拟合一条直线(线性回归)从一个数字预测另一个数字为例,讲解反向传播算法这一深度学习背后的引擎的工作原理。第 3 章基于第 2 章的内容,介绍非线性、多层神经网络和分类任务,你将从中了解非线性的定义、它的工作原理以及它赋予深度神经网络表现力的原因。

● 第 4 章讲解图像数据和专用于解决机器学习问题(与图像相关)的神经网络架构:卷积网络。此外,我们将用一个音频处理示例展示为什么卷积的应用不限于图像处理。

● 第 5 章继续聚焦于卷积网络和类图像的输入,然后会将话题引申到迁移学习上,也就是如何基于已有的模型训练新的模型,不用从零开始训练。

第三部分系统讲解深度学习领域中一些更高级的话题,这部分主要针对希望了解前沿技术的读者。重点是机器学习系统中一些富有挑战性的部分,以及如何用 TensorFlow.js 来处理它们。

● 第 6 章针对深度学习讨论如何处理数据。

● 第 7 章展示如何可视化数据以及处理数据的模型,这对任何深度学习流程来说都是重要且必不可少的一步。

● 第 8 章聚焦于欠拟合和过拟合,以及相应的分析与应对技巧,这些是深度学习中的重要话题。通过这一章的讨论,我们将前几章的知识凝结为一个叫作“机器学习通用流程”的方法论。这一章将为你学习第 9~11 章中的高级神经网络架构打好基础。

● 第 9 章介绍用于处理序列数据和文本输入的深度神经网络。

● 第 10 章和第 11 章分别介绍生成式模型(包括生成式对抗网络)和强化学习这两个高级的深度学习问题。

第四部分是本书的最后一部分。

● 第 12 章讲解如何测试、优化和部署由 TensorFlow.js 训练或转换而成的模型。

● 第 13 章总结全书,回顾书中最重要的概念和流程。

每一章的结尾都有练习,旨在帮助你检查对相应章节的理解程度,并且以实战的方式强化你用 TensorFlow.js 进行深度学习的技能。

关于示例代码

本书包含的示例代码以两种形式呈现,一种是用带编号的代码清单单独列出,另一种是直接嵌入普通文本中。无论是哪种情况,源代码都会用等宽字体显示,如 meanAbsoluteError。有时代码会用等宽粗体显示,以突出较之前发生变化的代码,比如某一行添加了新的特性,如 timeSec = kernel * sizeMB + bias

很多时候,原本的代码会重新排版,比如增加换行符和更改缩进,这主要是为了适配当前页面空间。在极少数的情况下,如果这种做法并不有效,就会使用➥符号,表示一行的延续。另外,如果正文中包含了对代码的描述,这时通常会取消代码中的注释。对于很多代码清单,代码中重要的概念会以注解的形式专门标出。本书的示例代码都可以从图灵社区本书主页下载。

liveBook 在线论坛

购买本书的读者可以免费访问由 Manning 出版社维护的专属 Web 论坛,你可以在那儿找到本书的相关信息,包括原书读者评论、技术指导、作者和其他用户的互动等。论坛地址为 https://livebook.manning.com/#!/book/deep-learning-with-javascript/discussion。要更多地了解关于 Manning 论坛和论坛上的行为准则,请访问以下网站:https://livebook.manning.com/#!/discussion

Manning 致力于为读者提供一个平台,让读者之间、读者和作者之间可以进行有意义的对话。但这对所有人来说不是强制的,包括作者,他们在论坛上的贡献完全是自愿而且无报酬的。我们建议你尽量问作者一些有挑战性的问题,以激发他们的兴趣!只要本书英文版仍在销售中,你就可以在 Manning 网站上访问论坛和之前讨论话题的相关记录。购买中文版的读者可以访问图灵社区进行互动、下载随书资源、提交勘误等,本书网址为 http://ituring.cn/book/2813

更多信息

扫描下方二维码,即可获取电子书相关信息及读者群通道入口。