<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          收藏 | 卷積神經(jīng)網(wǎng)絡中用1*1 卷積有什么作用或者好處呢?

          共 4561字,需瀏覽 10分鐘

           ·

          2021-11-27 14:06

          點擊上方小白學視覺”,選擇加"星標"或“置頂

          重磅干貨,第一時間送達

          僅作學術分享,不代表本公眾號立場,侵權聯(lián)系刪除
          轉載于:來自 | 知乎?

          https://www.zhihu.com/question/56024942

          編輯 | AI有道?

          卷積神經(jīng)網(wǎng)絡中用1*1 卷積有什么作用或者好處呢?為什么非要加個1*1 呢,那不就是簡單的線性變換嗎??


          作者:東東
          https://www.zhihu.com/question/56024942/answer/154291405
          來源:知乎


          1*1卷積過濾器?和正常的過濾器一樣,唯一不同的是它的大小是1*1,沒有考慮在前一層局部信息之間的關系。最早出現(xiàn)在 Network In Network的論文中 ,使用1*1卷積是想加深加寬網(wǎng)絡結構 ,在Inception網(wǎng)絡( Going Deeper with Convolutions )中用來降維,如下圖:



          由于3*3卷積或者5*5卷積在幾百個filter的卷積層上做卷積操作時相當耗時,所以1*1卷積在3*3卷積或者5*5卷積計算之前先降低維度。


          那么,1*1卷積的主要作用有以下幾點:


          1、降維( dimension reductionality )。比如,一張500 * 500且厚度depth為100 的圖片在20個filter上做1*1的卷積,那么結果的大小為500*500*20。


          2、加入非線性。卷積層之后經(jīng)過激勵層,1*1的卷積在前一層的學習表示上添加了非線性激勵( non-linear activation ),提升網(wǎng)絡的表達能力;


          作者:zhwhong
          https://www.zhihu.com/question/56024942/answer/154846007
          來源:知乎


          可以實現(xiàn):

          1. 實現(xiàn)跨通道的交互和信息整合

          1×1的卷積層(可能)引起人們的重視是在NIN的結構中,論文中林敏師兄的想法是利用MLP代替?zhèn)鹘y(tǒng)的線性卷積核,從而提高網(wǎng)絡的表達能力。文中同時利用了跨通道pooling的角度解釋,認為文中提出的MLP其實等價于在傳統(tǒng)卷積核后面接cccp層,從而實現(xiàn)多個feature map的線性組合,實現(xiàn)跨通道的信息整合。而cccp層是等價于1×1卷積的,因此細看NIN的caffe實現(xiàn),就是在每個傳統(tǒng)卷積層后面接了兩個cccp層(其實就是接了兩個1×1的卷積層)。

          2. 進行卷積核通道數(shù)的降維和升維,減少網(wǎng)絡參數(shù)

          進行降維和升維引起人們重視的(可能)是在GoogLeNet里。對于每一個Inception模塊(如下圖),原始模塊是左圖,右圖中是加入了1×1卷積進行降維的。雖然左圖的卷積核都比較小,但是當輸入和輸出的通道數(shù)很大時,乘起來也會使得卷積核參數(shù)變的很大,而右圖加入1×1卷積后可以降低輸入的通道數(shù),卷積核參數(shù)、運算復雜度也就跟著降下來了。以GoogLeNet的3a模塊為例,輸入的feature map是28×28×192,3a模塊中1×1卷積通道為64,3×3卷積通道為128,5×5卷積通道為32,如果是左圖結構,那么卷積核參數(shù)為1×1×192×64+3×3×192×128+5×5×192×32,而右圖對3×3和5×5卷積層前分別加入了通道數(shù)為96和16的1×1卷積層,這樣卷積核參數(shù)就變成了1×1×192×64+(1×1×192×96+3×3×96×128)+(1×1×192×16+5×5×16×32),參數(shù)大約減少到原來的三分之一。同時在并行pooling層后面加入1×1卷積層后也可以降低輸出的feature map數(shù)量,左圖pooling后feature map是不變的,再加卷積層得到的feature map,會使輸出的feature map擴大到416,如果每個模塊都這樣,網(wǎng)絡的輸出會越來越大。而右圖在pooling后面加了通道為32的1×1卷積,使得輸出的feature map數(shù)降到了256。GoogLeNet利用1×1的卷積降維后,得到了更為緊湊的網(wǎng)絡結構,雖然總共有22層,但是參數(shù)數(shù)量卻只是8層的AlexNet的十二分之一(當然也有很大一部分原因是去掉了全連接層)。



          最近大熱的MSRA的ResNet同樣也利用了1×1卷積,并且是在3×3卷積層的前后都使用了,不僅進行了降維,還進行了升維,使得卷積層的輸入和輸出的通道數(shù)都減小,參數(shù)數(shù)量進一步減少,如下圖的結構。(不然真不敢想象152層的網(wǎng)絡要怎么跑起來TAT)



          作者:康樂
          https://www.zhihu.com/question/56024942/answer/369745892
          來源:知乎


          1、降維(減少參數(shù))

          例子1 : GoogleNet中的3a模塊

          輸入的feature map是28×28×192

          1×1卷積通道為64

          3×3卷積通道為128

          5×5卷積通道為32

          左圖卷積核參數(shù):192 × (1×1×64) +192 × (3×3×128) + 192 × (5×5×32) = 387072

          右圖對3×3和5×5卷積層前分別加入了通道數(shù)為96和16的1×1卷積層,這樣卷積核參數(shù)就變成了:

          192 × (1×1×64) +(192×1×1×96+ 96 × 3×3×128)+(192×1×1×16+16×5×5×32)= 157184


          同時在并行pooling層后面加入1×1卷積層后也可以降低輸出的feature map數(shù)量(feature map尺寸指W、H是共享權值的sliding window,feature map 的數(shù)量就是channels)

          左圖feature map數(shù)量:64 + 128 + 32 + 192(pooling后feature map不變) = 416 (如果每個模塊都這樣,網(wǎng)絡的輸出會越來越大)

          右圖feature map數(shù)量:64 + 128 + 32 + 32(pooling后面加了通道為32的1×1卷積) = 256

          GoogLeNet利用1×1的卷積降維后,得到了更為緊湊的網(wǎng)絡結構,雖然總共有22層,但是參數(shù)數(shù)量卻只是8層的AlexNet的十二分之一(當然也有很大一部分原因是去掉了全連接層)





          例子2:ResNet中的殘差模塊

          假設上一層的feature map是w*h*256,并且最后要輸出的是256個feature map

          左側操作數(shù):w*h*256*3*3*256 =589824*w*h

          右側操作數(shù):w*h*256*1*1*64 + w*h*64*3*3*64 +w*h*64*1*1*256 = 69632*w*h,,左側參數(shù)大概是右側的8.5倍。(實現(xiàn)降維,減少參數(shù))





          2、升維(用最少的參數(shù)拓寬網(wǎng)絡channal)

          例子:上一個例子中,不僅在輸入處有一個1*1卷積核,在輸出處也有一個卷積核,3*3,64的卷積核的channel是64,只需添加一個1*1,256的卷積核,只用64*256個參數(shù)就能把網(wǎng)絡channel從64拓寬四倍到256。

          3、跨通道信息交互(channal 的變換)

          例子:使用1*1卷積核,實現(xiàn)降維和升維的操作其實就是channel間信息的線性組合變化,3*3,64channels的卷積核后面添加一個1*1,28channels的卷積核,就變成了3*3,28channels的卷積核,原來的64個channels就可以理解為跨通道線性組合變成了28channels,這就是通道間的信息交互。

          注意:只是在channel維度上做線性組合,W和H上是共享權值的sliding window

          4、增加非線性特性

          1*1卷積核,可以在保持feature map尺度不變的(即不損失分辨率)的前提下大幅增加非線性特性(利用后接的非線性激活函數(shù)),把網(wǎng)絡做的很deep。


          備注:一個filter對應卷積后得到一個feature map,不同的filter(不同的weight和bias),卷積以后得到不同的feature map,提取不同的特征,得到對應的specialized neuro。


          四、從fully-connected layers的角度來理解1*1卷積核

          將其看成全連接層





          左邊6個神經(jīng)元,分別是a1—a6,通過全連接之后變成5個,分別是b1—b5

          左邊6個神經(jīng)元相當于輸入特征里面的channels:6

          右邊5個神經(jīng)元相當于1*1卷積之后的新的特征channels:5

          左邊 W*H*6 經(jīng)過 1*1*5的卷積核就能實現(xiàn)全連接


          In Convolutional Nets, there is no such thing as “fully-connected layers”. There are only convolution layers with 1x1 convolution kernels and a full connection table–?Yann LeCun


          作者:陳運錦
          https://www.zhihu.com/question/56024942/answer/195274297
          來源:知乎


          前面的回答講了許多1*1卷積核好處之類的,但是我認為沒有切中題主想問的。題主想問的其實是,1*1的卷積不就是多個feature channels之間的線性疊加嗎,為什要說成是什么1*1的卷積這種貌似有特殊牛逼功能的概念?


          題主你想的是對的,1*1的卷積就是多個feature channels線性疊加,nothing more!只不過這個組合系數(shù)恰好可以看成是一個1*1的卷積。這種表示的好處是,完全可以回到模型中其他常見N*N的框架下,不用定義新的層。


          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學視覺」公眾號后臺回復:擴展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目52講
          小白學視覺公眾號后臺回復:Python視覺實戰(zhàn)項目即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學視覺公眾號后臺回復:OpenCV實戰(zhàn)項目20講即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學習進階。

          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  аⅴ天堂中文在线网 | 91视频做爱 | 黄色一级操逼 | 欧美日韩三级片免费观看 | 欧美日韩国产成人一区 |