| Files | Last commit | Last update |
|---|---|---|
| 3 months ago | ||
| 3 months ago | ||
| 3 months ago | ||
| 3 months ago | ||
| 3 months ago | ||
| 3 months ago | ||
| 3 months ago |
GroupNormalizationGrad
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A2 训练系列产品/Atlas 800I A2 推理产品 | √ |
功能说明
- 算子功能:计算 Group Normalization 的输入梯度。
- 计算公式:
输入按 [N, G, M] 布局组织,单 group 的计算公式为:
x^=(x−mean)⋅rstd\hat{x} = (x - mean) \cdot rstd
s1=∑(dy⋅gamma),s2=∑(dy⋅gamma⋅x^)s_1 = \sum(dy \cdot gamma), \quad s_2 = \sum(dy \cdot gamma \cdot \hat{x})
dx=rstdM⋅gamma⋅(M⋅dy−s1−x^⋅s2)dx = \frac{rstd}{M} \cdot gamma \cdot (M \cdot dy - s_1 - \hat{x} \cdot s_2)
其中 xx 为前向输入,dydy 为上游梯度,gammagamma 为已广播到 [N, G, M] 的缩放系数,meanmean 为每个 group 的均值(形状 [N, G]),rstdrstd 为每个 group 的标准差倒数(形状 [N, G]),dxdx 为输出输入梯度(形状与 xx 相同)。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 前向输入,公式中的 x。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| dy | 输入 | 上游梯度,公式中的 dy。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| gamma | 输入 | 已广播到 [N, G, M] 的缩放系数。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| mean | 输入 | 每个 group 的均值,形状为 [N, G]。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| rstd | 输入 | 每个 group 的标准差倒数,形状为 [N, G]。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| dx | 输出 | 输入梯度,公式中的 dx。 | FLOAT、FLOAT16、BFLOAT16 | ND |
约束说明
- 输入 x、dy、gamma 和输出 dx 的数据类型需保持一致。
- 输入 x、dy、gamma 的 shape 需相同。
- 输入维度至少为 3 维([N, G, M] 布局)。
- mean 和 rstd 需为 [N, G] 形状。
贡献说明
| 贡献者 | 贡献方 | 贡献算子 | 贡献时间 | 贡献内容 |
|---|---|---|---|---|
| Zhou Jianhua <@LePenseur> | AISS Group, Harbin Institute of Technology (HIT) | GroupNormalizationGrad | 2026/05/12 | GroupNormalizationGrad 算子架构迁移至标准 AscendC 框架 |