22. 附录:深度学习的数学

Brent Werness (Amazon), Rachel Hu (Amazon), 以及本书的作者们

现代深度学习的奇妙之处在于,在不完全理解其底层数学的情况下,我们也可以理解和使用深度学习的大部分内容。这标志着这个领域正在走向成熟。正如大多数软件开发人员不再需要担心可计算函数理论一样,深度学习从业者也不应担心最大似然学习的理论基础。

但是,我们还没到那一步。

在实践中,您有时需要了解架构选择如何影响梯度流,或者您通过使用某个损失函数进行训练时所做的隐式假设。您可能需要知道熵到底衡量了什么,以及它如何帮助您确切地理解模型中“每字符比特数”(bits-per-character)的含义。这些都需要更深入的数学理解。

本附录旨在为您提供理解现代深度学习核心理论所需的数学背景,但它并非详尽无遗。我们将从更深入地研究线性代数开始。我们将对所有常见的线性代数对象和运算建立几何上的理解,这将使我们能够将各种变换对数据的影响可视化。其中一个关键要素是发展特征分解的基础知识。

接下来,我们将发展微分学理论,直到我们能完全理解为什么梯度是“最速下降”的方向,以及为什么反向传播会采用它所采用的形式。然后,我们将讨论积分学,其程度足以支持我们的下一个主题——概率论。

在实践中遇到的问题通常不是确定性的,因此我们需要一种语言来谈论不确定的事物。我们将回顾随机变量的理论和最常遇到的分布,以便我们可以从概率的角度讨论模型。这为朴素贝叶斯分类器(一种概率分类技术)提供了基础。

与概率论密切相关的是统计学的研究。虽然统计学是一个过于庞大的领域,无法在一个简短的章节中给予公正的介绍,但我们将介绍所有机器学习从业者都应该了解的基本概念,特别是:评估和比较估计量、进行假设检验以及构建置信区间。

最后,我们转向信息论这一主题,它是对信息存储和传输的数学研究。这提供了核心语言,通过它我们可以定量地讨论一个模型在某个论域上拥有多少信息。

总而言之,这些构成了开始深入理解深度学习之路所需的核心数学概念。