מרחב חיפוש של Agent Platform לחיפוש ארכיטקטורה עצבית (NAS) הוא חיוני להשגת ביצועים טובים.
הוא מגדיר את כל הארכיטקטורות או הפרמטרים הפוטנציאליים שצריך לבדוק ולחפש. Agent Platform Neural Architecture Search מספק קבוצה של מרחבי חיפוש שמוגדרים כברירת מחדל בקובץ search_spaces.py:
MnasnetEfficientnet_v2NasfpnSpinenetSpinenet_v2Spinenet_mbconvSpinenet_scalingRandaugment_detectionRandaugment_segmentationAutoAugmentation_detectionAutoAugmentation_segmentation
בנוסף, הנה כמה דוגמאות למרחבי חיפוש:
- Lidar search space for 3D point clouds
- דוגמה של מרחב חיפוש של חלוקת תמונות רפואיות למקטעים ב-PyTorch 3D
- דוגמה למרחב חיפוש של PyTorch MnasNet
מחברת ה-Lidar מפרסמת את תוצאות האימות במחברת. שאר הקוד של מרחבי החיפוש של PyTorch מיועד לשימוש כדוגמה בלבד ולא להשוואה.
לכל אחד ממרחבי החיפוש האלה יש תרחיש שימוש ספציפי:
- מרחב החיפוש של MNasNet משמש למשימות של סיווג תמונות וזיהוי אובייקטים, והוא מבוסס על ארכיטקטורת MobileNetV2.
- מרחב החיפוש של EfficientNetV2 משמש למשימות של זיהוי אובייקטים. ב-EfficientNetV2 נוספו פעולות חדשות, כמו Fused-MBConv. פרטים נוספים מופיעים במאמר על EfficientNetV2.
- מרחב החיפוש NAS-FPN משמש בדרך כלל לזיהוי אובייקטים. תיאור מפורט מופיע בקטע הזה.
משפחת מרחבי החיפוש של SpineNet כוללת את
spinenet,spinenet_v2,spinenet_mbconvו-spinenet_scaling. הם משמשים בדרך כלל גם לזיהוי אובייקטים. בקטע הזה יש תיאור מפורט של SpineNet.-
spinenetהוא מרחב החיפוש הבסיסי במשפחה הזו, שמציע מועמדים לחסימה מסוג residual ו-bottleneck במהלך החיפוש. -
spinenet_v2מציע גרסה קטנה יותר שלspinenet, שיכולה לעזור להגיע לפתרון מהר יותר, ומציעה רק מועמדים לחסימת צוואר בקבוק במהלך החיפוש. -
spinenet_mbconvמציע גרסה שלspinenetלפלטפורמות לנייד ומשתמש במועמדים לחסימת mbconv במהלך החיפוש. - בדרך כלל משתמשים ב-
spinenet_scalingאחרי שמאתרים ארכיטקטורה טובה באמצעותspinenetמרחב החיפוש כדי להגדיל או להקטין אותה בהתאם לדרישות זמן האחזור. החיפוש הזה מתבצע על דברים כמו גודל התמונה, מספר המסננים, גודל המסנן ומספר חזרות הבלוק.
-
המרחבים לחיפוש RandAugment ו-AutoAugment מאפשרים לחפש פעולות אופטימליות של הגדלת מערך הנתונים לזיהוי ולפילוח, בהתאמה. הערה: בדרך כלל משתמשים בהגדלת מערך הנתונים אחרי שכבר בוצע חיפוש של מודל טוב. תיאור מפורט של DataAugmentation זמין בקטע הזה.
Lidar search space for 3D point clouds shows end-to-end search on featurizer, backbone, decoder and detection head.
דוגמה למרחב חיפוש של חלוקת תמונות רפואיות למקטעים בתלת-ממד ב-PyTorch מציגה חיפוש במקודד UNet ובמפענח UNet.
ברוב המקרים, מרחבי החיפוש שמוגדרים כברירת מחדל מספיקים. עם זאת, אם צריך, אפשר להתאים אישית את הקיימים או להוסיף חדש לפי הצורך באמצעות ספריית PyGlove. דוגמה לקוד שבו מציינים את מרחב החיפוש של NAS-FPN
מרחב החיפוש של MNasnet ו-EfficientNetV2
מרחבי החיפוש MNasNet ו-EfficientV2 מגדירים אפשרויות שונות לבניית backbone, כמו ConvOps, KernelSize ו-ChannelSize. אפשר להשתמש ב-backbone למשימות שונות כמו סיווג וזיהוי.

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

מרחב החיפוש של SpineNet
מרחב החיפוש של SpineNet מאפשר חיפוש של רשת בסיסית עם תכונות ביניים שנוצרו על ידי פרמוטציה של קנה מידה וחיבורים בין קנה מידה, ומשיג ביצועים מתקדמים של זיהוי אובייקטים בשלב אחד ב-COCO עם 60% פחות חישובים, וביצועים טובים יותר ב-6% AP בהשוואה למקבילים של ResNet-FPN. בהמשך מוצגים חיבורים של שכבות רשת בסיסית בארכיטקטורה של SpineNet-49 שנבדקה.

מרחב החיפוש של הגדלת הנתונים
אחרי שמחפשים את הארכיטקטורה הכי טובה, אפשר גם לחפש את המדיניות הכי טובה להגדלת הנתונים. הגדלת הנתונים יכולה לשפר עוד יותר את הדיוק של הארכיטקטורה שחיפשתם קודם.
הפלטפורמה Agent Platform Neural Architecture Search מספקת מרחבי חיפוש של הגדלת נתונים מסוג RandAugment ו-AutoAugment לשתי משימות: (א) randaugment_detection לזיהוי אובייקטים ו-(ב) randaugment_segmentation לפילוח. הוא בוחר באופן פנימי מתוך רשימה של פעולות הגדלה כמו ניגודיות אוטומטית, גזירה או סיבוב, שיחולו על נתוני האימון.
מרחב החיפוש של RandAugment
מרחב החיפוש של RandAugment מוגדר על ידי שני פרמטרים: (א) N שהוא מספר פעולות ההגדלה הרצופות שיש להחיל על תמונה, ו-(ב) M שהוא העוצמה של כל הפעולות האלה. לדוגמה, בתמונה הבאה מוצגת דוגמה שבה מוחלות על תמונה N=2 פעולות (גזירה וניגודיות) עם M=עוצמה שונה.

עבור ערך נתון של N, רשימת הפעולות נבחרת באופן אקראי מתוך מאגר הפעולות. החיפוש לשיפור הנתונים מוצא את הערך הטוב ביותר של N ושל M עבור משימת האימון הנוכחית. החיפוש לא משתמש במשימת proxy ולכן מריץ את משימות האימון עד הסוף.
מרחב החיפוש של AutoAugment
מרחב החיפוש של AutoAugment מאפשר לכם לחפש choice, magnitude ו-probability של פעולות, כדי לבצע אופטימיזציה של אימון המודל.
מרחב החיפוש של AutoAugment מאפשר לחפש את הבחירות של המדיניות, מה שלא נתמך ב-RandAugment.