תמונה שנוצרה על ידיי מודל פיזור
**מודל דיפוזיה** (באנגלית: Diffusion model) הוא סוג של מודל גנרטיבי ללמידת מכונה שתוכנן על ידי ג'ונתן הו ועמיתיו מאוניברסיטת קליפורניה בשנת 2020

בהינתן סט אימון, ניתן להשתמש במודל בשביל ללמוד את ההתפלגות שממנה מגיעים הנתונים, וכתוצאה מכך ניתן להשתמש בו בשביל ליצור דגימות חדשות שנראות כמו דגימות ששייכות למאגר הנתונים. לדוגמה, מודל שאומן על מאגר תצלומים של בני אדם, יוכל ליצור תצלומים חדשים של בני אדם שנראים אותנטיים ומכילים מאפיינים מציאותיים רבים. דוגמאות למודלי דיפוזיה מוכרים הם DALL-E של OpenAI או parti של גוגל.

היסטוריה
--------

הרעיון של מודל דיפוזיה הועלה לראשונה ב-2015 במחקר שפורסם על ידי גסצ'ה סול דיקסטיין ועמיתיו בתור אופציה נוספת על פני מודלים גנרטיבים אחרים כגון GAN.

ב-2021 זכה לתהודה כאשר המודל DALL-E של OpenAi העושה שימוש במודל, הצליח ליצור תמונות מפורטות במגוון סגנונות. התחום קיבל גל חדש של עניין בשל כך וחברות רבות עלו עם מודלי דיפוזיה משלהם.

תהליך האימון
------------

תהליך האימון מתחלק לשני חלקים, בחלק הראשון מוסיפים רעש גאוסיאני לתמונת האימון בהדרגה והמודל לומד את ההתפלגות הפוסטריורית {\displaystyle q(\mathrm {x} \_{1...T}|\mathrm {x} \_{0})} (התפלגות המצבים בשרשרת המרקוב בהינתן התמונה ההתחלתית). בשלב השני הופכים את התהליך ומנסים לשחזר את התמונה המקורית מהתמונה עם הרעש על ידי הורדת הרעש שנוסף בכל שלב והמודל לומד את ההתפלגות ההפוכה {\displaystyle p\_{\theta }(\mathrm {x} \_{t-1}|\mathrm {x} \_{t})} (התפלגות התמונה בהינתן תמונה עם הוספת רעש).

### שלב הוספת הרעש

בכל שלב מוסיפים רעש גאוסיאני לתמונת האימון וממשיכים כך באופן באופן איטרטיבי מספר קבוע של פעמים {\displaystyle T} (בדרך כלל {\displaystyle T} גדול מספיק כך שהתמונה הופכת לרעש גאוסיאני ללא אפשרות לזיהוי של התמונה המקורית).

את תהליך הוספת הרעש אפשר לתאר על ידי שרשרת מרקוב {\displaystyle q(\mathrm {x} \_{1...T}|\mathrm {x} \_{0})=\prod \_{t=1}^{T}{q(\mathrm {x} \_{t}|{\mathrm {x} }\_{t-1})}=\prod \_{t=1}^{T}{N(\mathrm {x} \_{t};{\sqrt {1-\beta \_{t}}}\mathrm {x} \_{t-1},\beta \_{t}{\mathrm {I} })}} כאשר {\displaystyle t} מייצגת את מספר האיטרציה ו-{\displaystyle \beta } מייצגת את גודל הצעד ({\displaystyle \beta } נקבעת לפי המתזמן שבחרנו). אפשר לחשב את האיטרציה ה-{\displaystyle t} בחישוב אחד על ידי {\displaystyle q(\mathrm {x} \_{t}|{\mathrm {x} }\_{0})=N(\mathrm {x} \_{t};{\sqrt {\bar {a\_{t}}}}\mathrm {x} \_{0},1-{\bar {a\_{t}}})} כאשר {\displaystyle a\_{t}=1-\beta \_{t}} ו- {\displaystyle {\bar {a\_{t}}}=\textstyle \prod \_{s=1}^{t}\displaystyle {a\_{s}}}.

### שלב ניחוש הרעש שנוסף

בשלב זה לוקחים את תמונת הרעש מהשלב הקודם ומנסים לשחזר ממנה את התמונה המקורית בעזרת רשת עצבית מלאכותית שמקבלת את התמונה {\displaystyle \mathrm {x} \_{t}} ומנסה לנחש את הרעש שנוסף לתמונה {\displaystyle \mathrm {x} \_{t-1}} (מנסים לנחש את הרעש ולא את התמונה{\displaystyle \mathrm {x} \_{t-1}} ישירות מכיוון שזה נותן תוצאה טובה יותר. אפשר להשיג את התמונה {\displaystyle \mathrm {x} \_{t-1}} ברגע שיש לנו את הרעש) ואת התהליך נבצע {\displaystyle T} פעמים עד שנקבל את התמונה המשוחזרת. את התהליך אפשר לתאר כשרשרת מרקוב {\displaystyle p\_{\theta }(\mathrm {x} \_{1...T})=p(\mathrm {x} \_{T})\prod \_{t=1}^{T}p\_{\theta }(\mathrm {x} \_{t-1}|\mathrm {x} \_{t})} כאשר {\displaystyle p(\mathrm {x} \_{T})} היא ההסתברות ההתחלתית למצב {\displaystyle \mathrm {x} \_{T}} (התפלגות גאוסיאנית).

לקריאה נוספת
------------

* Jonathan Ho, **Denoising Diffusion Probabilistic Models**
* Alex Nichol, **Improved Denoising Diffusion Probabilistic Models**
* Prafulla Dhariwal, **Diffusion Models Beat GANs on Image Synthesis**

קישורים חיצוניים
----------------

* מימוש מודל פיזור, במחברת colab
* הסבר מפורט על המתמטיקה של מודל הפיזור באתר assemblya
* סרטון המסביר על מודלי פיזור באתר יוטיוב
* הסבר על המודל

הערות שוליים
------------

1. ↑  Jonathan Ho, Ajay Jain, Pieter Abbeel, Denoising Diffusion Probabilistic Models, 2020
2. ↑  ascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, Surya Ganguli, Deep Unsupervised Learning using Nonequilibrium Thermodynamics, **Proceedings of the 32nd International Conference on Machine Learning**, 2015, עמ' 2256-2265