揭開卷積神經網絡的神祕面紗

揭開卷積神經網絡的神秘面紗

卷積神經網絡

歷史簡介

在過去的十年中,計算機視覺領域的進步確實令人驚歎且前所未有。機器現在可以識別視頻中的圖像和幀,精度(98%)超過人類(97%)。這項驚人壯舉背後的機制受到人類大腦功能的啟發。

當時神經科醫生正在對貓進行實驗,因為他們發現圖像的相似部分會導致貓的大腦相似部分變得活躍。換句話說,當一隻貓看著圓圈時,它的大腦就會激活α區域。當它看到方形時,β區域在大腦中被激活。他們的發現得出結論,動物的大腦包含一個神經元區域,它對圖像的特定特徵做出反應,即它們通過大腦中神經元的分層結構來感知環境。並且每個圖像在進入大腦之前都會通過某種特徵提取器。

受到大腦功能的啟發,數學家們囤積起來創建了一個系統來模擬不同的神經元群體,這些神經元會針對圖像的不同方面進行射擊,並相互通信以形成更大的圖像。

特徵提取器

他們將一組神經元被激活,具有特定輸入,實現了多維矩陣的數學概念,表示探測器的特定特徵集(也稱為濾波器內核)。每個這樣的濾波器將用於檢測圖像中特定的東西,例如用於檢測邊緣的濾波器。然後,這些學到的特徵將通過另一組過濾器,用於檢測更高級別的特徵,即眼睛,鼻子等。

揭開卷積神經網絡的神秘面紗

使用拉普拉斯濾波器對圖像進行卷積以檢測邊緣

在數學上,我們將在給定輸入圖像(表示為像素強度矩陣)和濾波器之間執行卷積運算以產生所謂的特徵映射。此要素圖將用作另一層過濾器的輸入。

為什麼卷積?

卷積是一個過程,網絡試圖通過參考過去學到的內容來標記輸入信號。如果輸入信號看起來像之前看到的先前貓圖像,則"貓"參考信號將與輸入信號進行卷積或混合。然後將得到的輸出信號傳遞到下一層(這裡,輸入信號是RGB像素強度方面的輸入圖像的3-D表示,而"cat"參考信號是用於識別貓的內核學習)。

揭開卷積神經網絡的神秘面紗

圖像和濾波器的卷積運算。

卷積運算的一個很好的特性是它是跨國不變的。這意味著每個卷積濾波器代表特定的特徵集,例如眼睛,耳朵等,並且CNN算法擅長於學習哪個特徵集包括所得到的參考例如貓。輸出信號強度不依賴於特徵所在的位置,而僅取決於特徵是否存在。因此,貓可能坐在不同的位置,CNN算法仍然能夠識別它。

通過跟蹤大腦生物功能所規定的軌跡,他們能夠設置特徵提取所需的數學設備。然而,在瞭解了他們需要分析的級別和特徵的總數以便跟蹤複雜的幾何形狀之後,他們意識到他們將缺乏內存來保存所有這些數據。即使處理所有這些所需的計算能力也會隨著特徵的數量呈指數級增長。不久,他們想出了一種稱為彙集技術來解決這個問題。它的核心思想非常簡單。

如果某個區域包含強烈表達的要素,我們可以避免在該區域中搜索其他要素。

揭開卷積神經網絡的神秘面紗

演示最大池

這種池化操作除了節省額外的內存和計算能力要求外,還有助於消除圖像中的噪聲。

完全連接的層

到目前為止一切都那麼好,但如果網絡最終只能檢測到圖像中的一組特徵,那麼網絡將會有什麼用處。我們需要一種方法讓網絡能夠將給定圖像分類為一組類別。這是傳統神經網絡設置可以使用的地方。特別是,我們可以擁有一個完全連接的圖層,從早​​期圖層檢測到的要素圖到我們用於分類的標籤數量。最後一層將最終為輸出類別中的每個類分配概率。基於這些輸出概率,我們最終可以將圖像分類為輸出類別之一。

揭開卷積神經網絡的神秘面紗

完全連接的層

最終架構

唯一剩下的就是將所有這些學到的概念組合成一個我們稱之為卷積神經網絡又稱CNN的框架。本質上,CNN由一系列卷積層組成,可選地與池化層組合以生成特徵圖,然後將其饋送到一堆完全連接的層以產生類概率。反向傳播輸出的錯誤,我們將能夠訓練此設置以生成準確的結果。

現在,正確地闡述了功能性觀點,讓我們稍微深入瞭解CNN的運營方面。

卷積神經網絡

揭開卷積神經網絡的神秘面紗

卷積層

卷積層是CNN的主要構建塊。每個這樣的層由一組獨立的濾波器組成,每個濾波器在給定圖像中尋找不同的特徵集。

揭開卷積神經網絡的神秘面紗

卷積運算

在數學上,我們採用固定大小的過濾器並將其滑過整個圖像,沿著過濾器和輸入圖像塊之間的點積。此點積的結果將是一個標量,該標量將進入結果特徵映射。然後,我們將過濾器向右滑動並執行相同的操作,同時將該結果添加到要素圖中。在使用濾鏡對完整圖像進行卷積之後,我們最終得到一個表示不同特徵集的特徵圖,該特徵圖再次用作其他圖層的輸入。

跨越式發展

過濾器移動的量是步幅。在上圖中,我們將滑動濾波器的係數設為1.這可能不是我們總是需要的。使用大於1的步幅背後的直覺是相鄰像素強相關(特別是在最低層),因此通過應用適當的步幅來減小輸出的大小是有意義的。然而,大幅度的步伐可能導致高信息損失。因此,在選擇步幅時我們必須小心。

揭開卷積神經網絡的神秘面紗

步幅為2的示例

填充

揭開卷積神經網絡的神秘面紗

填充一層

步幅的一個不良影響是隨著我們一遍又一遍地執行卷積,特徵圖的大小隨後減小。這可能不是一個理想的含義,因為這裡的收縮也意味著信息丟失。要了解為什麼會出現這種情況,請注意過濾器應用於中間單元格和角落單元格的次數差異。很明顯,中間細胞的信息比邊緣的細胞更重要,沒有特別的原因。為了保留早期圖層中的有用信息,我們可以用零層包圍給定矩陣。

參數共享

當我們已經有一個很好的深度神經網絡設置時為什麼CNN。有趣的是,如果我們使用深度神經網絡進行圖像分類,每層的參數數量將是CNN的數千倍。

揭開卷積神經網絡的神秘面紗

CNN中的參數共享


分享到:


相關文章: