כתבות עם התגית auto-encoder

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


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

VAEBM: A symbiosis between auto-encoders and energy-based models


פינת הסוקר:  

       המלצת קריאה ממייק: מומלץ לאוהבי מודלים גנרטיביים כמו VAE ו-Energy-Based Models להרחבת אופקים, אך לא חובה.

       בהירות כתיבה:  בינונית.

       רמת היכרות עם כלים מתמטיים וטכניקות של ML/DL הנדרשים להבנת מאמר: נדרש רקע טוב בשיטות דגימה מתקדמות (דינמיקה של Langevin) והבנה טובה במודלים גנרטיביים.

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


פרטי מאמר:

        לינק למאמר: זמין להורדה.ֿ

        לינק לקוד: לא נמצא בארקיב.

       פורסם בתאריך: 09.02.21, בארקיב.

       הוצג בכנס: ICLR2021.


תחומי מאמר:

  • מודלים גנרטיביים.
  •  (variational auto-encoder (VAE.
  • (energy-based models (EBM.

כלים מתמטיים במאמר: 

  •  Reparameterization trick.
  • דינמיקה של Langevin .
  • markov chain monte-carlo – MCMC.  
  • התפלגות גיבס.

תמצית מאמר: לכתבה המלאה >>

סיכום תחרות זו עלה כחלק מפוסט של ים פלג.

קבוצת MelANOVA:
על התחרות:
מלנומה – סרטן שרוב גידולו מתחילים בעור.
דיאגנוזה למלנומה כוללת בין היתר התבוננות בנקודות חן ושומות.
הבעיה ברורה: אנחנו מקבלים תמונות של שומות -> צריכים להחזיר: "כן סרטני" / "לא סרטני".
התחרות רצה שנה אחרי שנה כבר כמה שנים ברציפות.
את התחרות פתחנו במקום הראשון.
הגשה של ספי ונתי מהרצת האלגוריתם שפיתחו לתחרות של שנה שעברה.
אף אחד מאיתנו לא חשב שהמצב ימשיך כך לאורך זמן, ישבנו וחשבנו על אסטרטגיה מנצחת להמשך התחרות.
אז איך מנצחים תחרויות מדע נתונים? [מסודר לפי סדר חשיבות]
  1. אסטרטגית Cross Validation טובה.
  2. ניקוי טוב של הנתונים.
  3. הנדסת פיצ'רים טובה.
  4. מציאת טריקים\"רמאויות קטנות" בדאטה או במטריקה.
  5. מודל טוב.
  6. אופטימיזציה טובה להיפרפרמטרים.
  7. שיטה טובה לאנסמבל [בדגש על סטאקינג].
  8. שיטה טובה לאוגמנטציות (גם בזמן האימון וגם בזמן ההרצה – TTA).
  9. כוח מחשוב. זה תמיד עוזר.
  10. מזל. (כן כן! מזל מאוד עוזר)

לכתבה המלאה >>

אמנם, האתגר לא באמת נגמר כמו שצריך בגלל הוירוס. אבל עבדתי די קשה, אני מרשה לעצמי לסכם בכל מקרה!

לפני שבועיים Uri Goren פרסם את אתגר מערכות ההמלצה של jul.
אני מתעסק במערכות המלצה בתור (חצי) תחביב כבר כמעט שנה והרבה זמן חיפשתי תירוץ לצלול לעומק העניין.
אז למארגנים: תודה על הFOMO, אחלה תירוץ!

הבעיה: אנשים קנו מוצרים. אנחנו צריכים לאמר איזה מוצר הם יקנו בפעם הבאה.
הדאטה: טרנזקציות – אדם x קנה מוצר y בתאריך z.
ניקוד: אם קלענו למוצר אחד מתוך רשימת המוצרים העתידיים, האדם נספר לנו לחישוב הדיוק הסופי, שהוא לא יותר מאחוז האנשים בהם צדקנו.
עוד פרט חשוב: מספיק לנו לקלוע למוצר אחד. (ובדקתי את הפרט הזה דרך ההגשות ללידרבורד!)
ועוד פרט חשוב: אנחנו לא יודעים מה המוצרים! יש לנו רק id. זה חכם מצד המארגנים, היתי מנצל את זה לרעה אם זה לא היה ככה.

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

הבייסליין הראשון כמובן: "תציע לכולם את המוצר הכי נפוץ".
השני היה: "תציע לכולם את המוצר הכי KNN.predict"

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

for cols_combination in כל_הקומבינציות(cols):
תציע לאותו אדם: df.groupby(cols_combination).agg(lambda x: x.value_counts().index[0])

שבאופן ממש מביך הביא אותי למקום הראשון בטבלה..
חצי שעה מפתיחת התחרות..

ואז התחלתי לעבוד באמת. לכתבה המלאה >>

X