批量归一化是非线性操作吗?

Is batch normalisation a nonlinear operation?

batch normalization 可以被认为是像 relu 或 sigmoid 这样的非线性操作吗?

我遇到过这样的 resnet 块:

: IBasicBlock(
      (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (conv1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (prelu): PReLU(num_parameters=512)
      (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    )

所以我想知道batchnormalisation是否可以作为非线性操作

批量归一化在数据点 xi 中是非线性的 在每批训练的基础上,但在推理过程中是线性的缩放参数(因为这些是固定的)。