机器学习
在当今席卷全球的AI浪潮中,机器学习(Machine Learning)作为驱动人工智能发展的核心基石,其战略地位与学科重要性已不言而喻。它赋予了计算机从海量数据中自主提取规律、实现自我进化的能力。ML的底层逻辑是统计学,通过数学建模将真实物理场景转换成数学问题,计算机可以很好地处理数学问题,模型通过大量样本的学习从而掌握群体的规律。我们通常以“数据反馈与学习方式”为核心维度,将机器学习划分为四大经典范式:
监督学习(Supervised Learning):用带有标签的数据进行训练,目标是学习输入到输出的映射关系。它主要分为两类:
回归:预测连续的数值。例如预测明天的气温、预测房价或股票价格。常见算法有线性回归。
分类:预测离散的类别。例如判断邮件是否为垃圾邮件、识别图片中的猫或狗。常见算法有逻辑回归。
无监督学习(Unsupervised Learning):使用没有标签的数据,多用于数据的分析与挖掘,常见任务包括:
聚类:将相似的样本自动分到同一组(如客户分群、市场细分)。常见算法有K均值聚类。
降维:减少特征维度,保留主要信息,常用于数据可视化。常见算法有主成分分析 (PCA) 。
异常检测:目标是识别数据中显著偏离正常模式或预期行为的观测值。最常见可以用正态分布检测。
半监督学习(Semi-supervised Learning):结合少量有标签数据和大量无标签数据进行训练,以提高学习效率,常用于标注成本极高的场景(如医学图像标注)。
强化学习(Reinforcement Learning):不依赖数据集中的标签,而是通过智能体在环境中的“试错”和“奖惩”机制来学习最优策略。常用于游戏AI(如AlphaGo)、自动驾驶和智能机器人。
神经网络
回归预测
神经网络(Neural Network)是深度学习(Deep Learning)的基石。从数学本质来看,神经网络就是一个包含未知参数的数学函数(例如简单的线性函数 y=kxy=kx )。计算机模拟人类学习的过程,本质上就是通过参数更新(模仿人学习)不断调整参数,最终寻找到一组最优参数值的过程(学会了)。一旦参数确定,这个函数便固化为一个确定的模型,该方法天然适用回归预测。
在模型训练中,梯度下降法(Gradient Descent)是实现参数优化的核心算法。其具体执行逻辑如下:
首先,需要定义一个损失函数(Loss Function)。损失函数用于量化模型当前预测值与真实标签之间的偏差,它就像人类行动前确立的目标,为学习指明了方向。以最常见的均方误差(MSE)为例,模型训练的目的就是不断缩小预测值与真实值之间的差距。当这种偏差被降至最低时,模型便仿佛真正“学会”了这项任务。
其次,利用梯度(Gradient)来指引参数的更新方向。在高等数学中,函数的导数(或多元函数中的梯度)能够指示函数值增长最快的方向;因此,沿着梯度的反方向进行微调,就能引导函数逐步逼近最小值。通过这种“计算偏差 -> 求解梯度 -> 更新参数”的迭代过程,模型最终收敛至最优参数状态。
离散分类
在前面的讨论中,我们提到可以通过拟合多项式等函数来输出连续值,从而解决回归预测问题。然而,分类任务的目标是预测离散的类别标签,这就要求模型必须对连续的输出空间进行合理的转换。
为了实现这一跨越,我们在基础的线性组合之上,引入了一个关键的非线性激活函数——Sigmoid函数。它的神奇之处在于,能够将任意实数域( −∞ 到 +∞ )的连续输出,平滑地压缩并映射到 (0,1) 的区间内。在数学意义上,这个输出值代表了样本属于某个特定类别的概率。
在得到概率值后,我们只需设定一个决策阈值(通常为0.5),当概率大于或等于该阈值时,模型便将其判定为正类(如1),反之则判定为负类(如0)。正是这种“线性组合 + Sigmoid概率映射 + 阈值离散化”的机制,成功地将连续值转化为了离散的分类结果。这一经典且优雅的模型,便是我们常说的逻辑回归(Logistic Regression)。
深度网络
处理更为复杂的任务时,神经网络会将简单的线性模型升级为包含多层结构与非线性激活函数的复杂架构。这一训练过程本质上是一个函数拟合(Function Fitting)的过程:现实世界的数据背后往往隐藏着某种潜在的映射规律,虽然我们未必能得知绝对完美的“真实函数”,但通过不断调整网络参数,模型能够以极高的精度去逼近并模拟这种潜在规律,从而具备处理未知数据的能力。
为了提升模型的拟合能力,我们通常采用多层感知器(MLP)结构。在这种全连接网络中,每一个神经元接收输入数据(例如一维特征向量),其内部的核心运算本质上是输入向量与权重向量的点积,并加上一个偏置项(Bias)。从线性代数的几何视角来看,当整个网络层并行处理数据时,相当于将输入向量与权重矩阵相乘。此时,矩阵扮演了“空间变换器”的角色,将原始输入数据投射到一个全新的特征空间中,进行旋转、反射、缩放或剪切等操作。在这个过程中,空间的网格线始终保持平行和均匀分布,数据的相对拓扑结构不会发生扭曲。这意味着,如果原始空间中的数据点是线性不可分的,那么无论经过多少次纯粹的线性运算,它们在新空间中依然是线性不可分的。

