$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
חלק זה דן בחומרי מחקר ושיטות הקשורים למערכות זיהוי התקפות בסביבת ה-IoT. כדי לשחזר את הניסויים במאגר הנתונים CIC-IoT-2023, פרוטוקול זה מפרט נהלים ספציפיים. טבלת החומרים הבאה מכילה רשימה של כל החומרה והתוכנה שבהן השתמשו. פייתון (pandas, scikit-learn, ו-TensorFlow Keras) משמש ליישום הצינור, שמופעל על Google Colab עם PySpark הזמין לעיבוד מוקדם בקבצים גדולים. סופק תיאור מפורט של נהלי העיבוד המוקדם של הנתונים.
מערך נתונים
מאגר הנתונים של CIC-IoT-2023, שפורסם על ידי המכון הקנדי לאבטחת סייבר באוניברסיטת ניו ברונסוויק. "מערך הנתונים של CIC IoT 2023" (עמוד מערכי הנתונים של UNB CIC) ומאמר34 הם דף ומסמך הנתונים הרשמי של CIC. מערך הנתונים ניתן להורדה מאתר CIC והוא נגיש לציבור הרחב. במקום להשתמש ב-PCAPs גולמיים, נעשה שימוש בקבצי CSV של תכונות שהופקדו מראש (זרימות ותכונות) במחקר זה. Wireshark/mergecap ו-CICFlowMeter משמשים בניסויים הגולמיים שיצרו את מאגר הנתונים; בעבודה זו נעשה שימוש ב-CSV הבולט. מאגר נתונים זה נגזר ממכשירי IoT אמיתיים, ומשמש במחקר זה. במאגר הנתונים נכללים רשומות מ-33 התקפות ידועות על 105 מכשירי IoT שונים. בניגוד למאגרי IoT קודמים, CIC-IoT-2023 כולל מגוון רחב של סוגי התקפות. כמות כל תווית המקושרת לתעבורה שפירה מוצגת באיור 1. בסך הכול 46 תכונות ותווית אחת מרכיבים את מאגר הנתונים הזה. בהשוואה ל-CSE-CIC-IDS 2018, שכלל 84 תכונות, ל-CIC-IoT-2023 יש 37 תכונות פחות.

