1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【深度學習】卷積神經網絡結構組成與解釋

        共 7506字,需瀏覽 16分鐘

         ·

        2024-04-18 12:00

        卷積神經網絡是以卷積層為主的深度網路結構,網絡結構包括有卷積層、激活層、BN層、池化層、FC層、損失層等。卷積操作是對圖像和濾波矩陣做內積(元素相乘再求和)的操作。

        1. 卷積層

        常見的卷積操作如下:

        卷積操作 解釋 圖解
        標準卷積 一般采用3x3、5x5、7x7的卷積核進行卷積操作。???????

        分組卷積 將輸入特征圖按通道均分為 x 組,然后對每一組進行常規(guī)卷積,最后再進行合并。

        空洞卷積 為擴大感受野,在卷積核里面的元素之間插入空格來“膨脹”內核,形成“空洞卷積”(或稱膨脹卷積),并用膨脹率參數(shù)L表示要擴大內核的范圍,即在內核元素之間插入L-1個空格。當L=1時,則內核元素之間沒有插入空格,變?yōu)闃藴示矸e。


        深度可分離卷積 深度可分離卷積包括為逐通道卷積和逐點卷積兩個過程。????

        (通道卷積,2D標準卷積)


        (逐點卷積,1x1卷積


        反卷積 屬于上采樣過程,“反卷積”是將卷積核轉換為稀疏矩陣后進行轉置計算。


        可變形卷積 指標準卷積操作中采樣位置增加了一個偏移量offset,如此卷積核在訓練過程中能擴展到很大的范圍。



        補充:

        1 x 1卷積即用1 x 1的卷積核進行卷積操作,其作用在于升維與降維。升維操作常用于chennel為1(即是通道數(shù)為1)的情況下,降維操作常用于chennel為n(即是通道數(shù)為n)的情況下。??????????????

        降維:通道數(shù)不變,數(shù)值改變。

        升維:通道數(shù)改變?yōu)閗ernel的數(shù)量(即為filters),運算本質可以看為全連接。

        卷積計算在深度神經網絡中的量是極大的,壓縮卷積計算量的主要方法如下:

        序號 方法
        1 采用多個3x3卷積核代替大卷積核(如用兩個3 x 3的卷積核代替5 x 5的卷積核)
        2 采用深度可分離卷積(分組卷積)
        3 通道Shuffle
        4 Pooling層
        5 Stride = 2
        6 等等

        2. 激活層

        介紹:為了提升網絡的非線性能力,以提高網絡的表達能力。每個卷積層后都會跟一個激活層。激活函數(shù)主要分為飽和激活函數(shù)(sigmoid、tanh)與非飽和激活函數(shù)(ReLU、Leakly ReLU、ELU、PReLU、RReLU)。非飽和激活函數(shù)能夠解決梯度消失的問題,能夠加快收斂速度。??????????????

        常用函數(shù):ReLU函數(shù)、Leakly ReLU函數(shù)、ELU函數(shù)等


        ReLU函數(shù)


          Leakly ReLU函數(shù)

        ELU函數(shù)

        3. BN層(BatchNorm)


        介紹:通過一定的規(guī)范化手段,把每層神經網絡任意神經元的輸入值的分布強行拉回到均值為0,方差為1的標準正態(tài)分布。BatchNorm是歸一化的一種手段,會減小圖像之間的絕對差異,突出相對差異,加快訓練速度。但不適用于image-to-image以及對噪聲明感的任務中。

        常用函數(shù):BatchNorm2d

        pytorch用法:nn.BatchNorm2d(num_features, eps, momentum, affine)

        num_features:一般輸入參數(shù)為batch_sizenum_featuresheight*width,即為其中特征的數(shù)量。

        eps:分母中添加的一個值,目的是為了計算的穩(wěn)定性,默認為:1e-5。momentum:一個用于運行過程中均值和方差的一個估計參數(shù)(我的理解是一個穩(wěn)定系數(shù),類似于SGD中的momentum的系數(shù))。

        affine:當設為true時,會給定可以學習的系數(shù)矩陣gamma和beta。

        4. 池化層(pooling)

        介紹:pooling一方面使特征圖變小,簡化網絡計算復雜度。一方面通過多次池化壓縮特征,提取主要特征。屬于下采樣過程。

        常用函數(shù):Max Pooling(最大池化)、Average Pooling(平均池化)等。

        MaxPooling 與 AvgPooling用法:1. 當需綜合特征圖上的所有信息做相應決策時,通常使用AvgPooling,例如在圖像分割領域中用Global AvgPooling來獲取全局上下文信息;在圖像分類中在最后幾層中會使用AvgPooling。2. 在圖像分割/目標檢測/圖像分類前面幾層,由于圖像包含較多的噪聲和目標處理無關的信息,因此在前幾層會使用MaxPooling去除無效信息。?

        補充:上采樣層重置圖像大小為上采樣過程,如Resize,雙線性插值直接縮放,類似于圖像縮放,概念可見最鄰近插值算法和雙線性插值算法。實現(xiàn)函數(shù)有nn.functional.interpolate(input, size = None, scale_factor = None, mode = 'nearest', align_corners = None)和nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride = 1, padding = 0, output_padding = 0, bias = True)

        5. FC層(全連接層)

        介紹:連接所有的特征,將輸出值送給分類器。主要是對前層的特征進行一個加權和(卷積層是將數(shù)據輸入映射到隱層特征空間),將特征空間通過線性變換映射到樣本標記空間(label)。全連接層可以通過1 x 1卷機+global average pooling代替??梢酝ㄟ^全連接層參數(shù)冗余,全連接層參數(shù)和尺寸相關。

        常用函數(shù):nn.Linear(in_features, out_features, bias)

        補充:分類器包括線性分類器與非線性分類器。

        分類器 介紹?? 常見種類 優(yōu)缺點
        線性分類器 線性分類器就是用一個“超平面”將正、負樣本隔離開
        LR、Softmax、貝葉斯分類、單層感知機、線性回歸、SVM(線性核)等
        線性分類器速度快、編程方便且便于理解,但是擬合能力低
        非線性分類器 非線性分類器就是用一個“超曲面”或者多個超平(曲)面的組合將正、負樣本隔離開(即,不屬于線性的分類器)
        決策樹、RF、GBDT、多層感知機、SVM(高斯核)等
        非線性分類器擬合能力強但是編程實現(xiàn)較復雜,理解難度大

        6. 損失層?

        介紹:設置一個損失函數(shù)用來比較網絡的輸出和目標值,通過最小化損失來驅動網絡的訓練。網絡的損失通過前向操作計算,網絡參數(shù)相對于損失函數(shù)的梯度則通過反向操作計算。

        常用函數(shù):分類問題損失(離散值:分類問題、分割問題):nn.BCELoss、nn.CrossEntropyLoss等?;貧w問題損失(連續(xù)值:推測問題、回歸分類問題):nn.L1Loss、nn.MSELoss、nn.SmoothL1Loss等。

        7. Dropout層

        介紹:在不同的訓練過程中隨機扔掉一部分神經元,以防止過擬合,一般用在全連接層。在測試過程中不使用隨機失活,所有的神經元都激活。?????????????????????

        常用函數(shù):nn.dropout

        8. 優(yōu)化器??

        介紹:為了更高效的優(yōu)化網絡結構(損失函數(shù)最?。?,即是網絡的優(yōu)化策略,主要方法如下:????????????????????

        解釋?? 優(yōu)化器種類? 特點
        基于梯度下降原則(均使用梯度下降算法對網絡權重進行更新,區(qū)別在于使用的樣本數(shù)量不同)?????? GD(梯度下降); SGD(隨機梯度下降,面向一個樣本); BGD(批量梯度下降,面向全部樣本); MBGD(小批量梯度下降,面向小批量樣本)????? 引入隨機性和噪聲
        基于動量原則(根據局部歷史梯度對當前梯度進行平滑) Momentum(動量法); NAG(Nesterov Accelerated Gradient)
        ???
        加入動量原則,具有加速梯度下降的作用????
        自適應學習率(對于不同參數(shù)使用不同的自適應學習率;Adagrad使用梯度平方和、Adadelta和RMSprop使用梯度一階指數(shù)平滑,RMSprop是Adadelta的一種特殊形式、Adam吸收了Momentum和RMSprop的優(yōu)點改進了梯度計算方式和學習率)??? Adagrad; Adadelta; RMSprop; Adam????? 自適應學習

        常用優(yōu)化器為Adam,用法為:torch.optim.Adam。???????

        補充:卷積神經網絡正則化是為減小方差,減輕過擬合的策略,方法有:L1正則(參數(shù)絕對值的和); L2正則(參數(shù)的平方和,weight_decay:權重衰退)。

        9. 學習率?

        介紹:學習率作為監(jiān)督學習以及深度學習中重要的超參,其決定著目標函數(shù)能否收斂到局部最小值以及合適收斂到最小值。合適的學習率能夠使目標函數(shù)在合適的時間內收斂到局部最小值。????

        常用函數(shù):torch.optim.lr_scheduler; ExponentialLR; ReduceLROnplateau; CyclicLR等。???????


        卷積神經網絡的常見結構

        常見結構有:跳連結構(ResNet)、并行結構(Inception V1-V4即GoogLeNet)、輕量型結構(MobileNetV1)、多分支結構(SiameseNet; TripletNet; QuadrupletNet; 多任務網絡等)、Attention結構(ResNet+Attention)

        結構???????????? 介紹與特點 圖示
        跳連結構(代表:ResNet) 2015年何愷明團隊提出。引入跳連的結構來防止梯度消失問題,今兒可以進一步加大網絡深度。擴展結構有:ResNeXt、DenseNet、WideResNet、ResNet In ResNet、Inception-ResNet等???????????????



        并行結構(代表:Inception V1-V4 2014年Google團隊提出。不僅強調網絡的深度,還考慮網絡的寬度。其使用1×1的卷積來進行升降維,在多個尺寸上同時進行卷積再聚合。其次利用稀疏矩陣分解成密集矩陣計算的原理加快收斂速度。??

        輕量型結構(代表:MobileNetV1 2017年Google團隊提出。為了設計能夠用于移動端的網絡結構,使用Depth-wise Separable Convolution的卷積方式代替?zhèn)鹘y(tǒng)卷積方式,以達到減少網絡權值參數(shù)的目的。擴展結構有:MobileNetV2、MobileNetV3、SqueezeNet、ShuffleNet V1、ShuffleNet V2等????????

        多分支結構(代表:TripletNet? 基于多個特征提取方法提出,通過比較距離來學習有用的變量。該網絡由3個具有相同前饋網絡(共享參數(shù))組成的,需要輸入是3個樣本,一個正樣本和兩個負樣本,或者一個負樣本和兩個正樣本。訓練的目標是讓相同類別之間的距離竟可能的小,讓不同的類別之間距離竟可能的大。常用于人臉識別。


        Attention結構(代表:ResNet+Attention) 對于全局信息,注意力機制會重點關注一些特殊的目標區(qū)域,也就是注意力焦點,進而利用有限的注意力資源對信息進行篩選,提高信息處理的準確性和效率。注意力機制有Soft-Attention和Hard-Attention區(qū)分,可以作用在特征圖上、尺度空間上、channel尺度上和不同時刻歷史特征上等。??????????????



        參考資料鏈接:??

        https://www.bilibili.com/video/BV1we4y1X7vy/?spm_id_from=333.880.my_history.page.click&vd_source=8332e741acbb75b438e9c1c91efed022

            
                  
                     
                        
                              
                                 
        往期精彩回顧




        • 交流群

        歡迎加入機器學習愛好者微信群一起和同行交流,目前有機器學習交流群、博士群、博士申報交流、CV、NLP等微信群,請掃描下面的微信號加群,備注:”昵稱-學校/公司-研究方向“,例如:”張小明-浙大-CV“。請按照格式備注,否則不予通過。添加成功后會根據研究方向邀請進入相關微信群。請勿在群內發(fā)送廣告,否則會請出群,謝謝理解~(也可以加入機器學習交流qq群772479961


        瀏覽 161
        10點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        10點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产激情视频在线播放 | 久久鸡巴 | 美女黄的全免费 | 亚洲国产高清在线播放 | 国产成人精品123区免费视频 | 亚洲国产专区 | 久久久久成人片免费观看蜜芽 | 欧美黄色操逼 | 蜜桃精品在线观看 | 国产精品呻吟久久av凹凸 |