קונבולוציה

קונבולוציה (או קיפול) היא פעולה בינארית בין שתי פונקציות או סדרות ערכים, שיש לה שימושים בהתמרות אינטגרליות כדוגמת התמרת פורייה, בהתמרת לפלס, בעיבוד אותות, בסטטיסטיקה ובתחומים נוספים במתמטיקה, פיזיקה והנדסה. מקובל לסמן את הקונבולוציה בסימון   ∗ {\displaystyle \ *} . פעולת הקונבולוציה ממזגת את שתי הפונקציות או הסדרות באופן דומה לקרוס-קורלציה (או מתאם צולב). קונבולוציה מאפשרת, במקרים מסוימים, מידול של תופעה מורכבת כשתי תופעות פשוטות בהרבה, כאשר התוצאה הסופית היא קונבולוציה של הפתרונות הפשוטים בנפרד. משתמשים בקונבולוציה ככלי עזר לתאר באופן מתמטי תופעות מורכבות רבות, במתמטיקה, בכל תחומי המדע, ובטכנולוגיה. הקונבולוציה f ( t ) {\displaystyle f(t)} בין שתי הפונקציות h ( t ) {\displaystyle h(t)} ו- g ( t ) {\displaystyle g(t)} גם היא פונקציה של t {\displaystyle t} והיא מוגדרת כך: f ( t ) = ( h ∗ g ) ( t ) = ∫ − ∞ ∞ h ( t − τ ) g ( τ ) d τ {\displaystyle f(t)=(h*g)(t)=\int _{-\infty }^{\infty }h(t-\tau )g(\tau )d\tau } הקונבולוציה בין הסדרות הבדידות h [ n ] {\displaystyle h[n]} ו- g [ n ] {\displaystyle g[n]} מוגדרת: f [ n ] = ( h ∗ g ) [ n ] = ∑ m ∈ Z h [ n − m ] g [ m ] {\displaystyle f[n]=(h*g)[n]=\sum _{m\in Z}^{}h[n-m]g[m]} הקונבולוציה היא סך השטח הכלוא מתחת למכפלת שתי הפונקציות כאשר אחת מהן משוקפת סביב הציר האנכי ומוזזת ב-t. המשתנה t לאו דווקא מסמל זמן, ובתחומים שונים הפונקציות הן של משתנים שונים. ניתן להתייחס לקונבולוציה כממוצע נע משוקלל: (f(t היא הממוצע של הפונקציה (g(τ לפי פונקציית המשקל (h(-τ המוזזת ב-t (או המשתנה עם הזמן). הקונבולוציה של הסדרות   ( a n ) {\displaystyle \ (a_{n})} ו-   ( b n ) {\displaystyle \ (b_{n})} היא הסדרה   ( a ∗ b ) n = a 0 b n + a 1 b n − 1 + ⋯ + a n b 0 {\displaystyle \ (a*b)_{n}=a_{0}b_{n}+a_{1}b_{n-1}+\cdots +a_{n}b_{0}} . בדומה לזה מוגדרת קונבולוציה של טורים כטור המתאים לקונבולוציה של הסדרות המתאימות. לפי משפט קושי (תורת הטורים), הקונבולוציה של טורים המתכנסים בהחלט מתכנסת בהחלט. אם הפונקציה g T ( t ) {\displaystyle g_{T}(t)} היא מחזורית עם מחזור T, כך שניתן לכתוב אותה כסכום: g T ( t ) = ∑ k = − ∞ ∞ g ( t + k T ) {\displaystyle g_{T}(t)=\sum _{k=-\infty }^{\infty }g(t+kT)} אז הקונבולוציה של g T ( t ) {\displaystyle g_{T}(t)} עם פונקציה h ( t ) {\displaystyle h(t)} שאינה מחזורית גם היא מחזורית עם מחזור T וניתן לרשום אותה כך: f ( t ) = ( h ∗ g T ) ( t ) ≡ ∫ t 0 t 0 + T [ ∑ k = − ∞ ∞ h ( τ + k T ) ] g T ( t − τ ) d τ , {\displaystyle f(t)=(h*g_{T})(t)\equiv \int _{t_{0}}^{t_{0}+T}\left[\sum _{k=-\infty }^{\infty }h(\tau +kT)\right]g_{T}(t-\tau )\,d\tau ,} ניתן לראות זאת כסכימה של השטח מתחת למכפלת מחזור אחד של g T ( t ) {\displaystyle g_{T}(t)} בהזזות של הפונקציה (h(t, במקום סכימה של השטח מתחת למכפלה של הזזות של מחזור אחד של הפונקציה g ( t ) {\displaystyle g(t)} בפונקציה h ( t ) {\displaystyle h(t)} . ( h ∗ g T ) ( t ) {\displaystyle (h*g_{T})(t)} נקראת הקונבולוציה המעגלית או הקונבולוציה הציקלית של h ( t ) {\displaystyle h(t)} ו- g ( t ) {\displaystyle g(t)} . כלומר, הקונבולוציה המעגלית של שתי פונקציות שאינן מחזוריות היא קונבולוציה רגילה בין הפונקציה האחת לבין פונקציה מחזורית שמחזור שלה זהה לקטע מן הפונקציה השנייה. אם נגדיר פונקציה מחזורית h T ( t ) {\displaystyle h_{T}(t)} כפונקציה שמחזור שלה זהה לקטע מהפונקציה h ( t ) {\displaystyle h(t)} : h T ( t ) = ∑ k = − ∞ ∞ h ( t + k T ) {\displaystyle h_{T}(t)=\sum _{k=-\infty }^{\infty }h(t+kT)} אז ניתן לכתוב את הפונקציה ( h ∗ g T ) ( t ) {\displaystyle (h*g_{T})(t)} כך: ∫ t 0 t 0 + T h T ( τ ) g T ( t − τ ) d τ , {\displaystyle \int _{t_{0}}^{t_{0}+T}h_{T}(\tau )g_{T}(t-\tau )\,d\tau ,} והיא נקראת הקונבולוציה המחזורית של h T ( t ) {\displaystyle h_{T}(t)} ו- g T ( t ) {\displaystyle g_{T}(t)} . כלומר, הקונבולוציה המחזורית של שתי פונקציות מחזוריות עם מחזור משותף T דומה לקונבולוציה רגילה, אלא שהאינטגרציה נעשית על פני זמן באורך של מחזור אחד T, כאשר to שרירותי. לשם המחשת המושג ניקח דוגמה מתחום האקוסטיקה. נניח שאנו נמצאים בחדר אשר מחזיר הד עבור קולות הנשמעים בו. אם נשמיע קול בחדר זה ההד יתנהג בצורה הבאה: לאחר שנייה אחת עוצמת הקול שנשמעת היא חצי מהקול המקורי, לאחר שתי שניות היא רבע ממנו, וכן הלאה. ובאופן כללי: h [ t ] = 1 2 t {\displaystyle h[t]={\frac {1}{2^{t}}}} (כאשר h היא ההגבר). נניח כי מוצב תוף בחדר ואדם מכה בו כל שנייה בעוצמה אחרת, ו- g [ t ] {\displaystyle g[t]} היא הסדרה המייצגת את עוצמת המכה בכל שנייה. אם אנחנו מעוניינים לדעת לאחר זמן מסוים מה תהיה עוצמת הקול בחדר, עלינו לסכום את התרומות של כל הקולות שנעשו מאז תחילת התיפוף ועד הזמן שאנחנו מעוניינים בו. הבעיה היא שעבור כל מכה בתוף עבר זמן שונה ונצטרך להתחשב בו. הדרך לחשב זאת היא לחבר את העוצמה שנשמעה ברגע זה עם חצי העוצמה שנשמעה בשנייה הקודמת עם רבע מהעוצמה שנשמעה בשנייה שלפני כן וכן הלאה עד לתחילת התיפוף, כלומר: g [ t ] h [ 0 ] + g [ t − 1 ] h [ 1 ] + g [ t − 2 ] h [ 2 ] + . . . = ∑ n = 0 t h [ n ] g [ t − n ] {\displaystyle g[t]h[0]+g[t-1]h[1]+g[t-2]h[2]+...=\sum _{n=0}^{t}h[n]g[t-n]} ביטוי זה שקיבלנו הוא הקונבולוציה בזמן בדיד אך אפשר בקלות לקבל ביטוי דומה עבור זמן רציף. הקונבולוציה אסוציאטיבית וקומוטטיבית, ודיסטריבוטיבית ביחס לחיבור. לכן היא הופכת את מרחבי הפונקציות שבהן היא מוגדרת לאלגברה קומוטטיבית. הסגירות ביחס לפעולת הקונבולוציה תלויה באוסף הפונקציות: הקונבולוציה של פונקציות רציפות היא רציפה; הקונבולוציה של פונקציות אינטגרביליות היא אינטגרבילית. הדלתא של דיראק, שאינה פונקציה, משמשת כאיבר יחידה: ( f ∗ δ ) ( t ) = f ( t ) {\displaystyle \left(f*\delta \right)(t)=f(t)} . הנגזרת של קונבולוציה מקיימת: d d t ( h ∗ g ) = d h d t ∗ g = h ∗ d g d t {\displaystyle {\frac {d}{dt}}({h}*g)={\frac {dh}{dt}}*g={h}*{\frac {dg}{dt}}\,} משפט הקונבולוציה קובע שהתמרת פורייה של קונבולוציה בין שתי פונקציות היא מכפלת ההתמרות שלהן: F { h ∗ g } = 2 π ⋅ F { h } ⋅ F { g } {\displaystyle {\mathcal {F}}\{h*g\}={\sqrt {2\pi }}\cdot {\mathcal {F}}\{h\}\cdot {\mathcal {F}}\{g\}} , כאשר F { f } {\displaystyle {\mathcal {F}}\{f\}} מסמלת הפעלת התמרת פורייה והקבוע 2 π {\displaystyle {\sqrt {2\pi }}} משתנה בהתאם לנרמול ההתמרה. המשוואה ההפוכה היא: F { h ⋅ g } = F { h } ∗ F { g } 2 π {\displaystyle {\mathcal {F}}\{h\cdot g\}={\frac {{\mathcal {F}}\{h\}*{\mathcal {F}}\{g\}}{\sqrt {2\pi }}}} . כמו כן, ניתן לכתוב: h ∗ g = 2 π F − 1 { F { h } ⋅ F { g } } {\displaystyle h*g={\sqrt {2\pi }}{\mathcal {F}}^{-1}\{{\mathcal {F}}\{h\}\cdot {\mathcal {F}}\{g\}\}} . משפט הקונבולוציה שימושי מאוד משום שהפעלת מכפלה (אף לאחר חישוב התמרות פורייה) מסובכת הרבה פחות מאשר חישוב הקונבולוציה לפי הגדרתה, וכך היא מחושבת באופן נומרי. משפטים מקבילים קיימים עבור התמרת לפלס והתמרת Z. במשוואות דיפרנציאליות ליניאריות לא-הומוגניות, ניתן לכתוב את הפתרון כקונבולוציה בין החלק הלא-הומוגני של המשוואה לבין פונקציית גרין שלה. באופן דומה בהנדסת חשמל ואלקטרוניקה, פונקציית הפלט ביציאה של מערכת ליניארית בלתי משתנה בזמן היא קונבולוציה בין פונקציית הקלט בכניסה למערכת לבין תגובת ההלם של המערכת. למשל, קונבולוציה מתארת את השפעת ההתנגדות והעיכובים במערכת על האות המתקבל. בפיזיקה, עבור מערכות ליניאריות המקיימות את עקרון הסופרפוזיציה, מחושבת זו על ידי קונבולוציה (הנקראת גם אינטגרל סופרפוזיציה). לדוגמה, השדה החשמלי הנוצר על ידי התפלגות מטען הוא קונבולוציה בין פונקציית צפיפות המטען לבין ההופכי של ריבוע גודל וקטור ההעתק לנקודה בה מחושב השדה. זוהי סופרפוזיציה של שדות הנוצרים על ידי מטענים נקודתיים. באופטיקה קונבולוציה מתארת תופעות עקיפה. לפי עקרון הויגנס, כל נקודה במיפתח אופטי משמשת כמקור חדש, ולכן ניתן למדל את המערכת כמערכת ומיפתח בנפרד, ולבצע קונבולוציה ביניהם. למשל קונבולוציה של תמונה עם פונקציית הטשטוש של עדשת מצלמה. בהסתברות, פונקציית צפיפות ההסתברות של סכום של שני משתנים מקריים בלתי תלויים היא קונבולוציה בין פונקציות צפיפות ההסתברות של כל אחד מהם. בסטטיסטיקה, ממוצע נע משוקלל הוא קונבולוציה בין סדרת נתונים לבין פונקציית משקל. בנוסף, הקונבולוציה בין שתי פונקציות משמשת כמדד למתאם ההדדי ביניהן. בלמידת מכונה, פעולת הקונבולוציה משמשת רשתות נוירונים עמוקות המבצעות ראייה ממוחשבת. קונבולוציית דיריכלה אפליקציית Java המדגימה את המשמעות הגרפית של קונבולוציה קונבולוציה, באתר אנציקלופדיה למתמטיקה (באנגלית) קונבולוציה, באתר MathWorld (באנגלית) סרטון אינטואיטיבי על הקשר בין קונבלוציה למעבר אות דרך מערכת But what is a convolution?, סרטון בערוץ "3Blue1Brown", באתר יוטיוב (אורך: 23:00), 18 בנובמבר 2022 קִפּוּל במילון מתמטיקה (תשמ"ה, 1985), באתר האקדמיה ללשון העברית נִתּוּחַ מִתְאָם צוֹלֵב במילון גאוגרפיה אנושית (תשע"ז), באתר האקדמיה ללשון העברית