卷積神經網絡理解(一):濾波器的意義

2020-12-05 人工智慧遇見磐創

作者 | 荔枝boy

出品 | 磐創AI技術團隊

一. 卷積神經網絡的發展

二. 卷積神經網絡的重要性

三. 卷積神經網絡與圖像識別

四. 濾波器

一.卷積神經網絡的發展

卷積神經網絡受到視覺細胞研究的啟發,1962年,Hubel和Wiesel發現初級視覺皮層中的神經元會響應視覺環境中特定的簡單特徵(比如有向的邊等)。同時,他們注意到了兩種不同類型的細胞,簡單細胞和複雜細胞,簡單細胞只對非常特定的空間位置,對它們非常偏好的方向有強烈的反應,複雜細胞有更大的空間不變性,複雜細胞通過幾個簡單細胞(每個簡單細胞存在不同方向的偏好)的輸入上進行池化而實現這種不變性。這兩個特徵即對特定特徵的選擇和通過前饋連接增大空間不變性構成了卷積神經網絡的人工視覺基礎。

計算機視覺領域中有一個比賽叫做ImageNet挑戰賽,相當於計算機視覺的年度諾貝爾。2012年,Alex Krizhevsky憑藉卷積神經網絡獲得那一年的冠軍,他把圖片分類誤差從原來的26%降低到15%,這在計算機視覺領域引起了不小的轟動。並讓卷積神經網絡在如今計算機視覺領域中佔據著很重要的一部分。

二.卷積神經網絡的重要性

1.局部連接

在第三章中,我們介紹前饋神經網絡的時候,相鄰的兩層之間,前一層的每一個神經元(或輸入層的每一個單元)與後一層的每一個神經元都有連接,這種情況稱為全連接。全連接網絡的一個缺點就是參數太多,假設我們輸入到神經網絡中的是一張三通道的彩色圖像,圖像大小為128*128,因此輸入層有128*128*3=49150個單元。使用全連接網絡的話,第一個隱藏層的每一個神經元到輸入層都有49150個連接,隨著網絡層數的增加和每層中神經元數量的增加,網絡中的參數也會急劇增加。大量的參數不僅會拉低神經網絡訓練的效率,也很容易導致過擬合。

在卷積神經網絡中,層與層之間不再是全連接,而是局部連接,具體的實現方法,就是我們在下一節中會介紹的卷積操作。

卷積神經網絡屬於局部連接網絡,是基於深刻研究自然圖像而提出來的。自然圖像存在局部區域穩定的屬性,其某一局部區域的統計特徵相對於圖像其他相鄰局部區域具有相似性。因此,神經網絡從自然圖像中學習到的某一局部區域特徵同樣適合於圖像的其他相鄰局部區域。

2.權值共享

卷積神經網絡中的卷積層中會有很多的濾波器,這些濾波器會去識別圖像的特定的某些特徵,每個濾波器會去滑動卷積上一層的特徵圖,在卷積的過程中濾波器的參數是不變且共享的。這樣在訓練過程中,與之前的全連接神經網絡訓練大尺度輸入樣本時需要大量參數相比,卷積神經網絡只需要很少的參數就可以完成訓練。(CNN圖像的平移不變性)

3.子採樣

子採樣層(subsampling layer)也叫做匯聚層(pooling layer), 對上一卷積層層進行聚合,使得上一層卷積層的輸入特徵圖尺寸在經過該子採樣層的聚合也就是我們說的池化後減小了。子採樣層所做的事其實就是對上一層卷積層進行掃描,每次掃描特定區域,然後一般計算該區域特徵的最大值或者平均值,放入子採樣層的窗口中。

三.卷積神經網絡與圖像識別

計算機視覺領域中很多的問題是處理圖像識別即圖像分類。圖像分類是對於輸入的圖像進行操作後,最終輸出一組描述圖像分類的概率。當計算機看到一張圖片時,在它的理解中,這張圖片是一個大小M*N*3的像素矩陣(3指的是RGB的值),其中像素矩陣中每個像素的值在0到255之間。對於計算機來說,在給定計算機這個像素矩陣作為輸入後,計算機要輸出能夠描述出該圖像屬於各種類別的概率(eg:[狗:80%,貓10%,兔子10%])

