使用 Python 构建生成对抗网络
深度学习生成模型用于图像合成和图像转换

生成对抗网络(Generative Adversarial Networks,GANs)是一种深度学习生成模型,它能在一系列图像合成和图像到图像转换问题上取得惊人的逼真效果。
这本新电子书以您所熟悉的友好型机器学习精通风格编写,跳过数学部分,直接获取结果。
通过清晰的解释、标准Python库(Keras 和 TensorFlow 2)以及分步教程,您将学习如何为自己的计算机视觉项目开发生成对抗网络。
关于本电子书
- 支持所有设备阅读:英文 PDF 格式电子书,无数字版权管理 (DRM)。
- 海量教程:29个分步课程,652页。
- 基础知识:模型背后的直觉,更多内容。
- 实际项目:生成人脸,转换照片等。
- 可运行代码:包含113个Python (.py) 代码文件。
清晰、完整的端到端示例。
那么,什么是生成对抗网络?
生成对抗网络(Generative Adversarial Networks),简称GANs,是一种基于深度学习的生成模型。
更一般地说,GANs是一种用于训练生成模型的模型架构,最常见的是在这种架构中使用深度学习模型,例如卷积神经网络(简称CNNs)。
GANs(生成对抗网络)是一种巧妙的训练生成模型的方法,它将问题框架化为包含两个子模型的监督学习:我们训练的生成器模型用于生成新的示例,而判别器模型则尝试将示例分类为真实的(来自你的数据集)或伪造的(生成的)。
- 生成器。用于从问题域生成新的合理示例的模型。
- 鉴别器。用于将示例分类为真实(来自该域)或虚假(生成的)的模型。
这两个模型以零和博弈的方式,对抗性地一起训练,直到鉴别器模型大约一半时间被欺骗,这意味着生成器模型正在生成合理的示例。
这与训练“普通”神经网络模型大相径庭,后者涉及训练模型以最小化损失到某个收敛点。

生成对抗网络模型架构示例
那么,为什么生成对抗网络如此引人注目?
在计算机视觉等领域使用深度学习方法的众多重大进展之一,是一种称为数据增强的技术。
成功的生成建模为数据增强提供了一种替代且可能更具领域特定性的方法。
在复杂领域或数据量有限的领域,生成建模为建模提供了更多训练的途径。GANs 在深度强化学习等领域的这种用例中取得了巨大成功。
GANs之所以有趣、重要并需要进一步研究,有许多研究原因。
其中包括GANs成功建模高维数据、处理缺失数据以及GANs提供多模态输出或“多个合理答案”的能力。
也许GANs最引人注目的应用是在条件GANs中,用于需要生成新示例的任务。三个例子包括:
- 图像合成:根据给定的照片集合生成合理图像的能力。
- 艺术创作:创作新的艺术图像、素描、绘画等的能力。
- 图像转换:将照片跨领域转换的能力,例如从夏季到冬季,等等。
GANs之所以被广泛研究、开发和使用,最引人注目的原因或许是它们的成功。GANs已经能够生成如此逼真的照片,以至于人类无法辨别它们是真实生活中不存在的物体、场景和人物。
“惊人”不足以形容它们的能力和成功。

