TensorFlow Probability היא ספרייה להנמקה הסתברותית וניתוח סטטיסטי ב- TensorFlow. כחלק מהמערכת האקולוגית של TensorFlow, TensorFlow Probability מספקת אינטגרציה של שיטות הסתברותיות עם רשתות עמוקות, הסקה מבוססת גרדיאנט באמצעות דיפרנציאציה אוטומטית ומדרגיות למערך נתונים ומודלים גדולים עם האצת חומרה (GPU) וחישוב מבוזר.
כדי להתחיל עם TensorFlow Probability, עיין במדריך ההתקנה וצפה במדריכי המחברת של Python .
רכיבים
כלי למידת המכונה ההסתברותית שלנו בנויים באופן הבא:
שכבה 0: TensorFlow
פעולות מספריות - בפרט, מחלקה LinearOperator
- מאפשרות יישומים נטולי מטריקס שיכולים לנצל מבנה מסוים (אלכסון, דירוג נמוך וכו') לצורך חישוב יעיל. הוא נבנה ומתוחזק על ידי צוות TensorFlow Probability והוא חלק מ- tf.linalg
בליבת TensorFlow.
שכבה 1: אבני בניין סטטיסטיות
- הפצות (
tfp.distributions
): אוסף גדול של התפלגויות הסתברות וסטטיסטיקות קשורות עם סמנטיקה של אצווה ושידור . - Bijectors (
tfp.bijectors
): טרנספורמציות הניתנות להפיכה ולהרכבה של משתנים אקראיים. ביקטורים מספקים מחלקה עשירה של התפלגויות שעברו טרנספורמציה, מדוגמאות קלאסיות כמו התפלגות הלוג-נורמליות ועד מודלים של למידה עמוקה מתוחכמים כמו זרימות אוטורגרסיביות ממוסכות .
שכבה 2: בניית דגמים
- התפלגויות משותפות (למשל,
tfp.distributions.JointDistributionSequential
): הפצות משותפות על פני התפלגות אחת או יותר שתלויות זו בזו. לקבלת היכרות עם דוגמנות עםJointDistribution
של TFP, בדוק את הקולאב הזה - שכבות הסתברותיות (
tfp.layers
): שכבות רשת עצביות עם אי ודאות לגבי הפונקציות שהן מייצגות, מה שמרחיב את שכבות TensorFlow.
שכבה 3: הסקה הסתברותית
- שרשרת מרקוב Monte Carlo (
tfp.mcmc
): אלגוריתמים לקירוב אינטגרלים באמצעות דגימה. כולל המילטון מונטה קרלו , מטרופוליס-Hastings בהליכה אקראית והיכולת לבנות גרעיני מעבר מותאמים אישית. - מסקנות משתנה (
tfp.vi
): אלגוריתמים לקירוב אינטגרלים באמצעות אופטימיזציה. - אופטימיזציה (
tfp.optimizer
): שיטות אופטימיזציה סטוכסטיות, הרחבת אופטימיזציית TensorFlow. כולל דינמיקה של Langevin Gradient Stochastic . - מונטה קרלו (
tfp.monte_carlo
): כלים לחישוב ציפיות מונטה קרלו.
TensorFlow Probability נמצא בפיתוח פעיל והממשקים עשויים להשתנות.
דוגמאות
בנוסף למדריכי המחברת של Python המפורטים בניווט, ישנם כמה סקריפטים לדוגמה זמינים:
- מקודדים אוטומטיים וריאציוניים - למידת ייצוג עם קוד סמוי והסקת וריאציות.
- מקודד אוטומטי-קוונטי — למידת ייצוג דיסקרטי עם קוונטיזציה וקטורית.
- רשתות עצביות בייסיאניות - רשתות עצביות עם אי ודאות לגבי משקלן.
- רגרסיה לוגיסטית בייסיאנית - הסקה בייסיאנית לסיווג בינארי.
דווח על בעיות
דווח על באגים או בקשות לתכונה באמצעות מעקב הבעיות של TensorFlow .