در سال 2015، لوف و همکاران batch normalization را معرفی کردند. در پروسه آموزش با گرادیان نزولی تصادفی ، دسته های کوچک نمونه های آموزش با توجه به میانگین و واریانس آنها نرمال میشن ،این امر باعث میشود نرون ها ،ورودی با توزیع مختلف در هر گام آموزش دریافت نکنند. این تکنیک به اندازه وزن ها حساس نیست در نتیجه میتوان از توابع فعال سازی اشباع پذیر مانند Sigmoid و Tanh بدون نگران بودن در مورد پدیده ناپدید شدن گرادیان نیز استفاده کرد.
Batch norm در واقع نیز مثل یه تکنیک regularization عمل میکنه (یه جورایی به دلیل اعمال نویز در سطح شبکه)
آموزش به مقدار دهی اولیه وزنها و نرخ یادگیری ،کمتر حساس هست و میتوان مقدار آن را افزایش داد . در نهایت با استفاده از این تکنیک سرعت آموزش پنج برابر سریعتر میشود و دقت را 2 درصد افزایش میدهد.
اما این تکنیک هر چند مزایای بسیاری داره اما مشکلاتی رو نیز داره که در ادامه چند تاشو میگم
به عنوان مثال در حین اجرای پروسه آموزش در صورتی که اندازه minibatch کوچیک باشه تاثیر batch norm کاهش پیدا میکنه و مواردی از این دست که در این مقاله بهش اشاره شده.
این مقاله یه متد به نام Batch Renormalization رو معرفی کرد.
از طرفی هنگامی که ما از batch norm در کنار تابع فعال ساز ELU در معماری RESNET استفاده میکنیم ، میتونه کارایی این مدل رو کاهش بده
کار دیگر :معرفی virtual batch normalization در این مقاله