當人分析了一幅圖像時,首先會看這個物體有哪些局部的特徵,比如如果圖片是一條狗,我們在看這幅圖像時,在看到諸如鼻子或四條腿等明顯特徵後,我們會把它歸類為狗。卷積神經網絡和人的視覺細胞工作原理類似,卷積神經網絡也是一開始通過尋找這幅圖片的邊緣或者曲線等低級特徵來分類圖片,然後再通過一系列卷積層將這些低級的特徵匯聚成更加高級的特徵,同時這些高級的特徵由多個低級特徵卷積構成,則高級特徵能覆蓋原始圖片更多的信息。這樣卷積神經網絡在處理一些經過平移變換的圖像識別時,具有檢測平移不變性的能力。更加增強了卷積神經網絡在圖像識別的能力。

四.濾波器

在講解CNN之前,我們先討論下濾波器。

濾波器是一個矩陣,大小為m*n它是用來檢測圖像中特定的特徵的,不同的濾波器有不同的參數。

我們知道圖像在計算機中的數位訊號其實是M*N*3大小的矩陣,假設我們只考慮圖像的灰度,不考慮RGB,那麼圖像的大小為M*N。某一個濾波器對圖像進行濾波時,就是將濾波器分別與圖像的同大小區域進行點乘,每次濾波器依次從左往右從上往下滑過該圖像所有的區域,讓該濾波器對圖像的某一個與濾波器尺寸同大小的圖像區域(m*n)進行點乘,點乘後各個乘積求和得到新的過濾後的圖像,這種圖像某一部分與濾波器點乘後求和操作就是以後的卷積神經網絡中的卷積操作,這樣就得到了經過濾波器過濾後的圖像。

不同的濾波器可以檢測圖像的不同特徵,舉個例子,假設現在我有一個濾波器用來檢測特定弧度,大小為7*7。

圖 一

現在我有一個老鼠的圖像(只考慮灰度,所以只有一層),現在我們用該濾波器對這隻老鼠的圖像進行過濾,依次將過濾器滑過原始圖像的某一個區域,並與該區域原始像素值進行點乘。現在假設我們將濾波器滑到了老鼠圖像的左上角,如圖二所示:

圖二

過濾器會與該原始圖像對應區域進行點乘後求和,如圖三所示:

圖三

我們發現,該區域本身存在一個弧度,且彎曲程度和過濾器的彎曲程度很相似,所以圖像的該區域像素與過濾器矩陣點乘求和後得到的數值很高。

我們繼續將過濾器移動到另外一個地方,靠近老鼠耳朵的地方,這時候我們發現該老鼠耳朵區域與該濾波器用來檢測的弧度很不相似,我們看看將用濾波器過濾該區域會發生什麼,如圖四所示:

圖四

我們發現,檢測弧度的濾波器在與老鼠耳朵這個區域的像素進行點乘後求和所得到的值為0。也就是說該區域與濾波器沒有對應關係。

我們對整個原圖進行一次卷積,得到的結果中,在那個特定曲線和周邊區域,值就很高,在其他區域,值相對低。這就是一張激活圖。對應的高值區域就是我們所要檢測曲線的位置

所以我們發現濾波器過濾圖像時,會與圖像每個等大的區域進行點乘,如果圖像的某一區域與過濾器檢測的特徵很相似,那麼當過濾器經過該區域時,就會激活該過濾器,得到一個很高的值,反之,如果圖像的某一區域與過濾器檢測的特徵很不相似時,就不會激活該過濾器或者得到的數值很低。

由此我們發現,圖像的過濾器在對整個圖像滑動過濾時,每經過圖像一個區域得到的值越高,則該區域與濾波器檢測的特定特徵相關度越高。這裡與視覺細胞的工作原理很類似,簡單的細胞對特定方向具有強烈感應,對不是它們偏好的方向沒有什麼反應。這裡的濾波器其實就充當了視覺細胞中簡單細胞的角色。

一些檢測特定特徵的濾波器很容易想到,比如水平濾波器,垂直濾波器等。

但是我們能直觀想到濾波器畢竟數量有限,而CNN可以自動學習濾波器,調整濾波器裡的參數,用CNN自學習濾波器,讓計算機自己去理解這圖像所需的濾波器來檢測特徵,這對圖像的特徵分析是非常有用高效的。

