نرمالسازی دستهای
From Wikipedia, the free encyclopedia
نرمال سازی دسته ای یا batch normalization یک تکنیک است که روی ورودی هر لایه شبکه عصبی مصنوعی اعمال می شود که از طریق تغییر مرکز توزیع دیتاها یا تغییر دادن مقیاس آنها موجب سریعتر و پایدارتر شدن شبکه عصبی می شود.این تکنیک در سال 2015 توسط سرگئی یوفه وکریستین سگدی معرفی شد.[1]
تاثیر کارایی این روش هنوز بطور دقیق مشخص نیست ولی باور دارند که موجب کاهش اثر شیفت توزیع داخلی یا internal covariate shift می شود. به این صورت که وقتی خروجی یک لایه شبکه میخواهد وارد ورودی شبکه دیگر بشود،به وسیله ی تابع فعال ساز ممکن است شکل توزیع به هم بخورد و هر بار این شکل توزیع در بهینه سازی پارامترهای لایه بعد نیز موثر باشد، ولی وقتی از نرمال سازی دسته ای استفاده می شود،اثر توزیع گرفته می شود.[2]با این وجود نرمال سازی دسته ای موجب انفجار گرادیانت می شود که توسط اقداماتی از جمله اتصال پرشی در شبکه های باقی مانده یا residual network حل می شود.[3]امروزه روش هایی از جمله گرادیانت کلیپینگ و تنظیم کننده هوشمند ابرپارامترها درکنار ویا بجای نرمال سازی دسته ای استفاده می شوند و ضعف های این روش را پوشش می دهند.[4][5]