Skip to content

Commit

Permalink
2024-02-14 18:53:59
Browse files Browse the repository at this point in the history
  • Loading branch information
wizardforcel committed Feb 14, 2024
1 parent 0e00a49 commit 7d29e0e
Show file tree
Hide file tree
Showing 23 changed files with 46 additions and 0 deletions.
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_01.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 序言

> 原文:<https://www.bookstack.cn/read/th-fastai-book/README.md>
在很短的时间内,深度学习已经成为一种广泛应用的技术,解决和自动化计算机视觉、机器人技术、医疗保健、物理学、生物学等领域的问题。深度学习的一大乐趣在于其相对简单性。强大的深度学习软件已经构建起来,使得快速入门变得快速简单。在几周内,你就可以理解基础知识并熟悉技术。

这打开了一个创造性的世界。你开始将其应用于手头的数据问题,并且看到机器为你解决问题时感到很棒。然而,你慢慢感到自己越来越接近一个巨大的障碍。你构建了一个深度学习模型,但它的效果并不如你希望的那样好。这时你进入下一个阶段,寻找并阅读关于深度学习的最新研究。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_03.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第一章:你的深度学习之旅

> 原文:<https://www.bookstack.cn/read/th-fastai-book/85a70c895d8d75be.md>
你好,感谢你让我们加入你的深度学习之旅,无论你已经走了多远!在本章中,我们将告诉你更多关于本书的内容,介绍深度学习背后的关键概念,并在不同任务上训练我们的第一个模型。无论你是否有技术或数学背景(尽管如果你有也没关系!),我们写这本书是为了让尽可能多的人能够接触到深度学习。

# 深度学习适合每个人
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_04.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第二章:从模型到生产

> 原文:<https://www.bookstack.cn/read/th-fastai-book/fc07273d062b4173.md>
我们在第一章中看到的六行代码只是在实践中使用深度学习过程的一小部分。在本章中,我们将使用一个计算机视觉示例来查看创建深度学习应用的端到端过程。更具体地说,我们将构建一个熊分类器!在这个过程中,我们将讨论深度学习的能力和限制,探讨如何创建数据集,在实践中使用深度学习时可能遇到的问题等等。许多关键点同样适用于其他深度学习问题,例如第一章中的问题。如果您解决的问题在关键方面类似于我们的示例问题,我们期望您可以快速获得极好的结果,而只需很少的代码。

让我们从如何构建您的问题开始。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_05.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第三章:数据伦理

> 原文:<https://www.bookstack.cn/read/th-fastai-book/9bc6d15b4440b85d.md>
正如我们在第一章和第二章中讨论的,有时机器学习模型可能出错。它们可能有错误。它们可能被呈现出以前没有见过的数据,并以我们意料之外的方式行事。或者它们可能完全按设计工作,但被用于我们非常希望它们永远不要被用于的事情。

因为深度学习是如此强大的工具,可以用于很多事情,所以我们特别需要考虑我们选择的后果。哲学上对*伦理*的研究是对对错的研究,包括我们如何定义这些术语,识别对错行为,以及理解行为和后果之间的联系。*数据伦理*领域已经存在很长时间,许多学者都专注于这个领域。它被用来帮助定义许多司法管辖区的政策;它被用在大大小小的公司中,考虑如何最好地确保产品开发对社会的良好结果;它被研究人员用来确保他们正在做的工作被用于好的目的,而不是坏的目的。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_07.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第四章:底层:训练数字分类器

> 原文:<https://www.bookstack.cn/read/th-fastai-book/026b6e039c998ba1.md>
在第二章中看到训练各种模型的样子后,现在让我们深入了解并看看究竟发生了什么。我们将使用计算机视觉来介绍深度学习的基本工具和概念。

确切地说,我们将讨论数组和张量的作用以及广播的作用,这是一种使用它们表达性地的强大技术。我们将解释随机梯度下降(SGD),这是通过自动更新权重学习的机制。我们将讨论基本分类任务的损失函数的选择,以及小批量的作用。我们还将描述基本神经网络正在执行的数学。最后,我们将把所有这些部分组合起来。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_08.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第五章:图像分类

> 原文:<https://www.bookstack.cn/read/th-fastai-book/0661b9d7375f45ab.md>
现在您了解了深度学习是什么、它的用途以及如何创建和部署模型,现在是时候深入了!在理想的世界中,深度学习从业者不必了解每个细节是如何在底层工作的。但事实上,我们还没有生活在理想的世界中。事实是,要使您的模型真正起作用并可靠地工作,您必须正确处理很多细节,并检查很多细节。这个过程需要能够在训练神经网络时查看内部情况,找到可能的问题,并知道如何解决它们。

