【深度学习】神经网络中,BatchNormalization(批量归一化)层

在神经网络中,BatchNormalization(批量归一化)层计算每一批数据的均值和方差是其核心操作,下面详细介绍其计算方法。

计算均值和方差的基本公式

假设输入数据是一个形状为 (m, n) 的矩阵,其中 m 是批量大小(即一批数据中样本的数量),n 是特征的数量。

均值计算

均值是每一个特征维度上所有样本值的平均值。对于第 j 个特征维度,其均值 μ j \mu_j μj 的计算公式为:
μ j = 1 m ∑ i = 1 m x i j \mu_j = \frac{1}{m} \sum_{i=1}^{m} x_{ij} μj=m1i=1∑mxij

这里, x i j x_{ij} xij 表示第 i 个样本的第 j 个特征值。也就是说,对于每一个特征维度,将该维度上所有样本的值相加,再除以样本数量 m,就得到了该特征维度的均值。

方差计算

方差衡量的是数据相对于均值的离散程度。对于第 j 个特征维度,其方差 σ j 2 \sigma_j^2 σj2 的计算公式为:
σ j 2 = 1 m ∑ i = 1 m ( x i j − μ j ) 2 \sigma_j^2 = \frac{1}{m} \sum_{i=1}^{m} (x_{ij} - \mu_j)^2 σj2=m1i=1∑m(xij−μj)2

同样是针对每一个特征维度,先计算每个样本的该特征值与该维度均值的差值的平方,然后将这些平方值相加并除以样本数量 m,得到该特征维度的方差。

代码示例

下面是一个使用 Python 和 NumPy 实现手动计算一批数据均值和方差的简单示例:

python 复制代码
import numpy as np

# 模拟一批数据,形状为 (m, n)
# m 是批量大小,n 是特征数量
batch_size = 10
num_features = 5
data_batch = np.random.randn(batch_size, num_features)

# 计算每个特征维度的均值
means = np.mean(data_batch, axis=0)

# 计算每个特征维度的方差
variances = np.var(data_batch, axis=0)

print("每个特征维度的均值:", means)
print("每个特征维度的方差:", variances)

在这个示例中:

  1. 首先使用 np.random.randn 函数生成了一个形状为 (batch_size, num_features) 的随机数据矩阵,模拟一批输入数据。
  2. 然后使用 np.mean 函数,通过指定 axis=0,计算每一个特征维度上的均值。
  3. 最后使用 np.var 函数,同样指定 axis=0,计算每一个特征维度上的方差。

BatchNormalization 层中的应用

KerasBatchNormalization 层中,计算得到均值和方差后,会对输入数据进行归一化处理,公式如下:
x ^ i j = x i j − μ j σ j 2 + ϵ \hat{x}{ij} = \frac{x{ij} - \mu_j}{\sqrt{\sigma_j^2 + \epsilon}} x^ij=σj2+ϵ xij−μj

其中, x ^ i j \hat{x}_{ij} x^ij 是归一化后的第 i 个样本的第 j 个特征值, ϵ \epsilon ϵ 是一个很小的正数,用于防止除零错误。之后,归一化后的数据还会经过缩放和平移操作,以增加模型的表达能力。

相关推荐
摸鱼仙人~1 小时前
机器学习常用评价指标
人工智能·机器学习
一点.点2 小时前
WiseAD:基于视觉-语言模型的知识增强型端到端自动驾驶——论文阅读
人工智能·语言模型·自动驾驶
fanstuck3 小时前
从知识图谱到精准决策:基于MCP的招投标货物比对溯源系统实践
人工智能·知识图谱
dqsh063 小时前
树莓派5+Ubuntu24.04 LTS串口通信 保姆级教程
人工智能·python·物联网·ubuntu·机器人
打小就很皮...4 小时前
编写大模型Prompt提示词方法
人工智能·语言模型·prompt
Aliano2174 小时前
Prompt(提示词)工程师,“跟AI聊天”
人工智能·prompt
weixin_445238124 小时前
第R8周:RNN实现阿尔兹海默病诊断(pytorch)
人工智能·pytorch·rnn
KingDol_MIni4 小时前
ResNet残差神经网络的模型结构定义(pytorch实现)
人工智能·pytorch·神经网络
新加坡内哥谈技术5 小时前
亚马逊推出新型仓储机器人 Vulcan:具备“触觉”但不会取代人类工人
人工智能
Alter12305 小时前
从一城一云到AI CITY,智慧城市进入新阶段
人工智能·智慧城市