GANs能力从2014年到2017年的发展示例。摘自《人工智能的恶意使用:预测、预防和缓解》,2018年。
GANs入门的挑战
GANs的研究和应用非常新。
这项技术在几年前才首次被描述。
由于这个领域非常年轻,因此很难知道如何入门、关注什么以及如何最好地使用现有技术。
目前还没有关于如何实现和配置GAN模型的良好理论。所有关于应用GAN模型的建议都基于来之不易的经验发现,就像任何新兴研究领域一样。这使得它既令人兴奋又令人沮丧。
这令人兴奋,因为尽管迄今为止取得的成果,例如大型逼真人脸的自动合成以及照片从白天到夜晚的转换,我们才刚刚触及这些方法能力的皮毛。
令人沮丧是因为模型娇气且容易出现故障模式,即使在模型架构、模型配置超参数和数据准备方面都非常小心之后。
我研究了这个领域,并精心设计了一本书,为您提供在自己的项目上快速开发和应用生成对抗网络所需的基础。
那么,如何才能快速入门并善用GANs呢?
这是我开始学习生成对抗网络时希望拥有的一本书。
这本书源于一个想法
我如何才能让您尽快熟练掌握GANs?
机器学习精通方法指出,学习这些材料的最佳方式是实践。这意味着本书的重点是动手实践项目和教程。
本书旨在逐步教您如何使用现代深度学习方法为自己的计算机视觉项目开发生成对抗网络。
您将沿着关键路径前进,从一名对GANs感兴趣的实践者,成长为一名能够自信地设计、配置、训练和使用GAN模型的实践者。
这是我能想到的让您熟练掌握生成对抗网络的最快过程。
培养您可以立即应用的实际技能,例如
基础知识
- GAN概述。了解GAN建模架构,包括生成器和鉴别器。
- Keras API。了解使用Keras库开发深度学习神经网络模型的生命周期。
- 上采样层。了解卷积神经网络中用于图像生成所需的专用层。
- 训练算法。了解在对抗性双人游戏中训练所有GAN模型所使用的训练算法。
- GAN技巧。了解使用深度卷积网络或DCGAN稳定训练GAN模型所需的经验技巧、窍门和黑科技。
GAN基础知识
- 一维GAN。了解如何开发最简单的一维函数建模GAN。
- 黑白GAN。了解如何开发DCGAN来合成简单的黑白图像。
- 彩色GAN。了解如何开发DCGAN来合成小型彩色图像。
- 潜在空间。了解如何通过插值和向量算术探索生成器模型的潜在空间。
- 故障模式。了解GAN训练可能失败的方式以及如何识别不同的故障模式。
条件GANs
- 条件模型。了解如何将图像的额外信息整合到GAN架构中。
- 条件GAN。了解如何使生成器和鉴别器具有类条件性,以控制生成的图像类型。
- InfoGAN。了解如何将控制变量添加到GAN架构中以影响图像生成过程。
- AC-GAN。了解如何将辅助分类器模型添加到架构中以提高GAN的性能。
- 半监督GAN。了解如何调整GAN架构以训练用于标签数据非常少的问题的半监督模型。
GAN损失
- 损失挑战。发现同时训练两个交互式神经网络的挑战。
- 标准GAN损失。了解原始论文中提出的实现GAN损失函数的两种方法。
- 替代损失。了解一系列被提议作为原始GAN损失的可能有益替代方案的损失函数。
- 最小二乘损失。了解使用L2损失拟合鉴别器和生成器模型的最小二乘GAN或LSGAN。
- Wasserstein损失。了解使用Wasserstein损失拟合鉴别器和生成器模型的Wasserstein GAN或WGAN。
图像转换
- 图像到图像转换。探索计算机视觉中图像到图像转换的挑战。
- Pix2Pix。探索用于带有成对训练示例的图像到图像转换的Pix2Pix GAN架构。
- 成对转换。了解如何实现Pix2Pix模型并训练模型将卫星照片转换为Google地图,反之亦然。
- CycleGAN。探索用于带有不成对训练示例的图像到图像转换的CycleGAN架构。
- 不成对转换。了解如何实现CycleGAN模型并训练模型将马的照片转换为斑马,反之亦然。
高级GANs
- 高级GANs。探索GAN模型、架构和训练的进步,这些进步极大地提高了现有技术的水平。
- BigGAN。了解模型容量和训练过程的扩展如何带来更高质量的图像。
- 渐进增长GAN。了解训练期间模型容量的逐步增加如何导致生成非常高质量的图像。
- StyleGAN。了解生成器模型架构的彻底重新设计如何实现对图像生成过程的精细控制。
…那么,这本书适合您吗?
这本书适合谁?
让我们确保您来对了地方。
本书面向了解一些应用机器学习和一些深度学习的开发人员。
也许你希望或需要在你的研究项目或工作项目中开始使用GANs进行图像合成或转换。本书旨在通过将多年的知识和经验压缩成一个专注于实践教程的课程,帮助你快速高效地完成这项任务。
本指南以您在机器学习精通中习惯的自上而下、结果优先的风格编写。
本书中的课程对您有几点假设。
您需要了解
- 您需要熟悉基本的 Python。
- 您可能对 scikit-learn 的基本建模有所了解。
- 您可能对 Keras 的基本建模有所了解。
您不需要是
- 您不需要是数学天才!
- 您无需成为深度学习专家!
- 您不需要是计算机视觉大师!
……那么阅读后您会知道什么呢?
关于您的学习成果
本书将教您如何取得成果。
阅读并完成本书后,
您将了解
- 如何在深度卷积神经网络模型中使用上采样和逆卷积层。
- 如何使用Keras深度学习库实现GAN模型拟合的训练过程。
- 如何实现GAN模型成功配置和训练的最佳实践启发式方法。
- 如何开发和训练用于黑白和彩色图像合成的简单GAN模型。
- 如何通过点插值和向量算术探索图像生成的潜在空间。
- 如何使用定性和定量度量(例如Inception Score)评估GAN模型。
- 如何使用备用损失函数(例如最小二乘和Wasserstein损失)训练GAN模型。
- 如何构建潜在空间并通过条件GANs影响合成图像的生成。
- 如何使用Pix2Pix开发成对图像的图像转换模型,以及使用CycleGAN开发不成对图像的图像转换模型。
- 如何使用渐进增长GAN等复杂GAN模型实现卓越成果。
本书不会教您如何成为一名研究科学家,也不会深入探讨特定方法背后的所有理论(如果GANs存在这样的理论)。为此,我推荐优秀的研究论文和教科书。
对应用深度学习方法的这种新理解将通过以下方式影响您使用GANs的实践:
- 您将能够自信地设计、配置和训练GAN模型。
- 您将能够使用训练好的GAN模型进行图像合成并评估模型性能。
- 您将能够轻松驾驭世界一流的GANs进行图像到图像转换任务。
本书不能替代深度学习、计算机视觉或GANs的本科课程,也不是此类课程的教科书,尽管它可以作为有益的补充。有关顶级教科书和其他资源的良好列表,请参阅每个教程课程末尾的“延伸阅读”部分。
……那么电子书中有什么内容呢?
29个循序渐进的教程,助您成为GANs实践者
本书围绕与生成对抗网络直接相关的主要深度学习技术设计。
关于GANs,您可以学习很多东西,从理论到抽象概念再到API。我的目标是直接通过有针对性的教程,让您对必须理解的元素建立直觉。
这些教程旨在重点介绍如何利用深度学习方法取得成果。因此,它们将为你提供工具,让你能够快速理解和应用每种技术或操作。书中混合了教程课程和项目,既能介绍方法,又能提供大量的示例和实践机会。
每个教程都设计为大约一小时的阅读和完成时间,不包括运行时间以及扩展和进一步阅读部分。
您可以选择每天、每周或按自己的节奏学习课程。我认为动力至关重要,这本书旨在被阅读和使用,而不是闲置。我建议您制定一个时间表并坚持下去。
教程分为 7 个部分;它们是:
- 第1部分:基础。探索用于上采样的卷积层、GAN架构、训练模型的算法以及配置和训练GAN的最佳实践。
- 第2部分:GAN基础。学习如何从一维GAN开始开发GAN,然后逐步处理黑白和彩色图像,最后在潜在空间中执行向量算术。
- 第3部分:GAN评估。探索基于GAN模型生成图像的定性和定量评估方法。
- 第4部分:GAN损失。探索GAN模型的备用损失函数以及如何实现一些更广泛使用的方法。
- 第5部分:条件GANs。学习如何将类条件信息整合到GANs中,并添加对模型生成的图像类型的控制。
- 第6部分:图像转换。探索用于图像转换的高级GAN模型,包括训练数据中带有和不带成对示例的情况。
- 第7部分:高级GANs。探索突破架构极限的高级GAN模型,它们是一些令人印象深刻的最新成果的基础。
教程课程分解
课程概览
以下是您将完成的循序渐进教程课程概述:
每节课都旨在让普通开发人员在大约 30 到 60 分钟内完成。
前言
- 一、导论
第一部分:基础
- 第01课:什么是生成对抗网络
- 第02课:如何使用Keras开发深度学习模型
- 第03课:如何使用卷积神经网络进行上采样
- 第04课:如何实现GAN训练算法
- 第05课:如何实施GAN技巧以训练稳定模型
第2部分:GAN基础
- 第06课:如何从头开始开发一维GAN
- 第07课:如何为灰度手写数字开发DCGAN
- 第08课:如何为小型彩色照片开发DCGAN
- 第09课:生成人脸时如何探索潜在空间
- 第10课:如何识别和诊断GAN故障模式
第3部分:GAN评估
- 第11课:如何评估生成对抗网络
- 第12课:如何实现Inception Score
- 第13课:如何实现Frechet Inception Distance
第4部分:GAN损失
- 第14课:如何使用不同的GAN损失函数
- 第15课:如何开发最小二乘GAN(LSGAN)
- 第16课:如何开发 Wasserstein GAN (WGAN)
第5部分:条件GANs
- 第17课:如何开发条件GAN (cGAN)
- 第18课:如何开发信息最大化GAN (InfoGAN)
- 第19课:如何开发辅助分类器GAN (AC-GAN)
- 第20课:如何开发半监督GAN (SGAN)
第6部分:图像转换
- 第21课:Pix2Pix 简介
- 第22课:如何实现Pix2Pix模型
- 第23课:如何端到端开发Pix2Pix
- 第24课:CycleGAN 简介
- 第25课:如何实现CycleGAN模型
- 第26课:如何端到端开发CycleGAN
第7部分:高级GANs
- 第27课:BigGAN 简介
- 第28课:渐进增长GAN 简介
- 第29课:StyleGAN 简介
附录
- 附录 A:获取帮助
- 附录 B:如何设置您的工作站
- 附录 C:如何为 GPU 上的深度学习设置 Amazon EC2
尾注
- 一、结论
电子书目录
以下截图取自 PDF 电子书。
它为您提供了本书目录的完整概述。