איור 1: ספירת התקפות במאגר הנתונים CICIoT2023. שמות הספירה של סוגי התקפות שונים ורשומות שפירות במאגר הנתונים של CICIot2023 מתוארים. סוגי התקפות אלו מסווגים באופן כללי ל-7 מחלקות התקפה. לכן יש בסך הכל 8 מחלקות, כולל 'תמימות' בסיווג רב-מחלקות. אנא לחצו כאן כדי לצפות בגרסה מוגדלת של הדמות הזו.
קדם-עיבוד נתונים
אין להשתמש במערכי נתונים באלגוריתמים של למידה עמוקה ללא עיבוד מקדים מספק. העיבוד המוקדם נעשה כדי לספק לאלגוריתם נתונים עדינים יותר, ובסופו של דבר הופך את המודל ליעיל יותר. הפלט של צינור העיבוד המקדים - לאחר קידוד תוויות, קנה מידה של תכונות ובחירת תכונות - נקרא "נתונים סופיים" ומשמש כקלט הן לרכיבי CNN והן לרכיבי טרנספורמר. השלבים הבאים נמצאים ב-Google Colab באמצעות פייתון. מחקר זה השתמש ב-Python 3.8.10, pandas 1.3.4, NumPy 1.21.4, scikit-learn 1.0.2, matplotlib 3.4.3, ו-TensorFlow/Keras 2.6.0. הזרע האקראי נקבע ל-42 לכל הריצות.
רכישת נתונים
שלב זה כולל ניקוי הנתונים שנאספו מהקשרים מהעולם האמיתי, שכן לעיתים קרובות הם מכילים שגיאות וחוסר עקביות רבות. אם מערך הנתונים מכיל ערכי טקסט, למשל, בלתי אפשרי להשתמש בערכים כאלה באימוני למידה עמוקה מבלי להמיר אותם קודם לצורה מספרית. כשעובדים עם מערך הנתונים, הדבר הראשון שעושים הוא להסיר ערכים ריקים ולמחוק תאים שאין בהם נתונים. שורות עם נתונים חסרים הוסרו כדי למנוע השפעות שליליות על המודל.
מאגר הנתונים של CIC-IoT-2023 נטען באמצעות pd.read_csv('ciciot2023_features_part.csv'). מחקר זה השתמש ב-Google Colab להכשרת מודלים וב-PySpark לניקוי ראשוני. כדי לזהות חסרות, נעשה שימוש בשיטות הבאות: df.shape, df.info(), df.isnull().sum(), ו-df.duplicated().sum() עבור כפילויות. כפילויות מוסרות באמצעות df.drop_duplicates(inplace=True). סוג עמודה נומרי מאומת באמצעות הנוסחה df[col] = pd.to_numeric(df[col], errors='כפייה'). אם מופיעים NaNs חדשים, טיפול בערכים חסרים מוחל מחדש. תכונות קבועות או כמעט קבועות גם הן מוסרות באמצעות df.drop(columns=low_variance_cols, inplace=True).
קידוד תווית
השלב הבא הוא להפוך את תוויות הטקסט לייצוג מספרי כדי שהמודל יוכל להבין אותן. לסיווג בינארי קיימים שני סוגים נפרדים של תוויות. ישנם 46,686,579 רשומות, מתוכם 45,588,384 מתויגים כהתקפות זדוניות. עם 1,098,195 תקליטים כלולים, התווית הידידותית מוגדרת ל-0. ישנם שבעה סוגי התקפות נפרדים בסיווג רב-מחלקות. יש שמונה תוויות בסך הכל, כולל התנועה הידידותית. איור 2 מציג את מספר כל קטגוריה של תוויות אלו. המיפוי הרב-קלאסי במחקר זה הוא: 0 עבור Benign, 1 ל-DoS, 2 ל-DDoS, 3 ל-Recon, 4 להתקפות מבוססות רשת, 5 לזיוף, 6 לכוח גס, ו-7 ל-mirai attack.

