幾個深度網路的介紹

2021-09-23 10:27:18 字數 2957 閱讀 7445

去除全連線層,使得模型訓練更快並且減輕了過擬合。

inception的核心思想是通過增加網路深度和寬度的同時減少引數的方法來解決問題。inception v1由22層,比alexnet的8層或vggnet的19層更深。但其計算量只有15億次浮點運算,同時只有500萬的參數量,僅為alexnet的1/12,卻有著更高的準確率。

inception的前身為mlp卷積層。

卷積層要提公升表達能力,主要依靠增加輸出通道數,每個輸出通道對應乙個濾波器,同一濾波器共享引數只能提取一類特徵,因此乙個輸出通道只能做一種特徵處理。所以在傳統的cnn中會使用盡量多的濾波器,把原樣本中盡可能多的潛在的特徵提取出來,然後再通過池化和大量的線性變化在其中篩選出需要的特徵。這樣的代價就是引數太多,運算太滿,而且很容易引起過擬合。

mlp卷積層的思想是將cnn高維度特徵轉成低維度特徵,將神經網路的思想融合在具體的卷積操作當中。直白的理解就是在網路中再放乙個網路,即使每個卷積的通道中包含乙個微型的多層網路,用乙個網路來代替原來具體的卷積運算過程(卷積核的每個值與樣本對應的畫素點相乘,再將相乘後的所有結果加在一起生成新的畫素點的過程)

全域性均值池化是在平均池化層中使用同等大小的過濾器將其特徵儲存下來。這種結構用來代替深層網路結構最後的全連線輸出層。具體用法是在卷積處理之後,對每個特徵圖的整張進行全域性均值池化,生成乙個值,即每張特徵圖相當於乙個輸出特徵,這個特徵就表示了我們輸出類的特徵。如圖輸出1000個特徵圖

inception的原始模型是相當於mlp卷積層更為稀疏,它採用了mlp卷積層的思想,將中間的全連線層換成了多通道卷積層。inception與mlp卷積在網路中的作用一樣,把封裝好的inception作為乙個卷積單元,堆積起來形成了原始的googlenet網路。

其結構是將1x1、3x3、5x5的卷積核對應的卷積操作和3x3的濾波器對應的池化操作堆疊在一起,一方面增加了網路的寬度,另一方面增加了網路對尺度的適應性。增加了網路對不同尺度的適應性。

inception v1模型在原有的inception模型基礎上做了一些改進,原因是由於inception的原始模型是將所有的卷積核都在上一層的所有輸出上來做,那麼5x5的卷積核所需的計算量就比較大,造成了特徵圖厚度很大。為了避免這一現象,在3x3前、5x5前、最大池化層後分別加上了1x1的卷積核,起到了降低特徵圖厚度的作用(其中1x1卷積主要用來降維)

inception v2模型在v1模型基礎上應用當時的主流技術,在卷積後加入bn層,使每一層的輸出都歸一化處理,減少了內變協變數的移動問題;同時還使用了梯度截斷技術,增加了訓練的穩定性。另外,inception學習了vgg,用2個3x3的conv替代5x5,這既降低了引數數量,也提公升了計算速度。

inception v3沒有再加入其他的技術,只是將原來的結構進行了調整,其最重要的乙個改進是分解。

inception v4結合殘差連線技術的特點進行結構的優化調整。

在resnet中,輸入層與addition之間存在著兩個連線,左側的連線是輸入層通過若干神經層之後連線到addition,右側的連線是輸入層直接傳到addition,在反向傳播的過程中誤差傳到input時會得到兩個誤差的相加和,乙個是左側一堆網路的誤差,乙個右側直接的原始誤差。左側的誤差會隨著層數變深而梯度越來越小,右側則是由addition直接連線到input,所以還會保留著addition的梯度。這樣input得到的相加和後的梯度就沒有那麼小了,可以保證接著將誤差往下傳。

rcnn(regions with cnn)模型增加特徵的窮舉範圍,然後在其中發現有價值的特徵。大概步驟如下:

(1)對於一副輸入的,通過選擇性搜尋,找出2000個候選視窗。

(2)利用cnn對它們提取特徵向量,即將這2000個子圖統一縮放到227x227,然後進行卷積操作。

(3)利用svm演算法對特徵向量進行分類識別。

rcnn中對每一類都進行svm訓練,根據輸出的特徵類為每乙個區打分,最終決定保留或拒絕該區域特徵。

spp-net:基於空間金字塔池化的優化rcnn方法。空間金字塔池化(spatial pyramid pooling, spp)最大的特點是,不再關心輸入的尺寸,而是根據最後的輸出類別個數,通過演算法來生成多個不同範圍的池化層,由它們對輸入進行並行池化處理,使最終的輸出特徵個數與生成類別個數相等,接著再進行類別的比較和判定。

fast-r-cnn在spp-net基礎上進行了改進,並將它嫁接到vgg16上所形成的網路,實現了整個網路端到端的訓練。

yolo:能夠一次性**多個位置和類別的模型。先將分為sxs個網路,每個網路相當於乙個任務,負責檢測內部是否有物體的中心點落入該區域,一旦有的話,則啟動該任務來檢測n個bounding boxes物件。

ssd:比yolo更快更準的模型,融合了rpn的思想

神經網路和深度學習的介紹

神經網路和深度學習目前對影象識別 語音識別和自然語言處理領域中的問題有很好的解決方案。2006 年,被稱為 深度神經 絡 的學習技術的發現引起了變 這些技術現在被稱為 深度學習 它們已被進 步發展,今天深度神經 絡和深度學習在計算機視覺 語 識別 然語 處理等許多重要問題上都取得了顯著的效能。他們正...

深度網路pre train對於深度網路的意義

1 pre train 帶來更好的優化還是更好的泛化?pre train是乙個尋網路權值初值的過程,將pre train的結果作為bp演算法的權值的初值,能夠解決深度網路在非凸目標函式上陷入區域性最優的問題。從這個角度理解更象是帶來更好的優化能力。在帶有pre train的深度網路的泛化表現上不僅僅...

深度學習網路壓縮簡單介紹

我課題組做基於深度學習的影象處理主要分兩條線 我的方向是網路壓縮,為了以後方便展開,下邊先簡要介紹幾種網路壓縮的方式,1 網路修剪 網路修剪,採用當網路權重非常小的時候 小於某個設定的閾值 把它置0,就像二值網路一般 然後遮蔽被設定為0的權重更新,繼續進行訓練 以此迴圈,每隔訓練幾輪過後,繼續進行修...