פונקציית אקטיבציה

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

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

מטרת הפונקציה היא לקבוע את עוצמת הפלט של הנוירון, ביחס לקלט שקיבל. ההשראה לאופן הפעולה של פונקציות אקטיבציה התקבלה מאופן הפעולה של תאי העצב במוח, אשר הפלט שלהם נקבע בהתאם לפוטנציאל הפעולה.[4]תבנית:הערה[5]

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

מטרה נוספת של פונקציית האקטיבציה היא להכניס אי-ליניאריות לרשת, ולכן הפונקציות הנמצאות בשימוש רווח הן פונקציות לא ליניאריות, או פונקציות שיש בהן אלמנט כלשהו של אי ליניאריות.[8]

פונקציית אקטיבציה לא ליניארית מאפשרת לפתור בעיות לא טריוויאליות באמצעות חיבור של מספר קטן של צמתים.[9] פונקציות האקטיבציה המודרניות כוללות את ReLU ששימשה במודל הראייה הממוחשבת AlexNet מ-2012,[10][11] את GELU ששימשה במודל BERT שאומן על ידי Google ב-2018,[12] ואת הפונקציה הלוגיסטית סיגמואיד ששימשה במודל זיהוי דיבור משנת 2012 שפותח על ידי הינטון.[13]

השוואה בין פונקציות אקטיבציה

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

ליניאריות ואי ליניאריות

על פי משפט הקירוב האוניברסלי תבנית:אנ, רשת עצבית דו-שכבתית שמשתמשת בפונקציית אקטיבציה לא ליניארית, יכולה לקרב כל פונקציה.[15] כאשר הנוירונים ברשת משתמשים בפונקציית אקטיבציה ליניארית, הרשת כולה שווה ערך לרשת חד-שכבתית בשל תכונות הליניאריות.[14][16]

טווח

כאשר פונקציית האקטיבציה חסומה, שיטות אימון מבוססות גרדיאנט נוטות להיות יציבות יותר, מכיוון ששינוי בקלט משפיע על המשקולות באופן מוגבל בכל צעד. כאשר הפונקציה לא חסומה, האימון בדרך כלל יעיל יותר מכיוון שקלטים מסוים עשויים להשפיע בצורה חזקה יותר על השינוי במשקולות. במקרה כזה, נדרש בדרך כלל שימוש ב-learning rate תבנית:אנ קטן יותר.[14]

פונקציות שהשיפוע שלהן באינסוף לא שואף לאפס, כלומר לא מתקיים lim|v||f(v)|=0, מתאימות להתמודדות עם בעיית הגרדיאנט הנעלם תבנית:אנ דוגמה לפונקציה כזו היא ReLU.[17]

גזירות ברציפות

בשימוש בשיטות אופטימיזציה מבוססות גרדיאנט רצוי שהפונקציה תהיה גזירה ברציפות. פונקציית המדרגה (פונקציה שנותנת 0 לכל ערך שקטן מ-0, ו-1 לכל ערך שגדול מ-0)[18] אינה גזירה ב-0, והנגזרת שלה היא 0 לכל ערך אחר, ולכן שיטות מבוססות גרדיאנט לא יכולות לבצע את השיפורים שלהם בהתבסס עליה.[19]

פירוט מתמטי

ניתן לחלק את פונקציות האקטיבציה הנפוצות ביותר לשלוש קטגוריות: פונקציות ridge, פונקציות רדיאליות ופונקציות אגרגציה.

פונקציות ridge

השוואה בין פונקציית ReLU לבין פונקציית GELU.

פונקציות ridge תבנית:אנ הן פונקציות מרובות משתנים הפועלות על צירוף ליניארי של משתני הקלט.[20] דוגמאות לפונקציות נפוצות הן:

ברשתות עצביות ביולוגיות, פונקציית האקטיבציה היא בדרך כלל הפשטה המייצגת את הדחף עצבי בנוירון.תבנית:הערה בצורתה הפשוטה ביותר, הפונקציה היא בינארית, כלומר הנוירון יכול לבחור האם להוציא פלט או לא. עוצמת הפלט של נוירונים חסומה, ופונקציות שמחקות את ההתנהגות הזו בצורה מהימנה הן פונקציות שהטווח שלהן הוא מרחב סופי, כמו סיגמואיד.[21][22]

פונקציות רדיאליות

פונקציות רדיאליות תבנית:אנ נמצאות ברשתות מסוג RBF תבנית:אנ, שיעילות בקירוב אוניברסלי של פונקציות. פונקציה בשימוש נפוץ היא פונקציית גאוס, ϕ(𝐯)=exp(𝐯𝐜22σ2), כאשר 𝐜 הוא הווקטור המייצג את מרכז הפונקציה ו-a ו-σ הם פרמטרים המשפיעים על רדיוס הגאוסיאן.[23]

פונקציות אגרגציה

פונקציות אגרגציה תבנית:אנ נמצאות בשימוש נרחב בשכבת האגרגציה (pooling) ברשתות קונבולוציה, ובשכבת הפלט של רשתות סיווג בעלות מספר מחלקות. הפונקציות האלה מבצעות אגרגציה על הקלט, למשל בחירת הממוצע, המינימום או המקסימום.[24][25] בסיווג מרובה מחלקות, נעשה שימוש בפונקציית סופטמקס שיוצרת התפלגות מהקלט שהתקבל, כלומר מייצרת וקטור שסכומו 1.[26][27]

פונקציות אקטיבציה נפוצות

שם ויזואליזציה משוואה, g(x) נגזרות, g(x) טווח סדר גזירות
פונקציית הזהות x 1 (,) C
פונקציית מדרגה {0if x<01if x0 0 {0,1} C1
טנגנס היפרבולי tanh(x)exexex+ex 1g(x)2 (1,1) C
ReLU תבנית:אנ[28] (x)+{0if x0xif x>0=max(0,x)=x1x>0 {0if x<01if x>0 [0,) C0
GELU (Gaussian Error Linear Unit)[29] Visualization of the Gaussian Error Linear Unit (GELU) 12x(1+erf(x2))=xΦ(x) Φ(x)+xϕ(x) (0.17,) C
Leaky ReLU[30] {0.01xif x0xif x>0 {0.01if x<01if x>0 (,) C0
גאוסיאן ex2 2xex2 (0,1] C
סופטמקס תבנית:אנ exij=1Jexjלכל i=1,...,j gi(x)(δijgj(x)) (0,1) C
Maxout[31] maxixi {1if j=argmaxixi0if jargmaxixi (,) C0

ראו גם

הערות שוליים

תבנית:הערות שוליים

תבנית:ערך טוב תבנית:בינה מלאכותית