TensorFlow Lattice היא ספרייה המיישמת מודלים מבוססי סריג גמישים, מבוקרים וניתנים לפירוש. הספרייה מאפשרת לך להחדיר ידע בתחום לתהליך הלמידה באמצעות אילוצי צורה מבוססי השכל הישר או אילוצי צורה המונעים על ידי מדיניות. זה נעשה באמצעות אוסף של שכבות Keras שיכולות לעמוד באילוצים כגון מונוטוניות, קמורה ואמון זוגי. הספרייה מספקת גם מודלים מוכנים מראש קלים להגדרה.
מושגים
סעיף זה הוא גרסה פשוטה של התיאור ב- Monotonic Calibrated Interpolated Look-Up Tables , JMLR 2016.
סריגים
סריג הוא טבלת חיפוש אינטרפולציה שיכולה לקרב יחסי קלט-פלט שרירותיים בנתונים שלך. היא חופפת רשת רגילה על מרחב הקלט שלך ולומדת ערכים עבור הפלט בקודקודים של הרשת. עבור נקודת בדיקה \(x\), \(f(x)\) מתבצע אינטרפולציה לינארית מערכי הסריג המקיפים \(x\).

הדוגמה הפשוטה לעיל היא פונקציה עם 2 מאפייני קלט ו-4 פרמטרים:\(\theta=[0, 0.2, 0.4, 1]\), שהם ערכי הפונקציה בפינות מרחב הקלט; שאר הפונקציה עוברת אינטרפולציה מפרמטרים אלה.
הפונקציה \(f(x)\) יכול ללכוד אינטראקציות לא ליניאריות בין מאפיינים. ניתן לחשוב על פרמטרי הסריג כגובה הקטבים המונחים באדמה על גבי רשת רגילה, והפונקציה המתקבלת היא כמו בד נמתח בחוזקה כנגד ארבעת הקטבים.
עִם \(D\) מאפיינים ו-2 קודקודים לאורך כל ממד, סריג רגיל יהיה בעל \(2^D\) פרמטרים. כדי להתאים פונקציה גמישה יותר, ניתן לציין סריג בעל גרגירים עדינים יותר מעל מרחב התכונות עם יותר קודקודים לאורך כל ממד. פונקציות רגרסיה של סריג הן רציפות וניתנות לגיוון אינסופי באופן מקטעי.
כִּיוּל
נניח שסריג הדוגמה הקודם מייצג שביעות רצון משתמש מלומד עם בית קפה מקומי מוצע המחושב באמצעות תכונות:
- מחיר הקפה, בטווח של 0 עד 20 דולר
- מרחק למשתמש, בטווח של 0 עד 30 קילומטרים
אנחנו רוצים שהמודל שלנו ילמד את שביעות הרצון של המשתמשים עם הצעה לבית קפה מקומי. מודלים של TensorFlow Lattice יכולים להשתמש בפונקציות ליניאריות לפי חלקים (עם tfl.layers.PWLCalibration ) כדי לכייל ולנרמל את תכונות הקלט לטווח המקובל על ידי הסריג: 0.0 עד 1.0 בסריג לדוגמה למעלה. להלן דוגמאות לפונקציות כיול כאלה עם 10 נקודות מפתח:


