❌ البته درک ما از نرمالسازی دستهای (Batch Normalization) در سالهای اخیر تکامل پیدا کرده است. برخلاف باور عمومی، دلیل اصلی موفقیت آن، کاهش «تغییرپذیری توزیع داخلی» (Internal Covariate Shift) نیست (تحقیقات ۲۰۱۸ توسط Santurkar و همکاران این نظریه را نقض کرد).
🪔دلیل واقعی که شبکههای عمیق را سادهتر و سریعتر آموزش میدهد، به ۴ عامل کلیدی زیر بازمیگردد که دقیقاً همان وضعیتی را که در تصویر پست (همگرایی سریع و صاف در سمت راست در برابر نوسان شدید در سمت چپ) میبینیم، توضیح میدهد:
۱. هموارسازی چشمانداز تابع هزینه (Loss Landscape)
مهمترین دستاورد BN این است که سطح خطا را هموار (Smooth) و لیپشیتز (Lipschitz) میکند. به عبارت ریاضی، BN بزرگی گرادیانها را محدود کرده و از تغییرات ناگهانی و شدید در تابع هزینه جلوگیری میکند. در نمودار سمت چپ (بدون BN)، سطح خطا ناهموار است، بنابراین الگوریتم بهجای حرکت مستقیم به سمت کمینه، دچار نوسان (Oscillation) میشود. در سمت راست، سطح هموار شده و مسیر بهینهسازی مستقیمتر میشود.
۲. امکان استفاده از نرخ یادگیری بسیار بالاتر (Larger Learning Rates)
در شبکههای عمیق، فعالسازی لایهها در ابتدای آموزش ممکن است بسیار بزرگ یا بسیار کوچک شود (انفجار یا محو شدگی گرادیان). BN با نرمال کردن دادهها به میانگین ۰ و واریانس ۱، این نوسانات مقیاس را حذف میکند. این ویژگی به بهینهساز اجازه میدهد تا گامهای بلندتر (Learning Rate بالاتر) بردارد بدون آنکه دچار واگرایی (Divergence) شود، در نتیجه همگرایی در نمودار راست بسیار سریعتر رخ میدهد.
۳. کاهش وابستگی شدید به مقدار اولیه وزنها (Initialization)
بدون BN، شما مجبورید وزنها را با دقت بسیار بالا مقداردهی کنید (مثلاً با روشهای Xavier یا He). BN این وابستگی را از بین میبرد. لایههای میانی دیگر «نگران» مقیاس ورودی لایه بعدی نیستند، زیرا BN این مقیاس را در هر مینیبچ بازتنظیم میکند. این یعنی شبکه عمیقتر بخشندهتر (Robust) نسبت به تنظیمات اولیه میشود.
۴. اثر نظمدهندگی ذاتی (Regularization)
هر مینیبچ دارای میانگین و واریانس متفاوتی است. BN از همین نویز آماری بهره میبرد و مقداری اختلال (Noise) به فرآیند آموزش تزریق میکند. این اختلال مشابه اثر Dropout عمل کرده و از بیشبرازش (Overfitting) جلوگیری میکند؛ هرچند این اثر جانبی بوده و دلیل اصلی سرعت آموزش نیست.
در تصویر ضمیمه این پست :
در سمت بدون BN, گرادیانها رفتار غیرخطی و طغیانگر دارند و بهینهساز مدام مسیر خود را اصلاح میکند. در سمت با BN ، ماتریس هِشین (Hessian) تابع هزینه خوشرفتارتر میشود. بنابراین، شبکه عمیق دیگر شبیه به رانندگی در جاده کوهستانی پرپیچوخم نیست، بلکه شبیه به رانندگی در یک بزرگراه صاف است؛ جایی که میتوانید پا را روی گاز بگذارید (نرخ یادگیری بالا) و سریعترین مسیر را به مقصد (کمینه) طی کنید🤓/.
#BatchNormalization
#Regularization
#Overfitting
#ML
@toobabigdatascience
Post #2891
88
متخصصان علم داده ها data scientists 🕸چرا Batch Normalization , فرآیند یادگیری در شبکه های عمیق را آسانتر میکند؟ ⭕️آموزش یک شبکهی عمیق، شبیه به این میمونه که یک پیام رو بین بیست نفر دست به دست کنید. اگر هر کدوم از این افراد، یک کم به پیام اضافه یا کم کنند، تا وقتی به نفر آخر میرسه، پیام…
- 👏 1