• 作者:老汪软件技巧
  • 发表时间:2024-09-11 11:01
  • 浏览量:

大家好!

感谢大家的时间来阅读此文,如果您对以下内容感兴趣,欢迎关注我的公众号《叨叨叨的成长记录》,这里你可以收获以下内容:

专业的IT内容分享前沿LLM技术和论文分享个人对行业的思考投资理财的经验和笔记

如果您也对这些感兴趣,欢迎在后台留言,大家多多交流!

正则化技术在深度学习机器学习中至关重要,其主要作用包括:

正则化技术在机器学习和深度学习中扮演着重要的角色,它通过增强模型的泛化能力,帮助模型在新数据上的表现,并维护训练过程的稳定性。选择适当的正则化方法能够显著提升模型的整体性能。接下来我们一起来看几个常见的正则化手段。

RMSNorm

RMSNorm(Root Mean Square Layer Normalization)是一种用于深度学习模型的归一化方法。它是一种改进的层归一化技术,旨在提升模型的训练效率和稳定性。

基础原理

RMSNorm通过计算激活值的根均方(Root Mean Square, RMS)来对输入进行归一化。与Batch Normalization(批归一化)和Layer Normalization(层归一化)类似,它在不同的特征维度上标准化进行,以促进信号的稳定性。

优缺点优点缺点

RMSNorm(均方根归一化)作为一种归一化技术,尽管在某些情况下表现良好,但也存在一些缺点和局限性:

公式

RMSNorm的核心思路是使用均方根(Root Mean Square,RMS)来进行归一化。其计算步骤如下:

计算均方根:

RMS(x)=1H∑i=1Hxi2+ϵ\text{RMS}(x) = \sqrt{\frac{1}{H} \sum_{i=1}^{H} x_i^2 + \epsilon}RMS(x)=H1​∑i=1H​xi2​+ϵ​

其中 (γ\gammaγ) 是特征的维度(或通道数),(β\betaβ) 是输入的第 (i) 个元素,(ϵ\epsilonϵ) 是一个小常数,用于防止除零错误。

均方根归一化:

RMSNorm(x)=xRMS(x)⋅γ+β\text{RMSNorm}(x) = \frac{x}{\text{RMS}(x)} \cdot \gamma + \betaRMSNorm(x)=RMS(x)x​⋅γ+β

其中 (γ\gammaγ) 和 (β\betaβ) 是可训练的参数,用于缩放和平移归一化后的输出。

总结

RMSNorm是一种有效的归一化技术,能够在深度学习模型中实现更好的训练效果和更快的收敛速度,尤其适合需要高效训练的任务。

LayerNorm

感谢关注公众号的语录_关注公众号欢迎词_

LayerNorm(层归一化)是一种正则化技术,广泛应用于深度学习模型中,特别是在自然语言处理(NLP)和其他序列模型中。下面将详细介绍LayerNorm的作用、特点、优缺点和公式。

主要作用主要特点归一化方式:LayerNorm 在每个样本的内部进行归一化,而非跨样本(与BatchNorm相对)。它针对的是每一个样本数据点的激活值。适应性:LayerNorm可以使用在任意大小的批量数据上,包括批量大小为1的情形,适用于RNN等需要动态处理输入的场合。位置不变性:LayerNorm在时间序列或句子中任意位置的输入中归一化,非常适合处理序列数据。可训练的参数:它在归一化后仍能学习可训练的参数(gamma和beta),使得模型具备更大的表达能力。优缺点优点缺点公式

LayerNorm的公式通常可以表示为:

LayerNorm(x)=x−μσ⋅γ+β\text{LayerNorm}(x) = \frac{x - \mu}{\sigma} \cdot \gamma + \betaLayerNorm(x)=σx−μ​⋅γ+β

其中:

μ=1H∑i=1Hxi\mu = \frac{1}{H} \sum_{i=1}^{H} x_iμ=H1​∑i=1H​xi​

σ=1H∑i=1H(xi−μ)2+ϵ\sigma = \sqrt{\frac{1}{H} \sum_{i=1}^{H} (x_i - \mu)^2 + \epsilon}σ=H1​∑i=1H​(xi​−μ)2+ϵ​

其中 (ϵ\epsilonϵ) 是一个小常数,用于防止除零错误。

总结

LayerNorm是一种有效的归一化技术,适合于各种深度学习模型,尤其是在处理序列数据时。它的特点包括对批大小的独立性和适应性,虽然在计算开销上可能有所增加,但其带来的训练稳定性和收敛速度提升,常常使其成为优选方案。

BatchNorm

BatchNorm(批量归一化) 是一种广泛使用的正则化技术,旨在提高深度学习模型的训练稳定性和加速收敛过程。以下是BatchNorm的主要作用、特点、优缺点和公式。

主要作用内部协变量偏移抑制:BatchNorm可以减少内部协变量偏移(internal covariate shift),即在训练过程中每层输入数据分布的变化,从而使得模型更易于训练。加速训练:通过标准化每一批数据,BatchNorm可以使得模型更快地收敛,从而减少训练时间。缓解梯度消失/爆炸:通过保持激活值在一个合理的范围内,有助于减轻梯度消失或爆炸的问题,特别是在深度网络中。容忍性:BatchNorm通常允许使用更大的学习率,从而进一步加速训练。主要特点批量统计:BatchNorm使用当前批次的均值和方差来标准化输入,而不是使用全局平均。这样确保了每个批次的特性。可训练参数:在标准化后,BatchNorm还学习两个可训练的参数(gamma和beta),用于缩放和平移标准化输出,使得模型具备更大的表达能力。适用性广泛:BatchNorm可以应用于各种类型的神经网络,包括卷积神经网络(CNN)和全连接网络,通常在每层激活函数之前应用。优缺点优点缺点公式

BatchNorm的公式通常可以表示为:

BatchNorm(x)=x−μσ2+ϵ⋅γ+β\text{BatchNorm}(x) = \frac{x - \mu}{\sqrt{\sigma^2 + \epsilon}} \cdot \gamma + \betaBatchNorm(x)=σ2+ϵ​x−μ​⋅γ+β

其中:

μ=1m∑i=1mxi\mu = \frac{1}{m} \sum_{i=1}^{m} x_iμ=m1​∑i=1m​xi​

其中 ( m ) 是当前批次的样本数。

σ2=1m∑i=1m(xi−μ)2\sigma2 = \frac{1}{m} \sum_{i=1}^{m} (x_i - \mu)^2σ2=m1​∑i=1m​(xi​−μ)2

总结

BatchNorm是一种有效的标准化技术,能够改善深度学习模型的训练过程,减少训练时间并增强模型稳定性。它适用于多种网络架构,并在现代深度学习中得到了广泛应用。在使用时,需要小心选择批量大小,以确保模型的性能和效果。

总结一下

本文使用 排版