כמוסות רשתות עצביות - סט שכבות עצביות מקוננות



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

רשתות כמוסות:

מהי רשתות קפסולה? זו בעצם רשת של קבוצת שכבות עצביות מקוננות.

אני ממליץ לך לעבור גם על הבלוגים הבאים:





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

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



רשתות עצביות מתפתחות (CNN)

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

רשת עצבית קונבנציונאלית - רשת עצבית כמוסה - אדוריקה

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



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

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

  • בשכבה זו אנו מסירים את כל הערכים השליליים מהתמונות המסוננות ומחליפים אותם באפסים
  • זה נעשה כדי למנוע מהערכים להסתכם באפס

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

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

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

זו הייתה הקדמה קצרה מאוד לרשתות עצביות קונבולוציונליות, אני עדיין ממליץ לך להציץ בסרטון ה- CNN שהטמענו בפוסט זה.

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

מגבלות של רשתות עצביות קונבולוציות:

ובכן, הרשו לי להסביר זאת באנלוגיה.

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

מחרוזת תאריכי java עד היום

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

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

ובכן, מגבלה זו נובעת משכבת ​​ה- Max Pooling.

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

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

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

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

בואו נראה מה הפיתרון שמוצע על ידי ג'פרי הינטון .

כיצד לפתור בעיה זו?

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

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

תן לי להדליק כמה אורות על רשתות קפסולה.

מהן רשתות קפסולה?

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

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

כזה שאותה כמוסה יכולה לזהות את אותה מחלקת אובייקטים עם כיוונים שונים (למשל, לסובב עם כיוון השעון):

אנו יכולים לומר שזה עובד על שיווי-משקל ולא על-שינוי.

סטייה: הוא זיהוי של תכונות ללא קשר לגרסאות. לדוגמא, נוירון לזיהוי אף מגלה אף ללא קשר לכיוון.

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

כמוסה מוציאה וקטור לייצוג קיומה של הישות. כיוון הווקטור מייצג את מאפייני הישות.

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

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

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

תן לי לספר לך עכשיו, איך Capsule Networks עובדות.

איך רשתות קפסולה עובדות?

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

עכשיו, בואו נראה מה קורה ברשתות הקפסולה.

רשת עצבית כמוסה:

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

שלב 1: החל מטריצת טרנספורמציהINijלפלט הקפסולה uאני של השכבה הקודמת. לדוגמא, עם מטריצה ​​m × k, אנו הופכים k-Duאני ל- m-Du ^j | i. ((m × k) × (k × 1) = m × 1).

זו התחזית ( הַצבָּעָה ) מהקפסולה 'i' על פלט הקפסולה 'j' לעיל. ‘Vj'הוא וקטור הפעילות של הקפסולה'j 'בשכבה שלמעלה

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

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

זו התחזית ( הַצבָּעָה ) מהקפסולה 'i' על פלט הקפסולה 'j' לעיל. אם לווקטור הפעילות יש דמיון הדוק לווקטור החיזוי, אנו מסיקים כי הקפסולה 'אני'קשור מאוד לקפסולה 'j '. (לדוגמא, קפסולת האף קשורה מאוד לקפסולת הפנים.) דמיון כזה נמדד באמצעות המוצר הסקלרי של וקטור החיזוי והפעילות. לכן, הדמיון לוקח בחשבון הן את הסבירות והן את מאפייני התכונה. (במקום סתם הסתברות בנוירונים).

שלב - 4: חישוב ציון הרלוונטיות 'בij'. זה יהיה תוצר הנקודה של וקטור הפעילות ושל וקטור החיזוי. מקדמי צימודגאניjמחושב כ- softmax שלבאניj:

מקדם צימוד גijמחושב כ- softmax של bij.

זה בijמתעדכן איטרטיבי במספר איטרציות.

זה נקרא בשם ניתוב לפי הסכם .

בתרשים להלן דוגמה אחת:

אחרי הבלוג הזה ברשתות Capsule, אעלה בלוג על יישום Capsule Neural Network באמצעות TensorFlow.

אני מקווה שנהנית לקרוא את הבלוג הזה ברשתות קפסולות, עיין ב מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפזורים ברחבי העולם. קורס ההדרכה בנושא למידה עמוקה של אדוריקה עם TensorFlow עוזר ללומדים להתמחות באימון ואופטימיזציה של רשתות עצביות בסיסיות והתפתחות עם פרויקטים ומשימות בזמן אמת יחד עם מושגים כגון פונקציית SoftMax, רשתות עצביות מקודדות אוטומטיות, מכונת בולצמן מוגבלת (RBM).

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות ונחזור אליך.