سلام
من فکر میکنم همینجا یه سوال مشابه داشتیم .
بطور خیلی خلاصه لایه بچ نرمالیزیشن برای نرمال سازی توده ها در داخل شبکه انجام میشه . زمانی که محاسبات مختلف روی داده(توده) ورودی اعمال میشه توزیع اون هم دستخوش تغییر میشه . با بچ نرمالیزیشن میان در هر لایه (هرجا استفاده اش کنن ) اون عمل نرمال سازی رو صورت میده .
پیاده سازی بچ نرمالیزیشن دو بخش اصلی داره یکی مربوط به خود نرمال سازی هست و دیگری یک scaler . در کفی این دو بخش از هم تفکیک شدند اما در سایر پیاده سازی ها در قاالب همون لایه بچ نرمالیزیشن قرار دارن.
هرچقدر لایه ها بیشتر باشن دو مساله خودشو نشون میده 1. کاهش قدرت گرایان و 2. تغییر بیش از پیش در توزیع داده ورودی
این لایه میاد این دوتا مساله رو برطرف میکنه.
با استفاده از بچ نرمالیزیشن شما میتونید تا هرتعداد لایه خواستید استفاده کنید. ( الزاما بهترین همگرایی رو ندارید اما عمق زیاد رو ممکن میکنه)
خوندن این بخش هم کمک میکنه . (بچ نرمالیزیشن باعث کاهش covariate shift میشه.)