理解卷积神经网络的利器:9篇重要的深度学习论文(下)
摘要:?為了更好地幫助你理解卷積神經網絡,在這里,我總結了計算機視覺和卷積神經網絡領域內許多新的重要進步及有關論文。
? ? ??手把手教你理解卷積神經網絡(一)
? ? ??手把手教你理解卷積神經網絡(二)
繼“理解卷積神經網絡的利器:9篇重要的深度學習論文(上)”文章,本文繼續介紹過去五年內發表的一些重要論文,并探討其重要性。論文1—5涉及通用網絡架構的發展,論文6—9則是其他網絡架構的論文。點擊原文即可查看更詳細的內容。
5.Microsoft ResNet(2015)
現在,將一個深度卷積神經網絡的層數增加一倍,再增加幾層,也仍然不可能達到2015年微軟亞洲研究院提出的ResNet架構的深度。ResNet是一種新的包含152層的網絡架構,它使用一個特殊的結構記錄分類、檢測和定位。除了在層數方面進行創新外,ResNet還贏得了2015年ImageNet大規模視覺識別挑戰賽的冠軍,誤差率低達3.6%(在現有的技術水平上,誤差率通常在5-10%)
殘差塊
殘差塊的原理是,輸入x通過卷積-殘差函數-卷積系列,得到輸出F(x),然后將該結果加到原始輸入x中,用H(x)= F(x)+ x表示。在傳統的卷積神經網絡中,H(x)=F(x)。因此,我們不只計算從x到F(x)變換,而是要計算H(x)= F(x)+ x。下圖中的最小模塊正在計算一個“增量”或對原始輸入x做輕微改變以獲得輕微改變后的表示。作者認為,“優化殘差映射比優化原始未引用的映射要容易。”
殘差塊可能比較有效的另一個原因是,在反向傳播的后向傳遞期間,由于加法運算可以作用于梯度,梯度將會更容易地通過殘差塊。
主要論點
1.“極端深度” - Yann LeCun。
2.包含152層
3.有趣的是,僅在經過前兩層之后,將數組從224*224壓縮到56x56。
4.在普通網絡中,單純的增加層數會導致更高的訓練和測試誤差(詳細請看論文)。
5.該模型嘗試構建了一個1202層的網絡,可能是由于過擬合,測試精度較低。
重要性
3.6%的誤差率!這一點足夠重要。ResNet模型是目前我們所擁有的最好的卷積神經網絡架構,也是殘差學習理念的一個偉大創新。我相信即使在彼此之上堆疊更多層,性能也不會再有大幅度的提升了,但肯定會有像過去兩年那樣有創意的新架構。
6.基于區域的卷積神經網絡:R-CNN(2013年);Fast R-CNN(2015年); Faster R-CNN(2015年)
有些人可能會說,R-CNN的出現比以前任何與新網絡架構有關的論文都更具影響力。隨著第一篇論述R-CNN的論文被引用超過1600次,加州大學伯克利分校的Ross Girshick團隊創造出了計算機視覺領域最有影響力的進展之一:研究表明Fast R-CNN和Faster R-CNN更適合對象檢測,且速度更快。
R-CNN架構的目標解決對象檢測問題。現在,我們想對給定的圖像上所包含的所有對象繪制邊界框,可分為兩步:候選區域的選擇和分類。
作者指出,任何類不可知候選區域方法都應該適用。選擇性搜索專門用于R-CNN,它能夠產生2000個不同的最有可能包含指定對象的區域,候選區域產生后,會被“轉換”為圖像大小的區域,送入一個訓練好的卷積神經網絡(在這種情況下為AlexNet),為每個區域提取特征向量。然后,這組向量作為一組線性支持向量機的輸入,這些線性支持向量機對每個類進行訓練并輸出一個分類。向量也被送入邊界框回歸器以便獲得最準確的位置坐標。最后,使用非極大值抑制來抑制彼此具有明顯重疊的邊界框。
??
Fast?R-CNN
對原始模型進行改進原因有三:模型訓練需要經歷多個步驟(ConvNets→支持向量機→邊界框回歸器);計算成本很高,運行速度很慢(R-CNN處理一張圖像需要53秒)。為了提高運行速度,Fast R-CNN共享了不同候選區域之間卷積層的計算,交換了候選區域的生成順序,同時運行卷積神經網絡。在這個模型中,圖像圖像首先送入卷積網絡,然后從卷積網絡的最后一個特征映射獲得候選區域的特征,最后被送入全連接層、回歸以及分類頭部。
?
Faster R-CNN
Faster R-CNN致力于將R-CNN和Fast R-CNN比較復雜的訓練步驟簡單化。作者在最后一個卷積層后插入候選區域生成網絡,該網絡能夠查看最后的卷積特征映射并產生候選區域。后面使用與R-CNN相同的方法:感興趣區域池化、全連接層、分類和回歸頭。
?
重要性
除了能夠準確識別圖像中的特定對象,Faster R-CNN也能夠對該對象進行準確定位,這是一個質的飛躍。現在,Faster R-CNN已經成為對象檢測程序的一個標準。
7.生成敵對網絡(2014)
據Yann LeCun稱,該網絡可能是下一重大進展。在介紹這篇文章之前,我們先看一個對抗的例子:將一個經過擾動的圖像經過卷積神經網絡(已經在ImageNet數據集上訓練且運行良好),以使預測誤差最大化。因此,預測出來的對象類別有所改變,而該圖像看起來與沒有經過擾動的圖像相同。從某種意義上來說,對抗就是用圖像愚弄卷積網絡。
?
這個對抗的例子著實讓很多研究人員感到驚訝,并且迅速成為了一個大家感興趣的話題。現在讓我們來談談生成對抗網絡,它包含兩個模型:一個生成模型和一個判別模型。判別器用來確定給定的圖像是否真的自數據集,還是人為創建的;生成器用來是創建圖像,以便判別器得到訓練生成正確的輸出。這可以看作一個博弈游戲,打個比方:生成模型就像“偽造者團隊,試圖制造和使用假幣”;而判別模型就像“警察,試圖檢測假幣”。生成器試圖欺騙判別器,而判別器努力不被欺騙。隨著模型的訓練,這兩種方法都會得到改進,直到“真幣與假幣無法區分”。
重要性
這看起來很簡單,但為什么我們很看重這個網絡?正如Yan Le Leun在Quora中所說的那樣,現在判別器已經意識到“數據的內在表示”,因為它已經被訓練的能夠了解數據集中真實圖像與人工創建圖像之間的差異。因此,可以像卷積神經網絡那樣,將它用作特征提取器。另外,你也可以創建很逼真的人造圖像(鏈接)。
8.Generating Image Descriptions(2014)
將卷積神經網絡與循環神經網絡結合起來會發生什么?Andrej Karpathy團隊研究了卷積神經網絡與雙向循環神經網絡的組合,并撰寫了一篇論文,用來生成圖像不同區域的自然語言描述。基本上,圖像經過該模型后輸出效果如下:
?
這真是令人難以置信!我們來看看這與普通的卷積神經網絡有何區別。傳統的卷積神經網絡上,訓練數據中的每個圖像都有一個明確的標簽。論文中描述的模型已經訓練了樣例,該樣例具有與每個圖像相關聯的文本。這種類型的標簽被稱為弱標簽,其中文本片段是指圖像的未知部分。使用這些訓練數據,深層神經網絡能夠“推斷出文本片段和他們所要描述的區域之間的潛在關系”(引自論文)。另一個神經網絡將圖像轉換成一個文本描述。讓我們分別看看這兩個部分:對齊模型和生成模型。
對齊模型
對齊模型的目標是能夠將視覺圖像和文本描述對齊,該模型將圖像和文本轉化為二者之間的相似性度量值。
首先將圖像輸入R-CNN模型,檢測單個對象,該模型在ImageNet數據集上進行訓練,排名前19位(加上原始圖像)的對象區域被嵌入到500維空間,現在在每個圖像中,我們都有20個不同的500維向量(用v表示),用來描述圖像的信息。現在我們需要關于文本的信息,將文本嵌入到同一個多維度空間中,這一步驟采用雙向遞歸神經網絡完成。從更高層次來看,這是為了解釋給定文本中單詞的上下文信息。由于圖像和文本的信息都在相同的空間中,因此我們可以計算內部表示,來輸出相似性度量。
生成模型
對齊模型的主要目的是創建一個數據集:包含圖像區域和對應的文本。而生成模型將從該數據集中進行學習,生成給定圖像的描述。該模型將圖像送入一個卷積神經網絡,由于全連接層的輸出成為另一個循環神經網絡的輸入,softmax層則可以被忽略。對于那些不熟悉循環神經網絡的人來說,該模型可以理解為產生句子中不同單詞的概率分布(循環神經網絡也需要像卷積神經網絡一樣進行訓練)。
?
重要性
Generating Image Descriptions的創新之處在于:使用看似不同的循環神經網絡和卷積神經網絡模型創建了一個非常實用的應用程序,它以某種方式將計算機視覺和自然語言處理領域結合在一起。在處理跨越不同領域的任務時如何使計算機和模型變得更加智能方面,它的新想法為我們打開一扇新的大門。
9.空間變換網絡(Spatial Transformer?Network)(2015年)
最后,我們來介紹一篇同樣很重要的論文,該模型的主要亮點就是引入了一個變換模塊,它以某種方式對輸入圖像進行變換,以便后續網絡層能夠更容易對圖像進行分類。作者不再對卷積神經網絡的主要架構進行修改,而是在圖像輸入到特定的卷積層之前對圖像進行變換。這個模塊希望糾正姿態規范化(針對對象傾斜或縮放的場景)和空間注意力(在擁擠的圖像中關注需要分類的對象)。對于傳統的卷積神經網絡來說,如果希望模型能夠同時適用于不同尺度和旋轉的圖像,那么將需要大量的訓練樣例才能使模型進行正確的學習。這個變換模塊是如何解決這個問題的呢?
處理空間不變性的傳統卷積神經網絡模型中的實體是最大池化層,一旦我們知道原始輸入數組(具有較高的激活值)中的特定特征,其確切位置就不如它相對于其他特征的相對位置那么重要。而這種新的空間變換器是動態的,它會針對每個輸入圖像產生不同的變換,而并不會像傳統的最大池化那樣簡簡單和預定義。我們來看看這個變換模塊是如何運行的。該模塊包括:
1.定位網絡,將輸入數組轉化并輸出必須使用的空間變換參數。對于仿射變換來說,參數或θ可以是六維的。
2采樣網格,這是使用本地化網絡中創建的仿射變換(θ)對常規網格進行變形的結果。
3.采樣器,將輸入特征映射進行變形。
?
這個模塊可以放在卷積神經網絡的任何一個節點,基本上可以幫助網絡學習如何對特征映射進行變換,從而最大限度地減少訓練期間的成本函數。
?
重要性
這篇文章之所以能夠引起我的注意,其主要原因就是對卷積神經網絡的改進不一定需要對網絡的整體架構做巨大的改變,我們不需要再創建下一個ResNet或Inception架構。本文對輸入圖像進行仿射變換這一思路,使模型更加適用于圖像的平移、縮放和旋轉。
?
以上為譯文。
文章原標題《A Beginner's Guide to Understanding Convolutional Neural Networks》,
譯者:Mags,審校:袁虎。
原文鏈接
干貨好文,請關注掃描以下二維碼:
總結
以上是生活随笔為你收集整理的理解卷积神经网络的利器:9篇重要的深度学习论文(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一份帮助你更好地理解深度学习的资源清单
- 下一篇: NLP中的迁移学习