איור 2: אחוז קטגוריות ההתקפה כולל תנועה שפועה. ישנם שבעה סוגי התקפות נפרדים בסיווג רב-מחלקות. יש שמונה תוויות בסך הכל, כולל התנועה הידידותית. האיור מציג את מספר כל קטגוריה של תוויות אלו. אנא לחצו כאן כדי לצפות בגרסה מוגדלת של הדמות הזו.
קנה מידה של תכונות
קנה מידה של תכונות הוא שיטה נפוצה לשיפור הביצועים הכוללים של מודלים של למידה עמוקה. הגדלת התכונות במחקר זה מתבצעת באמצעות טכנולוגיות Min Max Scaler ו-Standard Scaler. המחקר לא השתמש בהם לבדיקות; במקום זאת, הוא השתמש רק בסקילר שעל מערכת האימון כדי למנוע דליפת נתונים. ניתן לנורמל נתונים להתפלגות ממוצע אפס, סטיית תקן אחת בעזרת שיטת הסקלר הסטנדרטי. אחת הדרכים לעשות זאת היא לחלק את המספר המקורי בסטיית התקן. לצורך זה, פונקציית StandardScaler() נקראת על ידי ייבוא StandardScaler מ-sklearn.preprocessing. על ידי יישום טווח, לעיתים בין 0 ל-1, ה-Min Max Scaler מנרמל את הנתונים. פונקציית MinMaxScaler() מ-scikit-learn שימשה ליישום זה.
כפי שמצוין במשוואה (1), נוסחת המנרמל היא:
(1)
כאשר X מייצג את ערך הנקודה המקורי ו-Xנורמליזציה לצורתו המומרת, Xmin מייצג את הערך הנמוך ביותר של המשתנה, בעוד Xmax מייצג את הערך הגבוה ביותר של המשתנה בתוך מערך הנתונים.
בחירת מאפיינים
שילוב כל המאפיינים ממאגרי נתונים גדולים באימון אינו תמיד מועיל. תכונות במאגר הנתונים עשויות להראות קורלציה ועשויות לא לשפר את התוצאה. יתרה מזאת, כמות מופרזת של ערכים מעלה את עלות ההכשרה. כדי למצוא תכונות שאינן נחוצות, אנו מחשבים את מטריצות המתאם שלהן ומוציאים את אלו עם מתאמים חזקים ממערך הנתונים. מקדם המתאם של פירסון, שמכמת את הקשר הליניארי בין שתי תכונות, משמש לחישוב המתאמ. ערך בין -1 ל-+1 מתקבל על ידי חלוקת הקווריאנטיות של שני המשתנים במכפלת הסטיות התקן שלהם. זה אופציונלי ומבוצע בצינור עם Recursive Feature Eliminat (RFE) לבחירת תכונות עם מסווג עץ החלטות. הסרת תכונות רקורסיבית מוצאת שוב ושוב את התכונות הרלוונטיות ביותר על ידי אימון מודל המסווג והשלחת התכונות הפחות משמעותיות. הקוד משתמש ב-RFE מ-sklearn.feature_selection עם מבחן עץ ההחלטה כאומדן. לאחר יישום הסרת תכונות רקורסיבית, נבחרו 30 מתוך 46 התכונות עבור כל אחת משבע קטגוריות ההתקפה, כפי שמוצג בטבלה 2. תכונה יכולה להיות מסווגת תחת סיווגים רבים של התקפה. לאחר סיום התהליך המתואר באיור 3, מתבצע תהליך בחירת מחלקות ההתקפה הכלולות במאגר הנתונים. CNNים מודרניים מצטיינים בלמידת ייצוגים היררכיים מנתונים גולמיים, אך בחירה מוקדמת של מערך תכונות קטן ואיכותי באמצעות RFE מביאה יתרונות משמעותיים. ראשית, RFE עם מסווג עץ החלטות מסיר במהירות נתונים רועשים או מיותרים שעשויים לעכב התכנסות במהלך מחזורי האימון הראשונים. שנית, ריכוז ה-CNN על מאגר קטן יותר של אותות בעלי ערך באמת מפחיתה התאמת יתר, דבר שהוא קריטי במאגרי נתוני תעבורת IoT עם דפוסים מעוותים ומזיקים. שיטת האלימינציה הרקורסיבית של עץ ההחלטות מדרגת תכונות להסבר מודל טוב יותר ולזיהוי הטיות ספציפיות לתחום לפני אימון מעמיק. לבסוף, אתחול ה-CNN-Transformer על מערך התכונות המצוצץ הזה מניב התכנסות מהירה יותר ושימוש נמוך יותר בזיכרון GPU, ומוכיח כי RFE מאיץ ומייצב באופן פעיל למידת תכונות מקצה לקצה.
טבלה 2: התכונות הנבחרות של מערך הנתונים "CIC-IoT-2023". 30 מתוך 46 המאפיינים נבחרו לכל אחת משבע קטגוריות התקיפה במחקר זה באמצעות RFE. הטבלה מתארת את 30 התכונות שנבחרו. אנא לחצו כאן להורדת הטבלה הזו.

