訊號處理中的乙個重要運算是卷積.初學卷積的時候,往往是在連續的情形,
兩個函式f(x),g(x)的卷積,是∫f(u)g(x-u)du
當然,證明卷積的一些性質並不困難,比如交換,結合等等,但是對於卷積運算的來處,初學者就不甚了了。
其實,從離散的情形看卷積,或許更加清楚,
對於兩個序列f[n],g[n],一般可以將其卷積定義為s[x]= ∑f[k]g[x-k]
卷積的乙個典型例子,其實就是初中就學過的多項式相乘的運算,
比如(x*x+3*x+2)(2*x+5)
一般計算順序是這樣,
(x*x+3*x+2)(2*x+5)
= (x*x+3*x+2)*2*x+(x*x+3*x+2)*5
= 2*x*x*x+3*2*x*x+2*2*x+ 5*x*x+3*5*x+10
然後合併同類項的係數,
2 x*x*x
3*2+1*5 x*x
2*2+3*5 x
2*5----------
2*x*x*x+11*x*x+19*x+10
實際上,從線性代數可以知道,多項式構成乙個向量空間,其基底可選為
如此,則任何多項式均可與無窮維空間中的乙個座標向量相對應,
如,(x*x+3*x+2)對應於
(1 3 2),
(2*x+5)對應於
(2,5).
但如果按照我們上面對向量卷積的定義來處理座標向量,
(1 3 2)*(2 5)
則有2 3 1
_ _ 2 5
--------
22 3 1
_ 2 5
-----
6+5=11
2 3 1
2 5-----
4+15 =19
_ 2 3 1
2 5-------
10或者說,
(1 3 2)*(2 5)=(2 11 19 10)
回到多項式的表示上來,
(x*x+3*x+2)(2*x+5)= 2*x*x*x+11*x*x+19*x+10
似乎很神奇,結果跟我們用傳統辦法得到的是完全一樣的.
換句話,多項式相乘,相當於係數向量的卷積.
其實,琢磨一下,道理也很簡單,
卷積運算實際上是分別求 x*x*x ,x*x,x,1的係數,也就是說,他把加法和求和雜合在一起做了。(傳統的辦法是先做乘法,然後在合併同類項的時候才作加法)
以x*x的係數為例,得到x*x,或者是用x*x乘5,或者是用3x乘2x,也就是
2 3 1
_ 2 5
-----
6+5=11
其實,這正是向量的內積.如此則,卷積運算,可以看作是一串內積運算.既然是一串內積運算,則我們可以試圖用矩陣表示上述過程。
[ 2 3 1 0 0 0]
[ 0 2 3 1 0 0]==a
[ 0 0 2 3 1 0]
[ 0 0 0 2 3 1]
[0 0 2 5 0 0]' == x
b= ax=[ 2 11 19 10]'
採用行的觀點看ax,則b的每行都是乙個內積。
a的每一行都是序列[2 3 1]的乙個移動位置。
---------
顯然,在這個特定的背景下,我們知道,卷積滿**換,結合等定律,因為,眾所周知的,多項式的乘法滿**換律,結合律.在一般情形下,其實也成立.
在這裡,我們發現多項式,除了構成特定的線性空間外,基與基之間還存在某種特殊的聯絡,正是這種聯絡,給予多項式空間以特殊的性質.
在學向量的時候,一般都會舉這個例子,甲有三個蘋果,5個橘子,乙有5個蘋果,三個橘子,則共有幾個蘋果,橘子。老師反覆告誡,橘子就是橘子,蘋果就是蘋果,可不能混在一起。所以有(3,5)+(5,3)=(8,8).是的,橘子和蘋果無論怎麼加,都不會出什麼問題的,但是,如果考慮橘子乘橘子,或者橘子乘蘋果,這問題就不大容易說清了。
卷積的理解
卷積,看著好煩人的東西啊。直接上來公式 好氣啊,什麼意思啊,一頭霧水。換種方式。假設你挨一拳f t 而這一拳的響應為h t 這樣後果疼痛就是fh。這很合理。你想啊,你一秒鐘挨一拳,那麼最新的一拳和舊的一拳都有疼痛的後果。這個痛是有多痛呢?你現在的拳,和之前拳的殘留。這樣求總痛怎麼求呢?依此疊加。注意...
卷積的理解
最近大火人工智慧,深度學習,各種提到卷積神經網路。不搞懂卷積,好像學習不下去了。於是就去看各種文章,以下是三篇解釋的比較不錯的,附上鏈結。我對卷積的理解 最容易理解的對卷積 convolution 的解釋 理解深度學習中的卷積 這裡做一下總結吧。離散的卷積公式 g n i f i h n i g n...
卷積的理解
卷積的理解 1.卷積的定義 對這個表示式,積分變數是 f 是輸入函式,g x 是系統響應。設橫座標取x是某個點,其表示的實際含義是求x左邊無窮距離到x右邊無窮距離輸入函式乘以對應權重的積分。離散化形式 相當於對連續函式取乙個個離散的點。例子 試想小明有一段時間每天都要去輸液,輸的藥會在身體裡殘留直至...