I am interested in your opinion on the topic if you think that it makes sense to use batch normalization layer in a network that is trained with a batch size of 1. This is a special case as part of an experiment. What effects can be expected?
1 Answer
$\begingroup$
$\endgroup$
2
It's not possible to use batch normalization with a batch size of 1. Batch normalization requires you to calculate the variance of activation values in the current batch, and variance is undefined for a sample of size 1.
-
$\begingroup$ Why it is undefined? It is zero. $\endgroup$ Commented Feb 15 at 17:54
-
1$\begingroup$ The sample variance formula has a denominator of N - 1. When N = 1, N - 1 = 0, and division by 0 is undefined. @adosar $\endgroup$– JohannCommented Feb 18 at 0:37