איור 3: עבודה על המודל ההיברידי המוצע. השלמת התהליך מפורטת באיור. תהליך בחירת מחלקות ההתקפה הכלולות במאגר הנתונים מתבצע. אנא לחצו כאן כדי לצפות בגרסה מוגדלת של הדמות הזו.
חלק את מערך הנתונים ל-80% רכבת ו-20% על ידי ביצוע השלב: train_test_split (X_train, y_train, test_size=0.20, random_state=42). מערך האימון של 80% מחולק עוד יותר באמצעות train_test_split(X_train, y_train, test_size=0.20,random_state=42). כל בחירת המודלים וכיוונון ההיפרפרמטרים נעשים באמצעות פיצולים מדויקים אלה. טכניקת דגימת המיעוט הסינתטי (SMOTE) משמשת כאשר קיימת בעיית אי-איזון מחלקתית. רק סט האימון עבר SMOTE לאחר פיצול והתרחבות. השפעת SMOTE מוצגת בתוצאות. בהתאם ל-RFE, המחקר מקביל לסניפי CNN ו-Transformer תוך שימוש באותן 30 תכונות שנבחרו לכל דגימה. הפרטים הנוספים של עיבוד 30 התכונות הללו מוזכרים בסעיף המתודולוגיה המוצע.
המתודולוגיה המוצעת
מסגרת אבטחה יעילה למערכות IoT שיכולה לזהות התקפות בצורה מדויקת יותר תיבנה בעזרת מודל למידה עמוקה. מוצעת אסטרטגיית אבטחה היברידית המשלבת רשתות עצביות קונבולוציוניות (CNNs) עם מודלים של טרנספורמר. שיטה זו כוללת אימון ארכיטקטורת CNN באמצעות משקלים ממאגר נתונים גדול יותר ואז כוונון מדויק של הפרמטרים של המודל באמצעות מערך נתונים קטן יותר כמטרה. המטרה העיקרית של מודל זה היא לשפר את יעילות גילוי החדירה ב-IoT.
המחקר הזה השתמש ב-PySpark, פלטפורמת Google Colab שמאפשרת למשתמשים להריץ תוכניות פייתון על Apache Spark. באמצעות חבילות Scikit-learn ו-Keras פותחו אלגוריתמים ללמידה עמוקה. כדי לאמן ולבדוק את המודל, נעשה שימוש בתצורה הבאה: מערכת ההפעלה: Mac OS v12.6; - M2 Apple Silicon; - מסך בגודל 13.3 אינץ'; - מעבד 8 ליבות; - GPU בעל 8 ליבות; - 32 GB RAM; - כונן SSD בנפח 256 GB.
המכון הקנדי לאבטחת סייבר (CIC) יצר מאגר נתונים מקיף לאיומי IoT לקידום יישומי ניתוח אבטחה בסביבות IoT מעשיות34. היו בסך הכל 33 התקפות על רשת של 105 מכשירים מחוברים במערכת IoT. עם סך של 46,179,314 אירועים, התקפות מחולקות לשבע קבוצות: DDoS, Recon, DoS, מבוססי רשת, זיוף וכוח גס, בנוסף למיראי. ישנם 37,349,263 מופעים בסט האימונים, 8,830,051 מופעים בסט הבדיקה, וסך הכל 46 מאפיינים במאגר הנתונים. בכל מקרה, מכשירי IoT זדוניים משגרים מתקפות על מכשירי IoT אחרים. בסך הכל 67 מכשירי IoT ו-38 מכשירי Zigbee ו-Z-Wave המחוברים ל-5 מרכזים הושפעו מההתקפות. רשת של חיישנים, מצלמות, מיקרו-בקרים ומכשירי בית חכם מחוברים עשויה להיות מוגדרת כדי לבצע סוגים שונים של התקפות ולתעד את התעבורה שנוצרת מהם. Wireshark לוכדת תעבורת רשת בפורמט PCAP לניתוח נוסף. מכיוון שכל ניסוי מאחסן שני זרמי נתונים, mergecap משמש לשילוב קבצי ה-PCAP. מכשירי IoT שונים שימשו לאיסוף מאגר הנתונים, כולל נגני אודיו, מקליטי וידאו, מרכזים, שקעי חשמל, מערכות אוטומציה ביתית, תאורה, חיישנים וגאדג'טים מהדור הבא.
סעיף זה מספק מתודולוגיית מחקר מפורטת הכוללת שלבים עוקבים רבים ששימשו במחקר. יתרה מזאת, החלק מגדיר את האלגוריתם המוצע ברצף ומספק תרשים זרימה מפורט של תהליך המחקר.
CNN
האלגוריתם של CNN משתמש ברשת עצבית מלאכותית, גישה של למידה עמוקה. איור 4 ממחיש את האלגוריתם הבסיסי שבו משתמשת CNN: שכבות מחוברות במלואן, איגוד, שטח וקונבולוציה הם כולם חלק ממנו. CNN לא יכול לפעול ללא שכבת הקונבולוציה. נתוני התאים המקבלים מעובדים על ידי שכבת הקונבולוציה.
במשוואה (2), נפח היציאה (Vo) נקבע על ידי P (צעד), Vi (נפח קלט), S (גודל גרעין נוירון בשכבת קונבולוציוניה) ו-M (ריפוד אפס).
(2)
לאחר מכן, משתמשים במסנן כדי לחלץ את תכונות ערך הקלט במהלך הקונבולוציה. שכבה זו יוצרת מפת תכונות. הקטנת גודל נתוני הקלט על ידי איגוד מפשטת את האימון ומפחיתה את מספר הפרמטרים לחישוב. ניתן לבחור את שכבת האיגוד באמצעות הערך הגדול ביותר בתוך הגודל הנתון או בממוצע הערכים. הטכניקה המפותחת כוללת שתי שכבות של קונבולוציה ושתי רמות של איגוף. תהליך חילוץ התכונות מתחיל כאן. נתוני התכונות שהושגו זמינים לחישוב. אלגוריתמים של CNN זמינים בממד אחד, שניים או שלושה. המודל השתמש ברשת עצבית קונבולוציונית עם ממד אחד בלבד. השכבות באזור הסיווג נקראות שטוחות, מחוברות לחלוטין. הנתונים חייבים להיות שטוחים לאחר שלב קונבולוציוני כדי שניתן יהיה להשתמש בהם בפאזה המחוברת במלואה. שכבת השטח היא המקום שבו מתבצע התהליך הזה. בתוך השכבה המקושרת במלואה, נעשה שימוש בפרדיגמה המקובלת של רשתות עצביות מלאכותיות. כדי להחיל CNN על הנתונים שאינם מבוססי תמונה, יש לשנות את ממדי הקלט. כתוצאה מכך, CNN עשויה להשתמש בשכבות קונבולוציוניות חד-ממדיות שהן חד-ממדיות35.