使用 Python 构建生成对抗网络
目录
目标成果
每个部分都针对特定的学习成果,每个部分内的每个教程也是如此。
这作为一个过滤器,确保您只专注于实现特定结果所需了解的事项,而不会陷入数学或几乎无限的离题讨论中。
在实践中学习
这些教程并非旨在教您关于每种方法的所有知识。
它们旨在让您了解它们的工作原理、如何使用它们以及如何以我所知的最快方式解释结果:通过实践学习。
抢先看电子书内容
点击图片放大。
…您还将获得113个完全可用的Python脚本
奖励:生成对抗网络代码食谱
示例代码配方
书中展示的每个配方都是独立的,这意味着您可以将其复制粘贴到您的项目中并立即使用。
- 书中提供的每个示例,您都会得到一个 Python 脚本(.py)文件。
这意味着您可以跟着操作,并将您的答案与所提供的 Python 文件中已知可行的实现进行比较。
这在您处理特定任务的细节时,能大大加快您的进度,例如:
- 实现GAN。
- 配置GAN。
- 训练GAN。
- 保存GAN。
- 使用GAN进行推理。
- 评估GAN。
- 开发GAN变体。
提供的代码是在文本编辑器中开发的,旨在从命令行运行。不需要特殊的编辑器或笔记本。
所有代码示例都已通过Python 3和Keras 2(带有TensorFlow后端)进行测试。
所有代码示例都可以在普通的现代计算机硬件上运行,并已在CPU和GPU上执行。
不需要GPU,但强烈推荐。GPU将加速一些大型示例的执行,因此强烈推荐。
Python 技术细节
本节提供有关本书附带代码的一些技术细节。
- Python 版本:您可以使用 Python 3。
- SciPy:您将使用 NumPy 和 scikit-learn。
- Keras:您需要 Keras 版本 2,并带有 Theano 或 TensorFlow 后端。
- 操作系统:您可以使用 Windows、Linux 或 Mac OS X。
- 硬件:标准现代工作站即可,推荐使用GPU(例如在AWS EC2上)。
- 编辑器:您可以使用文本编辑器并从命令行运行示例。
没有设置 Python 环境?
没问题!附录包含分步教程,向您展示如何精确设置Python深度学习环境。
没有GPU?
没问题!附录包含分步教程,向您展示如何使用廉价的云计算来使用GPU更快地拟合模型。

