1D Batch Normalisation Layer¶
batchnorm1d_layer_type
batchnorm1d_layer_type(
num_channels=...,
num_inputs=...,
momentum=0.99,
epsilon=1.0e-5,
gamma_init_mean=1.0,
gamma_init_std=0.02,
beta_init_mean=0.0,
beta_init_std=0.02,
kernel_initialiser=...,
bias_initialiser=...,
moving_mean_initialiser=...,
moving_variance_initialiser=...,
input_shape=...
)
The batchnorm1d_layer_type derived type provides a 1D batch normalisation layer.
This layer applies batch normalisation, which normalises the inputs to have mean of 0 and variance of 1, then applies a learned affine transformation.
where \(\mu\) and \(\sigma^2\) are the batch mean and variance, and \(\gamma\) and \(\beta\) are learned parameters.
Arguments¶
num_channels (integer): Number of channels in the input.
num_inputs (integer): Number of input features. Alternative to
num_channels.momentum (real(real32)): Momentum for running mean and variance. Default:
0.99.epsilon (real(real32)): Small value added to variance for numerical stability. Default:
1.0e-5.gamma_init_mean (real(real32)): Mean for gamma (scale) initialisation. Default:
1.0.gamma_init_std (real(real32)): Standard deviation for gamma initialisation. Default:
0.02.beta_init_mean (real(real32)): Mean for beta (shift) initialisation. Default:
0.0.beta_init_std (real(real32)): Standard deviation for beta initialisation. Default:
0.02.kernel_initialiser (character(*)): Initialiser for gamma parameters (see Initialisers).
bias_initialiser (character(*)): Initialiser for beta parameters (see Initialisers).
moving_mean_initialiser (character(*)): Initialiser for running mean (see Initialisers).
moving_variance_initialiser (character(*)): Initialiser for running variance (see Initialisers).
input_shape (integer, dimension(:)): Shape of the input data.
Shape:¶
Input:
(1, num_channels, batch_size).Output:
(1, num_channels, batch_size).