形象理解卷積(卷積運算為何要翻轉)

2021-06-16 17:05:27 字數 621 閱讀 1650

在卷積的定義中

我知道問乙個概念的定義就好像問「媽媽」為什麼要叫「媽媽」一樣。但我始終覺得這樣的定義有些彆扭。想知道這樣做背後的意義。

兩個函式,翻轉其中乙個,再滑動求積分,叫卷積(convultion);不翻轉就滑動求積分,叫做互相關(cross-correlation)。如果其中之一是偶函式,那麼卷積和互相關效果相同。從定義上看,翻轉這個操作就是一步操作而已,具體的物理意義只能在應用中找到。

最直觀的理解就是:卷積是

拉鍊操作

。請想象一條拉鍊:把它底端固定在一起,上邊左右完全拉開,扯直,使得固定端處於中心,那麼左邊這半條的頂端,相對於右邊半條來說完全相反。而當你保持其中一邊不動,把拉鍊拉起來的操作,會使得另一邊翻轉過來(當然拉鍊其實是旋轉),也就是乘了 -1。

以訊號處理為例,卷積意味著把輸入訊號在時間軸上翻轉,然後跟訊號處理系統的描述方程(衝激響應)疊加積分。為什麼要翻轉?因為這樣才符合現實:輸入訊號的 0 秒先跟衝激響應的 0 秒疊加,然後輸入訊號的 1 秒和衝激響應的 1 秒疊加,以此類推。當你把這兩個函式分別畫出來上下並列的時候,它們就好象合併的拉鍊,0 點處在同一側,而卷積實際上是要把它們畫在同乙個軸上滑動,同時卻必須保證輸入訊號的 0 點先遇到衝激響應函式的 0 點——怎麼辦呢?就好像拉鍊被拉開了:翻轉一下。

對卷積公式的形象理解

被棒打了會覺得疼,一直被打一直疼。我們假設h t h t h t 代表乙個人 比如bob 在受到單位衝擊函式 t delta t t 之後的衝擊響應。則這個衝擊響應可以認為是在單位力衝擊的作用下,bob感受到的疼痛度隨時間的變化關係。我們可以假設bob的疼痛值 假設用x xx表示 等於疼痛度與當時力...

卷積運算 卷積類

softmax 將實數值轉換為概率值 使用keras介面如何操作 import 匯入模組,每次使用模組中的函式都要是定是哪個模組。from import 匯入模組,每次使用模組中的函式,直接使用函式就可以了 注因為已經知道該函式是那個模組中的了。import tensorflow as tf fro...

快速卷積運算 分塊卷積運算

對於實時系統來說,如果兩個較長的序列做卷積運算,等待資料準備好需要較長的時間,會增加系統的處理時延。並且卷積運算的計算複雜度與序列的長度為正相關。因此,我們考慮將長序列分割為若干個短序列,將長序列的卷積運算轉換為短序列之間的運算。一般會有如下兩種情況 1 對於兩個序列 並且 可以將序列 fori 0...