ה-Deep Residual Shrinkage Network היא גרסה משופרת של ה-Deep Residual Network (ResNet). למעשה, מדובר אינטגרציה של Deep Residual Network, מנגנוני Attention (קשב), ופונקציות Soft thresholding.
במידה מסוימת, ניתן להבין את עקרון הפעולה של ה-Deep Residual Shrinkage Network כך: היא משתמשת במנגנוני Attention כדי לזהות פיצ’רים (features) לא חשובים, ומפעילה עליהם Soft thresholding כדי לאפס אותם; לעומת זאת, היא מזהה פיצ’רים חשובים ושומרת עליהם. תהליך זה מחזק את היכולת של הרשת הנוירונית העמוקה (Deep Neural Network) לחלץ פיצ’רים שימושיים מתוך אותות המכילים רעש.
1. מוטיבציית המחקר (Research Motivation)
ראשית, כאשר מסווגים דוגמאות (samples), נוכחות של רעש – כגון Gaussian noise, Pink noise ו-Laplacian noise – היא בלתי נמנעת. במובן רחב יותר, דוגמאות מכילות לעיתים קרובות מידע שאינו רלוונטי למשימת הסיווג הנוכחית, וגם מידע זה יכול להתפרש כרעש. רעש זה עלול לפגוע בביצועי הסיווג. (השימוש ב-Soft thresholding הוא צעד מרכזי באלגוריתמים רבים של ניקוי רעשים מאותות).
לדוגמה, במהלך שיחה בצד הכביש, השמע עלול להיות מעורבב עם קולות של צפצופי מכוניות וגלגלים. כאשר מבצעים זיהוי דיבור (Speech Recognition) על האותות הללו, התוצאות בהכרח יושפעו מצלילי הרקע הללו. מנקודת מבט של Deep Learning, הפיצ’רים המתאימים לצפצופים ולגלגלים צריכים להיות מסולקים בתוך הרשת הנוירונית העמוקה, כדי למנוע מהם להשפיע על תוצאות זיהוי הדיבור.
שנית, אפילו בתוך אותו Dataset, כמות הרעש משתנה לעיתים קרובות מדוגמה לדוגמה. (יש לכך דמיון למנגנוני Attention; אם ניקח לדוגמה Dataset של תמונות, המיקום של אובייקט המטרה עשוי להיות שונה בין תמונות, ומנגנוני Attention יכולים להתמקד במיקום הספציפי של אובייקט המטרה בכל תמונה).
למשל, כאשר מאמנים מסווג חתול-כלב, נניח שיש לנו חמש תמונות עם התווית “כלב”. התמונה הראשונה עשויה להכיל כלב ועכבר, השנייה כלב ואווז, השלישית כלב ותרנגולת, הרביעית כלב וחמור, והחמישית כלב וברווז. במהלך האימון (Training), המסווג בהכרח יסבול מהפרעות של אובייקטים לא רלוונטיים כמו עכברים, אווזים, תרנגולות, חמורים וברווזים, מה שיגרום לירידה ב-Accuracy (דיוק) של הסיווג. אם נוכל לזהות את האובייקטים הלא רלוונטיים הללו – העכברים, האווזים, התרנגולות, החמורים והברווזים – ולבטל את הפיצ’רים המתאימים להם, ייתכן שנוכל לשפר את הדיוק של מסווג החתול-כלב.
2. השימוש ב-Soft Thresholding
ה-Soft thresholding הוא צעד ליבה באלגוריתמים רבים של ניקוי רעשים (Signal Denoising). הוא מסלק פיצ’רים שהערך המוחלט שלהם נמוך מסף (threshold) מסוים, ומכווץ (shrinks) פיצ’רים שהערך המוחלט שלהם גבוה מסף זה לכיוון האפס. ניתן לממש זאת באמצעות הנוסחה הבאה:
\[y = \begin{cases} x - \tau & x > \tau \\ 0 & -\tau \le x \le \tau \\ x + \tau & x < -\tau \end{cases}\]הנגזרת של פלט ה-Soft thresholding ביחס לקלט היא:
\[\frac{\partial y}{\partial x} = \begin{cases} 1 & x > \tau \\ 0 & -\tau \le x \le \tau \\ 1 & x < -\tau \end{cases}\]כפי שניתן לראות לעיל, הנגזרת של Soft thresholding היא או 1 או 0. תכונה זו זהה לזו של פונקציית האקטיבציה ReLU. לכן, Soft thresholding יכול גם להפחית את הסיכון שאלגוריתמים של Deep Learning ייתקלו בבעיות של היעלמות גרדיאנטים (Gradient Vanishing) והתפוצצות גרדיאנטים (Gradient Exploding).
בפונקציית ה-Soft thresholding, קביעת הסף חייבת לקיים שני תנאים: ראשית, הסף חייב להיות מספר חיובי; שנית, הסף לא יכול לעלות על הערך המקסימלי של אות הקלט, אחרת הפלט יהיה כולו אפס.
בנוסף, רצוי שהסף יקיים תנאי שלישי: לכל דוגמה (Sample) צריך להיות סף עצמאי משלה, המבוסס על תכולת הרעש שלה.
זאת משום שתכולת הרעש משתנה לעיתים קרובות בין דוגמאות. למשל, נפוץ מאוד שבתוך אותו Dataset, דוגמה A תכיל פחות רעש בעוד שדוגמה B תכיל יותר רעש. במקרה זה, כאשר מבצעים Soft thresholding באלגוריתם לניקוי רעשים, דוגמה A צריכה להשתמש בסף קטן יותר, בעוד שדוגמה B צריכה להשתמש בסף גדול יותר. למרות שהפיצ’רים והספים הללו מאבדים את המשמעות הפיזיקלית המפורשת שלהם בתוך רשתות נוירוניות עמוקות, ההיגיון הבסיסי נותר זהה. במילים אחרות, לכל דוגמה צריך להיות סף עצמאי משלה הנקבע על ידי תכולת הרעש הספציפית שלה.
3. מנגנון Attention
מנגנוני Attention (קשב) הם קלים יחסית להבנה בתחום הראייה הממוחשבת (Computer Vision). מערכות הראייה של בעלי חיים יכולות להבחין במטרות על ידי סריקה מהירה של כל האזור, ולאחר מכן מיקוד תשומת הלב (Attention) באובייקט המטרה כדי לחלץ פרטים נוספים, תוך דיכוי מידע לא רלוונטי. לפרטים נוספים, אנא עיינו בספרות בנושא Attention mechanisms.
ה-Squeeze-and-Excitation Network (או SENet) מייצגת שיטת Deep Learning חדשה יחסית המשתמשת במנגנוני Attention. על פני דוגמאות שונות, התרומה של ערוצי פיצ’רים (feature channels) שונים למשימת הסיווג משתנה לעיתים קרובות. ה-SENet משתמשת בתת-רשת (sub-network) קטנה כדי לבצע “Learn a set of weights” (ללמוד סט של משקולות), ולאחר מכן מכפילה את המשקולות הללו בפיצ’רים של הערוצים המתאימים כדי להתאים את גודל הפיצ’רים בכל ערוץ. תהליך זה יכול להיתפס כיישום רמות משתנות של Attention על ערוצי פיצ’רים שונים.
בגישה זו, לכל דוגמה יש סט משקולות עצמאי משלה. במילים אחרות, המשקולות עבור כל שתי דוגמאות שרירותיות הן שונות. ב-SENet, הנתיב הספציפי להשגת המשקולות הוא “Global Pooling ← Fully Connected Layer ← ReLU Function ← Fully Connected Layer ← Sigmoid Function”.
4. שילוב Soft Thresholding עם מנגנון Deep Attention
ה-Deep Residual Shrinkage Network שואבת השראה למבנה תת-הרשת מ-SENet שהוזכרה לעיל, כדי לממש Soft thresholding תחת מנגנון Deep Attention. באמצעות תת-הרשת (המסומנת בתיבה אדומה), ניתן לבצע “Learn a set of thresholds” (ללמוד סט של ספים) כדי ליישם “Apply weighting to each feature channel” ולבצע Soft thresholding לכל ערוץ פיצ’רים.
בתת-רשת זו, תחילה מחושבים הערכים המוחלטים של כל הפיצ’רים ב-feature map של הקלט. לאחר מכן, דרך Global Average Pooling (GAP) וחישוב ממוצע, מתקבל פיצ’ר, המסומן כ-A. בנתיב השני, ה-feature map לאחר ה-GAP מוזנת לרשת Fully Connected קטנה. רשת זו משתמשת בפונקציית Sigmoid כשכבה האחרונה שלה כדי לנרמל את הפלט לטווח שבין 0 ל-1, ומפיקה מקדם המסומן כ-α. הסף הסופי יכול להתבטא כ-α×A. לכן, הסף הוא המכפלה של מספר בין 0 ל-1 בממוצע הערכים המוחלטים של ה-feature map. שיטה זו מבטיחה שהסף יהיה לא רק חיובי, אלא גם לא גדול מדי.
יתרה מכך, דוגמאות שונות מניבות ספים שונים. כתוצאה מכך, במידה מסוימת, ניתן לפרש זאת כמנגנון Attention מיוחד: הוא מזהה פיצ’רים שאינם רלוונטיים למשימה הנוכחית, הופך אותם לערכים הקרובים לאפס באמצעות שתי שכבות קונבולוציה (Convolutional layers), ומאפס אותם באמצעות Soft thresholding; לחלופין, הוא מזהה פיצ’רים הרלוונטיים למשימה הנוכחית, הופך אותם לערכים רחוקים מאפס, ושומר עליהם.
לבסוף, על ידי ביצוע “Stack many basic modules” (ערימה של מודולים בסיסיים רבים) יחד עם שכבות קונבולוציה, Batch Normalization, פונקציות אקטיבציה, Global Average Pooling ושכבות פלט Fully Connected, נבנית ה-Deep Residual Shrinkage Network השלמה. יש לציין כי המבנה כולל גם “Identity path” ו-“Weighting” כחלק מהארכיטקטורה.
5. יכולת הכללה (Generalization Capability)
ה-Deep Residual Shrinkage Network היא, למעשה, שיטת feature learning כללית. זאת משום שבמשימות רבות של feature learning, הדוגמאות מכילות פחות או יותר כמות מסוימת של רעש ומידע לא רלוונטי. רעש ומידע לא רלוונטי זה עלולים להשפיע על הביצועים של ה-feature learning. למשל:
בסיווג תמונות, אם תמונה מכילה בו-זמנית אובייקטים רבים אחרים, אובייקטים אלו יכולים להיות מובנים כ”רעש”. ה-Deep Residual Shrinkage Network עשויה להצליח להשתמש במנגנון ה-Attention כדי להבחין ב”רעש” זה, ואז להשתמש ב-Soft thresholding כדי לאפס את הפיצ’רים המתאימים ל”רעש” זה, ובכך לשפר פוטנציאלית את דיוק סיווג התמונות.
בזיהוי דיבור (Speech Recognition), במיוחד בסביבות רועשות יחסית כמו שיחה בצד הכביש או בתוך סדנת מפעל, ה-Deep Residual Shrinkage Network עשויה לשפר את הדיוק, או לכל הפחות, להציע מתודולוגיה המסוגלת לשפר את דיוק זיהוי הדיבור.
השפעה אקדמית (Academic Impact)
מאמר זה קיבל מעל 1,400 ציטוטים ב-Google Scholar.
על פי סטטיסטיקה חלקית, ה-Deep Residual Shrinkage Network (DRSN) יושמה באופן ישיר או שונתה ויושמה בלמעלה מ-1,000 פרסומים/מחקרים במגוון רחב של תחומים, כולל הנדסת מכונות, חשמל, ראייה ממוחשבת (Vision), רפואה, דיבור, טקסט, מכ”ם וחישה מרחוק (Remote Sensing).
מקורות (References)
Minghang Zhao, Shisheng Zhong, Xuyun Fu, Baoping Tang, Michael Pecht, Deep residual shrinkage networks for fault diagnosis, IEEE Transactions on Industrial Informatics, 2020, 16(7): 4681-4690.
BibTeX
@article{Zhao2020,
author = {Minghang Zhao and Shisheng Zhong and Xuyun Fu and Baoping Tang and Michael Pecht},
title = {Deep Residual Shrinkage Networks for Fault Diagnosis},
journal = {IEEE Transactions on Industrial Informatics},
year = {2020},
volume = {16},
number = {7},
pages = {4681-4690},
doi = {10.1109/TII.2019.2943898}
}