您好,登錄后才能下訂單哦!
簡史
卷積神經(jīng)網(wǎng)絡
在過去的十年里,計算機視覺領域取得的進步是前所未有的。機器現(xiàn)在可以識別視頻中的圖像或某一幀,準確率(98%)超過人類(97%)。之所以有這么大的突破,就是得益于對人腦的研究。
當時,神經(jīng)學家正在對貓進行實驗,他們發(fā)現(xiàn)圖像中相似的部分會導致貓大腦中相似的部分變得活躍。換句話說,當一只貓看著圓圈時,大腦中的α就被激活了。當它觀察正方形時,大腦中的β區(qū)被激活。他們的發(fā)現(xiàn)得出結論,動物的大腦包含一個神經(jīng)元區(qū),該區(qū)域對圖像的特定特征作出反應,即它們通過大腦中神經(jīng)元的分層結構來感知環(huán)境。每一幅圖像在深入大腦之前都要經(jīng)過某種特征提取器。
受大腦功能的啟發(fā),數(shù)學家們聚集在一起,創(chuàng)建一個系統(tǒng)來模擬不同神經(jīng)元群對不同圖像的感知,并相互交流以形成更大的圖像。
特征提取器
他們將神經(jīng)元群被激活的想法具體化為多維矩陣表示特定特征集的檢測器的數(shù)學概念,并提供了特定的輸入。其中,代表特定特征的探測器,又被稱為濾波器或核。每一個這樣的濾波器都將用于檢測圖像中特定的東西,例如用于檢測邊緣的濾波器。這些學習到的特性將通過另一組過濾器被傳遞,這些過濾器被設計用來檢測更高級別的特性,例如眼睛、鼻子等。
用Laplacian濾波器卷積圖像檢測邊緣
從數(shù)學上講,我們將對給定的輸入圖像(以像素強度矩陣表示)和濾波器進行卷積運算,生成所謂的特征圖。這個特征映射將作為另一層過濾器的輸入。
為什么是卷積?
卷積是一個網(wǎng)絡試圖通過參考過去所學的內(nèi)容來標記輸入信號的過程。如果輸入信號與之前看到的貓的圖像類似,那么"貓"作為參考信號將與輸入信號進行卷積或混合。然后將輸出信號傳遞到下一層(這里,輸入信號是以RGB像素強度表示輸入圖像的三維表示,而"貓"作為參考信號是識別貓類的核心)。
圖像與濾波器的卷積運算
卷積運算的一個很好的性質是它不會輕易發(fā)生改變。這意味著每個卷積濾波器都代表了特定的特征集。例如眼睛,耳朵等。CNN算法對特征集的學習構成的參考結果,例如貓。需要補充的是,輸出信號的強度并不取決于特征的位置,而僅僅取決于特征是否存在。因此,貓可以坐在不同的位置,而CNN算法仍然能夠識別它。
池
通過追蹤大腦的生物功能所形成的軌跡,我們能夠建立出特征提取所需的數(shù)學儀器。然而,在了解到要跟蹤的幾何形狀復雜性,以及需要分析的層次和特征的總數(shù)之后,我們會意識到我們沒有足夠的內(nèi)存來保存所有的數(shù)據(jù)。即使是處理這一切所需的計算能力也會隨著特性的數(shù)量呈指數(shù)級增長。很快,我們就不得不求助于一種被稱為"池"的技術來解決當前我們的困境。它的核心思想很簡單。
如果一個區(qū)域包含一個極具代表性的特性,我們可以避免在該區(qū)域中搜索其他特性。
最大池的演示
這樣做,除了節(jié)省不必要的內(nèi)存并節(jié)省計算能力外,還有助于消除圖像中的噪聲。
全連接層
到目前為止我們做的還不錯,但是如果網(wǎng)絡最終只檢測到圖像中的一組特征,那么它有什么用呢?我們需要一種方法,使網(wǎng)絡能夠將給定的圖像進行分類。這就是對傳統(tǒng)神經(jīng)網(wǎng)絡的一種應用。特別是,我們可以有一個全連接層,從先前的圖層所檢測到的特征映射到我們所擁有的分類標簽的數(shù)量。最后一層將為輸出類別中的每個類分配概率?;谶@些輸出概率,我們最終可以對圖像做出分類。
全連接層
最后的框架
剩下的唯一一件事就是把所有這些學到的概念進行整理合并,行成我們稱之為的卷積神經(jīng)網(wǎng)絡,又名CNN。本質上,CNN由一系列卷積層和池化層組成,這些層有選擇性的組合在一起,生成一個特征圖,然后將這個圖反饋給全連接層,以生成類的概率。返回錯誤的輸出,我們將能夠進行更好的訓練以生成準確的結果。
現(xiàn)在,從功能角度來讓我們深入了解一下CNN是如何工作的。
卷積神經(jīng)網(wǎng)絡
卷積層
卷積層是CNN的主要組成部分。每個這樣的層由一組獨立的濾波器組成,每個濾波器在給定的圖像中尋找不同的特征集。
卷積運算
從數(shù)學上講,我們?nèi)∫粋€固定大小的濾波器,并在完整的圖像上滑動,在濾波器和輸入圖像塊之間做點積。這個點積的結果將是一個標量,它會進入最終的特征映射。然后我們向右滑動過濾器,執(zhí)行相同的操作,并將結果添加到特征圖中。在將完整的圖像與過濾器進行卷積后,我們最終得到一個表示不同特征集的特征映射,該特征集將作為下一層的輸入。
步長
濾波器移動的量就是步長。在上面的圖片中,我們的滑動濾波器系數(shù)是1。這可能不是我們一直需要的。使用步長的大小跟相鄰的像素高度相關(特別是在最底層)。因此,通過使用適當?shù)牟介L來減小輸出的大小是有意義的。然而,一個大的步長可能會導致信息的高度損失。因此,我們在選擇步長時必須小心。
步長為2
填充
對某一單層進行填充
步長的一個不受歡迎的理由是隨著我們不斷地進行卷積,特征圖的大小會隨之減小。這可能不是我們想要的結果。因為收縮也意味著信息損失。想要了解為什么會出現(xiàn)這種情況,那請注意應用于中間單元格和角落單元格的過濾次數(shù)的差異。顯然,來自中間單元格的信息比邊緣單元格的信息更重要。為了保留早期層內(nèi)的有用信息,我們可以用0層包圍給定矩陣。
參數(shù)共享
為什么CNN已經(jīng)有了一個很好的深層神經(jīng)網(wǎng)絡。有趣的是,如果我們使用深度神經(jīng)網(wǎng)絡來進行圖像分類,每一層的參數(shù)數(shù)將是CNN的數(shù)千倍。
在CNN共享參數(shù)
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。