摘要#
在正式进入卷积神经网络、循环神经网络以及 Transformer 等复杂结构之前,有必要先建立对深度学习“最底层逻辑”的系统理解。无论是图像识别、文本分类,还是大模型训练,其本质都可以抽象为“从数据中学习一个函数映射关系”。而这一过程的核心,正是由线性模型、损失函数、梯度优化以及模型评估等基础组件共同构成的。本章的目标并不是简单介绍若干算法,而是从最基础的线性回归出发,逐步引导读者理解神经网络是如何从简单模型一步步演化而来,从而建立对“学习机制”的整体认知。只有真正理解了这些基础概念,后续在面对复杂网络结构时,才能做到举一反三,而不是机械地调用框架API。
本章首先从线性回归出发,讲解其模型假设、求解方法以及多项式回归扩展,并进一步引出特征表达与非线性变换的思想,从而自然过渡到单层神经网络与深度神经网络的概念。在此基础上,通过 PyTorch 实现线性回归与简单预测任务,使读者初步掌握深度学习框架的基本使用方式。随后,本章将重点讲解梯度下降与反向传播算法,系统说明参数优化的数学原理与计算过程,并分析梯度消失与梯度爆炸等训练中的关键问题。接着,通过从零实现回归与分类模型,帮助读者加深对网络结构与训练流程的理解。在模型层面,本章还将介绍逻辑回归与 Softmax 回归之间的关系,并进一步扩展到多分类与多标签任务的建模方法。
在模型评估方面,本章将系统介绍回归与分类任务中的常用指标,包括准确率、精确率、召回率以及 Top-K 准确率等,并说明它们在不同场景下的适用性与局限性。同时,本章还将重点讨论模型训练中的核心问题——过拟合与欠拟合,从数据分布、模型复杂度与泛化误差的角度进行分析,并引入正则化与 Dropout 等常用解决方法。在此基础上,进一步介绍超参数选择与交叉验证的基本思想,以及不同激活函数(Sigmoid、Tanh、ReLU 等)在神经网络中的作用机制。通过本章学习,读者将不仅能够完成基础模型的构建与训练,还能够理解模型背后的优化逻辑与泛化能力来源,为后续卷积神经网络与序列模型的深入学习打下坚实基础。
本章内容
3.1 线性回归
在本节内容中,我们首先以房价预测为例引入了单变量线性回归以及如何转换模型的求解思路;然后通过梯形面积预测的实例引入了什么是多项式回归,并进一步引出了抽象特征提取的概念;
3.2 线性回归简洁实现
在本节内容中,我们首先介绍了PyTorch框架中nn.Linear()、nn.Sequential()和nn.MSELoss()这3个模块的原理与使用示例;然后介绍了如何借助PyTorch来快速实现单变量线性回归模型以及可视化最终的预测结果 …
3.3 梯度下降与反向传播
在本节中,我们首先通过一个跳跃的例子详细地向大家介绍了什么是梯度,以及为什么要沿着梯度的反方向进行跳跃才能最快到底谷底;然后通过图示推导出了梯度下降的更新迭代公式;接着详细介绍了网络模型的前向传播过程和反向传播过程,并推导了整个梯度的求解过 …
3.4 从零实现回归模型
在本节内容中,我们首先通过一个两层的神经网络来回顾和梳理了前向传播的详细计算过程;然后根据上节中介绍的内容推导出了模型在反向传播过程中权重参数的梯度计算公式;最后,一步一步详细地介绍了如何从零开始实现这个两层神经网络,包括模型的正向传播和反 …
3.5 从逻辑回归到Softmax回归
在本节内容中,我们首先通过一个例子引入了什么是分类任务,介绍了为什么不能用线性回归模型进行建模的原因;然后通过对线性回归的改进得到了逻辑回归模型,并直接地给出了逻辑回归模型的目标函数;接着介绍了如何通过多个逻辑回归模型来构建多分类任务的模型 …
3.6 Softmax回归简洁实现
在本节内容中,我们首先介绍了什么是随机梯度下降和小批量梯度下降,并顺利的引出了PyTorch框架中DataLoader模块;然后介绍了PyTorch中用于计算分类任务模型损失的nn.CrossEntropyLoss()模块及其使用示例;
3.7 从零实现分类模型
在本节内容中,我们首先通过一个3层的神经网络来回顾和梳理了分类模型前向传播的详细计算过程;然后根据3.3节中介绍的内容导出了模型在反向传播过程中权重参数的梯度计算公式;
3.8 回归模型评估指标
在本节中,我们首先通过一个示例介绍了为什么我们需要引入评估指标,即如何评价一个回归模型的优与劣;然后详细地逐一介绍了5种常用的评估指标和实现方法;最后,我们还逐一展示了评价指标的示例用法。
3.9 分类模型评估指标
如同回归模型一样,分类模型在训练结束之后同样需要一种测度来对模型的结果进行评判,以便于我们进行下一步流程。相较于回归模型的评估指标,分类模型的评估指标则相对更多且考虑情况也更为繁杂。在接下来的这节内容中,我们将从零开始一步一步地详细介绍分类 …
3.10 过拟合与正则化
经过前面几节内容的介绍, 我们对于深度学习的理念以及最基本的回归和分类模型已经有了清晰的认识。在接下来的这节内容中,我们将逐步开始介绍深度学习中关于模型优化的一些基本内容,包括模型的过拟合、正则化和丢弃法等。
3.11 超参数与交叉验证
在本节内容中,我们首先介绍了什么是超参数,以及几个常见超参数能够给模型带来什么样的影响;然后详细介绍了什么是交叉验证以及如何通过交叉验证来选择模型;最后,我们一步一步从零介绍了基于手写体分类任务的模型筛选过程。
3.12 激活函数
在本节内容中,我们首先回顾了在深度学习中为什么我们需要进行非线性变换;然后介分别介绍了4种常见激活函数Sigmoid、Tanh、ReLU和LeakyReLU的原理和计算过程。最后详细介绍了各个激活函数的实现过程和使用示例。
3.13 多标签分类
在3.5.5节内容中,我们介绍了在单标签分类问题中模型损失的度量方法,即交叉熵损失函数。但是在实际应用中我们还会遇到多标签分类(Multi-Label Class)的情况,即对于每个样本来说都可能存在不止一个正确标签的情况。例如在文本分类这 …