使用 TensorFlow 进行理论与高级机器学习

在开始学习以下材料之前,请确保您已

  1. 完成我们的课程 使用 TensorFlow 学习机器学习基础,或具有同等知识

  2. 具有软件开发经验,尤其是在 Python 方面

本课程是希望以下人员的起点

  1. 提高他们对 ML 的理解

  2. 开始理解和使用 TensorFlow 实现论文

在继续之前,您应该已经了解 ML 的工作原理,或者已经完成了初学者课程 使用 TensorFlow 学习机器学习基础 中的学习材料。以下内容旨在引导学习者学习更多理论和高级机器学习内容。您会发现许多资源使用 TensorFlow,但这些知识可以迁移到其他 ML 框架。

为了进一步了解 ML,您应该具备 Python 编程经验,以及微积分、线性代数、概率和统计学方面的背景知识。为了帮助您加深对 ML 的理解,我们列出了来自大学的一些推荐资源和课程,以及几本教科书。

步骤 1:复习您对数学概念的理解

ML 是一门以数学为主的学科。如果您计划修改 ML 模型或从头开始构建新模型,熟悉底层数学概念非常重要。您不必预先学习所有数学知识,而是可以在遇到不熟悉的概念时查阅它们。如果您已经有一段时间没有学习数学课程,请尝试观看 3blue1brown 的 线性代数的本质微积分的本质 播放列表,以进行复习。我们建议您继续学习大学的课程,或观看 MIT 的公开访问讲座,例如 线性代数单变量微积分

线性代数的本质
由 3Blue1Brown 制作

来自 3blue1brown 的一系列简短的视觉视频,解释了矩阵、行列式、特征值等内容的几何理解。

微积分的本质
由 3Blue1Brown 制作

来自 3blue1brown 的一系列简短的视觉视频,解释了微积分的基础知识,以一种让您深刻理解基本定理的方式,而不仅仅是如何使用方程式。

MIT 18.06:线性代数

来自 MIT 的这门入门课程涵盖矩阵理论和线性代数。重点介绍了在其他学科中会用到的主题,包括方程组、向量空间、行列式、特征值、相似性和正定矩阵。

MIT 18.01:单变量微积分

来自 MIT 的这门入门微积分课程涵盖单变量函数的微分和积分,以及应用。

步骤 2:通过这些课程和书籍加深您对深度学习的理解

没有一门课程可以教会您关于深度学习的所有知识。一种可能会有所帮助的方法是同时学习几门课程。尽管材料会有重叠,但让多位讲师以不同的方式解释概念可能会有所帮助,尤其是在复杂主题方面。以下是一些我们推荐的课程,可以帮助您入门。您可以一起探索它们,也可以只选择最相关的课程。

记住,你学得越多,并通过实践强化这些概念,你就会越擅长构建和评估自己的机器学习模型。

参加这些课程

麻省理工学院课程 6.S191:深度学习导论 是麻省理工学院提供的深度学习与 TensorFlow 入门课程,也是一个很棒的资源。

吴恩达的 Coursera 深度学习专业课程 也教授深度学习的基础知识,包括卷积神经网络、RNN、LSTM 等。该专业课程旨在帮助你在工作中应用深度学习,并在人工智能领域建立职业生涯。

麻省理工学院 6.S191:深度学习导论

在这门来自麻省理工学院的课程中,你将获得深度学习算法的基础知识,并获得使用 TensorFlow 构建神经网络的实践经验。

深度学习专业课程

在五门课程中,你将学习深度学习的基础知识,了解如何构建神经网络,并学习如何领导成功的机器学习项目并在人工智能领域建立职业生涯。你不仅会掌握理论知识,还会了解如何在行业中应用这些知识。

⬆ 和 ⬇ 阅读这些书籍

为了补充你在上面列出的课程中所学到的知识,我们建议你通过阅读下面的书籍来深入学习。每本书都可以在线获取,并提供补充材料来帮助你练习。

你可以先阅读伊恩·古德费洛、约书亚·本吉奥和亚伦·库维尔合著的 深度学习:麻省理工学院出版社书籍。深度学习教科书是一本高级资源,旨在帮助学生加深理解。这本书附带了一个 网站,提供各种补充材料,包括练习、讲义、错误修正和其他资源,让你能够动手实践这些概念。

你也可以探索迈克尔·尼尔森的在线书籍 神经网络与深度学习。这本书提供了神经网络的理论背景。它没有使用 TensorFlow,但对于有兴趣了解更多知识的学生来说是一个很好的参考。

深度学习
作者:伊恩·古德费洛、约书亚·本吉奥和亚伦·库维尔

这本深度学习教科书是一本资源,旨在帮助学生和从业人员进入机器学习领域,尤其是深度学习领域。

神经网络与深度学习
作者:迈克尔·尼尔森

这本书提供了神经网络的理论背景。它没有使用 TensorFlow,但对于有兴趣了解更多知识的学生来说是一个很好的参考。

步骤 3:阅读和使用 TensorFlow 实现论文

在这一点上,我们建议你阅读论文并尝试我们网站上的 高级教程,其中包含一些知名出版物的实现。学习高级应用程序的最佳方法是 机器翻译图像字幕,就是阅读教程中链接的论文。在学习的过程中,找到代码的相关部分,并使用它们来帮助巩固你的理解。