רשתות נוירונים: אימון באמצעות הפצה לאחור

הפצה לאחור היא את האלגוריתם הכי נפוץ לאימון של רשתות נוירונים. הוא מאפשר ירידה הדרגתית זמינה עבור רשתות נוירונים מרובות. ספריות קוד רבות של למידת מכונה (כמו Keras) טיפול בהפצה לאחור באופן אוטומטי, כך שלא צריך לבצע את החישובים הבסיסיים. בסרטון הבא סקירה כללית של מושגים בסיסיים לגבי אופן הפעולה של ההפצה לאחור:

שיטות מומלצות לאימון של רשת נוירונים

בקטע הזה מתוארים מקרי הכשל של ההפצה לאחור דרך נפוצה להסדרת רשת נוירונים.

גוונים נעלמים

ההדרגתיות של העצב התחתון שכבות הרשת (אלה שקרובות יותר לשכבת הקלט) יכולות להיות קטנות מאוד. ברשתות עומק (רשתות עם יותר משכבה נסתרת אחת), חישוב ההדרגתיות האלו עשוי לכלול מכפלה של מונחים קטנים רבים.

כשערכי ההדרגתיות מתקרבים ל-0 עבור השכבות התחתונות, "נעלם". שכבות עם הדרגה נעלמת מאומנות לאט מאוד או לא בכלל.

פונקציית ההפעלה של ReLU יכולה לעזור במניעת היעלמות הדרגתיות.

הדרגתי ומתפוצץ

אם המשקולות ברשת גדולות מאוד, אז ההדרגתיות של החלק התחתון או בשכבות שכוללות מוצרים שכוללים הרבה מונחים גדולים. במקרה הזה, אתם יכולים הדרגתיות מתפוצצות: הדרגה שהופכת לגדולה מדי להתאחדות.

נירמול אצווה יכול לעזור במניעת הדרגתיות של פיצוץ, כמו גם להפחית את קצב הלמידה.

יחידות ReLU מתות

כשהסכום המשוקלל של יחידת ReLU נמוך מ-0, יחידת ReLU יכולה לקבל נתקעתי. הוא מפיק 0, ולא תורמת שום דבר לפלט של הרשת. והדרגתיות לא יוכלו עוד לזרום דרכה במהלך ההפצה לאחור. עם שמקור ההדרגה שנחתך, ייתכן שהקלט ל-ReLU לא ישתנה מספיק כדי להחזיר את הסכום המשוקלל מעל 0.

הפחתת קצב הלמידה יכולה למנוע מיחידות של ReLU מוות.

הסדרת נטישה

שיטה נוספת של הרגולריזציה, רגולריזציה של נטישה, מאוד שימושי לרשתות נוירונים. הפעולה מתבצעת על ידי "נטישה" אקראית הפעלות של יחידות ברשת עבור שלב אחד הדרגתי. ככל שמפסיקים להשתמש יותר, כך ההתאמה הרגולרית חזקה יותר:

  • 0.0 = ללא הסדירה של נטישה.
  • 1.0 = שחרור כל הצמתים. המודל לא לומד שום דבר.
  • ערכים בין 0.0 ל-1.0 = שימושיים יותר.