בדל מהם RNNs ו-LSTMs בלמידה עמוקה? - Unite.AI
צור קשר
כיתת אמן בינה מלאכותית:

AI 101

מהם RNNs ו-LSTMs בלמידה עמוקה?

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

רבות מההתקדמות המרשימה ביותר בעיבוד שפה טבעית ובצ'אטבוטים של AI מונעות על ידי רשתות עצביות חוזרות (RNN) ורשתות זיכרון לטווח קצר (LSTM). RNNs ו-LSTMs הן ארכיטקטורות רשתות עצביות מיוחדות המסוגלות לעבד נתונים עוקבים, נתונים שבהם יש חשיבות לסדר כרונולוגי. LSTMs הם גרסאות משופרות במהות של RNNs, מסוגל לפרש רצפים ארוכים יותר של נתונים. בואו נסתכל כיצד בנויים RNNs ו- LSTMS וכיצד הם מאפשרים יצירת מערכות מתוחכמות לעיבוד שפה טבעית.

מהן רשתות עצביות להזנה קדימה?

אז לפני שנדבר על איך זיכרון לטווח קצר ארוך (LSTM) ורשתות עצביות קונבולוציונליות (CNN), אנחנו צריכים לדון בפורמט של רשת עצבית באופן כללי.

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

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

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

מהן RNNs (רשתות עצביות חוזרות)?

רשתות עצביות חוזרות לוקחות את העיקרון הכללי של רשתות עצביות להזנה קדימה ומאפשרות להן לטפל בנתונים עוקבים על ידי נותן לדגם זיכרון פנימי. החלק ה"חוזר" של השם RNN נובע מהעובדה שלולאת הקלט והפלטים. לאחר הפקת הפלט של הרשת, הפלט מועתק ומוחזר לרשת כקלט. בעת קבלת החלטה, לא רק הקלט והפלט הנוכחיים מנותחים, אלא גם הקלט הקודם נחשב. במילים אחרות, אם הקלט הראשוני לרשת הוא X והפלט הוא H, גם H וגם X1 (הקלט הבא ברצף הנתונים) מוזנים לרשת לסבב הלמידה הבא. באופן זה, ההקשר של הנתונים (הקלטות הקודמות) נשמר כרכבות הרשת.

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

אורך הרצפים ש-RNN יכול לפרש מוגבל למדי, במיוחד בהשוואה ל-LSTMs.

מהן LSTMs (רשתות זיכרון לטווח קצר ארוך)?

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

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

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

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

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