GoogLeNet — 22 שכבות, מודול Inception, פי 12 פחות פרמטרים מ-AlexNet

יסודות בינה מלאכותית

הגדרה

GoogLeNet היא ארכיטקטורת רשת-קונבולוציה עמוקה מ-2014, שפיתח צוות חוקרים ב-Google בהובלת כריסטיאן סגדי, וזכתה בתחרות ImageNet לסיווג-תמונות (ILSVRC 2014) בזכות מודול ה-Inception — מבנה-הסתעפויות שמאפשר עומק רב תוך שמירה על תקציב-חישוב קבוע.

ההקשר: תחרות ImageNet 2014

ב-2014 התחרו בתחרות ImageNet לסיווג-תמונות (ILSVRC) כמה קבוצות שניסו להעמיק רשתות-קונבולוציה בדרכים שונות, אחרי ש-AlexNet הוכיחה ב-2012 שרשת-קונבולוציה עמוקה יכולה לנצח בגדול בתחרות הזו. VGG, מקבוצת המחקר של אוניברסיטת אוקספורד, הסתמך על ערימה פשוטה ואחידה של שכבות-פילטר קטנות. צוות חוקרים מ-Google, בהובלת כריסטיאן סגדי, בחר בגישה שונה לחלוטין.

מודול ה-Inception: הסתעפות במקום ערימה

הרעיון המרכזי של GoogLeNet היה מודול ה-Inception: במקום לערום שכבת-פילטר אחת אחרי השנייה ברצף, כל שכבה במודול מריצה כמה גדלי-פילטר במקביל — הסתעפויות שונות שבודקות את התמונה בכמה קני-מידה בו-זמנית — ומאחדת את התוצאות. לפי המאמר, העיצוב נועד לשפר את ניצול משאבי-החישוב בתוך הרשת, ומאפשר להעמיק ולהרחיב אותה בלי להגדיל את תקציב-החישוב הכולל. המחברים מציינים במפורש שההחלטות הארכיטקטוניות התבססו על העיקרון ההבני (Hebbian) ועל האינטואיציה של עיבוד רב-קני-מידה (multi-scale) — לא על ניסוי-וטעייה גרידא. כדי למנוע מהעלות החישובית להתפוצץ, כל מודול משתמש בפילטרים בגודל 1x1 כשלב-הקטנת-מימד לפני הפילטרים היקרים יותר בגודל 3x3 ו-5x5 — טכניקה שהמאמר מתאר כמפחיתה עלות תוך שהיא גם מוסיפה אי-לינאריות נוספת לרשת.

22 שכבות, פחות פרמטרים מ-AlexNet

הגרסה שהוגשה לתחרות ILSVRC 2014, GoogLeNet, הייתה רשת בת 22 שכבות. לפי המאמר עצמו, היא השתמשה בפי 12 פחות פרמטרים מהארכיטקטורה המנצחת של קריז׳בסקי ועמיתיו משנתיים קודם לכן (AlexNet, 2012) — כ-5 מיליון פרמטרים בלבד, לעומת כ-60 מיליון פרמטרים של AlexNet — תוך שהיא מדויקת משמעותית יותר. גם השם עצמו נושא מסר: לפי המאמר, הצוות בחר בשם GoogLeNet, שכתוב בכוונה עם L גדולה באמצע, כמחווה לרשת LeNet-5 החלוצית של יאן לקון, ממציא-הרעיון המקורי של רשת-קונבולוציה עבור תמונות.

התוצאה: ניצחון מול VGG

לפי המאמר עצמו, הארכיטקטורה קבעה רף חדש הן במשימת-הסיווג והן במשימת-הזיהוי (detection) של תחרות ILSVRC 2014. במשימת-הסיווג המרכזית, GoogLeNet השיג את שיעור-השגיאה הנמוך ביותר — 0.06656 — והביס את VGG, שהגיע למקום השני עם שיעור-שגיאה של 0.07325, לפי טבלת-התוצאות הרשמית של התחרות. VGG כן ניצח במשימה נפרדת, איתור-מיקום (localization), אך GoogLeNet היה הארכיטקטורה שקבעה את הרף החדש במשימת-הסיווג המרכזית של אותה שנה. במשימת-הזיהוי (detection) הנפרדת, GoogLeNet השיג גם שם מקום ראשון, עם mAP של 43.9%, באמצעות אנסמבל של שישה מודלים בשלב סיווג-האזורים — לפי הנתונים שמדווחים במאמר עצמו.

טכניקות אימון נלוות, ותכנון לחיסכון במשאבים

כדי להתמודד עם קשיי-אימון ברשת עמוקה כל-כך, GoogLeNet הכניס גם מסווגי-עזר — פלטי-ביניים נוספים שהוזרקו באמצע הרשת בזמן האימון בלבד, כדי לחזק את אות-הלמידה בשכבות המוקדמות, והוסרו לפני השימוש בפועל. הפתרון הזה קדם לגישה אחרת לגמרי לאותה בעיה בדיוק — קישורי-השארית של ResNet, שהוצגו שנה אחר-כך, ב-2015. לפי המאמר, GoogLeNet תוכנן במפורש מתוך מחשבה על יעילות חישובית: כך שהיסק (inference) יוכל לרוץ גם על מכשירים בעלי משאבי-חישוב מוגבלים, ולא רק בשרתי-ענק. אימון הרשת עד להתכנסות דורש, לפי הערכת המחברים עצמם, כמה כרטיסי-GPU מהשורה המתקדמת במשך שבוע בלבד — צנוע יחסית לרשת עמוקה כל-כך.

השפעה: יסוד למשפחת Inception ומעבר לה

GoogLeNet היה הגרסה הראשונה במשפחת ארכיטקטורות ה-Inception, שהמשיכה להתפתח בגרסאות מאוחרות יותר מאותה קבוצת-מחקר ב-Google. יחד עם AlexNet, VGG ו-ResNet, GoogLeNet נחשב אחת מארבע נקודות-הציון המרכזיות שסימנו את התקדמות רשתות-הקונבולוציה בתחרויות ImageNet בין 2012 ל-2015, ומודול ה-Inception שלו — הרעיון שרשת יכולה לבחון בעצמה כמה קני-מידה שונים של פילטרים באותה שכבה — השפיע על עיצוב ארכיטקטורות רבות נוספות בראיית-מחשב שבאו אחריו.

שאלות נפוצות ❓

מי פיתח את GoogLeNet ומתי?

צוות חוקרים ב-Google, בהובלת כריסטיאן סגדי, פרסם את GoogLeNet ב-2014 במאמר Going Deeper with Convolutions, כחלק מהגשתם לתחרות ImageNet (ILSVRC) של אותה שנה.

מה זה מודול Inception?

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

איך GoogLeNet השתווה מול VGG בתחרות ImageNet 2014?

GoogLeNet ניצח במשימת-הסיווג עם שיעור-שגיאה של 0.06656, לעומת 0.07325 של VGG שהגיע למקום השני, לפי התוצאות הרשמיות של התחרות.

כמה פרמטרים יש ל-GoogLeNet בהשוואה לקודמותיה?

כ-5 מיליון פרמטרים בלבד — פי 12 פחות מ-AlexNet, הארכיטקטורה המנצחת בתחרות ImageNet שנתיים קודם לכן — תוך דיוק גבוה יותר.