0
$\begingroup$

A month or two straight away building image classifiers, I just sandwich the BatchNormalization layer between conv2d. I wonder, what it does, but I have seen my model learn faster in presence of these layers.

But I'm worried if theirs any catch? I read somewhere that, I don't need dropout layer if I'm using batch normalization! Is it true?

And also tell me in which manner should I use this layer, which kind of problems I should and shouldn't use this layer.

Just write down anything you know about the layer that you think will help me!

$\endgroup$
1
$\begingroup$

A batch normalization is a layer that putted in between convolution and activation layers or sometimes after activation layers, it is used to normalize layer’s input to reduce the internal covariate shift problem.

This problem occurs by changing in distribution of the input data in the early layers, and because Every layer depends on the input of the former layers then it becomes a problem for this layer since it requires repeatedly adjusting to new input distributions.

Batch normalization is a technique for training very deep neural networks that standardizes the inputs to a layer for each mini-batch. This has the effect of stabilizing the learning process and dramatically reducing the number of training epochs required to train deep networks.

Batch normalization can be implemented during training by calculating the mean and standard deviation of each input variable to a layer per mini-batch and using these statistics to perform the standardization.

you read more here or here or here

also, I can tell you that this layer has a good impact on the performance and the achieved scores of your model.

hope this helps you understanding the importance of BN.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.