פונקציית אקטיבציה
פונקציה מתמטית המחשבת את הפלט של נוירון ברשת נוירונים, ביחס לקלטים שהוא מקבל ולמשקלם מוויקיפדיה, האנציקלופדיה החופשית
פונקציית אקטיבציה או פונקציית שפעול[1] של נוירון ברשת עצבית מלאכותית היא פונקציה מתמטית המחשבת את הפלט של הנוירון ביחס לקלטים שהוא מקבל ולמשקלם. פונקציות האקטיבציה הן מרכיב מרכזי ברשתות נוירונים, שהן צורת המימוש הנפוצה של מערכות בינה מלאכותית מודרנית.[2] לפונקציה הנבחרת יש השפעה על ביצועי הרשת, ועל ההתאמה שלה לביצוע המשימה שעליה אומנה.[2][3][4]


מטרת הפונקציה היא לקבוע את עוצמת הפלט של הנוירון, ביחס לקלט שקיבל. ההשראה לאופן הפעולה של פונקציות אקטיבציה התקבלה מאופן הפעולה של תאי העצב במוח, אשר הפלט שלהם נקבע בהתאם לפוטנציאל הפעולה.[5][6][7]
נוירון ברשת נוירונים מלאכותית פועל כפרספטרון (אלגוריתם בסיסי בתחום למידת המכונה), כך שהוא מקבל וקטור קלט, מכפיל אותו בווקטור משקולות שנלמד בזמן האימון. לאחר מכן נקבע פלט הנוירון באמצעות העברת תוצאת המכפלה בפונקציית האקטיבציה.[8][9]
מטרה נוספת של פונקציית האקטיבציה היא להכניס אי-ליניאריות לרשת, ולכן הפונקציות הנמצאות בשימוש רווח הן פונקציות לא ליניאריות, או פונקציות שיש בהן אלמנט כלשהו של אי ליניאריות.[10]
פונקציית אקטיבציה לא ליניארית מאפשרת לפתור בעיות לא טריוויאליות באמצעות חיבור של מספר קטן של צמתים.[11] פונקציות האקטיבציה המודרניות כוללות את ReLU ששימשה במודל הראייה הממוחשבת AlexNet מ-2012,[12][13] את GELU ששימשה במודל BERT שאומן על ידי Google ב-2018,[14] ואת הפונקציה הלוגיסטית סיגמואיד ששימשה במודל זיהוי דיבור משנת 2012 שפותח על ידי הינטון.[15]
השוואה בין פונקציות אקטיבציה
סכם
פרספקטיבה
מלבד הביצועים האמפיריים שלהן, לפונקציות האקטיבציה יש גם תכונות מתמטיות שונות. לכל תכונה יש השפעה כלשהי על אימון הרשת, וישנן תכונות נוספות שעשויות להשפיע עליה.[16]
ליניאריות ואי ליניאריות
על פי משפט הקירוב האוניברסלי (אנ'), רשת עצבית דו-שכבתית שמשתמשת בפונקציית אקטיבציה לא ליניארית, יכולה לקרב כל פונקציה.[17] כאשר הנוירונים ברשת משתמשים בפונקציית אקטיבציה ליניארית, הרשת כולה שווה ערך לרשת חד-שכבתית בשל תכונות הליניאריות.[16][18]
טווח
כאשר פונקציית האקטיבציה חסומה, שיטות אימון מבוססות גרדיאנט נוטות להיות יציבות יותר, מכיוון ששינוי בקלט משפיע על המשקולות באופן מוגבל בכל צעד. כאשר הפונקציה לא חסומה, האימון בדרך כלל יעיל יותר מכיוון שקלטים מסוים עשויים להשפיע בצורה חזקה יותר על השינוי במשקולות. במקרה כזה, נדרש בדרך כלל שימוש ב-learning rate (אנ') קטן יותר.[16]
פונקציות שהשיפוע שלהן באינסוף לא שואף לאפס, כלומר לא מתקיים , מתאימות להתמודדות עם בעיית הגרדיאנט הנעלם (אנ') דוגמה לפונקציה כזו היא ReLU.[19]
גזירות ברציפות
בשימוש בשיטות אופטימיזציה מבוססות גרדיאנט רצוי שהפונקציה תהיה גזירה ברציפות. פונקציית המדרגה (פונקציה שנותנת 0 לכל ערך שקטן מ-0, ו-1 לכל ערך שגדול מ-0)[20] אינה גזירה ב-0, והנגזרת שלה היא 0 לכל ערך אחר, ולכן שיטות מבוססות גרדיאנט לא יכולות לבצע את השיפורים שלהם בהתבסס עליה.[21]
פירוט מתמטי
סכם
פרספקטיבה
ניתן לחלק את פונקציות האקטיבציה הנפוצות ביותר לשלוש קטגוריות: פונקציות ridge, פונקציות רדיאליות ופונקציות אגרגציה.
פונקציות ridge

פונקציות ridge (אנ') הן פונקציות מרובות משתנים הפועלות על צירוף ליניארי של משתני הקלט.[22] דוגמאות לפונקציות נפוצות הן:
- פונקציה ליניארית: ,
- פונקציית ReLU: ,
- פונקציית מדרגה: ,
- פונקציה לוגיסטית: .
ברשתות עצביות ביולוגיות, פונקציית האקטיבציה היא בדרך כלל הפשטה המייצגת את הדחף עצבי בנוירון.[6] בצורתה הפשוטה ביותר, הפונקציה היא בינארית, כלומר הנוירון יכול לבחור האם להוציא פלט או לא. עוצמת הפלט של נוירונים חסומה, ופונקציות שמחקות את ההתנהגות הזו בצורה מהימנה הן פונקציות שהטווח שלהן הוא מרחב סופי, כמו סיגמואיד.[23][24]
פונקציות רדיאליות
פונקציות רדיאליות (אנ') נמצאות ברשתות מסוג RBF (אנ'), שיעילות בקירוב אוניברסלי של פונקציות. פונקציה בשימוש נפוץ היא פונקציית גאוס, , כאשר הוא הווקטור המייצג את מרכז הפונקציה ו- ו- הם פרמטרים המשפיעים על רדיוס הגאוסיאן.[25]
פונקציות אגרגציה
פונקציות אגרגציה (אנ') נמצאות בשימוש נרחב בשכבת האגרגציה (pooling) ברשתות קונבולוציה, ובשכבת הפלט של רשתות סיווג בעלות מספר מחלקות. הפונקציות האלה מבצעות אגרגציה על הקלט, למשל בחירת הממוצע, המינימום או המקסימום.[26][27] בסיווג מרובה מחלקות, נעשה שימוש בפונקציית סופטמקס שיוצרת התפלגות מהקלט שהתקבל, כלומר מייצרת וקטור שסכומו 1.[28][29]
פונקציות אקטיבציה נפוצות
שם | ויזואליזציה | משוואה, | נגזרות, | טווח | סדר גזירות |
---|---|---|---|---|---|
פונקציית הזהות | ![]() |
||||
פונקציית מדרגה | ![]() |
||||
טנגנס היפרבולי | ![]() |
||||
ReLU (אנ')[30] | ![]() |
||||
GELU (Gaussian Error Linear Unit)[31] | ![]() |
||||
Leaky ReLU[32] | ![]() |
||||
גאוסיאן | ![]() |
||||
סופטמקס (אנ') | לכל | ||||
Maxout[33] |
ראו גם
הערות שוליים
Wikiwand - on
Seamless Wikipedia browsing. On steroids.