איור 4: אלגוריתם בסיסי של CNN. מתוארים את העבודה הבסיסית והרכיבים של מודל CNN. אנא לחצו כאן כדי לצפות בגרסה מוגדלת של הדמות הזו.
למידת טרנספורמר
יתרה מזאת, כדי לבצע ניסויים נוספים, אנו משתמשים במסגרת המידול של הטרנספורמר. המודל יכול לטפל בכל הנקודות ברצף בו-זמנית בזכות מנגנון הקשב העצמי של הטרנספורמר. התוצאה היא זמן אימון מהיר יותר למודל ושימוש טוב יותר במשאבי מחשב על ידי הטרנספורמטור במהלך הסקה ואימון. הטרנספורמטור מורכב בעיקר מסדרה של מקודדים ומפענחים מוערמים. תהליך הקידוד כולל שינוי שפה אחת לאחרת, אך תהליך הפענוח כולל קביעת הסבירות לשפה שונה באמצעות פלטים קודמים. מכיוון שמקודדים אחראים בעיקר לחילוץ תכונות, המודל המוצע משתמש אך ורק ברכיבי מקודד. מקודד הטרנספורמר מורכב מהטמעת קלט/מיקום, רשת עצבית קדימה, נרמול שכבות, ריכוז עצמי מרובה ראשים, ורשת שארית.
כדי להכין את נתוני הקלט לעיבוד על ידי הטרנספורמר, משתמשים בשכבת הטמעה להמרת המאפיינים הקטגוריים לייצוגים וקטוריים צפופים. הטמעת מיקום מראה כיצד תכונות מחוברות ברצף, בעוד שהטמעת קלט מראה כיצד קלטים שונים קשורים במרחב משותף. לפני שהטרנספורמטור מעבד מאפיינים קטגוריים, מחקר זה משתמש בהטמעת קלט כדי להפוך אותם לווקטורים צפופים.
הרחבה של מנגנון תשומת הלב, מנגנון תשומת הלב העצמית הרב-ראשית הוא הבסיס לארכיטקטורת הטרנספורמר. באמצעות מכפלת נקודות בקנה מידה, מחקר זה משתמש במנגנון ריכוז עצמי רב-ראשי.
(3)
כאשר מטריצת השאילתה (Q), מטריצת המפתח (K), מטריצת הערכים (V) וממד מטריצת המפתח (dk) מסומנים בהתאמה. על ידי מתן אפשרות למודל להתרכז בנתונים מתכונות שונות הממופות לתת-מרחבים נפרדים, מה שמוביל לערכי קשב מובחנים, מנגנון תשומת לב מרובה ראשים עם קנה מידה של מכפלת נקודה, שונה ממנגנון תשומת הלב של נקודת המכפלה המוגדלת. התאמת יתר פחות סבירה כאשר מחשבים את רמות הקשב באופן עצמאי עבור כל ראש. הניסוח הספציפי הוא כדלקמן:
(4)
(5)
כאשר h הוא מספר ראשי הקשב, dv ו-d מודל מייצגים את הממד של v והמודל. גם