用Python玩转生成对抗网络奖励代码
关于作者
大家好,我是 Jason Brownlee。我运营这个网站,并且编写并出版了这本书。
我和我的妻子及儿子们住在澳大利亚。我喜欢读书、写教程和开发系统。
我拥有计算机科学和软件工程背景,以及人工智能专业的硕士和博士学位,主攻随机优化。
我写过关于算法的书籍,在比赛中获胜并排名靠前,为初创公司提供咨询,并在业界工作多年。(是的,我花了很多时间构建和维护真正的运营系统!)
帮助开发者入门并精通应用机器学习,这让我感到非常满足。
我采用一种非传统的自上而下、结果优先的机器学习教学方法,我们从实践教程和问题开始,然后在需要时再深入理论。
如果您有任何问题,我随时乐意帮助。我希望您能在机器学习领域变得出色。
下载您的样章
您想仔细看看这本书吗?下载免费的章节样本PDF。
输入您的电子邮件地址,样章将发送到您的收件箱。
看看客户们怎么说
在选择 Machine Learning Mastery 的路上,您并不孤单
受到超过 53,938 名从业者的信赖
...包括来自以下公司的员工
...以及来自以下大学的学生和教职员工
以及成千上万的其他人...
绝对没有风险,因为有...
100% 退款保证
此外,正如您对市场上任何优秀产品的期望一样,每一本 Machine Learning Mastery 的电子书
都附带了信心的最大保证:我的黄金标准 100% 退款保证。
100% 退款保证
如果您对购买的任何一本 Machine Learning Mastery 电子书不满意,
只需在购买后 90 天内给我发邮件,我将立即退款给您。
无需等待。不问任何问题。没有风险。
…是时候迈出下一步了。
立即将GANs引入您的计算机视觉项目!
选择您的套餐
所有价格均为美元(USD)。
(1)点击按钮。 (2)输入您的信息。 (3)立即下载。
采用 SSL 加密的安全支付处理
您有任何问题吗?
机器学习技能值多少钱?
你的老板问你:
“嘿,你能为这个建立一个预测模型吗?”
想象一下,你拥有技能和信心去说:
“好的!”
...并付诸行动。
我经历过。 那感觉太棒了!
这对你来说价值多少?
行业对机器学习技能的需求日益增长。
市场需要的是能交付成果的人,而不是写学术论文的人。
企业知道这些技能的价值,并支付天价的起薪。
数据科学家的起薪为
10 万美元到 15 万美元。
机器学习工程师的薪水甚至更高。
你还有哪些选择?
你已经走到了这一步。
你准备好采取行动了。
但是,你还有哪些选择?有哪些选项?
(1) 一本 100 美元以上的理论教科书
...它枯燥乏味,充满了数学,你很可能永远也读不完。
(2) 一个 10,000 美元以上的现场训练营
...那里都是年轻人,你必须出差,而且可能需要几个月的时间。
(3) 一个 100,000 美元以上的高等学位
...它很昂贵,需要数年时间,而且你会成为一名学者。
或者...
为了你获得的实践技能...
为了你看到的成果速度...
为了你支付的低廉价格...
Machine Learning Mastery 电子书是
超值的选择!
而且它们确实有效。这就是我提供退款保证的原因。
你是一名专业人士
这个领域发展迅速,
...你还能等多久?
你以为你有的是时间,但是...
- 新方法不断涌现,算法也在变化。
- 新书不断出版,价格也在上涨。
- 新的毕业生不断涌现,职位也被填补。
现在就是开始的最佳时机。
自下而上的学习方式缓慢而令人沮丧,
...难道你不想找到一条更快的路吗?
你真的能再这样日复一日、周复一周、月复一月地...
- 从不完整的帖子中拼凑想法和代码。
- 从简短的视频中浏览理论和见解。
- 从学术教科书中解析希腊字母。
针对性训练是你通往成果的最短路径。
专业人士始终保持在领域前沿
获取你需要的培训!
你不想落后或错过机会。
常见问题
客户问题 (78)
感谢您的兴趣。
抱歉,我不支持我的书籍的第三方经销商(例如在其他书店转售)。
我的书是自出版的,我将我的网站视为一个小型精品店,专门为那些对应用机器学习深感兴趣的开发者服务。
因此,我更喜欢自己控制书籍的销售和营销。
很抱歉,我不支持在捆绑包内更换书籍。
所提供捆绑包中的书籍组合是固定的。
我的电子商务系统不够先进,不支持临时捆绑。我相信您能理解。您可以在这里查看完整的书籍和捆绑包目录
如果您已经购买了一个捆绑包,并希望更换其中的一本书,那么非常抱歉,我不支持换书或部分退款。
如果您不满意,请直接联系我,我可以为您安排退款。
感谢您的兴趣。
很抱歉,我无法为您创建定制的书籍捆绑包。这会给我带来维护上的噩梦。我相信您能理解。
我的电子商务系统不是很先进。它不支持临时捆绑书籍或点菜式订购书籍。
我确实有一些现有的书籍捆绑包,我认为它们搭配得很好。
您可以在这里查看我所有可用的书籍和捆绑包目录
抱歉,我不销售我的书的实体版。
所有的书籍和捆绑包都是 PDF 文件格式的电子书。
这是我经过深思熟虑后有意为之的决定
- 这些书充满了必须在电脑上完成的教程。
- 这些书假定您正在实践教程,而不是被动阅读。
- 这些书旨在在电脑屏幕上阅读,旁边放着代码编辑器。
- 这些书是实践手册,而不是用作参考书放在书架上。
- 这些书会频繁更新,以跟上领域和 API 的变化。
我希望这解释了我的理由。
如果您真的想要实体版,您可以购买书籍或捆绑包,并为个人使用打印一份。PDF 文件上没有数字版权管理(DRM)来阻止您打印它们。
抱歉,我不提供 Kindle (mobi) 或 ePub 版本的书籍。
这些书仅以 PDF 文件格式提供。
这是我经过深思熟虑的设计。我的理由如下:
- 我使用 LaTeX 来排版文本和代码,以提供专业的外观,我担心电子书阅读器会搞砸这一点。
- 增加支持的格式会带来维护上的麻烦,这将占用大量时间,影响我更新书籍和创作新书。
- 最关键的是,在电子阅读器或 iPad 上阅读与选择 PDF 格式所支持的书籍与代码编辑器并排打开的方法背道而驰。
我的材料是实践手册,旨在在电脑上打开,旁边放着文本编辑器和命令行。
它们不是离开电脑阅读的教科书。
您可以查看任何一本书的目录。
我在每本书的页面上都提供了两份目录。
具体来说:
- 一份书面摘要,列出了书中的教程/课程及其顺序。
- 一份从 PDF 中截取的目录截图。
如果您找不到目录,请在页面上搜索标题为“目录”的部分。
我很高兴您在开发自己的课程材料时使用我的部分材料,例如课堂讲座的幻灯片或家庭作业练习。
如果您免费分享我的材料或逐字使用,我会不高兴。这将构成版权侵犯。
我网站上和我书中的所有代码都是为教育目的而开发和提供的。我对代码、它可能做什么或您可能如何使用它不承担任何责任。
如果您使用我的材料进行教学,请引用来源,包括:
- 作者姓名,例如“Jason Brownlee”。
- 教程或书籍的标题。
- 网站名称,例如“Machine Learning Mastery”。
- 教程或书籍的 URL。
- 您访问或复制该代码的日期。
例如
- Jason Brownlee, Python 机器学习算法, Machine Learning Mastery, 网址:https://machinelearning.org.cn/machine-learning-with-python/, 访问于 2018 年 4 月 15 日。
另外,如果您的作品是公开的,请联系我,我很乐意出于一般兴趣看看它。
通常不提供。
我的书中没有练习或作业。
我确实在一些书中有端到端的项目,但它们是以教程形式呈现的,我会引导您完成每一步。
书的章节是作为独立的教程编写的,有特定的学习成果。在教程结束时,您将学会如何做某件事。
有些书有一个名为“扩展”的部分,提供了一些以更高级的方式修改教程中代码的想法。它们就像自学练习。
不行。
我有一些书不需要任何编程技能,例如:
其他书籍确实有特定编程语言的代码示例。
您必须了解该编程语言的基础知识,例如如何安装环境以及如何编写简单的程序。我不教编程,我教的是面向开发者的机器学习。
您不需要是一个好的程序员。
话虽如此,我确实为那些可能不熟悉特定语言的开发者提供了关于如何高效设置环境的教程,甚至还有编程语言的速成课程。
抱歉,我没有视频。
我只有文本格式的教程课程和项目。
这是有意为之。我曾经有过视频内容,但我发现完成率要低得多。
我希望您能将材料付诸实践。我发现基于文本的教程是实现这一目标的最佳方式。通过基于文本的教程,您必须阅读、实现并运行代码。
而通过视频,您只是被动观看,不需要采取任何行动。视频是娱乐或信息娱乐,而不是富有成效的学习和工作。
在阅读并实践教程之后,您更有可能运用所学知识。
是的,我提供 90 天无理由退款保证。
我为我的书负责。它们包含了我对特定机器学习主题的最佳知识,并且每本书都经过数万名读者的阅读、测试和使用。
尽管如此,如果您发现我的某本电子书不适合您,我会全额退款。
是的。
我建议使用在 TensorFlow 2.2(或更高版本)上运行的独立 Keras 2.4(或更高版本)。
博客上的所有教程都已更新,使用在 Tensorflow 2 上运行的独立 Keras。
所有书籍都已更新,使用相同的组合。
我还不推荐使用作为 TensorFlow 2 一部分的 Keras(例如 tf.keras)。它太新了,新事物总有问题,我正在等待尘埃落定。独立 Keras 已经运行多年,并且继续表现出色。
有一类教程不支持TensorFlow 2,因为这些教程使用了尚未更新以支持TensorFlow 2的第三方库。具体来说,是那些使用Mask-RCNN进行物体识别的教程。一旦第三方库更新,这些教程也将随之更新。
《使用Python的循环神经网络》这本书并未专注于时间序列预测,而是侧重于LSTM方法在各种序列预测问题中的应用。
《深度学习用于时间序列预测》一书向你展示了如何为单变量、多变量和多步时间序列预测问题开发MLP、CNN和LSTM模型。
迷你课程是关于一系列机器学习主题的免费课程,通过电子邮件、PDF 和博客文章提供。
迷你课程的特点是:
- 简短,通常为 7 天或 14 天。
- 简洁,通常每节课给出一个技巧或代码片段。
- 有限,通常范围较窄,仅限于几个相关领域。
电子书则在许多相同主题上提供完整的培训课程。
电子书的特点是:
- 更长,通常包含 25+ 个完整的教程课程,每个课程最多需要一小时完成。
- 完整,为每个课程提供温和的介绍,并包括完整的可用代码和进一步阅读材料。
- 广泛,涵盖了该主题所需的所有内容,以便快速上手并将技术应用到您自己的项目中。
迷你课程旨在让您快速获得结果。如果您想了解更多信息或更完整的代码示例,可以购买相关的电子书。
《掌握机器学习算法》这本书适合程序员和非程序员。它教你10种顶级机器学习算法的工作原理,并通过算术和电子表格而不是代码来提供示例。重点是理解每个模型如何学习和做出预测。
《从零开始的机器学习算法》这本书适合通过编写代码来学习的程序员。它提供了关于如何实现顶级算法以及如何加载数据、评估模型等的逐步教程。它较少涉及算法的工作原理,而是 专门关注如何在代码中实现每种算法。
这两本书可以相互补充。
这些书是我博客内容的浓缩和更便捷的版本。
我将我的书设计成课程和项目的结合体,教您如何使用特定的机器学习工具或库,然后将其应用于真实的预测建模问题。
这些书会进行更新,包括错误修复、API 变更的更新以及新章节的增加,这些更新是完全免费的。
我确实会将一些书的章节作为示例发布在博客上,但它们与周围的章节或书提供的叙事没有联系,也不提供独立的代码文件。
每本书都附带了书中使用的所有源代码文件,您可以将它们用作配方来快速启动您自己的预测建模问题。
我的书是实践手册,不是教科书。
它们没有深入的理论解释,只有可行的例子,这些例子高度专注于您需要知道的信息,以便将机器学习应用到您的项目中。
几乎没有数学,没有理论或推导。
我的读者非常欣赏我材料中使用的自上而下而非自下而上的方法。这是我收到反馈最多的一个方面。
我的书并不适合所有人,它们是为需要快速获得结果的从业者精心设计的。
电子书可以直接从我的网站上购买。
- 首先,找到您希望购买的书籍或捆绑包,您可以在这里查看完整的目录
- 点击您想购买的书籍或捆绑包,进入该书的详情页面。
- 点击书籍或捆绑包的“立即购买”按钮,进入购物车页面。
- 在购物车中填写您的详细信息和支付信息,然后点击“下单”按钮。
- 完成购买后,您将收到一封包含下载您的书籍或捆绑包链接的电子邮件。
所有价格均为美元(USD)。
书籍可以通过 PayPal 或信用卡购买。
Machine Learning Mastery 上的所有价格均为美元。
可以使用支持国际支付的 PayPal 或信用卡进行支付(例如,大多数信用卡都支持)。
您不必明确地将您的货币兑换成美元。
当您使用 PayPal 或信用卡付款时,货币转换会自动进行。
要在购物时使用折扣码,也称为优惠码或折扣券,请按照以下步骤操作:
1. 在结账页面的“折扣券”字段中输入折扣码文本。
注意,如果您在结账页面上没有看到名为“折扣券”的字段,则表示该产品不支持折扣。
2. 点击“应用”按钮。
3. 然后您会看到一条消息,表明折扣已成功应用于您的订单。
注意,如果您使用的折扣码已失效,您会看到一条消息,表明折扣未能成功应用于您的订单。
你应该按什么顺序读这些书?
这是一个很好的问题,我最好的建议如下:
- 考虑从一本您最感兴趣的主题的书开始。
- 考虑从一本您可以立即应用到项目上的主题的书开始。
另外,请考虑您不需要阅读所有的书,也许一部分书就能让您获得您需要或想要的技能。
尽管如此,一个建议的阅读顺序如下:
-
- 机器学习概率
- 机器学习的统计方法
- 机器学习线性代数
- 机器学习优化
- 机器学习微积分
- 数据科学入门指南
- 精通机器学习算法
- 从零开始实现机器学习算法
- 用于机器学习的 Python
- 使用 Weka 精通机器学习
- 精通 Python 机器学习
- 精通 R 语言机器学习
- 新一代数据科学
- 机器学习数据准备
- 使用 Python 处理不平衡分类问题
- 使用 Python 进行时间序列预测
- 使用 Python 实现集成学习算法
- 使用 Python 实现 XGBoost
- 使用 Python 进行深度学习
- 使用 PyTorch进行深度学习
- 使用 Python 构建长短期记忆网络
- 用于自然语言处理的深度学习
- 使用 Hugging Face Transformers 进行自然语言处理
- 用于计算机视觉的深度学习
- OpenCV 中的机器学习
- 用于时间序列预测的深度学习
- 更好的深度学习
- 使用 Python 构建生成对抗网络
- 使用注意力机制构建 Transformer 模型
- 使用 ChatGPT 提高生产力(这本书可以按任何顺序阅读)
- 使用 Stable Diffusion 精通数字艺术(这本书可以按任何顺序阅读)
希望这能有所帮助。
我最好的建议是,从一本您可以立即应用的主题的书开始。
除此之外,选择一个您最感兴趣的主题。
如果您不确定,或许可以尝试学习一些免费教程,看看您倾向于哪个领域。
通常,我建议专注于端到端地解决预测建模问题的整个过程。
我有三本书,通过三个顶级的开源平台,向您展示如何做到这一点。
- 精通Weka机器学习 (无需编程)
- 精通R语言机器学习 (使用caret)
- 精通Python机器学习 (使用pandas和scikit-learn)
这些都是很好的入门选择。
您随时可以回过头来,选择一本关于算法的书,以便更深入地了解特定方法的工作原理。
《Python深度学习》这本书可以看作是《Python长短期记忆网络》的预备知识。它教您如何开始使用Keras,以及如何开发您的第一个MLP、CNN和LSTM。
《Python长短期记忆网络》这本书深入探讨了LSTM,教您如何准备数据、如何开发一系列不同的LSTM架构、参数调整、更新模型等等。
这两本书都专注于使用Keras库在Python中进行深度学习。
《Python长短期记忆网络》这本书主要关注如何为序列预测开发一系列不同的LSTM网络。
《深度学习用于时间序列预测》一书重点介绍如何使用一系列不同的深度学习模型(MLP、CNN、LSTM 和混合模型)来解决一系列不同的时间序列预测问题(单变量、多变量、多步和组合)。
LSTM这本书只教LSTM,不侧重于时间序列。而时间序列深度学习这本书则侧重于时间序列,并教授如何使用包括LSTM在内的多种不同模型。
《Python长短期记忆网络》这本书专注于如何实现不同类型的LSTM模型。
《自然语言处理深度学习》这本书专注于如何使用包括LSTM在内的多种不同网络来解决文本预测问题。
LSTM这本书可以为NLP这本书提供支持,但它不是必需的预备知识。
您可能需要“Machine Learning Mastery”公司的企业或公司税号用于您自己的税务目的。例如,这在欧盟公司中很常见。
Machine Learning Mastery 公司在波多黎各运营。
因此,公司没有欧盟的增值税(VAT)识别号或适用于您所在国家或地区的类似税号。
公司确实有一个公司编号。详细信息如下:
- 公司名称:Zeus LLC
- 公司编号: 421867-1511
在《精通机器学习算法》中没有代码示例,因此没有使用任何编程语言。
书中通过基本算术描述算法并总结其工作原理。算法的行为也在Excel电子表格中进行了演示,这些表格随书提供。
这是一本学习算法工作原理的绝佳书籍,不会被理论或编程语法所分心。
如果您有兴趣通过从头开始编码(使用Python编程语言)来学习机器学习算法,我推荐另一本书:
所有的书都经过测试,可以与Python 3(例如3.5或3.6)一起使用。
大多数书籍也经过测试,可以与Python 2.7一起使用。
在可能的情况下,我建议使用最新版本的Python 3。
我确实会先在博客上测试我的教程和项目。这就像是创意的早期体验,其中许多并没有进入我的培训材料。
书中的大部分材料最初都以某种形式出现在我的博客上,后来经过提炼、改进并以章节格式重新包装。我发现这对于提高质量和修复错误有很大帮助。
书籍提供了更方便的材料包装,包括源代码、数据集和PDF格式。它们还包括对新API的更新、新章节、错误和拼写修正,以及直接与我联系以获得我能提供的所有支持和帮助。
我相信我的书以几十美元的价格提供了价值数千美元的教育。
它们是我数月甚至数年经验的结晶,浓缩在几百页精心制作且经过充分测试的教程中。
我认为对于希望快速掌握应用机器学习技能或在项目中使用机器学习的专业开发人员来说,它们是物超所值的。
此外,机器学习技能对您、对您的下一个项目、以及对您当前或未来的雇主价值几何?
尽管如此,如果您是学生,或者您不习惯北美、澳大利亚、英国及世界类似地区开发人员的高薪,我的书的价格可能看起来很贵。对此,我感到抱歉。
折扣
我确实为学生、教师和退休人员提供折扣。
请联系我了解更多信息。
免费资料
我在我的博客上提供了大量免费内容,您可以在这里开始学习我最好的免费资料:
关于我的书籍
我的书是实战手册。
它们是为那些想知道如何使用特定库来实际解决问题并在工作中交付价值的开发人员准备的。
- 我的书只引导您了解那些为了取得成果而必须知道的要素。
- 我的书是PDF格式,并附带代码和数据集,专为方便您在电脑上阅读和实践而设计。
- 我的书让您可以通过电子邮件直接联系到我(还有哪些书能提供这个?)。
- 对于专业开发人员来说,我的书是一笔微小的业务开销,可以记入公司账目,并且在大多数地区可以抵税。
很少有机器学习培训材料专注于如何取得成果。
绝大多数资料都在重复同样的数学和理论,却忽略了您真正关心的一件事:如何在项目中使用这些方法。
与其他选项的比较
让我为您提供一些关于书籍定价的背景信息:
YouTube上有免费视频,博客上有免费教程。
- 很好,我鼓励您使用它们,包括我自己的免费教程。
有一些非常便宜的视频课程,教您一两个API的技巧。
- 我的书教您如何使用一个库来端到端地完成一个项目并交付价值,而不仅仅是几个技巧。
一本机器学习教科书可能要花费50到100美元。
- 我所有的书都比一般的机器学习教科书便宜,而且我期望您能更快地提高生产力。
一个训练营或其他线下培训可能花费1000多美元,并持续数天到数周。
- 我所有书籍的捆绑包比这便宜得多,它们允许您按自己的节奏学习,并且捆绑包涵盖的内容比一般训练营更多。
抱歉,我的书不在像Amazon.com这样的网站上销售。
出于多种原因,我慎重决定不把我的书放在亚马逊上:
- 亚马逊会从自出版书籍的销售价格中抽取65%,这会让我无法经营下去。
- 亚马逊对销售页面和购物车体验的控制权很小。
- 亚马逊不允许我通过电子邮件联系我的客户,并提供直接支持和更新。
- 亚马逊不允许我以PDF格式向客户交付我的书,而PDF是我的客户在屏幕上阅读的首选格式。
我希望这能帮助您理解我的理由。
我免费赠送了很多内容。事实上,是大部分内容。
帮助经济不宽裕的学生和从业者对我来说很重要,因此我提供了大量的免费内容。
您可以通过以下方式获取免费内容:
我对此进行了深思熟虑,我销售机器学习电子书有几个重要原因:
- 我用收入来支持网站和所有非付费用户。
- 我用收入来养家糊口,以便我能继续创作内容。
- 为教程付费的从业者更有可能认真学习并学到东西。
- 我的书目标读者是更有可能负担得起这些材料的职业人士。
是的。
您购买的书籍或捆绑包中的所有书籍更新都是免费的。
书籍通常每隔几个月更新一次,以修复错误、拼写问题并跟上API的变化。
随时联系我,查询是否有更新。请告诉我您拥有的书籍版本(版本号列在版权页上)。
是的,这些书可以帮助您找到工作,但只是间接的。
找到工作取决于您自己。
这是一个寻找职位空缺的组织与拥有技能和背景的您之间的匹配问题。
话虽如此,有些公司更看重您能为业务带来的价值,而不是您的学位。通常,这些是较小的公司和初创企业。
您可以通过学习并精通端到端解决预测建模问题来专注于提供机器学习价值。您可以通过建立一个已完成项目的机器学习作品集来展示这项技能。
我的书正是为了帮助您实现这些目标而设计的。它们准确地教您如何使用开源工具和库在预测建模项目中取得成果。
您还有其他问题吗?
请联系我.