因此,从本书开始,我们将深入研究深度学习的机制。计算机视觉模型的架构是什么,自然语言处理模型的架构是什么,表格模型的架构是什么等等?如何创建一个与您特定领域需求匹配的架构?如何从训练过程中获得最佳结果?如何加快速度?随着数据集的变化,您必须做出哪些改变?
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_09.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第六章:其他计算机视觉问题

> 原文:<https://www.bookstack.cn/read/th-fastai-book/f1ed7978537dabc2.md>
在上一章中,你学习了一些在实践中训练模型的重要技术。选择学习率和周期数等考虑因素对于获得良好结果非常重要。

在本章中,我们将看到另外两种计算机视觉问题:多标签分类和回归。第一种情况发生在你想要预测每个图像的多个标签(有时甚至没有标签),第二种情况发生在你的标签是一个或多个数字——数量而不是类别。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_10.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第七章:训练一个最先进的模型

> 原文:<https://www.bookstack.cn/read/th-fastai-book/798d5ac22392691a.md>
本章介绍了更高级的技术,用于训练图像分类模型并获得最先进的结果。如果您想了解更多关于深度学习的其他应用,并稍后回来,您可以跳过它——后续章节不会假设您已掌握这些材料。

我们将看一下什么是归一化,一种强大的数据增强技术叫做 Mixup,渐进式调整大小方法,以及测试时间增强。为了展示所有这些,我们将从头开始训练一个模型(不使用迁移学习),使用一个名为 Imagenette 的 ImageNet 子集。它包含了原始 ImageNet 数据集中 10 个非常不同的类别的子集,使得在我们想要进行实验时训练更快。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_11.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第八章:协同过滤深入探讨

> 原文:<https://www.bookstack.cn/read/th-fastai-book/d4afd9df315bb076.md>
解决的一个常见问题是有一定数量的用户和产品,您想推荐哪些产品最有可能对哪些用户有用。存在许多变体:例如,推荐电影(如 Netflix 上),确定在主页上为用户突出显示什么,决定在社交媒体动态中显示什么故事等。解决这个问题的一般方法称为*协同过滤*,工作原理如下:查看当前用户使用或喜欢的产品,找到其他使用或喜欢类似产品的用户,然后推荐那些用户使用或喜欢的其他产品。

例如,在 Netflix 上,您可能观看了很多科幻、充满动作并且是上世纪 70 年代制作的电影。Netflix 可能不知道您观看的这些电影的特定属性,但它将能够看到观看了与您观看相同电影的其他人也倾向于观看其他科幻、充满动作并且是上世纪 70 年代制作的电影。换句话说,要使用这种方法,我们不一定需要了解电影的任何信息,只需要知道谁喜欢观看它们。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_12.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第九章:表格建模深入探讨

> 原文:<https://www.bookstack.cn/read/th-fastai-book/863394bdf5dc8421.md>
表格建模将数据以表格形式(如电子表格或 CSV 文件)呈现。目标是基于其他列中的值来预测一列中的值。在本章中,我们将不仅看深度学习,还将看更一般的机器学习技术,如随机森林,因为根据您的问题,它们可能会给出更好的结果。

我们将看看我们应该如何预处理和清理数据,以及如何在训练后解释我们模型的结果,但首先我们将看看如何通过使用嵌入将包含类别的列馈送到期望数字的模型中。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_13.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十章:NLP 深入探讨:RNNs

> 原文:<https://www.bookstack.cn/read/th-fastai-book/38414c136aca063a.md>
在第一章中,我们看到深度学习可以用于处理自然语言数据集并取得出色的结果。我们的示例依赖于使用预训练的语言模型,并对其进行微调以对评论进行分类。该示例突出了 NLP 和计算机视觉中迁移学习的区别:通常情况下,在 NLP 中,预训练模型是在不同任务上训练的。