לעיתים קרובות מומלץ להשתמש בכמוניות של התכונות כנקודות מפתח לקלט. מודלים מוכנים מראש של TensorFlow Lattice יכולים להגדיר אוטומטית את נקודות מפתח הקלט לכמוניות התכונות.
עבור תכונות קטגוריות, TensorFlow Lattice מספק כיול קטגורי (עם tfl.layers.CategoricalCalibration ) עם גבול פלט דומה להזנה לתוך סריג.
הרכבים
מספר הפרמטרים של שכבת סריג גדל באופן אקספוננציאלי עם מספר מאפייני הקלט, ולכן אינו מתקדם היטב לממדים גבוהים במיוחד. כדי להתגבר על מגבלה זו, TensorFlow Lattice מציעה הרכבים של סריגים המשלבים (בממוצע) מספר סריגים זעירים , מה שמאפשר למודל לגדול באופן ליניארי במספר המאפיינים.
הספרייה מציעה שתי וריאציות של הרכבים אלה:
סריגים זעירים אקראיים (RTL): כל תת-מודל משתמש בקבוצת משנה אקראית של תכונות (עם החלפה).
גבישים : אלגוריתם הגבישים מאמן תחילה מודל התאמה מראש אשר מעריך אינטראקציות זוגיות בין תכונות. לאחר מכן הוא מסדר את האנסמבל הסופי כך שתכונות עם יותר אינטראקציות לא ליניאריות נמצאות באותן סריגים.
למה סריג TensorFlow?
תוכלו למצוא מבוא קצר ל-TensorFlow Lattice בפוסט הזה בבלוג TF .
פרשנות
מכיוון שהפרמטרים של כל שכבה הם הפלט של אותה שכבה, קל לנתח, להבין ולפתור באגים בכל חלק של המודל.
מודלים מדויקים וגמישים
באמצעות סריגים בעלי גרגירים עדינים, ניתן לקבל פונקציות מורכבות באופן שרירותי עם שכבת סריג אחת. שימוש בשכבות מרובות של כיילים וסריגים לרוב עובד יפה בפועל ויכול להתאים או להתעלות על מודלים של DNN בגדלים דומים.
אילוצי צורה של השכל הישר
נתוני אימון מהעולם האמיתי עשויים שלא לייצג בצורה מספקת את נתוני זמן הריצה. פתרונות למידה גמישים כמו DNN או יערות פועלים לעתים קרובות באופן בלתי צפוי ואף באופן פרוע בחלקים ממרחב הקלט שאינם מכוסים על ידי נתוני האימון. התנהגות זו בעייתית במיוחד כאשר ניתן להפר אילוצי מדיניות או הגינות.

למרות שצורות נפוצות של רגולריזציה יכולות להוביל לאקסטרפולציה הגיונית יותר, רגולטורים סטנדרטיים אינם יכולים להבטיח התנהגות מודל סבירה על פני כל מרחב הקלט, במיוחד עם קלטים בעלי מימדים גבוהים. מעבר למודלים פשוטים יותר עם התנהגות מבוקרת וצפויה יותר עלול לבוא עם מחיר כבד לדיוק המודל.
TF Lattice מאפשר להמשיך להשתמש במודלים גמישים, אך מספק מספר אפשרויות להחדיר ידע בתחום לתהליך הלמידה באמצעות אילוצי צורה בעלי משמעות סמנטית, המונעים על ידי שכל ישר או מדיניות:
- מונוטוניות : ניתן לציין שהפלט צריך לגדול/לקטון רק ביחס לקלט. בדוגמה שלנו, ייתכן שתרצו לציין שהגדלת המרחק לבית קפה צריכה רק להקטין את העדפת המשתמש החזויה.