相關焦點

  • 一文讀懂卷積神經網絡工作原理
    濾波器跟卷積神經網絡有什麼關係呢。在訓練卷積審計網絡(CNN)的某一個卷積層時,我們實際上是在訓練一系列的濾波器(filter)。比如,對於一個32x32x3(寬32像素x高32像素xRGB三通道)的圖像,如果我們在CNN的第一個卷積層定義訓練12個濾波器,那就這一層的輸出便是32X32X12.按照不同的任務,我們可以對這個輸出做進一步的處理,這包括激活函數,池化,全連接等。
  • 卷積神經網絡的卷積到底是什麼
    卷積神經網絡是一種特殊的神經網絡結構,是自動駕駛汽車、人臉識別系統等計算機視覺應用的基礎,其中基本的矩陣乘法運算被卷積運算取代。 歷史 卷積神經網絡最初是由福島核電站在1980年引入的,當時名為Neocognitron。
  • 反思卷積神經網絡:圖像角度泛化上的困難重重
    卷積神經網絡特別容易產生"對抗性"輸入,或對輸入進行小改動,而這些改動會有意或無意地幹擾神經網絡正常工作。 就在今年,網絡安全公司McAfee發現,只要將一條兩英寸寬的黑色膠帶貼到限速標誌上,Mobileye(特斯拉以及其他汽車製造商都在使用的汽車智能系統)就會失控並以50英裡每小時的速度加速並超過限速。
  • 給你一個卷積神經網絡工作原理最直觀的解釋
    因此這個核也被稱為濾波器,整個操作過程按照概念稱為卷積。擴展來講,對二維圖像的濾波操作可以寫成卷積,比如常見的高斯濾波、拉普拉斯濾波(算子)等。濾波器跟卷積神經網絡有什麼關係呢。不如我們預想一個識別問題:我們要識別圖像中的某種特定曲線,也就是說,這個濾波器要對這種曲線有很高的輸出,對其他形狀則輸出很低,這也就像是神經元的激活。
  • CNN卷積神經網絡(超詳解析)
    1、神經網絡首先了解神經網絡,大家移步這倆篇博客,一篇為純理論,一篇為實戰加理論。機器學習之神經網絡學習及其模型入門講解:使用numpy實現簡單的神經網絡(BP算法)2、卷積神經網絡之層級結構cs231n課程裡給出了卷積神經網絡各個層級結構,如下圖上圖中CNN要做的事情是:給定一張圖片,是車還是馬未知,是什麼車也未知,現在需要模型判斷這張圖片裡具體是一個什麼東西,總之輸出一個結果:如果是車那是什麼車所以最左邊是數據輸入層
  • 深入理解卷積網絡的卷積
    卷積神經網絡是一種特殊的神經網絡結構,是自動駕駛汽車、人臉識別系統等計算機視覺應用的基礎,其中基本的矩陣乘法運算被卷積運算取代。它們專門處理具有網格狀拓撲結構的數據。例如,時間序列數據和圖像數據可以看作是一個二維像素網格。
  • 使用TensorFlow構建卷積神經網絡CNN
    卷積神經網絡(CNN)是計算機視覺應用背後的架構。本文將闡述CNN和計算機視覺的基礎,例如卷積運算,填充,跨步卷積和池化層。然後,我們將使用TensorFlow構建用於圖像識別的CNN。理解卷積該卷積運算是卷積神經網絡的積木。現在,在計算機視覺領域,圖像可以表示為RGB值的矩陣。這個概念實際上是在之前的文章中介紹。要完成卷積操作,我們需要一個圖像和一個過濾器。
  • 卷積神經網絡(CNN)介紹與實踐
    視覺通路。- 來源:http://cs231n.github.io/classification/為了「教會」一種算法如何識別圖像中的對象,我們使用特定類型的人工神經網絡:卷積神經網絡(CNN)。他們的名字源於網絡中最重要的一個操作:卷積。卷積神經網絡受到大腦的啟發。
  • 卷積神經網絡(CNN)新手指南
    以類似的方式計算機能夠進行圖像分類任務,通過尋找低層次的特徵如邊緣和曲線,然後運用一系列的卷積層建立一個更抽象的概念。這是卷積神經網絡應用的一個總體概述,接下來我們來探討下細節。生物聯繫首先要稍微普及下一點背景知識,當你第一次聽到卷積神經網絡這個詞時,你也許會想這是是不與神經科學或者生物學有關?恭喜你,猜對了一部分。卷
  • 卷積神經網絡超詳細總結
    卷積神經網絡的低隱層是由卷積層和最大池採樣層交替組成,高層是全連接層對應傳統多層感知器的隱含層和邏輯回歸分類器。第一個全連接層的輸入是由卷積層和子採樣層進行特徵提取得到的特徵圖像。最後一層輸出層是一個分類器,可以採用邏輯回歸,Softmax回歸甚至是支持向量機對輸入圖像進行分類。卷積神經網絡結構包括:卷積層,降採樣層,全連結層。
  • 淺析人工智慧的卷積神經網絡與圖像處理
    淺析人工智慧的卷積神經網絡與圖像處理 demi 發表於 2019-11-02 11:23:43 在人工智慧深度學習技術中,有一個很重要的概念就是卷積神經網絡 CNN(Convolutional Neural
  • 應用豐富的「卷積神經網絡」技術,怎樣實現了圖像識別?
    解決這一問題的方法之一是利用神經網絡。理論上,我們可以利用卷積神經網絡來分析圖像;但實際上從計算的角度來看,這樣做的成本非常高。舉例來說,即使是一個處理一張很小的圖像(假設是30*30像素)的卷積神經網絡,仍需要五十萬的參數和900個輸入。
  • 卷積神經網絡中的參數共享/權重複制
    但是了解這個簡單的概念有助於更廣泛地理解卷積神經網絡的內部。卷積神經網絡(cnn)能夠使那些通過網絡饋送的圖像在進行仿射變換時具有不變性。 這個特點提供了識別偏移圖案、識別傾斜或輕微扭曲的圖像的能力。仿射不變性的這些特徵是由於CNN架構的三個主要屬性而引入的。
  • 卷積神經網絡數學原理解析
    事實上,我們每天都在使用計算機視覺——當我們用面部解鎖手機或在社交媒體上發照片前使用自動修圖。卷積神經網絡可能是這一巨大成功背後最關鍵的構建模塊。這一次,我們將加深理解神經網絡如何工作於CNNs。出於建議,這篇文章將包括相當複雜的數學方程,如果你不習慣線性代數和微分,請不要氣餒。我的目標不是讓你們記住這些公式,而是讓你們對下面發生的事情有一個直觀的認識。
  • 圖像識別技術——卷積神經網絡CNN詳解
    前言卷積神經網絡不同於神經網絡,在圖片處理這方面有更好的表現。本文主要對神經網絡和卷積神經網絡做了簡要的對比,著重介紹了卷積神經網絡的層次基礎,同時也簡要介紹了卷積神經網絡參數更新方式和其優缺點,並結合具體實例對卷積神經網絡的工作方式做了介紹。
  • 深度學習入門:淺析卷積神經網絡
    我們觀察這幾類圖片,發現它們長得確實很像,因此邏輯回歸的錯判也是可以理解的。卷積神經網絡概述在了解卷積神經網絡之前,我們先簡單了解最基本的神經網絡。卷積層和全連接層中的參數會通過梯度下降被訓練,這樣卷積神經網絡計算出的分類評分就能和訓練集中的每個圖像的標籤逐漸相符了。1. 卷積層與卷積計算卷積層是構建卷積神經網絡的核心層,它佔據了網絡中大部分的計算。在處理圖像這樣的高維度輸入時,讓每個神經元都與前一層中的所有神經元進行全連接是不現實的。
  • 10分鐘弄懂深度學習4:分類模型與卷積神經網絡的千絲萬縷
    首先介紹一個高大尚的名詞,卷積神經網絡 (Convolutional Neural Network)。2016 年,著名的阿爾法狗戰勝李世石,也讓大眾記住了一個名詞——卷積神經網絡。一時間,卷積神經網絡在計算機視覺、自然語言處理、醫學圖像處理等領域內可算得上是風頭無兩,一枝獨秀。
  • MSRA視頻理解新突破,實現199層三維卷積神經網絡
    (Pseudo-3D Convolution)的深度神經網絡的設計思路,並實現了迄今為止最深的 199 層三維卷積神經網絡。通通過該網絡學習到的視頻表達,在多個不同的視頻理解任務上取得了穩定的性能提升。1993 年 9 月,一款名為 NCSA Mosaic 的瀏覽器正式支持在網頁內嵌入圖片,這標誌著網際網路從純文本時代邁入了「無圖無真相」的多媒體時代。如今,隨著網際網路帶寬的提升和高速行動裝置的普及,信息的獲取途徑和傳播途徑也在與日增加,視頻逐漸成為網際網路多媒體消費的重要組成部分。
  • PyTorch可視化理解卷積神經網絡
    如今,機器已經能夠在理解、識別圖像中的特徵和對象等領域實現99%級別的準確率。生活中,我們每天都會運用到這一點,比如,智慧型手機拍照的時候能夠識別臉部、在類似於谷歌搜圖中搜索特定照片、從條形碼掃描文本或掃描書籍等。造就機器能夠獲得在這些視覺方面取得優異性能可能是源於一種特定類型的神經網絡——卷積神經網絡(CNN)。
  • 「範例卷積神經網絡」和信息最大化
    在文章中,我提到了解讀這一方法的另一個角度——信息最大化,即尋找有限熵數據的非線性表徵,同時最大程度地保留輸入的信息。在那篇文章中,我簡單地提了一下「Exemplar-CNNs」的方法。這一方法也能被理解為「卷積神經網絡範例」。