我们所谓的*语言模型*是一个经过训练以猜测文本中下一个单词的模型(在读取之前的单词后)。这种任务称为*自监督学习*:我们不需要为我们的模型提供标签,只需向其提供大量文本。它有一个过程可以从数据中自动获取标签,这个任务并不是微不足道的:为了正确猜测句子中的下一个单词,模型将必须发展对英语(或其他语言)的理解。自监督学习也可以用于其他领域;例如,参见[“自监督学习和计算机视觉”](https://oreil.ly/ECjfJ)以了解视觉应用。自监督学习通常不用于直接训练的模型,而是用于预训练用于迁移学习的模型。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_14.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十一章:使用 fastai 的中级 API 进行数据整理

> 原文:<https://www.bookstack.cn/read/th-fastai-book/cedbd4fb150718e5.md>
我们已经看到了`Tokenizer``Numericalize`对文本集合的处理方式,以及它们如何在数据块 API 中使用,该 API 直接使用`TextBlock`处理这些转换。但是,如果我们只想应用这些转换中的一个,要么是为了查看中间结果,要么是因为我们已经对文本进行了标记化,我们该怎么办?更一般地说,当数据块 API 不足以满足我们特定用例的需求时,我们需要使用 fastai 的*中级 API*来处理数据。数据块 API 是建立在该层之上的,因此它将允许您执行数据块 API 所做的一切,以及更多更多。

# 深入了解 fastai 的分层 API
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_16.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十二章:从头开始的语言模型

> 原文:<https://www.bookstack.cn/read/th-fastai-book/3279cd1df4e892dc.md>
我们现在准备深入…深入深度学习!您已经学会了如何训练基本的神经网络,但是如何从那里创建最先进的模型呢?在本书的这一部分,我们将揭开所有的神秘,从语言模型开始。

您在第十章中看到了如何微调预训练的语言模型以构建文本分类器。在本章中,我们将解释该模型的内部结构以及 RNN 是什么。首先,让我们收集一些数据,这些数据将允许我们快速原型化各种模型。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_17.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十三章:卷积神经网络

> 原文:<https://www.bookstack.cn/read/th-fastai-book/44d8848dfac0c1b0.md>
在第四章中,我们学习了如何创建一个识别图像的神经网络。我们能够在区分 3 和 7 方面达到 98%以上的准确率,但我们也看到 fastai 内置的类能够接近 100%。让我们开始尝试缩小这个差距。

在本章中,我们将首先深入研究卷积是什么,并从头开始构建一个 CNN。然后,我们将研究一系列技术来改善训练稳定性,并学习库通常为我们应用的所有调整,以获得出色的结果。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_18.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十四章:ResNets

> 原文:<https://www.bookstack.cn/read/th-fastai-book/482a7208820b3d90.md>
在本章中,我们将在上一章介绍的 CNN 基础上构建,并向您解释 ResNet(残差网络)架构。它是由 Kaiming He 等人于 2015 年在文章[“Deep Residual Learning for Image Recognition”](https://oreil.ly/b68K8)中引入的,到目前为止是最常用的模型架构。最近在图像模型中的发展几乎总是使用残差连接的相同技巧,大多数时候,它们只是原始 ResNet 的调整。

我们将首先展示最初设计的基本 ResNet,然后解释使其性能更好的现代调整。但首先,我们需要一个比 MNIST 数据集更难一点的问题,因为我们已经在常规 CNN 上接近 100%的准确率了。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_19.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十五章:应用架构深入探讨

> 原文:<https://www.bookstack.cn/read/th-fastai-book/fc209e8bb92c8c12.md>
我们现在处于一个令人兴奋的位置,我们可以完全理解我们为计算机视觉、自然语言处理和表格分析使用的最先进模型的架构。在本章中,我们将填补有关 fastai 应用模型如何工作的所有缺失细节,并向您展示如何构建它们。

我们还将回到我们在第十一章中看到的用于 Siamese 网络的自定义数据预处理流程,并向您展示如何使用 fastai 库中的组件为新任务构建自定义预训练模型。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_20.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十六章:训练过程

> 原文:<https://www.bookstack.cn/read/th-fastai-book/76501b0f60767008.md>
现在你知道如何为计算机视觉、自然图像处理、表格分析和协同过滤创建最先进的架构,也知道如何快速训练它们。所以我们完成了,对吧?还没有。我们仍然需要探索一下训练过程的更多内容。

我们在第四章中解释了随机梯度下降的基础:将一个小批量数据传递给模型,用损失函数将其与目标进行比较,然后计算这个损失函数对每个权重的梯度,然后使用公式更新权重:
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_22.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十七章:基础神经网络

> 原文:<https://www.bookstack.cn/read/th-fastai-book/f6eef03cb69f6500.md>
本章开始了一段旅程,我们将深入研究我们在前几章中使用的模型的内部。我们将涵盖许多我们以前见过的相同内容,但这一次我们将更加密切地关注实现细节,而不那么密切地关注事物为什么是这样的实际问题。

我们将从头开始构建一切,仅使用对张量的基本索引。我们将从头开始编写一个神经网络,然后手动实现反向传播,以便我们在调用`loss.backward`时确切地知道 PyTorch 中发生了什么。我们还将看到如何使用自定义*autograd*函数扩展 PyTorch,允许我们指定自己的前向和后向计算。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_23.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十八章:使用 CAM 解释 CNN

> 原文:<https://www.bookstack.cn/read/th-fastai-book/20b17a5a56ea9b6f.md>
现在我们知道如何从头开始构建几乎任何东西,让我们利用这些知识来创建全新(并非常有用!)的功能:*类激活图*。它让我们对 CNN 为何做出预测有一些见解。

在这个过程中,我们将学习到 PyTorch 中一个我们之前没有见过的方便功能,*hook*,并且我们将应用本书中介绍的许多概念。如果你想真正测试你对本书材料的理解,完成本章后,尝试将其放在一边,从头开始重新创建这里的想法(不要偷看!)。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_24.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第十九章:从头开始创建一个 fastai 学习器

> 原文:<https://www.bookstack.cn/read/th-fastai-book/5443c76c2b161687.md>
这最后一章(除了结论和在线章节)将会有所不同。它包含的代码比以前的章节要多得多,而叙述要少得多。我们将介绍新的 Python 关键字和库,而不进行讨论。这一章的目的是为您开展一项重要的研究项目。您将看到,我们将从头开始实现 fastai 和 PyTorch API 的许多关键部分,仅建立在我们在第十七章中开发的组件上!这里的关键目标是最终拥有自己的`Learner`类和一些回调函数,足以训练一个模型在 Imagenette 上,包括我们学习的每个关键技术的示例。在构建`Learner`的过程中,我们将创建我们自己的`Module``Parameter`和并行`DataLoader`的版本,这样您就会对 PyTorch 类的功能有一个很好的了解。

本章末尾的问卷调查对于本章非常重要。这是我们将指导您探索许多有趣方向的地方,使用本章作为起点。我们建议您在计算机上跟着本章进行学习,并进行大量的实验、网络搜索和其他必要的工作,以了解发生了什么。在本书的其余部分,您已经积累了足够的技能和专业知识来做到这一点,所以我们相信您会做得很好!
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_25.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 第二十章:总结思考

> 原文:<https://www.bookstack.cn/read/th-fastai-book/cedc7ab42349d210.md>
恭喜!你成功了!如果你已经完成了到这一点的所有笔记本,你已经加入了一个小但不断增长的人群,他们能够利用深度学习的力量解决实际问题。你可能不会觉得这样—事实上,你可能不会。我们一再看到完成 fast.ai 课程的学生明显低估了自己作为深度学习从业者的效力。我们也看到这些人经常被具有传统学术背景的其他人低估。所以如果你要超越自己的期望和他人的期望,那么在关闭这本书后,你接下来要做的事情比你到目前为止所做的更重要。

最重要的是保持动力。事实上,从你对优化器的研究中知道,动量是可以自我增强的!所以想想你现在可以做些什么来维持和加速你的深度学习之旅。图 20-1 可以给你一些想法。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_26.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 附录 A. 创建博客

> 原文:<https://www.bookstack.cn/read/th-fastai-book/a54eca534010f193.md>
在第二章中,我们建议您可能希望尝试博客作为帮助消化您正在阅读和练习的信息的一种方式。但是如果您还没有博客呢?应该使用哪个平台呢?

不幸的是,当涉及博客时,似乎您必须做出一个困难的决定:要么使用一个使事情变得容易但会让您和读者受到广告、付费墙和费用的平台,要么花费数小时设置自己的托管服务并花费数周学习各种复杂的细节。也许“自己动手”方法最大的好处是,您真正拥有自己的帖子,而不是受制于服务提供商及其关于如何在未来变现您的内容的决定。
Expand Down
2 changes: 2 additions & 0 deletions docs/dl-cdr-fai-pt/dl-cdr-fai-pt_27.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 附录 B. 数据项目清单

> 原文:<https://www.bookstack.cn/read/th-fastai-book/b8ffc03c29b9fdcd.md>
创建有用的数据项目远不止培训准确的模型!当 Jeremy 做咨询时,他总是试图了解组织开发数据项目的背景,基于以下考虑,总结在图 B-1 中:

战略
Expand Down

0 comments on commit 7d29e0e

Please sign in to comment.