日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

在卷积层的运用_Conv 卷积层

發(fā)布時(shí)間:2023/12/2 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在卷积层的运用_Conv 卷积层 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

onv 卷積層

一.why CNN for image ?

1.Some Patterns are much smaller than the whole image.

一些模式比起整張圖片來(lái)說(shuō)更小,即尋找模式不用看完整的圖像。

2.The same patterns appear in different regions.

同一個(gè)模式可能會(huì)出現(xiàn)在不同的區(qū)域。

3.Subsamping the pixels will not change the object.

子采樣不會(huì)改變物體。

1&2--> Convolution 3-->Pooling

二.作用

提取特征。

三.具體計(jì)算過(guò)程

卷積主要有兩個(gè)特征:局部連接以及權(quán)值共享。

參數(shù)量:單層卷積層總參數(shù)=卷積核個(gè)數(shù)*(卷積核尺寸+偏置項(xiàng))

卷積核個(gè)數(shù)一般通過(guò)該卷積層參數(shù)設(shè)置,卷積核尺寸為Filter*Filter(該層設(shè)置參數(shù))*上一層通道數(shù)(無(wú)需設(shè)置),偏置項(xiàng)為1。

(全連接層是節(jié)點(diǎn)數(shù)相乘。)

卷積的計(jì)算量:

(對(duì)于某個(gè)卷積層,它的FLOPs數(shù)量為:考慮偏置項(xiàng)的話,

其中num_params表示該層參數(shù)的數(shù)目。)

(全連接層:BxMxN , B是batch size,M是輸入形狀,N是輸出形狀。)

四.輸入輸出分析

五.caffe中的卷積實(shí)現(xiàn)

caffe是展開(kāi)成向量實(shí)現(xiàn)

對(duì)通道為C,高和寬分別為H、W的圖像,在每一個(gè)位置上,劃分一個(gè)KxK大小的patch,算上通道數(shù),那就是CxKxK大小的patch,一共有HxW個(gè)patch:

這樣就完成了由圖像到矩陣的轉(zhuǎn)化,這種操作在matlab中叫做im2col。需要注意的是,因?yàn)槊恳粋€(gè)像素點(diǎn)都對(duì)應(yīng)一個(gè)patch,可以看成patch區(qū)域在圖像上滑動(dòng),滑動(dòng)的過(guò)程是有重疊的,轉(zhuǎn)化所得的矩陣大小大于原圖像。

與此同時(shí),將濾波器轉(zhuǎn)化成矩陣形式。

最后一頁(yè)沒(méi)畫,但是基本上就是Filter Matrix乘以Feature Matrix的轉(zhuǎn)置,得到輸出矩陣Cout x (H x W),就可以解釋為輸出的三維Blob(Cout x H x W)。

這樣,卷積就可以轉(zhuǎn)化為矩陣乘法(Gemm in BLAS)問(wèn)題,調(diào)用GEMM(Generalized Matrix Multiplication)對(duì)兩矩陣內(nèi)積。BLAS有許多性能優(yōu)良的庫(kù),而且由分銷商Intel和Nvidia針對(duì)所有平臺(tái)進(jìn)行優(yōu)化。

②Group Convolution

Group Convolution分組卷積,最早見(jiàn)于AlexNet——2012年Imagenet的冠軍方法,Group Convolution被用來(lái)切分網(wǎng)絡(luò),使其在2個(gè)GPU上并行運(yùn)行,AlexNet網(wǎng)絡(luò)結(jié)構(gòu)如下:

常規(guī)卷積:如果輸入feature map尺寸為C?H?W,卷積核有N個(gè),輸出feature map與卷積核的數(shù)量相同也是N,每個(gè)卷積核的尺寸為C?K?K,N個(gè)卷積核的總參數(shù)量為N?C?K?K,輸入map與輸出map的連接方式如下圖左所示,

Group Convolution顧名思義,則是對(duì)輸入feature map進(jìn)行分組,然后每組分別卷積。假設(shè)輸入feature map的尺寸仍為C?H?W,輸出feature map的數(shù)量為N個(gè),如果設(shè)定要分成G個(gè)groups,則每組的輸入feature map數(shù)量為CG,每組的輸出feature map數(shù)量為NG,每個(gè)卷積核的尺寸為CG?K?K,卷積核的總數(shù)仍為N個(gè),每組的卷積核數(shù)量為NG,卷積核只與其同組的輸入map進(jìn)行卷積,卷積核的總參數(shù)量為N?CG?K?K,可見(jiàn),總參數(shù)量減少為原來(lái)的 1G,其連接方式如上圖右所示,group1輸出map數(shù)為2,有2個(gè)卷積核,每個(gè)卷積核的channel數(shù)為4,與group1的輸入map的channel數(shù)相同,卷積核只與同組的輸入map卷積,而不與其他組的輸入map卷積。

用途:

1.減少參數(shù)量,分成G組,則該層的參數(shù)量減少為原來(lái)的1G