לאחר מכן, נעשה שימוש בנירמול השכבה לייצוב תהליך האימון. כדי למנוע התפוצצות גרדיאנט, נרמול השכבה מגביל את התפוקה של כל שכבה לטווח מסוים. ייתכן שגם ההתכנסות של הדגם וגם מהירות האימון משתפרים בעקבות כך. בעוד שנרמול אצווה לוקח בחשבון נתוני אצווה, נרמול שכבה אינו עושה זאת.
המודל המוצע של CNN-Transformer
מחקר זה מציע טכניקת CNN-Transformer היברידית לזיהוי חדירות לרשתות IoT, תוך התחשבות ביתרונות הייחודיים של שתי הארכיטקטורות. איור 5 מציג את הרכיבים העיקריים של טכניקת ההיברידית המוצעת של CNN-טרנספורמר. לאחר ביצוע כל שלבי הקדם-עיבוד, כולל ניקוי, נרמול, קידוד תוויות ובחירת תכונות, כל דגימה במאגר הנתונים מיוצג על ידי וקטור תכונה 30 ממדי, הנקרא נתונים סופיים. אותו נתונים סופיים משוכפלים ומזינים במקביל לשני הענפים של המודל ההיברידי. לאחר מכן, הנתונים הסופיים נשלחים הן לבלוק ה-CNN והן ל-Transformer בו-זמנית. CNN ושנאי אינם תלויים זה בזה בשום צורה; שניהם עשויים לעבוד על אותו נתוני קלט בו זמנית. הפלטים השטוחים של שני הענפים, CNN וטרנספורמר, מחוברים ליצירת וקטור תכונות מאוחד, שמועבר לשכבות הצפופות, שמאגדות אותן. בלוק ה-CNN משנה את צורת הקלט ל-(num_features, 1) כך שניתן לבצע פעולות קונבולוציונליות על פני מממדי התכונה כדי למצוא דפוסים מרחביים מקומיים. במקביל, ענף הטרנספורמר משנה את אותו קלט לפורמט סדרתי ושולח אותו למרחב הטמעה מממד גבוה יותר, ואחריו קידוד מיקומי. זה מאפשר לטרנספורמר להתמקד בעצמו במרחב הפיצ'רים ולמצוא קשרים קונטקסטואליים גלובליים. העיצוב הייחודי של השנאי משמש לחילוץ תכונות, בעוד שפונקציית הסיגמואיד והשכבות המקושרות לחלוטין מספקות את הקשר המיפוי בין תכונות לתוויות. מודל CNN-Transformer מיוצג מבנית באיור 5. התוצאה היא מערכת בת שמונה קטגוריות לסיווג התקפות, עם DDoS, Recon, DoS, Benign, Web-based, Spoofing, Brute Force ו-Mirai כרכיבים. תהליך ההערכה של ה-CNN-Transformer המוצע מוצג באיור 5.

