בדל מהי למידה עמוקה? (2024) - Unite.AI
צור קשר
כיתת אמן בינה מלאכותית:

AI 101

מהי למידה עמוקה?

mm
מְעוּדכָּן on

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

מהי למידת מכונה?

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

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

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

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

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

מהי למידה עמוקה?

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

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

סוגים שונים של למידה עמוקה

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

רשתות עצביות מעוררות

רשתות עצביות מעוררות, או CNNs, הם ארכיטקטורת הרשת העצבית המשמשת בדרך כלל ביצירת מערכות ראייה ממוחשבת. המבנה של רשתות עצביות קונבולוציוניות מאפשר להם לפרש נתוני תמונה, ולהמיר אותם למספרים שרשת מחוברת לחלוטין יכולה לפרש. ל-CNN יש ארבעה מרכיבים עיקריים:

  • שכבות מעוררות
  • תת-דגימה/איגום שכבות
  • פונקציות הפעלה
  • שכבות מחוברות לחלוטין

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

RNNs/LSTMs

רשתות עצביות חוזרות, או RNNs, פופולריים למשימות שבהן יש חשיבות לסדר הנתונים, שבהן על הרשת ללמוד על רצף של נתונים. RNNs מיושמים בדרך כלל על בעיות כמו עיבוד שפה טבעית, מכיוון שסדר המילים חשוב בעת פענוח המשמעות של משפט. החלק ה"חוזר" של המונח Recurrent Neural Network נובע מהעובדה שהפלט עבור אלמנט נתון ברצף תלוי בחישוב הקודם כמו גם בחישוב הנוכחי. שלא כמו צורות אחרות של רשתות עצביות עמוקות, ל-RNN יש "זכרונות", והמידע המחושב בשלבי הזמן השונים ברצף משמש לחישוב הערכים הסופיים.

ישנם מספר סוגים של RNNs, כולל RNN דו-כיווני, אשר לוקחים בחשבון פריטים עתידיים ברצף, בנוסף לפריטים הקודמים, בעת חישוב ערך של פריט. סוג אחר של RNN הוא א זיכרון לטווח קצר ארוך, או LSTM, רשת. LSTMs הם סוגים של RNN שיכולים להתמודד עם שרשראות ארוכות של נתונים. RNNs רגילים עשויים ליפול קורבן למשהו שנקרא "בעיית שיפוע מתפוצץ". בעיה זו מתרחשת כאשר שרשרת נתוני הקלט הופכת ארוכה ביותר, אך ל-LSTM יש טכניקות להילחם בבעיה זו.

קידודים אוטומטיים

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

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

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

  • מקודדים אוטומטיים רגילים/פשוטים
  • מקודדים רב שכבתיים
  • מקודדים קונבולוציוניים
  • מקודדים רגילים

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

רשתות אדפרסיביות כלליות

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

סיכום למידה עמוקה

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

בלוגר ומתכנת עם התמחות ב למידת מכונה ו למידה עמוקה נושאים. דניאל מקווה לעזור לאחרים להשתמש בכוח של AI למען טוב חברתי.