《码农的零门槛AI课:基于FASTAI与PYTORCH的深度学习》[88M]百度网盘|pdf下载|亲测有效
《码农的零门槛AI课:基于FASTAI与PYTORCH的深度学习》[88M]百度网盘|pdf下载|亲测有效

码农的零门槛AI课:基于FASTAI与PYTORCH的深度学习 pdf下载

出版社 社会出版社
出版年 2023-06
页数 390页
装帧 精装
评分 9.2(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供码农的零门槛AI课:基于FASTAI与PYTORCH的深度学习电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

编辑推荐

深度学习领域的圣经,解锁从实践到原理的最佳学习路径

完美的互动式旅程,在复杂技术概念与工具应用间轻松对话

为菜鸟、老鸟提供学习AI和其他领域技术的最佳资源环境

随时随地用有效代码搭建系统,“人人都可以学会深度学习”

打开深度学习的黑盒子,解答人工智能的技术与道德边界


内容简介

使用PyTorch和fastai深度学习库,您将学习如何训练一个模型来完成广泛的任务——包括计算机视觉、自然语言处理、表格数据和生成网络。与此同时,你将逐步深入学习深度学习理论,这样在本书的最后你将对图书馆功能背后的数学有一个完整的理解。

作者简介

Jeremy Howard是fast.ai的创始研究员,fast.ai研究所致力于让大家更容易上手深度学习。同时,他也是旧金山大学杰出的研究科学家和世界经济论坛全球AI理事会成员。

Sylvain Gugger是Hugging Face的研究工程师。此前,他曾是fast.ai的研究科学家,主要研究如何通过设计和改进技术让模型在资源有限的情况下训练得更快,以使更多的人使用深度学习。

译者陈志凯、熊英鹰,为腾讯Blade团队核心成员。主要实践方向是在黑盒设置中测试人脸识别系统的鲁棒性,以及通过对抗性示例研究深度学习模型的鲁棒性;主要研究方向是使用对抗性训练来帮助深度学习模型更健壮,并获得更强大的性能。

精彩书评

如果你想要找到一本可以从基础开始,带你一路学习到最先进的研究深度学习知识的图书,那么这本书你一定不能错过。不要让博士们独享深度学习的乐趣——你也可以使用深度学习来解决实际的问题。

——Hal Varian 加州大学伯克利分校名誉教授,谷歌首席经济学家

随着人工智能进入深度学习时代,所有人都应该尽量了解深度学习的工作原理。为程序员写的深度学习图书是迈向这个目标的绝佳起点,但初学者也可以从这本书开始学习,因为本书简化了很多人觉得困难的事情。

——Eric Topol Deep Medicine 一书的作者,斯克里普斯研究所教授

杰里米和西尔文将提供一场互动式旅程,带领你穿越深度学习的损失低谷和性能高峰。本书包含了作者多年来开发和教授机器学习过程中所经历的有趣的事情,以及实践过程中的一些经验教训,在复杂的技术概念和轻松的对话环境之间达到了罕见的平衡。本书真正贯彻落实了 fast.ai 在线上教学中取得巨大成功的哲学,为你带来最先进并且实用的

工具,以及实际工作中使用这些工具的案例。无论你是新手还是老手,本书都能够加快你的深度学习旅程,带你达到深度学习新的高度和深度。

——Sebastian Ruder deepmind 研究科学家

杰里米和西尔文成功地通过这本精彩绝伦的著作,搭起了人工智能领域和其他领域之间的桥梁。如果你对深度学习感兴趣,这是一本非常实际并且有深度的入门读物,在这个领域中,本书可被喻为众多图书中的北极星。

——Anthony Chang 橘郡儿童医院智能与创新办公室主任

如何顺利地学到深度学习的精髓?如何使用示例和程序来快速学习概念、经验及一些奇技淫巧?答案就在本书中。不要错过这本深度学习实践领域中新的经典之作!

——Oren Etzioni 华盛顿大学教授,艾伦人工智能研究所执行董事长

本书是一颗珍贵的宝石,它是由一系列精心制作并且有着高效教学效果的课程浓缩而成的产物。这些课程历经多年的反复淬炼,成就了成千上万名学子。我就是其中的一名学生,fast.ai 用十分美妙的方式改变了我的人生,相信它也可以为你做到同样的事情。

——Jason Antic DeOldify 创始人

本书是一个让人惊讶的资源。这本书不会浪费你的时间,前几章直接讲解了如何有效地使用深度学习,然后通过全面却又十分平易近人的方式介绍了机器学习模型和框架的内部工作原理,让你可以更好地理解它们,并且在理解的基础之上,学会如何建构相应的系统。如果我在学习深度学习的时候就能看到这本书,那该多好!这是一本当代的经典图书!

——Emmanuel Ameisen Build Machine Learning Powered Application 一书的作者

正如本书第 1 章第 1 节所讲的那样,“人人都可以学会深度学习”,虽然可能也有其他的图书提出过类似的观点,但本书确实将这个观点付诸实践。本书的两位作者都拥有这个领域内丰富的知识,能够让具备程序设计经验,但不具备机器学习经验的读者轻松地理解机器学习。本书先展示案例,然后只在具体场景的例子下介绍理论知识,这对于大多数人来说是最好的学习方式。本书介绍的计算机视觉、自然语言处理、表格数据处理的内容让人印象深刻,而且书中还包含了在一些其他图书中没有探讨过但十分重要的主题,如数据伦理。总之,本书是程序员精通深度学习的最佳资源之一。

——Peter Norvig 谷歌公司研究总监

杰里米和西尔文为所有哪怕只写过极少代码的人提供了十分理想的资源。本书和 fast.ai的课程都采用了动手实践的风格,以简单且实际的方式揭开了深度学习的面纱,并且提供了现成的代码,方便你进行探索和重复使用。你再也不需要苦读抽象的理论和数学证明了。在第 1 章中,你就能做出你的第一个深度学习模型。在看完本书后,你还将知道如何阅读和理解任何一篇深度学习论文中讲述的方法。

——Curtis Langlotz 斯坦福大学医学和影像信息学人工智能中心(AIMI 中心)主任

本书揭开了最黑的黑盒子 :深度学习的面纱,它使用完整的 Python notebook 程序来快速地进行实验,并且深入地探讨了人工智能的道德含义,解释了如何防止它变成反乌托邦的技术。

——Guillaume Chaslot Mozilla 成员

身为一位来自钢琴演奏领域的 OpenAI 研究者,很多人经常问我如何进入深度学习领域,我的答案一直都是 fastai。本书解决了很多看似不能解决的问题——它不但以易懂的方式解释了复杂问题,还提供了许多资深从业者也会喜欢的先进技术。

——Christine Payne OpenAI 研究员

这是一本很容易读懂的图书,它可以帮助任何人快速进入深度学习这一研究领域。这是一本清晰易懂并且很实在的深度学习实践指南,无论是初学者,还是管理者,都可以从中获得帮助。真希望我几年前就能看到这本书!

——Carol Reiley Drive.ai 创始人兼董事长

由于杰里米和西尔文在深度学习领域的能力、在机器学习方面的实践经验,以及许多宝贵的开源贡献,他们已经是 PyTorch 社区中十分重要的人物了。这本书是他们的研究和fast.ai 社区工作的延续,让机器学习更加平易近人,并且造福了整个人工智能领域。

——Jerome Pesenti Facebook 的 AI 副总裁

深度学习是当代最重要的技术之一,为人工智能领域带来了许多惊人的进展,它曾经是相关博士们的独占领域,但以后再也不是了!本书以非常热门的 fast.ai 课程为基础,让每一个编写过程序的人都可以使用深度学习。本书通过优秀的实践案例和可互动的网站来教授大家怎么玩这个“游戏”,而且,即使是博士也可以在这本书中学到很多东西。

——Gregory Piatetsky-Shapiro KDnuggets 总裁

这本由两位当代优秀的深度学习专家编写的图书是我多年来不断推荐的 fast.ai 课程的延伸,它将带领你在几个月之内,从初学者晋升为合格的从业者。2020 年总算有好事要发生!

——Louis Monier Altavista 创始人,Airbnb AI Lab 前负责人

我们强烈推荐这本书!本书使用更高阶的抽象框架来快速完成具体且实际的人工智能和自动化任务,将省下来的时间用来讨论经常被忽略的主题,例如,如何将模型安全地投入生产环境,以及迫切需要被关注的数据伦理问题。

——John Mount 和 Nina Zumel Practical Data Science with R 一书的作者

这本书是“写给程序员”的,读者也不需要获得博士学位,但是我有博士学位,不是程序员,他们为什么邀请我评价这本书呢?其实是为了让我告诉你这本书有多棒!本书第 1 章的前几页就告诉你如何只用 4 行代码和不到 1 分钟的计算时间,利用先进的神经网络来对猫狗图像进行分类。第 2 章从模型将你带到生产环境中,展示了如何在不使用任何 HTML、JavaScript、自建服务器的情况下,立刻提供 Web 应用程序的服务。我觉得这本书就像是一个洋葱,它是一套使用最佳设定来运作的完整方案。如果要做任何修改,你可以剥掉外层的内容,如果还有修改,可以继续剥。还没结束?你可以继续往里深入,单纯地使用 PyTorch。这本 500 多页的图书使用了 3 种不同的讲解角色来陪伴你完成整个历程,为你提供专业的指导和个人的观点。

——Alfredo Canziani 纽约大学计算机科学系教授

本书是一本平易近人、对话式的图书,它用一种全局概览的方式教授深度学习的概念,用实际的例子让你亲手实操,而且只在必要的时候才提供参考的概念。在本书的前半部分,读者可以通过实际操作案例进入深度学习的世界,但是当阅读到本书后半部分的时候,会自然而然地接触到并理解更深层的概念,不会让读者在读完整本书之后心中遗留任何谜团。

——Josh Patterson Patterson 顾问


目录

前言......xxi

序......xxvii

第Ⅰ部分 上手实践深度学习

第 1 章 你的深度学习之旅........ 3

人人都可以学会深度学习 ...... 3

神经网络简史 .......... 5

作者介绍 ............... 8

如何学习深度学习 ......... 9

你的项目和思维模式 .......... 11

构建模型相关的库和运行环境 :PyTorch、fastai 和 Jupyter(它们都不重要) .... 12

你的第一个模型 .............. 14

找一台拥有合适 GPU 的计算机用于深度学习 ....... 14

运行你的第一个 notebook ..........15

什么是机器学习 ................20

什么是神经网络 ............ 23

一些深度学习的术语 ......... 24

机器学习的局限性 ............ 25

图像识别器工作的方式 ....... 27

图像识别器在学习什么 ..................33

图像识别器可处理非图像任务 ....... 36

术语回顾 ................ 39

深度学习不仅仅用于图像分类 .......... 41

验证集和测试集 .............. 48

根据判断定义测试集 ..................50

选择你想要冒险探索的方向 .......... 53

问题 .....................54

深入研究 ....................... 55

第 2 章 从模型到输出..... 56

深度学习的实践 .............56

开始你的项目 ............... 57

深度学习的研究进展 ........58

传动系统方法 .........62

收集数据 ................ 63

从数据到数据加载器 ........ 68

数据增强 ............ 72

训练模型,并使用模型进行数据清洗 ......73

将模型转换为在线应用程序 ........ 76

使用模型进行推理 ............ 76

从模型创建 notebook 应用 ...........78

让 notebook 成为一个真正的应用程序 ....... 80

部署你的应用程序 ........ 81

如何避免灾难 ...............84

不可预见的后果和反馈回路 ...... 86

写下来 ............. 87

问题 ................ 88

深入研究 ............... 89

第 3 章 数据伦理.........90

数据伦理的主要案例 .......... 91

各种 Bug 和追索权 :漏洞百出的医疗保健福利算法 ..... 92

反馈回路 :YouTube 的推荐系统 ........... 92

偏见 :拉塔尼亚 · 斯威尼“已被捕” ........ 92

为什么伦理如此重要 ......... 93

在产品设计中结合机器学习 .. 96

数据伦理专题 .......... 97

追索权和问责制 ........ 98

反馈回路 ........... 98

偏见 ........... 101

谣言 .................111

识别和解决伦理问题 ......... 112

分析你正在做的项目 ........ 113

落地流程 ....... 113

多元的力量........ 115

公平、问责和透明 ....... 116

政策的作用 ...... 117

监管的有效性 ....... 118

权利与政策.........118

汽车 :前车之鉴 ....... 119

结论 ........ 119

问题 ........... 120

深入研究 .............. 121

上手实践深度学习 :圆满完成 ...... 122

第Ⅱ部分 理解 fastai 的应用

第 4 章 深入探索谜底 :训练数字分类器.........125

像素 :计算机视觉的基础 .......... 125

第一次尝试 :像素相似度 ............. 129

Numpy 数组和 PyTorch 张量............. 134

使用广播机制计算指标............ 136

随机梯度下降法 ............ 140

梯度计算 .............. 144

通过学习率迭代 ............... 146

一个直观的随机梯度下降案例 ............ 148

梯度下降的总结 ................ 153

MNIST 损失函数 ............. 154

sigmoid .............. 160

随机梯度下降及小批次 ............. 161

将它们集成在一起 ............ 162

创建一个优化器 ........... 166

增加一个非线性特征 .......... 168

更深入一些...... 172

术语回顾 ........... 172

问题 ................ 174

深入研究 ................ 175

第 5 章  图像分类...........176

从猫狗识别到宠物分类............ 176

图像尺寸的预处理 ......... 179

检查和调试数据块 ............ 182

交叉熵损失 ......... 184

查看激活值和标签 ............ 185

softmax ............... 186

对数似然 ........ 189

使用对数函数 .......... 191

模型解释 ......... 193

改进我们的模型 ........... 195

学习率查找器 .......... 195

解冻与迁移学习 .... 197

区别学习率........... 199

选择训练的周期数 ..... 202

更深的网络架构 .......... 202

结论 ........... 204

问题 ........... 205

深入研究 ............ 206

第 6 章 其他计算机视觉问题........207

多标签分类 ...... 207

数据 ............. 208

构建数据块.......... 210

二元交叉熵........ 214

回归 ............. 219

配置数据 .......... 220

训练模型 ....... 223

结论 ......... 225

问题 ......... 225

深入研究 ............ 226

第 7 章 训练最高水准的模型..........227

Imagenette ....... 227

标准化 ............ 229

渐进式调整尺寸 ....... 231

测试期的数据增强 ....... 233

Mixup ...... 234

标签平滑 ......... 237

结论 ......... 239

问题 ............. 239

深入研究 ..... 240

第 8 章 深入协同过滤.......241

了解数据 ........... 242

学习潜在特征 ............ 244

创建 DataLoaders ........... 245

从头开始进行协同过滤.......... 248

权重衰减 ............... 251

创建我们自己的嵌入模块 .... 253

嵌入和偏差的解释 ......... 255

使用 fastai.collab .......... 257

嵌入距离 ................ 257

启动协同过滤模型的自助取样 ...... 258

用于协同过滤的深度学习 ...... 259

结论 ............ 262

问题 ....... 262

深入研究 .......... 263

第 9 章 深入学习表格建模.......264

分类嵌入 ......... 264

超越深度学习 ..... 269

数据集 .......... 270

Kaggle 竞赛 .. 270

查看数据 ....... 272

决策树 ......... 274

处理日期 .......... 275

使用 TabularPandas 和 TabularProc .... 276

创建决策树...... 279

分类变量 ....... 283

随机森林 ....... 284

创建一个随机森林 ...... 285

out-of-bag error .... 287

模型解释 ......... 288

树预测置信度的方差 ...... 288

特征重要性........... 289

删除低重要性特征 .... 290

删除冗余特征 ....... 291

部分依赖 ......... 294

数据泄露 .......... 296

树解释器 ....... 298

外推与神经网络 ... 299

外推问题 ...... 299

查找域外数据 ... 301

使用神经网络 ....... 303

集成 ....... 307

boosting ......... 308

将嵌入与其他方法相结合 ..... 309

结论 ........ 310

问题 ......... 311

深入研究 ...... 312

第 10 章 NLP 深度探究 :RNN.......313

文本预处理 ....... 314

分词 ....... 316

用 fastai 进行分词 ....... 316

根据子词分词 .......... 320

使用 fastai 进行数值化 .......... 322

将文本分批作为语言模型的输入 ....... 323

训练文本分类器 ........... 326

使用数据块来训练语言模型 ....... 326

微调语言模型 ....... 328

保存和加载模型 ......... 329

文本生成 ....... 330

创建分类器的数据加载器 ........... 331

微调分类模型 ............. 333

虚假信息和语言模型 ............... 334

结论 ......... 337

问题 .............. 337

深入研究 ............. 338

第 11 章 使用 fastai 的中间层 API 来处理数据............339

深入研究 fastai 的分层 API .......... 339

转换 .............. 340

编写自定义转换 ........... 342

管道 .............. 343

TfmdLists 和 Dataset :转换后的集合 ........ 343

TfmdLists ........... 344

Datasets ........ 346

应用中间层数据 API :孪生体(Siamese Pair) ....... 348

结论 ........... 352

问题 ......... 352

深入研究 ............. 353

理解 fastai 的应用 :总结 ........ 353

第Ⅲ部分 深度学习基础

第 12 章 从零开始制作语言模型.........357

数据 ....... 357

从零开始构建你的第一个语言模型 ... 359

PyTorch 语言模型 ...... 360

我们的第一个循环神经网络 ...... 363

改进 RNN .....364

维持 RNN 的状态 ..... 365

创建更多的标志 ....... 368

多层循环神经网络 .....370

模型 ........ 371

激活值消失 / 爆炸 ....... 372

LSTM ................. 373

从零开始构建 LSTM ......... 374

使用 LSTM 训练一个语言模型 .... 377

对 LSTM 进行正则化 ...... 378

dropout ........... 378

激活单元正则化和时序激活单元正则化 ..... 380

训练一个权重绑定正则化 LSTM ...... 381

结论 ........... 382

问题 .......... 383

深入研究 ............... 385

第 13 章 卷积神经网络........386

卷积的魔力 ... 386

应用一个卷积核 ....... 389

PyTorch 中的卷积 ...391

步长和填充......... 393

理解卷积方程 ...... 395

我们的第一个卷积神经网络 ....397

创建 CNN ........ 397

理解卷积运算 ..... 401

感受野 ........... 402

关于 Twitter 的提示 ..... 403

彩色图像 ........... 405

改善训练稳定性 .... 408

简单基准 ..... 409

增加批次大小 ........ 411

1 周期训练 .. 412

批次归一化..... 417

结论 ....... 419

问题 ....... 420

深入研究 ......... 421

第 14 章 ResNet......422

回到 Imagenette .... 422

建立现代 CNN :ResNet ...... 425

跳连 ......... 426

最先进的 ResNet ..... 431

瓶颈层 .............. 434

结论 ...... 436

问题 .............. 436

深入研究 ........... 438

第 15 章 深入研究应用架构.......439

计算机视觉 ...... 439

cnn_learner .......... 439

unet_learner ......... 441

Siamese 网络 ........ 443

自然语言处理 .......... 445

表格 ........... 446

结论 .......... 447

问题 ............ 449

深入研究 ............ 450

第 16 章 训练过程.........451

建立基线 ............. 451

通用优化器 .......... 453

动量 ............ 454

RMSProp ....... 457

Adam ........ 458

解耦权重衰减 .......... 459

回调 ........... 460

创建一个回调函数 ........ 463

回调排序和异常 ......... 466

结论 .......... 468

问题 ............. 468

深入研究 .......... 469

深度学习基础 :总结 ...... 469

第Ⅳ部分 从零开始学习深度学习

第 17 章 神经网络基础...................473

从零开始构建神经网络层 ......... 473

建立神经元模型 ................. 473

从零开始进行矩阵乘法 ........ 474

逐元素运算.................. 476

广播 ........................... 477

爱因斯坦求和 ............... 482

前向和反向传播 ........... 483

定义神经网络层并对其初始化 ... 483

梯度和反向传播 ............ 488

重构模型 ............. 491

迈向 PyTorch ..... 492

结论 ............. 495

问题 ........ 496

深入研究 .............. 497

第 18 章 用 CAM 做 CNN 的解释............498

CAM 和 hook .......... 498

梯度 CAM ............502

结论 .......... 504

问题 .................. 504

深入研究 ........... 504

第 19 章 从零开始构建 fastai Learner............505

数据 ............... 505

数据集 .......... 507

Module 和 Parameter ........... 510

简单的 CNN .................. 513

损失 ...... 514

Learner ........ 516

回调 ..... 518

调整学习率安排表 ...... 519

结论 ...... 522

问题 .......... 522

深入研究 ......... 523

第 20 章 总结.....................524

附录 A 创建一个博客.................527

附录 B 数据科学项目的检查表.........536


前言/序言


深度学习在短时间内已经成为一项应用十分广泛的技术,它可以用来解决计算机视觉、机器人、医疗、物理及生物学等多个领域内的问题,并能够对给出的解决方案实施自动化操作。深度学习中的一个十分核心的特性,即它相对简单,现在已经有人做出了很多十分强大且有效的与深度学习相关的软件,让普通人也可以快速方便地上手进行深度学习的试验,你也可以在几周之内就了解并且熟悉这些技术的基本知识。

这个特性为我们开启了一个充满创造力的空间,你可以用它来处理已有的数据,然后看着机器用巧妙的方法来解决当下的问题。与此同时,你可能会发现自己在使用深度学习的过程中,离一个巨大的障碍越来越近,即虽然你已经做出了一个深度学习的模型,但是模型的效果可能会不如预期。这就是时候进入下一个阶段了,我们需要寻找并阅读最前沿的与深度学习相关的研究资料。

然而,深度学习领域蕴含着大量的知识,隐藏在其中的是那长达三十年的理论、技术和工具的积累。在阅读这些研究资料的过程中,你会发现作者有时用非常复杂的方式来解释简单的事情,科学家们在这些论文里使用的是陌生的文字和数学符号,你也无法在教科书或者博客文章中找到能以简单的方法介绍清楚这些必要背景知识的内容。工程师和程序员都假设你已经知道 GPU 是如何工作的,并默认你已经了解一些相关工具的使用方法了。

此时,你希望有良师益友可以和你交流。他曾经也经历过你现阶段的处境,了解这些工具的使用,并掌握相关的数学知识,可以教会你最好的研究方法、最先进的技术及高阶的工程方案,并且能把这些内容以有趣、简单的方式呈现给你。我在十年前刚进入机器学习领域的时候也经历过和你类似的情况。多年来,我费尽心思地阅读包含各类数学知识的论文,虽然有很多优秀的导师给了我很大的帮助,但我仍然花费了好几年的时间才算熟悉了机器学习和深度学习领域的相关知识,这也促使我和其他作者一起共同设计出PyTorch 这一让深度学习更加易于使用的软件框架。

杰里米和西尔文也同样经历过类似的情况,他们也想学习和使用机器学习,尽管他们从未参加过任何正式的机器学习相关的科学研究或工程培训。杰里米、西尔文都和我一样,经历了许多年的缓慢摸索才成为这个领域的专家和领导者。但是他们和我不同的是,他们自发地投入了大量的精力来确保别人不会重蹈他们的覆辙,进而打造了一个非常棒的名为 fast.ai 的学习课程,使得仅具备基本代码开发知识的人就可以轻松地使用先进的深度学习技术。这个课程已经成就了成千上万名渴望学习深度学习知识的学生,开辟了从入门走向实践的道路。

杰里米和西尔文孜孜不倦地完成了这本书。在本书中,他们创造了一段深度学习的神奇之旅。他们用简单的文字介绍了每一个概念,却为你带来了最先进的深度学习技术和最前沿的研究工作成果,最重要的是,整个学习过程都尽可能地被简化并易于理解。在这本 500 多页的图书中,你将了解到计算机视觉最新的研究成果,深入探索自然语言处理的相关内容,并学习一些基本的数学知识。这个过程不仅充满了乐趣,还可以协助你将想法付诸实践。你可以将 fast.ai 的社区看成一个大家庭,里面有成千上万名从业者,随着你对该社区的不断了解,你会发现,不管你处于什么水平、什么阶段,不论你的问题是什么,都会有像你一样的人和你一起讨论并且设计大大小小的解决方案。

很高兴你发现了这本书,希望这本书能够鼓励你好好利用深度学习解决各类实际问题。

Soumith Chintala

PyTorch 联合创始人