如果每一层的神经元都只是简单的线性模型,多层结构将失去意义,因为多个线性模型的叠加最终仍等价于一个单层线性映射,完全丧失处理复杂高维数据的能力。为了打破这种线性闭合,必须在每一层之间引入非线性激活函数。非线性运算的作用是对向量空间进行“弯曲”、“折叠”或“截断”,使原本平行的空间网格发生扭曲变形。通过这种非线性的空间扭曲,原本纠缠在一起、无法用直线分割的数据点会被“推”到新的位置,从而在新的空间中变得线性可分。这与多项式回归通过引入二次型变换来拟合复杂曲线是异曲同工的。
在激活函数的选择上,通常需要满足可导的条件,这与反向传播的参数更新过程密切相关。模型通过前向传播输出预测结果,再利用链式法则从输出层逐层向前计算梯度,从而高效地更新每一层的权重。早期的 Sigmoid 函数由于在两端导数值接近于 0,极易导致严重的梯度消失问题,且计算较为复杂,目前在深度学习中已较少使用。相比之下,ReLU 函数虽然在零点处不可导,但其计算简单、梯度稀疏性好,能够有效缓解梯度消失问题,在实践中表现更为优异,因此当前普遍使用的是基于 ReLU 的各种改进版本。

模型训练流程
李宏毅教授的机器学习课程中有一张经典的“General Guide”决策树,完美地概括了模型调试的核心逻辑。这张图实际上是一个基于训练集损失(Training Loss)和测试集损失(Testing Loss)的诊断流程。我们可以将其拆解为三个关键步骤来理解。
第一步:诊断“欠拟合”——训练集Loss太大
如果你的模型在训练集上的表现就很差(Loss很大),说明模型连书上的例题都没学会。这时候通常有两个原因:
- Model Bias(模型偏差/能力不足): 你的模型可能太“笨”了,复杂度不够。比如用一条直线去拟合复杂的曲线数据。
- 对策: Make your model complex(增加模型复杂度)。可以尝试增加网络层数(Deep)、增加神经元数量(Wide),或者引入更先进的架构(如ResNet, Transformer等)。
- Optimization(优化困难): 模型理论上有能力学好,但在训练过程中“卡住”了。可能是陷入了局部最优解,或者梯度消失/爆炸导致参数无法更新。
- 对策: 这属于优化算法的范畴。通常需要调整学习率(Learning Rate)、更换优化器(如从SGD换到Adam)、使用Batch Normalization或更换激活函数(如ReLU)。
如果遇到没有做过的问题,可以先跑浅层模型甚至不是深度学习模型,看看得到的loss,如果更深的模型反而Loss更高,则可能是opt的问题。
第二步:诊断“过拟合”与“数据 mismatch”——训练集好,测试集差
如果模型在训练集上表现完美(Loss很小),但在测试集上却一塌糊涂(Loss很大),这说明模型“死记硬背”了答案,却没有掌握解题规律。这里又分为两种情况:
- Overfitting(过拟合): 模型把训练数据中的噪声和特异性都学进去了。
- 对策:
- More training data: 收集更多数据是最根本的解法。
- Data augmentation: 如果数据难获取,可以通过旋转、裁剪、加噪等方式扩充数据。
- 对模型增加一些限制:a. 更少的参数或者共用参数;b. 减少feature;c. early stopping;c. regularization;d. dropout;
- 对策:
- Mismatch(数据分布不一致): 训练数据和测试数据的来源或分布本身就不一样。比如你用白天拍摄的照片训练模型,却拿去识别晚上的照片。
- 对策: 这种情况比较棘手,通常需要重新审视数据采集过程,确保训练集和测试集服从相同的分布,或者进行领域自适应(Domain Adaptation)。
第三步:追求完美——Trade-off(权衡)
当你解决了上述问题,训练集和测试集的Loss都很小(Small & Small),恭喜你,模型已经可用了!但这还不是终点。
在实际工程中,我们往往需要在模型的复杂度和泛化能力之间做Trade-off。为了选出最好的模型,我们不能只看测试集(因为测试集在考试前是不能看的),而是要将训练数据进一步划分为训练集(Training Set)和验证集(Validation Set)。通过在验证集上不断调整超参数,我们才能找到那个既不过拟合也不欠拟合的“甜蜜点”。
Cross Validation
交叉验证(Cross Validation)是机器学习中评估模型泛化能力、进行模型选择和参数调优的核心方法,其核心思想是通过多次划分数据,让每一部分都有机会充当“考官”和“学生”,从而避免因单次划分带来的偶然性偏差。最常见的形式是K折交叉验证:将数据集随机分成K个互不相交的子集,每次取其中1个作为验证集,其余K-1个合并为训练集,重复K次后取平均性能作为最终评估指标。这种方法不仅能稳定衡量模型表现,还能有效支持模型选择(如比较不同算法或网络结构)和超参数调优(如寻找最佳学习率或正则化系数),尤其在数据量有限时优势显著。此外,还有留一法(LOOCV,适用于极小数据集但计算量大)和分层K折(适用于类别不平衡的分类任务)等变体,可根据实际需求灵活选用。
优化细节(Trick)
激活函数
在神经网络中,激活函数的选择需根据网络层级与任务类型进行针对性匹配:对于隐藏层,ReLU及其变体(如Leaky ReLU)因计算高效且能缓解梯度消失而成为默认首选,但在处理序列数据或Transformer架构时,Tanh或GELU等平滑函数表现更优;对于输出层,二分类任务通常使用Sigmoid函数以输出概率,多分类任务依赖Softmax函数生成概率分布,而回归任务则直接使用线性输出。
常见的激活函数各具特性,例如Sigmoid虽适合概率解释但易引发梯度消失,ReLU计算简单但存在神经元死亡风险,Leaky ReLU通过引入微小斜率解决了该问题,Tanh输出零中心化有助于加速收敛,GELU凭借概率平滑特性在自然语言处理中表现卓越,而Softmax则专门用于将多分类的原始分数转化为可解释的概率分布,合理选择激活函数是平衡模型表达能力、梯度传播效率与计算成本的关键。
随机初始化
在机器学习中,当定义好模型结构后,在进行模型训练之前需要为模型的各个参数(如神经网络中的权重和偏置)赋予初始值。这个初始值的设定至关重要,不能随意选取,主要有以下几个原因:
-
影响模型收敛速度
- 如果初始值设置不当,可能导致模型需要更多迭代次数才能收敛到最优解,甚至可能永远无法收敛。例如在神经网络中,如果权重初始化为0(对称性问题),会导致所有神经元学到相同的特征,严重影响模型性能。
-
避免梯度消失/爆炸问题
- 在深层神经网络中,不恰当的初始化可能导致梯度在反向传播过程中呈指数级缩小(消失)或放大(爆炸)。比如使用过大的初始值可能导致梯度爆炸,而过小的初始值则可能导致梯度消失。
-
打破参数对称性
- 如果所有参数初始化为相同值(如全0),在反向传播时所有参数会获得相同的梯度更新,导致网络失去学习不同特征的能力。这在卷积神经网络(CNN)等结构中尤为关键。
-
与激活函数匹配
- 不同的激活函数对初始化有不同要求。例如:
- 对于Sigmoid函数,推荐使用Xavier初始化(考虑输入输出维度)
- 对于ReLU及其变体,通常使用He初始化(考虑输入维度)
- Tanh函数也适合使用Xavier初始化
- 不同的激活函数对初始化有不同要求。例如:
-
影响最终模型性能
- 恰当的初始化能使模型从较好的起始点开始优化,更容易找到全局最优或较优的局部最优解。例如在图像分类任务中,合理的初始化可能使模型准确率初始就达到10-20%,而非完全随机猜测。
常见的科学初始化方法包括:
- 随机初始化(需控制范围)
- Xavier/Glorot初始化(适合Sigmoid/Tanh)
- He初始化(适合ReLU族)
- 正交初始化(用于RNN)
- 预训练初始化(迁移学习场景)
在实际应用中,合理的参数初始化与优化器选择、学习率设置等共同构成了模型能否成功训练的关键因素。深度学习框架如PyTorch通常会为不同层提供默认的合理初始化策略。
正则化技术
模型正则化(Regularization)是机器学习和深度学习中用于**防止模型过拟合(Overfitting)的核心技术。过拟合是指模型在训练数据上表现极好,但在未见过的测试数据上表现糟糕,即模型“死记硬背”了训练数据的噪声,而非学到了普遍规律。
正则化的核心思想是:通过限制模型的复杂度,引导模型向更加简单、泛化能力更强的方向发展。常见的正则化方法主要分为以下几大类:
1. 参数惩罚法(权重正则化)
这种方法通过在损失函数中添加一个与模型权重相关的惩罚项,来抑制参数的过度增长。
- L1 正则化(Lasso):对权重参数的绝对值进行惩罚。它倾向于使部分权重变为零,从而产生稀疏模型。这在处理高维数据时非常有用,因为它能自动进行特征选择,剔除无关特征。
- L2 正则化(Ridge / 权重衰减):对权重参数的平方进行惩罚。它倾向于使所有权重都变得较小但非零,从而防止模型过度依赖某几个特定输入特征。L2 正则化在处理特征之间存在多重共线性的情况时表现尤为出色。
- 弹性网(Elastic Net):L1 和 L2 正则化的结合体,同时具备特征选择和权重收缩的优点,适用于复杂数据集。
2. 网络结构与训练过程正则化
这类方法不直接修改损失函数,而是通过改变网络结构或训练动态来限制模型复杂度。
- Dropout(随机失活):深度学习中极其常用的技术。在训练过程中,以一定概率随机将部分神经元及其连接“丢弃”(输出置零)。这迫使网络不能过度依赖某些特定的神经元,相当于每次都在训练一个不同的子网络,测试时再综合这些子网络的效果,从而大幅提升泛化能力。
- 早停(Early Stopping):最简单且有效的策略之一。在训练过程中同时监控训练误差和验证误差。当训练误差继续下降,但验证误差开始上升(即过拟合的苗头出现)时,立即停止训练,并恢复到验证误差最低时的模型参数。
- 批归一化(Batch Normalization):通过将每一层的输入特征强制拉回到均值为0、方差为1的紧凑高斯分布中,不仅加速了收敛,还起到了隐式正则化的作用,在许多情况下比 Dropout 更受青睐。
3. 数据层面的正则化
- 数据增强(Data Augmentation):通过对现有的训练数据进行几何变换(如翻转、旋转、裁剪)或特征空间变换,人为地生成更多样化的训练样本。更多的训练数据意味着模型更难去“死记硬背”,从而有效降低模型的方差和泛化误差。
归一化输入
归一化输入是模型训练前不可或缺的数据预处理步骤,其核心目的是消除不同特征之间的量纲与数值范围差异。现实世界的数据往往具有不同的物理单位(如身高与体重),若直接输入模型,数值较大的特征会主导学习过程。通过 Min-Max 缩放或 Z-score 标准化等数学方法,将所有特征强制拉平到同一尺度下,能够消除这种不公平的竞争,让模型在训练初期就能在更平滑的优化地形上顺畅收敛,避免被单一特征带偏。
批归一化(Batch Normalization, BN)
批归一化是作用于神经网络隐藏层内部的优化技术,其核心目标是解决深层网络训练中的“内部协变量偏移”问题,即防止前层参数更新导致后层输入数据分布发生剧烈变化。BN 采用“跨样本,同特征”的计算方式,将当前 Mini-batch 内的所有样本放在一起,针对同一特征计算均值和方差并进行标准化。这种机制不仅极大地加速了模型的收敛速度、允许使用更大的学习率,还具备隐式的正则化效果;但由于其强依赖于 Batch Size,因此最适合处理样本大小固定且相互独立的计算机视觉(CNN)任务。
层归一化(Layer Normalization, LN)
层归一化同样作用于神经网络的隐藏层,旨在稳定深层网络的训练并防止梯度消失或爆炸,但它的计算逻辑与 BN 截然不同。LN 采用“同样本,跨特征”的计算方式,完全不依赖批次大小(Batch Size),而是独立地为每一个样本计算其在当前层所有特征维度上的均值和方差。由于这种独立计算的特性,LN 完美规避了变长序列带来的统计难题,成为了自然语言处理领域(如 RNN 和 Transformer 架构)的标准配置,如今主流的大语言模型也广泛采用其变体(如 RMSNorm)来保障超深层网络的训练稳定性。
小批量梯度下降
在深度学习训练中,全批量梯度下降(BGD)虽然利用全量数据提供了准确的梯度方向,但其高度依赖学习率这一超参数:学习率过小会导致收敛极其缓慢、计算成本高昂;学习率过大则易引发参数在最优解附近震荡甚至发散。此外,针对不同数据特征寻找全局最优学习率往往困难重重。相比之下,小批量随机梯度下降(Mini-Batch SGD)有效克服了这些局限。
不采用全批量训练的核心原因在于其计算效率与优化性能的双重瓶颈。一方面,BGD 每次更新都需要遍历整个数据集,导致单次迭代耗时极长,且无法充分利用现代硬件的并行计算能力;另一方面,精确的梯度反而可能使模型陷入尖锐的局部极小值或鞍点,缺乏跳出局部陷阱的“噪声”动力,从而损害模型的泛化能力。
针对小批量(Small Batch)与大批量(Large Batch)的选择,我们可以从以下维度进行总结对比:
-
计算速度与并行化
- 单次更新速度: 在不使用并行计算时,小批量因数据量少而更快;但在开启并行计算(如 GPU 加速)后,只要批量大小适中,两者的单次更新速度基本持平。
- 单轮训练速度: 这是大批量的显著优势。由于大批量减少了参数更新的总次数,完成一个 Epoch 的时间通常比小批量更快。
-
梯度特性与优化效果
- 梯度稳定性: 大批量提供的梯度估计非常稳定(Stable),波动小;而小批量的梯度带有显著的噪声(Noisy)。
- 优化与泛化: 尽管大批量训练快且稳,但小批量在优化效果和泛化能力上表现更佳。小批量引入的梯度噪声实际上起到了一种正则化的作用,帮助模型逃离尖锐的局部极小值,倾向于收敛到更平坦、泛化能力更强的极小值区域。因此,在实际工程中,我们往往愿意牺牲一部分训练速度,选择中小批量以获得更好的模型性能。
如何兼得,参考以下paper:

