Sign In

深度学习笔记3

0

Apr 13, 2024

(Updated: 5 months ago)

generation guide
深度学习笔记3

正则项损失

正则项损失只和权值相关,和图像数据无关

损失率和图像相似度相关

超参数代表正则项在总损失当中所占的比重

超参数代表在学习前设置的参数,即人工设定(可理解为会与泛化能力的提前预测和判断)


神经网络中的超参数是指在训练过程中需要人为设定的参数,这些参数不会通过训练数据学习得到,而是需要根据经验或者试验来确定。以下是一些常见的神经网络超参数:

  1. 学习率 (Learning Rate):控制参数更新的步长,即每次迭代中参数更新的大小。

  2. 批量大小 (Batch Size):每次输入模型的样本数量,影响训练速度和模型收敛的稳定性。

  3. 迭代次数 (Number of Epochs):整个训练数据集被使用多少次,每次使用整个数据集进行训练被称为一个 epoch。

  4. 激活函数 (Activation Function):神经网络中的非线性函数,如ReLU、Sigmoid等。

  5. 优化器 (Optimizer):控制参数更新的算法,如随机梯度下降 (SGD)、Adam、Adagrad等。

  6. 正则化 (Regularization):防止模型过拟合的技术,包括L1正则化、L2正则化等。

  7. Dropout率 (Dropout Rate):在训练过程中随机丢弃神经元的比例,用于防止过拟合。

  8. 网络结构 (Network Architecture):包括层数、每层神经元数量等。

  9. 初始化方法 (Initialization Method):初始化网络参数的方法,如随机初始化、Xavier初始化、He初始化等。

  10. 学习率调度 (Learning Rate Schedule):随着训练的进行逐渐减小学习率的方法,如指数衰减、余弦退火等。

  11. 动量 (Momentum):在更新参数时考虑历史梯度信息的参数,用于加速收敛。

  12. 权重衰减 (Weight Decay):在优化过程中对权重进行惩罚,以防止过拟合。

超参数对于模型有重要的影响

就此理解我们训练前的所设置的内容就是在设置模型训练过程中的超参数

L2正则项

2正则损失(L2 regularization loss)是一种常用的正则化技术,用于防止神经网络模型过度拟合训练数据。在L2正则化中,对模型的权重进行惩罚,使得模型参数更趋向于较小的值。

L2正则损失的计算方式是将所有权重的平方和乘以一个正则化参数 λ,然后将其加到原始损失函数中。数学上可以表示为:

�L2=12�∑�=1���2LL2​=21​λi=1nwi2​

其中,�λ 是正则化参数,控制正则化的强度;�n 是模型的权重数量;��wi​ 是第 �i 个权重。

在训练过程中,通过最小化原始损失函数加上L2正则损失来优化模型,这样就可以使得模型在学习训练数据的同时,尽量避免过拟合。

L2正则化有助于平滑模型的权重,避免出现过于复杂的模型,从而提高了模型的泛化能力,即对未见过的数据的适应能力。na

L2正则项的作用在对于每个维度的参数都进行调用,对于过于集中的数值进行惩罚,使分类器的每个特征都应用起来(对于单一图像而言,关键在及对于图像的全部特征及逆行参与运损,那么标准的意义在其中的意义加重了,需要更加清晰的标注,对于其中的内容进行标注和深化。

优化算法

利用损失值作为定量的表征作为反馈信号来调整分类器的参数(权重)对于训练样本预测性能的影响。


参数优化是指在机器学习和深度学习中,通过调整模型的参数以最小化损失函数或者最大化性能指标的过程。这个过程通常通过优化算法来实现,常见的优化算法包括梯度下降、随机梯度下降、Adam等。

在参数优化过程中,通常会遇到以下步骤:

  1. 定义损失函数:首先需要定义一个损失函数,用于衡量模型预测结果与实际标签之间的差异。

  2. 初始化参数:然后需要初始化模型的参数,通常可以使用随机初始化的方法。

  3. 计算梯度:接下来需要计算损失函数关于模型参数的梯度,即损失函数对每个参数的变化率。

  4. 更新参数:利用梯度信息,使用优化算法更新模型参数,使得损失函数逐渐减小。

  5. 重复迭代:重复执行步骤3和步骤4,直到达到停止条件,如达到最大迭代次数、损失函数收敛等。

梯度下降算法是一种常用的优化算法,用于最小化损失函数或者最大化性能指标。其基本思想是通过迭代地更新模型参数,沿着损失函数的负梯度方向逐步向最优解移动。

以下是梯度下降算法的基本步骤:

1. 初始化参数:首先需要对模型的参数进行初始化,可以随机初始化或者使用一些启发式方法进行初始化。

2. 计算损失函数的梯度:对于每一组参数,计算损失函数关于参数的梯度,即损失函数对每个参数的偏导数。

3. 更新参数:利用梯度信息,按照负梯度的方向对参数进行更新。更新规则通常如下:

\[ \theta_{\text{new}} = \theta_{\text{old}} - \alpha \nabla J(\theta_{\text{old}}) \]

其中,\( \theta_{\text{old}} \) 是当前参数值,\( \alpha \) 是学习率(也称为步长),\( \nabla J(\theta_{\text{old}}) \) 是损失函数关于参数的梯度。

4. 重复迭代:重复执行步骤2和步骤3,直到达到停止条件。停止条件可以是达到最大迭代次数、损失函数收敛等。

梯度下降算法有多种变体,包括批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)、小批量梯度下降(Mini-batch Gradient Descent)等。它们的区别主要在于每次更新参数时所使用的数据量不同。

梯度下降算法的一个关键参数是学习率,它决定了每次参数更新的步长。学习率过大可能导致参数在损失函数表面上剧烈波动,而学习率过小则可能导致收敛速度过慢。因此,学习率的选择通常需要通过实验和调整来确定。

0