2.Group Convolution可以看成是structured sparse,每個(gè)卷積核的尺寸由C?K?K變?yōu)镃G?K?K,可以將其余(C?CG)?K?K的參數(shù)視為0,有時(shí)甚至可以在減少參數(shù)量的同時(shí)獲得更好的效果(相當(dāng)于正則)。

3.當(dāng)分組數(shù)量等于輸入map數(shù)量,輸出map數(shù)量也等于輸入map數(shù)量,即G=N=C、N個(gè)卷積核每個(gè)尺寸為1?K?K時(shí),Group Convolution就成了Depthwise Convolution,參見(jiàn)MobileNet和Xception等,參數(shù)量進(jìn)一步縮減,如下圖所示

4.更進(jìn)一步,如果分組數(shù)G=N=C,同時(shí)卷積核的尺寸與輸入map的尺寸相同,即K=H=W,則輸出map為C?1?1即長(zhǎng)度為C的向量,此時(shí)稱之為Global Depthwise Convolution(GDC),見(jiàn)MobileFaceNet,可以看成是全局加權(quán)池化,與 Global Average Pooling(GAP) 的不同之處在于,GDC 給每個(gè)位置賦予了可學(xué)習(xí)的權(quán)重(對(duì)于已對(duì)齊的圖像這很有效,比如人臉,中心位置和邊界位置的權(quán)重自然應(yīng)該不同),而GAP每個(gè)位置的權(quán)重相同,全局取個(gè)平均,如下圖所示:

③深度可分離卷積(depthwise separable convolution)

在可分離卷積(separable convolution)中,通常將卷積操作拆分成多個(gè)步驟。而在神經(jīng)網(wǎng)絡(luò)中通常使用的就是深度可分離卷積(depthwise separable convolution)。

舉個(gè)例子,假設(shè)有一個(gè)3×3大小的卷積層,其輸入通道為16、輸出通道為32。

那么一般的操作就是用32個(gè)3×3的卷積核來(lái)分別同輸入數(shù)據(jù)卷積,這樣每個(gè)卷積核需要3×3×16個(gè)參數(shù),得到的輸出是只有一個(gè)通道的數(shù)據(jù)。之所以會(huì)得到一通道的數(shù)據(jù),是因?yàn)閯傞_(kāi)始3×3×16的卷積核的每個(gè)通道會(huì)在輸入數(shù)據(jù)的每個(gè)對(duì)應(yīng)通道上做卷積,然后疊加每一個(gè)通道對(duì)應(yīng)位置的值,使之變成了單通道,那么32個(gè)卷積核一共需要(3×3×16)×32 =4068個(gè)參數(shù)。

而應(yīng)用深度可分離卷積的過(guò)程是①用16個(gè)3×3大小的卷積核(1通道)分別與輸入的16通道的數(shù)據(jù)做卷積(這里使用了16個(gè)1通道的卷積核,輸入數(shù)據(jù)的每個(gè)通道用1個(gè)3×3的卷積核卷積),得到了16個(gè)通道的特征圖,我們說(shuō)該步操作是depthwise(逐層)的,在疊加16個(gè)特征圖之前,②接著用32個(gè)1×1大小的卷積核(16通道)在這16個(gè)特征圖進(jìn)行卷積運(yùn)算,將16個(gè)通道的信息進(jìn)行融合(用1×1的卷積進(jìn)行不同通道間的信息融合),我們說(shuō)該步操作是pointwise(逐像素)的。這樣我們可以算出整個(gè)過(guò)程使用了3×3×16+(1×1×16)×32 =656個(gè)參數(shù)。

假設(shè)輸入特征圖大小為 D_F×D_F×M,輸出特征圖大小為 D_F×D_F×N,卷積核大小為 D_K×D_K,則傳統(tǒng)卷積的計(jì)算量為:

D_K×D_K×M×N×D_F×D_F

深度可分離卷積的計(jì)算量為深度卷積和 1×1 卷積的計(jì)算量之和:

D_K×D_K×M×D_F×D_F+M×N×D_F×D_F

深度可分離卷積的優(yōu)點(diǎn)

可以看出運(yùn)用深度可分離卷積比普通卷積減少了所需要的參數(shù)。重要的是深度可分離卷積將以往普通卷積操作同時(shí)考慮通道和區(qū)域改變成,卷積先只考慮區(qū)域,然后再考慮通道。實(shí)現(xiàn)了通道和區(qū)域的分離。

④Defomable Convolution

可形變卷積的思想很巧妙:它認(rèn)為規(guī)則形狀的卷積核(比如一般用的正方形3*3卷積)可能會(huì)限制特征的提取,如果賦予卷積核形變的特性,讓網(wǎng)絡(luò)根據(jù)label反傳下來(lái)的誤差自動(dòng)的調(diào)整卷積核的形狀,適應(yīng)網(wǎng)絡(luò)重點(diǎn)關(guān)注的感興趣的區(qū)域,就可以提取更好的特征。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的在卷积层的运用_Conv 卷积层的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。