学习率优化算法
在深度学习训练中,传统的随机梯度下降(SGD)虽然原理直观、实现简单,但其依赖全局固定学习率的机制,在面对高维且高度非凸的损失曲面时往往显得力不从心。在低维空间中,优化过程可能陷入局部极小值;而在高维空间中,更常见的“陷阱”是鞍点(Saddle Point)。当模型参数停留在这些临界点时,梯度趋近于零,导致参数更新停滞,训练曲线进入漫长的平台期。
为了从数学本质上诊断这些停滞点,我们可以利用泰勒展开对损失函数进行局部近似。在梯度为零的临界点附近,损失函数的局部形态完全由二阶项决定,而这一项的核心正是海森矩阵(Hessian Matrix)。海森矩阵包含了损失函数对所有参数的二阶偏导数,它完美地刻画了临界点周围的局部曲率信息。通过计算海森矩阵的特征值,我们可以精准地判别临界点的性质:如果所有特征值均为正,说明在所有方向上曲面均呈下凹状,该点为局部极小值;如果特征值有正有负,说明在某些方向上下凹,而在另一些方向上上凸,该点即为鞍点。
然而,在理论上的完美诊断与工程实践之间存在着巨大的鸿沟。对于动辄包含数百万甚至上亿参数的现代深度神经网络,显式计算并存储完整的 N×NN×N 海森矩阵需要极其庞大的计算资源和内存空间,这在计算上是完全不可行的。因此,在实际的深度学习训练中,我们通常放弃直接计算海森矩阵,转而采用更高效的优化算法来间接应对这些问题:
- 引入动量(Momentum)机制:动量法模拟了物理学中的惯性,通过累积历史梯度来加速收敛。当模型陷入鞍点或平坦区域时,即使当前梯度很小,动量也能凭借之前积累的“速度”帮助参数冲过这些停滞区,从而有效逃离鞍点。
- 自适应学习率算法:如 Adam、RMSProp 等优化器,能够根据每个参数的历史梯度信息动态调整学习率。在鞍点附近,这种自适应机制可以放大具有负曲率(下降方向)的更新,同时抑制正曲率方向的震荡,从而更智能地寻找出路。
- 利用小批量(Mini-batch)的随机性:在实际训练中,我们通常使用小批量数据而非全量数据来计算梯度。这种随机采样天然地引入了梯度噪声,使得模型在遇到鞍点时能够通过微小的随机扰动“抖动”出平坦区域,继续寻找更优的解。
以下介绍更高级学习率优化算法:
动量法(Momentum):物理惯性与震荡抑制
动量法借鉴了物理学中的惯性概念,旨在解决传统随机梯度下降(SGD)在复杂损失曲面上收敛缓慢且易震荡的问题。其核心机制是引入一个“速度”变量来累积历史梯度信息,而非仅仅依赖当前时刻的梯度进行更新。具体而言,它将前一步的更新向量乘以一个衰减系数(通常设为0.9)并叠加到当前的梯度更新中,形成指数加权移动平均。这种设计使得模型在梯度方向一致的平坦区域或峡谷底部能够像滚雪球一样不断加速,从而大幅缩短穿越鞍点或平缓区域的时间;同时,在梯度方向频繁变化的震荡区域,正负梯度的相互抵消作用能够有效平滑更新路径,抑制参数在极小值附近的剧烈摆动。相比传统SGD,动量法不仅显著提升了收敛速度,还增强了模型逃离浅层局部极小值和鞍点的能力,使训练过程更加稳健。
RMSprop(均方根传播):自适应学习率的动态平衡
RMSprop 算法主要致力于解决固定学习率在面对非平稳目标函数时的局限性,以及早期自适应算法(如AdaGrad)中学习率单调递减导致训练过早停止的缺陷。它通过计算近期梯度平方的指数加权移动平均值(即二阶矩估计),为每一个参数独立地构建了一个动态缩放因子。在训练过程中,对于那些梯度变化剧烈、数值较大的参数,RMSprop 会自动降低其有效学习率,防止参数更新步长过大导致发散或震荡;而对于那些梯度稀疏、数值较小的参数,它则会相应增大学习率,加快其在低曲率方向上的探索速度。这种基于梯度幅度的自适应调节机制,使得 RMSprop 在处理噪声较大或非平稳分布的数据时表现出极强的鲁棒性,能够在保证稳定性的前提下维持高效的收敛节奏。
Adam(自适应矩估计):一阶与二阶矩的完美融合
Adam 优化器是目前深度学习领域应用最为广泛的算法之一,它巧妙地融合了动量法(Momentum)的一阶矩估计和 RMSprop 的二阶矩估计优势。Adam 不仅利用梯度的均值(一阶矩)来模拟物理惯性以加速收敛,还利用梯度平方未中心化的方差(二阶矩)来实现参数级的自适应学习率调整。更为关键的是,针对训练初期由于矩估计初始化为零而导致的偏差问题,Adam 引入了偏差修正机制,确保了在训练开始阶段估计值的准确性。这种双重机制使得 Adam 既具备了动量法快速穿越平坦区域的能力,又拥有 RMSprop 精细调节步长的灵敏度。由于其对超参数(特别是学习率)的选择相对不敏感且鲁棒性强,Adam 在自然语言处理(如Transformer架构)、计算机视觉以及强化学习等广泛领域中,通常都能作为默认的首选优化器并取得优异表现。
优化器策略
除了优化器本身的自适应机制,在训练过程中动态调整全局学习率也是提升模型性能的关键手段。常见的策略包括:
- 阶梯衰减(Step Decay):每训练固定的轮次(Epoch),将学习率乘以衰减因子(如0.1),适合在训练后期进行精细调参45。
- 余弦退火(Cosine Annealing):学习率按照余弦函数曲线平滑下降,甚至搭配热重启机制周期性重置,有助于模型跳出局部最优解,提升泛化能力46。
- 自适应衰减(如 ReduceLROnPlateau):当监控的验证集指标连续多个轮次停滞不改善时,自动触发学习率下降,完全基于训练动态调整,避免了手动调参的滞后性5。


1216

被折叠的 条评论
为什么被折叠?



