1. 程式人生 > >對卷積的通俗理解

對卷積的通俗理解

作者:沉默中的思索
連結:https://www.zhihu.com/question/22298352/answer/219141654
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
 

假設現在有一個序列:

現在要對這個序列進行變換,將這個序列的每個元素和它相鄰的兩個元素做平均得到新序列上對應的值,比如4對應到新序列上的值就是 (5+4+2)/3 ,2對應到新序列上的值就是 (4+2+3)/3 ,依次類推就得到一個新序列,這個過程其實就是移動平均。

上面的變換也可以看成用一個長度為3,每個元素為1/3的小窗,在初始的序列上不斷移動並對應相乘再相加的過程。

 

但是有的人可能覺得這個過程不太完美,認為轉換的過程中使用移動平均不能完美的表達上述轉換。因為轉換的過程中中間的那個元素對新序列上的值權重比較大,他的兩個鄰居權重應該小點。這時候我們修改那個長度為3的小視窗,將其變成下面的樣子:

 

但是每個小框權重是多少我們不好確定,乾脆不如直接將其表示成函式得了,也不糾結它是多少了,於是就有了下面的函式:

F(i)i=-1,0,1

假設我們的序列也是一個函式: I(x) ,則上述變換過程就可以變成數學公式:

對於序列 I 上的任意元素 x的變換過程都可以表示成: F\circ{I(x)}=\sum_{i=-1}^{1}F(i)I(x+i)

其實這就是cross—correlation的定義式,跟卷積已經差不多了。如果我們每次在上述轉換前先將小框倒置一下再去對應相乘再相加,也就是說將1/6,1/2,1/3的小框先變成1/3,1/2,1/6再去做變換我們就會得到卷積的公式 F\ast{I(x)}=\sum_{i=-1}^{1}F(i)I(x-i)

上面是離散的情況下卷積的公式,如果我們的小框長度不是3而是無限長,而且小框裡的元素都是連續的,這時候我們就得到真正意義上的卷積公式:

F\ast{I(x)}=\int_{-\infty}^{+\infty}F(i)I(x-i)di

對於二維情況下的卷積同理。

 

從訊號的角度理解:也可以這麼理解,對於一個訊號,你要計算t=4時刻其影響,但是t=0,1,2,3時刻的影響也對t=4有影響,只是在t=4時,它們的影響已經比較小了,所以也要考慮它們的影響不過要把它們的影響賦予一個小的權重