
作者提供图片
深度学习模型在许多计算机视觉和自然语言处理任务中都取得了最先进的性能。如果您想精通深度学习,您应该首先了解神经网络的工作原理,然后探索针对特定任务的不同类型和神经网络架构。
为了帮助您入门,我们整理了一份免费资源列表——包括书籍、互动教程和视频讲座——这些资源将帮助您了解神经网络的方方面面。这些资源的选择旨在涵盖理论和数学基础,以及使用深度学习框架构建自己的神经网络。
因此,无论您是想学习基础知识的初学者,还是想掌握神经网络的经验丰富的专业人士,您都会发现这些资源很有帮助。让我们一起来看看它们。
1. 神经网络与深度学习 – Michael Nielsen
神经网络与深度学习是 Michael Nielsen 的一本免费在线书籍,它将帮助您掌握神经网络的工作原理。这是一本对初学者友好的书,通过处理手写数字识别这个简单的问题,来学习神经网络的基础知识以及所需的数学知识。
本书分为六章,涵盖以下重要主题:
- 使用神经网络识别手写数字
- 反向传播的工作原理
- 改进神经网络的学习方式
- 通用逼近定理
- 卷积神经网络
这本书还在章节之间穿插了有趣的练习,以检验您的理解程度。为了获得更完整的学习体验,请在学习章节时尝试解决这些练习。
2. 神经网络 – 3Blue1Brown
Michael Nielsen 的神经网络与深度学习一书应该能帮助您理解神经网络的基础知识。但是,拥有有用的视觉效果来强化您的理解和建立直觉会非常有帮助。而 3Blue1Brown 频道 Grant Sanderson 的神经网络播放列表正好提供了这一点。
这个播放列表是一系列视频教程,提供了神经网络的视觉理解,重点关注以下内容:
- 什么是神经网络?
- 神经网络如何学习,梯度下降优化
- 反向传播的作用是什么?
- 反向传播背后的微积分
您可以将此播放列表作为 Michael Nielsen 教科书的配套材料,以建立扎实的理解。
3. 从零开始用 Python 编写神经网络 – Sentdex
一旦您熟悉了神经网络是什么以及它们如何工作,使用 Python 和 NumPy 从头开始构建自己的神经网络将非常有帮助。为此,您可以跟随 Sentdex 在 YouTube 上的从零开始用 Python 编写神经网络播放列表。
顾名思义,这是一系列视频讲座,将引导您了解如何构建神经网络:从单个神经元开始,将其扩展到神经元层,并将层组合起来以创建神经网络。在此过程中,它还涵盖了必要的数学主题,如点积和导数。
在从头开始构建神经网络时,您将了解以下内容:
- 批次、层和对象
- 隐藏层激活函数
- Softmax 激活
- 分类交叉熵
- 损失函数和优化
通过这些,您应该能够继续使用 PyTorch 和 TensorFlow 等深度学习框架构建神经网络。
4. PyTorch 深度学习:60 分钟速成
在您学习了神经网络的基础知识并尝试从头开始构建神经网络后,您可以学习使用 PyTorch 和 TensorFlow 等深度学习框架来构建和训练神经网络。
PyTorch 是一个 Pythonic 框架。因此,如果您之前有 Python 编程经验,您应该会发现开始使用 PyTorch 相对简单。PyTorch 深度学习:60 分钟速成是 PyTorch 团队的一个快速教程,它涵盖了您开始使用 PyTorch 构建神经网络所需的内容。
在这个对初学者友好的 PyTorch 教程中,您将学到:
- 张量和张量运算
- torch.autograd 简介,这是促进神经网络训练的自动微分引擎
- 使用 PyTorch 进行神经网络训练的基础知识
- 在图像数据上训练分类器
一旦您掌握了这些基础知识,您就可以根据您正在处理的应用探索 PyTorch 的更多高级功能。
5. PyTorch 深度学习与机器学习 – freeCodeCamp
到目前为止我们回顾的免费资源应该能帮助您从头开始理解神经网络的工作原理,涵盖所有必需的数学、直觉和理论。60 分钟的 PyTorch 教程将帮助您开始使用 PyTorch 构建神经网络。现在是时候进一步提升您的 PyTorch 技能了。
Daniel Bourke 创建的《PyTorch 深度学习与机器学习》课程是一门综合性的 PyTorch 课程,在 freeCodeCamp 的 YouTube 频道上免费提供。该课程分为多个部分,涵盖以下主题:
- PyTorch 基础知识:本节涵盖神经网络基础、张量和运算。
- PyTorch 工作流程:本节涵盖使用 PyTorch 构建神经网络、编写训练和测试循环以及保存和加载模型。
- 用于分类的神经网络:本节关于分类,重点关注用于多类分类问题的神经网络架构、损失函数、优化器和模型评估函数。
- 计算机视觉:本节重点介绍用于解决计算机视觉问题的神经网络架构、构建卷积神经网络和用于批量数据的DataLoader 等。
- 自定义数据集:本节重点介绍在 PyTorch 中使用自定义数据集:下载数据集、创建 DataLoader、数据增强及相关主题。
您还可以使用学习 PyTorch 进行深度学习作为本视频课程的补充。
总结
我希望您觉得这个理解神经网络的免费资源列表很有帮助。我们涵盖了各种资源,以帮助您学习理论基础以及使用 PyTorch 实现神经网络。
一旦您熟悉了基础知识,切换到 TensorFlow 等框架或学习更多内容以跟上深度学习研究的进展应该会相对容易。祝您深度学习愉快!
Bala,这篇文章写得很好,请包含 3blue1brown YouTube 频道……它是一个以更图形化、更易于理解的方式来理解数学的绝佳资源。