איור 5: ארכיטקטורה של המודל המוצע. האיור מציג את צורת הקלט ותהליך ההערכה של ה-CNN-Transformer המוצע. אנא לחצו כאן כדי לצפות בגרסה מוגדלת של הדמות הזו.
שתי רשתות עצביות קונבולוציונליות חד-ממדיות (CNNs) עם מסננים של 64 ו-128 יחידות וגודל של 3 גרעינים, שתי שכבות מקסימום איגוד, שלב שטח, שלוש שכבות צפופות עם 256, 128 ו-64 יחידות, ושלוש שכבות נדירות (dropout) מרכיבות את שכבת הרשת העצבית הקונבולוציונית (CNN).
נתוני הקלט מעובדים דרך שכבת קונבולוציה חד-ממדית עם פונקציית הפעלה של ReLU, 64 מסננים, קרנל 3x3 וצעד 1x1 בשכבה הראשונה. לאחר השכבה הקודמת יש שכבת MaxPooling1D עם גודל בריכה של 2. כדי להפוך את המודל לגמיש יותר ולהפחית את עלות החישוב שלו, שכבה זו מקטין את הממדים המרחביים של שטח הפלט. השכבה השלישית היא שכבה קונבולוציונית חד-ממדית נוספת; יש לו 128 פילטרים, גרעין בשלושה גדלים, צעד אחד ופונקציית הפעלה בשם ReLU. באמצעות יותר מסננים להפקת מאפייני קלט, שכבה זו דומה לשכבת הבריכה המקסימלית הראשונה. הפלט של השכבה הראשונה מעובד לאחר מכן באמצעות הטכניקה. לאחר מכן, נוספה שכבת איגום מקסימלית אחרי שכבת הקונבולוציה השנייה, וגודל המאגר שלה היה גם הוא 2. שוב, שכבה זו משמשת להפחתת דגימת מפות התכונות. השכבה החמישית היא שכבת השטחה, והיא לוקחת את הפלט מהשכבה הקודמת והופכת אותו לווקטור חד-ממדי.
תת-קבוצות התכונות שמתקבלות מוטמעות, כשלב אחרון לפני שהן הופכות לקלט של הטרנספורמר. בנוסף, קשב רב-ראשי – וקטור חד-ממדי של שמונה ראשים עם ממד של 32 מפתחות – משמש להערכת המשמעות של כל ראש. שכבת הקשב הרב-ראשית היא הרכיב המרכזי של הטרנספורמר. שכבה זו מאפשרת למודל ללמוד מהייצוגים המוטמעים של מאפיינים שונים בצורה אדפטיבית. שכבת הקשב הרב-ראשית מורכבת ממספר ראשי תשומת לב עצמית, הנקראים גם "תשומת לב נקודת-מוצר מוגדלת". לאחר יישום נירמול השכבה עם אפסילון מוגדר ל-1e-6, המטרה היא למגר פערים בקנה מידה בין מאפיינים שונים ולהבטיח יציבות תפוקה. על ידי שמירה על תפוקת כל שכבה בטווח שנקבע מראש, נרמול השכבה מפחיתה את הסיכוי לפיצוץ גרדיאנט. לאחר פלט השנאי יש שכבת יישור, שמפשטת את השילוב שלה עם ה-CNN על ידי הפחתתו לווקטור יחיד.
השלב הבא הוא לשלב את הפלטים השטוחים של ה-CNN והטרנספורמר באמצעות שכבת שרשור. פונקציית הפעלה "relu", רגולריזציה בשפה 2, ושכבה צפופה עם 256 יחידות עוקבות אחרי שכבת השטח. לאחר מכן יש שכבת dropout עם קצב של 0.5, מה שעוזר למנוע התאמת יתר. שכבה צפופה נוספת של 128 יחידות באמצעות רגולריזציה ב-L2 ופונקציית ההפעלה "relu" מבקרת. שיעור הנשירה בשכבת נשירה נוספת הוא 0.3. פונקציית הפעלת ReLU, רגולריזציה של L2 ושכבה צפופה של 64 יחידות מהווים את השכבה הבאה. השכבה הבאה היא שכבת יצירה בקצב 0.2, שמסירה באקראי 20% מהיחידות שבתוכה. שכבה צפופה עם פונקציית הפעלה של softmax יוצרת התפלגות הסתברותית למחלקות הפלט של השכבה הקודמת. יש בדיוק אותו מספר יחידות בשכבה זו כמו שיש מחלקות פלט.
המודל המוצע ניתן לביטוי מספרית כך:
יהי X נתוני קלט CNN, כאשר X
R(n×1) לאחר עיצוב מחדש, ו-n הוא מספר התכונות הנבחרות, בהתאמה. X מוכנס למרחב הטמעה מממד גבוה יותר בצורת R(n × d_model) עבור בלוק הטרנספורמר. לפני שזה נכנס למנגנון תשומת הלב העצמית, משתמשים בקידוד מיקומי.
להלן ביטוי הפעולה בשכבת Conv1D, המשתמשת ב-64 מסננים וגודל גרעין של 3:
(6)
כאשר Yi,j הוא הפלט במיקום j של המסנן i, k הוא הגרעין בגודל 3, b1
R64 הוא מונח ההטיה לכל מסנן, Wk מייצג משקלי מסנן, ו-ReLU היא פונקציית ההפעלה. לאחר מכן, שכבת MaxPooling מוחלת עם גודל מאגר של 2, מה שנותן פלט Z1,j.
(7)
שכבת קונבולוציה נוספת של ID עם גודל של 3 ליבה ו-128 מסננים כלולה כשכבה השלישית של המודל; ביטויו הוא:
(8)
כאשר k הוא הגרעין בגודל 3, b2
R128 הוא מונח ההטיה לכל מסנן, ו-ReLU היא פונקציית ההפעלה. מיושמת שכבת בריכה מקסימלית נוספת, שמקבלת את הקלט מהשכבה השנייה של הקונבולוציה עם גודל בריכה של 2. הפלט Z2,j ניתן על ידי:
(9)
השכבה החמישית היא שכבה שטוחה המובעת כך:
(10)
לאחר מכן נמצאות שכבות הטרנספורמר, הכוללות שכבת הטמעה, שכבת תשומת לב מרובת ראשים, ונרמול שכבה
(11)
E הוא וקטור הטמעה עבור תווית מחלקת הקלט c, ו-We היא מטריצת המשקל המכילה וקטורי הטמעה לכל הקטגוריות. זה ממפה כל מספר שלם ב-c לווקטור צפוף של 32 רכיבים בעלי ערכים ממשיים. הבא הוא שכבת תשומת לב מרובת ראשים, כפי שנוסח במשוואה (3),(4) ו-(5).
למטריצת המפתח יש גודל של dk =32 וממד h=8. d v ו-d מודל מייצגים את ה-V ואת הממדים של המודל בהתאמה. גם
עבור פלט x = MultiHead(Q,K,V), נרמול השכבה מספק:
(12)
כאשר y הוא הפלט המנורמל, γ ו-β הם הפרמטרים הניתנים ללמידה, ו-μ ו-σ2 מציינים את הממוצע והשונות עבור x, בהתאמה. הבא הוא שכבת השטחה של הטרנספורמר, המוגדרת כ

בסוף כל השכבות, הביטוי המתקבל מוצג כך:








כאשר Z1
R256, Z2
R128, Z3
R64, ו-Y
R8. מודל היברידי זה גם מחשב את פונקציית ההפסד עבור סיווג רב-מחלקות, שניתן לבטא כך

איפה:
Yc מייצג את התווית האמיתית (מקודדת one-hot) עבור מחלקה cc,
Y'c היא ההסתברות החזויה למחלקה c
האלגוריתם המוצע מוסבר בטבלה 3 בפירוט.
טבלה 3: אלגוריתם CNN-Transformer המוצע. האלגוריתם המוצע מוסבר בטבלה 3 שלב אחר שלב. אנא לחצו כאן להורדת הטבלה הזו.