קמור/קעור : ניתן לציין שצורת הפונקציה יכולה להיות קמורה או קעורה. בשילוב עם מונוטוניות, זה יכול לאלץ את הפונקציה לייצג תשואה פוחתת ביחס לתכונה נתונה.
חד-מודאליות : ניתן לציין שלפונקציה צריך להיות שיא ייחודי או עמק ייחודי. זה מאפשר לך לייצג פונקציות שיש להן נקודה מתוקה ביחס לתכונה.
אמון זוגי : אילוץ זה פועל על זוג מאפיינים ומרמז שתכונת קלט אחת משקפת באופן סמנטי אמון במאפיין אחר. לדוגמה, מספר גבוה יותר של ביקורות גורם לך להיות בטוח יותר בדירוג הכוכבים הממוצע של מסעדה. המודל יהיה רגיש יותר ביחס לדירוג הכוכבים (כלומר, יהיה לו שיפוע גדול יותר ביחס לדירוג) כאשר מספר הביקורות גבוה יותר.
גמישות מבוקרת עם רגולרים
בנוסף לאילוצי צורה, סריג TensorFlow מספק מספר רגולטורים כדי לשלוט בגמישות ובחלקות של הפונקציה עבור כל שכבה.
רגולטור לפלסיאני : תפוקות הסריג/קודקודי הכיול/נקודות המפתח מווסתות כלפי הערכים של שכניהם. התוצאה היא פונקציה שטוחה יותר .
רגולטור Hessian : זה מעניש את הנגזרת הראשונה של שכבת הכיול PWL כדי להפוך את הפונקציה לינארית יותר .
מתקן קמטים : פעולה זו מענישת את הנגזרת השנייה של שכבת הכיול PWL כדי למנוע שינויים פתאומיים בעקמומיות. זה הופך את הפונקציה לחלקה יותר.
מתקן פיתול : תפוקות הסריג יעברו רגולציה למניעת פיתול בין התכונות. במילים אחרות, המודל יעבור רגולציה לכיוון אי-תלות בין תרומות התכונות.
ערבבו והתאימו עם שכבות קראס אחרות
ניתן להשתמש בשכבות סריג TF בשילוב עם שכבות Keras אחרות כדי לבנות מודלים מוגבלים חלקית או מוסדרים. לדוגמה, ניתן להשתמש בשכבות כיול סריג או PWL בשכבה האחרונה של רשתות עמוקות יותר הכוללות הטמעות או שכבות Keras אחרות.
ניירות
- אתיקה דאונטולוגית על ידי אילוצי צורה מונוטוניים , סרינה וואנג, מאיה גופטה, כנס בינלאומי לבינה מלאכותית וסטטיסטיקה (AISTATS), 2020
- אילוצי צורה עבור פונקציות קבוצה , אנדרו קוטר, מאיה גופטה, ה. ג'יאנג, ארז לוידור, ג'ים מולר, טמן נאראיאן, סרינה וואנג, טאו ג'ו. כנס בינלאומי ללמידת מכונה (ICML), 2019
- החזרות פוחתות יוצרות אילוצים לפרשנות ולרגולריזציה , מאיה גופטה, דארה בהרי, אנדרו קוטר, קווין קאניני, התקדמות במערכות עיבוד מידע עצבי (NeurIPS), 2018
- רשתות סריג עמוקות ופונקציות מונוטוניות חלקיות , סונגיל יו, קווין קאניני, דיוויד דינג, יאן פייפר, מאיה ר. גופטה, התקדמות במערכות עיבוד מידע עצבי (NeurIPS), 2017
- פונקציות מונוטוניות מהירות וגמישות עם אנסמבלים של סריגים , מהדי מילאני פארד, קווין קאניני, אנדרו קוטר, יאן פייפר, מאיה גופטה, התקדמות במערכות עיבוד מידע עצבי (NeurIPS), 2016
- טבלאות חיפוש מונוטוניות מכוילות אינטרפולציה , מאיה גופטה, אנדרו קוטר, יאן פייפר, קונסטנטין וויבודסקי, קווין קאניני, אלכסנדר מנגילוב, וויצ'ך מוצ'ידלובסקי, אלכסנדר ואן אסברוק, כתב העת לחקר למידת מכונה (JMLR), 2016
- רגרסיה אופטימלית להערכת פונקציות יעילה , אריק גרסיה, ראמאן ארורה, מאיה ר. גופטה, IEEE Transactions on Image Processing, 2012
- רגרסיה של סריג , אריק גרסיה, מאיה גופטה, התקדמות במערכות עיבוד מידע עצבי (NeurIPS), 2009
מדריכים ומסמכי API
עבור ארכיטקטורות מודל נפוצות, ניתן להשתמש במודלים מוכנים מראש של Keras . ניתן גם ליצור מודלים מותאמים אישית באמצעות שכבות Keras מסוג TF Lattice או לשלב ולהתאים עם שכבות Keras אחרות. עיינו במסמכי ה-API המלאים לפרטים.