<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一文讀懂CNN(卷積神經(jīng)網(wǎng)絡(luò))

          共 4372字,需瀏覽 9分鐘

           ·

          2021-05-22 11:44

          全網(wǎng)搜集目標檢測文章,人工篩選最優(yōu)價值知識


          編者薦語
          CNN是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks),是深度學習(deep learning)的代表算法之一 。卷積神經(jīng)網(wǎng)絡(luò)具有表征學習(representation learning)能力,能夠按其階層結(jié)構(gòu)對輸入信息進行平移不變分類(shift-invariant classification),因此也被稱為“平移不變?nèi)斯ど窠?jīng)網(wǎng)絡(luò)(Shift-Invariant Artificial Neural Networks, SIANN)。
          轉(zhuǎn)載自 | 深度學習自然語言處理

          1、對卷積的困惑


          卷積這個概念,很早以前就學過,但是一直沒有搞懂。教科書上通常會給出定義,給出很多性質(zhì),也會用實例和圖形進行解釋,但究竟為什么要這么設(shè)計,這么計算,背后的意義是什么,往往語焉不詳。作為一個學物理出身的人,一個公式倘若倘若給不出結(jié)合實際的直觀的通俗的解釋(也就是背后的“物理”意義),就覺得少了點什么,覺得不是真的懂了。


          教科書上一般定義函數(shù) f, g 的卷積 f * g(n) 如下:


          連續(xù)形式:

          離散形式:


          并且也解釋了,先對g函數(shù)進行翻轉(zhuǎn),相當于在數(shù)軸上把g函數(shù)從右邊褶到左邊去,也就是卷積的“卷”的由來。


          然后再把g函數(shù)平移到n,在這個位置對兩個函數(shù)的對應(yīng)點相乘,然后相加,這個過程是卷積的“積”的過程。


          這個只是從計算的方式上對公式進行了解釋,從數(shù)學上講無可挑剔,但進一步追問,為什么要先翻轉(zhuǎn)再平移,這么設(shè)計有何用意?還是有點費解。


          在知乎,已經(jīng)很多的熱心網(wǎng)友對卷積舉了很多形象的例子進行了解釋,如卷地毯、丟骰子、打耳光、存錢等等。讀完覺得非常生動有趣,但過細想想,還是感覺有些地方還是沒解釋清楚,甚至可能還有瑕疵,或者還可以改進(這些后面我會做一些分析)。


          帶著問題想了兩個晚上,終于覺得有些問題想通了,所以就寫出來跟網(wǎng)友分享,共同學習提高。不對的地方歡迎評論拍磚。。。


          明確一下,這篇文章主要想解釋兩個問題:


          1. 卷積這個名詞是怎么解釋?“卷”是什么意思?“積”又是什么意思?


          2. 卷積背后的意義是什么,該如何解釋?



          2、考慮的應(yīng)用場景


          為了更好地理解這些問題,我們先給出兩個典型的應(yīng)用場景:


          1. 信號分析


          一個輸入信號f(t),經(jīng)過一個線性系統(tǒng)(其特征可以用單位沖擊響應(yīng)函數(shù)g(t)描述)以后,輸出信號應(yīng)該是什么?實際上通過卷積運算就可以得到輸出信號。


          2. 圖像處理


          輸入一幅圖像f(x,y),經(jīng)過特定設(shè)計的卷積核g(x,y)進行卷積處理以后,輸出圖像將會得到模糊,邊緣強化等各種效果。




          3、對卷積的理解



          對卷積這個名詞的理解:所謂兩個函數(shù)的卷積,本質(zhì)上就是先將一個函數(shù)翻轉(zhuǎn),然后進行滑動疊加。


          在連續(xù)情況下,疊加指的是對兩個函數(shù)的乘積求積分,在離散情況下就是加權(quán)求和,為簡單起見就統(tǒng)一稱為疊加。


          整體看來是這么個過程:


          翻轉(zhuǎn)——>滑動——>疊加——>滑動——>疊加——>滑動——>疊加.....


          多次滑動得到的一系列疊加值,構(gòu)成了卷積函數(shù)。


          卷積的“卷”,指的的函數(shù)的翻轉(zhuǎn),從 g(t) 變成 g(-t) 的這個過程;同時,“卷”還有滑動的意味在里面(吸取了網(wǎng)友李文清的建議)。如果把卷積翻譯為“褶積”,那么這個“褶”字就只有翻轉(zhuǎn)的含義了。


          卷積的“積”,指的是積分/加權(quán)求和。


          有些文章只強調(diào)滑動疊加求和,而沒有說函數(shù)的翻轉(zhuǎn),我覺得是不全面的;有的文章對“卷”的理解其實是“積”,我覺得是張冠李戴。


          對卷積的意義的理解:


          1. 從“積”的過程可以看到,我們得到的疊加值,是個全局的概念。以信號分析為例,卷積的結(jié)果是不僅跟當前時刻輸入信號的響應(yīng)值有關(guān),也跟過去所有時刻輸入信號的響應(yīng)都有關(guān)系,考慮了對過去的所有輸入的效果的累積。在圖像處理的中,卷積處理的結(jié)果,其實就是把每個像素周邊的,甚至是整個圖像的像素都考慮進來,對當前像素進行某種加權(quán)處理。所以說,“積”是全局概念,或者說是一種“混合”,把兩個函數(shù)在時間或者空間上進行混合。


          2. 那為什么要進行“卷”?直接相乘不好嗎?我的理解,進行“卷”(翻轉(zhuǎn))的目的其實是施加一種約束,它指定了在“積”的時候以什么為參照。在信號分析的場景,它指定了在哪個特定時間點的前后進行“積”,在空間分析的場景,它指定了在哪個位置的周邊進行累積處理。



          4、舉例說明


          下面舉幾個例子說明為什么要翻轉(zhuǎn),以及疊加求和的意義。


          例1:信號分析


          如下圖所示,輸入信號是 f(t) ,是隨時間變化的。系統(tǒng)響應(yīng)函數(shù)是 g(t) ,圖中的響應(yīng)函數(shù)是隨時間指數(shù)下降的,它的物理意義是說:如果在 t=0 的時刻有一個輸入,那么隨著時間的流逝,這個輸入將不斷衰減。換言之,到了 t=T時刻,原來在 t=0 時刻的輸入f(0)的值將衰減為f(0)g(T)。





          考慮到信號是連續(xù)輸入的,也就是說,每個時刻都有新的信號進來,所以,最終輸出的是所有之前輸入信號的累積效果。如下圖所示,在T=10時刻,輸出結(jié)果跟圖中帶標記的區(qū)域整體有關(guān)。其中,f(10)因為是剛輸入的,所以其輸出結(jié)果應(yīng)該是f(10)g(0),而時刻t=9的輸入f(9),只經(jīng)過了1個時間單位的衰減,所以產(chǎn)生的輸出應(yīng)該是 f(9)g(1),如此類推,即圖中虛線所描述的關(guān)系。這些對應(yīng)點相乘然后累加,就是T=10時刻的輸出信號值,這個結(jié)果也是f和g兩個函數(shù)在T=10時刻的卷積值。





          顯然,上面的對應(yīng)關(guān)系看上去比較難看,是擰著的,所以,我們把g函數(shù)對折一下,變成了g(-t),這樣就好看一些了。看到了嗎?這就是為什么卷積要“卷”,要翻轉(zhuǎn)的原因,這是從它的物理意義中給出的。





          上圖雖然沒有擰著,已經(jīng)順過來了,但看上去還有點錯位,所以再進一步平移T個單位,就是下圖。它就是本文開始給出的卷積定義的一種圖形的表述:





          所以,在以上計算T時刻的卷積時,要維持的約束就是:t+ (T-t) = T  。這種約束的意義,大家可以自己體會。


          例2:丟骰子


          在本問題 如何通俗易懂地解釋卷積?中排名第一的馬同學在中舉了一個很好的例子(下面的一些圖摘自馬同學的文章,在此表示感謝),用丟骰子說明了卷積的應(yīng)用。


          要解決的問題是:有兩枚骰子,把它們都拋出去,兩枚骰子點數(shù)加起來為4的概率是多少?




          分析一下,兩枚骰子點數(shù)加起來為4的情況有三種情況:1+3=4, 2+2=4, 3+1=4


          因此,兩枚骰子點數(shù)加起來為4的概率為:





          寫成卷積的方式就是:



          在這里我想進一步用上面的翻轉(zhuǎn)滑動疊加的邏輯進行解釋。


          首先,因為兩個骰子的點數(shù)和是4,為了滿足這個約束條件,我們還是把函數(shù) g 翻轉(zhuǎn)一下,然后陰影區(qū)域上下對應(yīng)的數(shù)相乘,然后累加,相當于求自變量為4的卷積值,如下圖所示:





          進一步,如此翻轉(zhuǎn)以后,可以方便地進行推廣去求兩個骰子點數(shù)和為 n 時的概率,為f 和 g的卷積 f*g(n),如下圖所示:





          由上圖可以看到,函數(shù) g 的滑動,帶來的是點數(shù)和的增大。這個例子中對f和g的約束條件就是點數(shù)和,它也是卷積函數(shù)的自變量。有興趣還可以算算,如果骰子的每個點數(shù)出現(xiàn)的概率是均等的,那么兩個骰子的點數(shù)和n=7的時候,概率最大。


          例3:圖像處理


          還是引用知乎問題 如何通俗易懂地解釋卷積?中馬同學的例子。圖像可以表示為矩陣形式(下圖摘自馬同學的文章):



          對圖像的處理函數(shù)(如平滑,或者邊緣提取),也可以用一個g矩陣來表示,如:



          注意,我們在處理平面空間的問題,已經(jīng)是二維函數(shù)了,相當于:



          那么函數(shù)f和g的在(u,v)處的卷積該如何計算呢?





          首先我們在原始圖像矩陣中取出(u,v)處的矩陣:



          然后將圖像處理矩陣翻轉(zhuǎn)(這個翻轉(zhuǎn)有點意思,不是延x軸和y軸兩個方向翻轉(zhuǎn),而是沿右上到左下的對角線翻轉(zhuǎn),這是為了湊后面的內(nèi)積公式。),如下:



          可對比下圖:





          計算卷積時,就可以用和的內(nèi)積:





          請注意,以上公式有一個特點,做乘法的兩個對應(yīng)變量a,b的下標之和都是(u,v),其目的是對這種加權(quán)求和進行一種約束。這也是為什么要將矩陣g進行翻轉(zhuǎn)的原因。以上矩陣下標之所以那么寫,并且進行了翻轉(zhuǎn),是為了讓大家更清楚地看到跟卷積的關(guān)系。這樣做的好處是便于推廣,也便于理解其物理意義。實際在計算的時候,都是用翻轉(zhuǎn)以后的矩陣,直接求矩陣內(nèi)積就可以了。

          以上計算的是(u,v)處的卷積,延x軸或者y軸滑動,就可以求出圖像中各個位置的卷積,其輸出結(jié)果是處理以后的圖像(即經(jīng)過平滑、邊緣提取等各種處理的圖像)。


          再深入思考一下,在算圖像卷積的時候,我們是直接在原始圖像矩陣中取了(u,v)處的矩陣,為什么要取這個位置的矩陣,本質(zhì)上其實是為了滿足以上的約束。因為我們要算(u,v)處的卷積,而g矩陣是3x3的矩陣,要滿足下標跟這個3x3矩陣的和是(u,v),只能是取原始圖像中以(u,v)為中心的這個3x3矩陣,即圖中的陰影區(qū)域的矩陣。


          推而廣之,如果如果g矩陣不是3x3,而是6x6,那我們就要在原始圖像中取以(u,v)為中心的6x6矩陣進行計算。由此可見,這種卷積就是把原始圖像中的相鄰像素都考慮進來,進行混合。相鄰的區(qū)域范圍取決于g矩陣的維度,維度越大,涉及的周邊像素越多。而矩陣的設(shè)計,則決定了這種混合輸出的圖像跟原始圖像比,究竟是模糊了,還是更銳利了。


          比如說,如下圖像處理矩陣將使得圖像變得更為平滑,顯得更模糊,因為它聯(lián)合周邊像素進行了平均處理:




          而如下圖像處理矩陣將使得像素值變化明顯的地方更為明顯,強化邊緣,而變化平緩的地方?jīng)]有影響,達到提取邊緣的目的:


          5、對一些解釋的不同意見


          上面一些對卷積的形象解釋,如知乎問題 卷積為什么叫「卷」積?中荊哲以及問題 如何通俗易懂地解釋卷積?中馬同學等人提出的如下比喻:










          其實圖中“卷”的方向,是沿該方向進行積分求和的方向,并無翻轉(zhuǎn)之意。因此,這種解釋,并沒有完整描述卷積的含義,對“卷”的理解值得商榷。


          6、一些參考資料


          《數(shù)字信號處理(第二版)》程乾生,北京大學出版社

          《信號與系統(tǒng)引論》 鄭君里,應(yīng)啟珩,楊為理,高等教育出版社


          ?------------------------------------------------


          雙一流高校研究生團隊創(chuàng)建 ↓

          專注于目標檢測原創(chuàng)并分享相關(guān)知識 ?


          整理不易,點贊三連!

          瀏覽 102
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  我不卡一区二区 | 成人精品秘 久久久按摩下载 | 天天插日日射 | 天堂成人 中文在线 | 五月婷婷六月激情 |