作者 | Asifullah Khan & Anabia Sohail
編譯 | 機器之心
深度卷積神經網路(CNN)是一種特殊型別的神經網路,在各種競賽基準上表現出了當前最優結果。深度 CNN 架構在挑戰性基準任務比賽中實現的高效能表明,創新的架構理念以及引數優化可以提高 CNN 在各種視覺相關任務上的效能。本綜述將最近的 CNN 架構創新分為七個不同的類別,分別基於空間利用、深度、多路徑、寬度、特徵圖利用、通道提升和注意力。
引言
通過 1989 年 LeCun 處理網格狀拓撲資料(影象和時間系列資料)的研究,CNN 首次受到關注。CNN 被視為理解影象內容的最好技術之一,並且在影象識別、分割、檢測和檢索相關任務上表現出了當前最佳效能。CNN 的成功引起了學界外的注意。在產業界,如谷歌、微軟、AT&T、NEC 和 Facebook 這樣的公司都設立了研究團隊來探索 CNN 的新架構。目前,影象處理競賽中的大多數領跑者都會採用基於深度 CNN 的模型。
自 2012 年以來,關於 CNN 架構的不同創新被提出來。這些創新可分為引數優化、正則化、結構重組等。但是據觀察,CNN 網路的效能提升應主要歸功於處理單元的重構和新模組的設計。自 AlexNet 在 ImageNet 資料集上展現出了非凡的效能後,基於 CNN 的應用變得越來越普及。類似地,Zeiler 和 Fergus 介紹了特徵分層視覺化的概念,這改變了用深度架構(如 VGG)在簡單的低空間解析度中提取特徵的趨勢。現在,大多數新架構都是基於 VGG 引入的簡單原則和同質化拓撲構建的。
另一方面,谷歌團隊引入了一個非常著名的關於拆分、轉換和合並的概念,稱為 Inception 模組。初始塊第一次使用了層內分支的概念,允許在不同空間尺度上提取特徵。2015 年,為了訓練深度 CNN,Resnet 引入的殘差連線概念變得很有名,並且,後來的大多數網路像 Inception-ResNet,WideResNet,ResNext 等都在使用它。與此類似,一些像 WideResnet、Pyramidal Nets、Xception 這樣的架構都引入了多層轉換的概念,通過額外的基數和增加的寬度來實現。因此,研究的重點從引數優化和連線再次調整,轉向了網路架構設計(層結構)。這引發了許多像通道提升、空間和通道利用、基於注意力的資訊處理等新的架構概念。
本文結構如下:
圖 2:典型模式識別(OR)系統的基本佈局。PR 系統分為三個階段:階段 1 和資料探勘相關,階段 2 執行預處理和特徵選擇,而階段 3 基於模型選擇、調參和分析。CNN 有良好的特徵提取能力和強大的鑑別能力,因此在一個 PR 系統中,它可以用於特徵提取/生成和模型選擇階段。
CNN 中的架構創新
自 189 年至今,CNN 架構已經有了很多不同的改進。CNN 中的所有創新都是通過深度和空間相結合實現的。根據架構修改的型別,CNN 可以大致分為 7 類:基於空間利用、深度、多路徑、寬度、通道提升、特徵圖利用和注意力的 CNN。深度 CNN 架構的分類如圖 3 所示。
基於空間利用的 CNN
CNN 有大量引數,如處理單元數量(神經元)、層數、濾波器大小、步幅、學習率和啟用函式等。由於 CNN 考慮輸入畫素的鄰域(區域性性),可以使用不同大小的濾波器來探索不同級別的相關性。因此,在 2000 年初,研究人員利用空間變換來提升效能,此外,還評估了不同大小的濾波器對網路學習率的影響。不同大小的濾波器封裝不同級別的粒度;通常,較小的濾波器提取細粒度資訊,而較大的濾波器提取粗粒度資訊。這樣,通過調整濾波器大小,CNN 可以在粗粒度和細粒度的細節上都表現很好。
基於深度的 CNN
深度 CNN 架構基於這樣一種假設:隨著深度的增加,網路可以通過大量非線性對映和改進的特徵表示更好地逼近目標函式。網路深度在監督學習的成功中起了重要作用。理論研究已表明,深度網路能夠以指數方式比淺層網路更有效地表示特定的 20 個函式型別。2001 年,Csáji 表示了通用近似定理,指出單個隱藏層足夠逼近任何函式,但這需要指數級的神經元,因而通常導致計算上行不通。在這方面,Bengio 和 elalleau 認為更深的網路有潛力在更少的成本下保持網路的表現能力。2013 年,Bengio 等人通過 實證表明,對於複雜的任務,深度網路在計算和統計上都更有效。在 2014-ILSVR 競賽中表現最佳的 Inception 和 VGG 則進一步說明,深度是調節網路學習能力的重要維度。
一旦特徵被提取,只要其相對於其他位置的近似位置被保留,其提取位置就變得沒那麼重要了。池化或下采樣(如卷積)是一種有趣的區域性操作。它總結了感受野附近的類似資訊,並輸出了該區域性區域內的主要反應。作為卷積運算的輸出結果,特徵圖案可能會出現在影象中的不同位置。
基於多路徑的 CNN
深度網路的訓練頗具挑戰性,這也是近來很多深度網路研究的主題。深度 CNN 為複雜任務提供了高效的計算和統計。但是,更深的網路可能會遭遇效能下降或梯度消失/爆炸的問題,而這通常是由增加深度而非過擬合造成的。梯度消失問題不僅會導致更高的測試誤差,還會導致更高的訓練誤差。為了訓練更深的網路,多路徑或跨層連線的概念被提出。多路徑或捷徑連線可以通過跳過一些中間層,系統地將一層連線到另一層,以使特定的資訊流跨過層。跨層連線將網路劃分為幾塊。這些路徑也嘗試通過使較低層訪問梯度來解決梯度消失問題。為此,使用了不同型別的捷徑連線,如零填充、基於投影、dropout 和 1x1 連線等。
啟用函式是一種決策函式,有助於學習複雜的模式。選擇適當的啟用函式可以加速學習過程。卷積特徵圖的啟用函式定義為等式(3)。
基於寬度的多連線 CNN
2012 至 2015 年,網路架構的重點是深度的力量,以及多通道監管連線在網路正則化中的重要性。然而,網路的寬度和深度一樣重要。通過在一層之內並行使用多處理單元,多層感知機獲得了在感知機上映射覆雜函式的優勢。這表明寬度和深度一樣是定義學習原則的一個重要引數。Lu 等人和 Hanin & Sellke 最近表明,帶有線性整流啟用函式的神經網路要足夠寬才能隨著深度增加保持通用的近似特性。並且,如果網路的最大寬度不大於輸入維度,緊緻集上的連續函式類無法被任意深度的網路很好地近似。因此,多層堆疊(增加層)可能不會增加神經網路的表徵能力。與深度架構相關的一個重要問題是,有些層或處理單元可能無法學習有用的特徵。為了解決這一問題,研究的重點從深度和較窄的架構轉移到了較淺和較寬的架構上。
基於特徵圖(通道特徵圖)開發的 CNN
CNN 因其分層學習和自動特徵提取能力而聞名於 MV 任務中。特徵選擇在決定分類、分割和檢測模組的效能上起著重要作用。傳統特徵提取技術中分類模組的效能要受限於特徵的單一性。相較於傳統技術,CNN 使用多階段特徵提取,根據分配的輸入來提取不同型別的特徵(CNN 中稱之為特徵圖)。但是,一些特徵圖有很少或者幾乎沒有目標鑑別作用。巨大的特徵集有噪聲效應,會導致網路過擬合。這表明,除了網路工程外,特定類別特徵圖的選取對改進網路的泛化效能至關重要。在這一部分,特徵圖和通道會交替使用,因為很多研究者已經用通道這個詞代替了特徵圖。
基於通道(輸入通道)利用的 CNN
影象表徵在決定影象處理演算法的效能方面起著重要作用。影象的良好表徵可以定義來自緊湊程式碼的影象的突出特徵。在不同的研究中,不同型別的傳統濾波器被用來提取單一型別影象的不同級別資訊。這些不同的表徵被用作模型的輸入,以提高效能。CNN 是一個很好的特徵學習器,它能根據問題自動提取鑑別特徵。但是,CNN 的學習依賴於輸入表徵。如果輸入中缺乏多樣性和類別定義資訊,CNN 作為鑑別器的效能就會受到影響。為此,輔助學習器的概念被引入到 CNN 中來提升網路的輸入表徵。
基於注意力的 CNN
不同的抽象級別在定義神經網路的鑑別能力方面有著重要的作用。除此之外,選擇與上下文相關的特徵對於影象定位和識別也很重要。在人類的視覺系統中,這種現象叫做注意力。人類在一次又一次的匆匆一瞥中觀察場景並注意與上下文相關的部分。在這個過程中,人類不僅注意選擇的區域,而且推理出關於那個位置的物體的不同解釋。因此,它有助於人類以更好的方式來抓取視覺結構。類似的解釋能力被新增到像 RNN 和 LSTM 這樣的神經網路中。上述網路利用注意力模組來生成序列資料,並且根據新樣本在先前迭代中的出現來對其加權。不同的研究者把注意力概念加入到 CNN 中來改進表徵和克服資料的計算限制問題。注意力概念有助於讓 CNN 變得更加智慧,使其在雜亂的背景和複雜的場景中也能識別物體。