RMSNorm函数

复制代码
def rmsnorm(x):
    ms = sum(xi * xi for xi in x) / len(x)
    scale = (ms + 1e-5) ** -0.5
    return [xi * scale for xi in x]

这段代码实现的是未包含可学习缩放参数(gamma)的 RMSNorm (均方根层归一化)函数。使用 LaTeX 格式展示其数学功能如下:

text{RMSNorm}(x_i) = x_i cdot frac{1}{sqrt{frac{1}{n} sum_{j=1}^{n} x_j^2 + epsilon}}

代码与公式的对应关系说明:

x_i:输入向量中的第 i 个元素(对应代码中的 xi)。

n:输入向量的长度(对应代码中的 len(x))。

frac{1}{n} sum_{j=1}^{n} x_j^2:输入向量元素的平方均值(对应代码中的 ms = sum(xi * xi for xi in x) / len(x))。

epsilon:极小常数,代码中硬编码为 1e-5(对应公式中的 epsilon),用于防止分母为零。

frac{1}{sqrt{dots + epsilon}}:均方根的倒数(对应代码中的 scale = (ms + 1e-5) ** -0.5)。

x_i cdot text{scale}:最终归一化后的输出(对应代码中的 xi \* scale for xi in x)。

💡 与标准 RMSNorm 的区别:

标准的 RMSNorm 公式在归一化之后,还会乘以一个可学习的缩放参数 gamma(即 odot boldsymbol{gamma}),用于恢复模型的表达能力。而你提供的这段代码省略了 gamma 的乘法操作,通常在实际的深度学习框架中,这个乘法操作会在调用此基础函数之后单独完成。

标准RMSNorm(均方根层归一化)的数学公式使用 LaTeX 格式展示如下:

text{RMSNorm}(mathbf{x}) = frac{mathbf{x}}{sqrt{frac{1}{n} sum_{i=1}^{n} x_i^2 + epsilon}} odot boldsymbol{gamma}

或者使用更紧凑的均方根(RMS)符号表示:

text{RMSNorm}(mathbf{x}) = frac{mathbf{x}}{text{RMS}(mathbf{x})} odot boldsymbol{gamma}

其中,均方根的计算公式为:

text{RMS}(mathbf{x}) = sqrt{frac{1}{n} sum_{i=1}^{n} x_i^2 + epsilon}

公式符号说明:

mathbf{x}:输入向量。

n:输入向量 mathbf{x} 的特征维度大小。

x_i:输入向量中的第 i 个元素。

epsilon:一个极小的正常数(例如 10^{-6}),用于防止分母为零,保证数值计算的稳定性。

odot:逐元素相乘(Hadamard 乘积)。

boldsymbol{gamma}:可学习的缩放参数向量(其维度与 mathbf{x} 相同,通常初始化为全 1 向量),用于恢复模型在归一化过程中损失的表达能力。

需要我对比一下 RMSNorm 和 LayerNorm 在数学形式上的差异吗?

相关推荐
职场的momo35 分钟前
用户讨论:算法开发Offer决赛:大疆纯后端Agent与网易游戏测试,对内AI跳槽难?
人工智能·游戏·跳槽
wish36640 分钟前
EmployeeAssistant 智能问答服务:基于 pgvector 与 LLM 的企业知识库助手
人工智能·语言模型·自然语言处理·local llm
shirsl1 小时前
算法 Day1-数组 / 哈希 + 双指针
python·算法·哈希算法
检信智能2 小时前
检信 Allemotion 多模态融合技术,解析非接触情绪采集的底层逻辑
人工智能·语音识别
RoboWizard2 小时前
固态硬盘对游戏帧数有影响吗?
人工智能
2301_768103495 小时前
AI视频创作Agent实战03:DeepSeek文案裂变与草稿版本控制
人工智能
火山引擎开发者社区6 小时前
Anker 首届黑客松挑战赛|9 月 7 日报名启动
人工智能
Dawson Zhu7 小时前
工作流与 Agent 的工程选型:从“控制权归属“看 LLM 应用架构
人工智能·语言模型·架构·aigc·agi
计算机源码社7 小时前
【大数据项目实战】基于大数据的影视内容生态综合质量分析与可视化-基于数据挖掘的影视内容类型共现与口碑聚类分析系统
大数据·人工智能·python·数据挖掘·数据分析·毕业设计·课程设计
C^h7 小时前
pytorch 适合初学者 0基础学习
人工智能·pytorch·python