中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

什么是功能型網(wǎng)站有沒(méi)有免費(fèi)的寫(xiě)文案的軟件

什么是功能型網(wǎng)站,有沒(méi)有免費(fèi)的寫(xiě)文案的軟件,WordPress上傳主題大小限制,網(wǎng)站發(fā)帖功能怎么做一、卷積 (1)什么是卷積 定義:特征圖的局部與卷積核做內(nèi)積的操作。 作用:① 廣泛應(yīng)用于圖像處理領(lǐng)域。卷積操作可以提取圖片中的特征,低層的卷積層提取局部特征,如:邊緣、線(xiàn)條、角。 ② 高層…

一、卷積

(1)什么是卷積

定義:特征圖的局部與卷積核做內(nèi)積的操作。

作用:① 廣泛應(yīng)用于圖像處理領(lǐng)域。卷積操作可以提取圖片中的特征低層的卷積層提取局部特征,如:邊緣、線(xiàn)條、角。

②?高層的卷積從低層的卷積層中學(xué)到更復(fù)雜的特征,即局部特征的組合,如前景與背景的組合,從而實(shí)現(xiàn)圖片的分類(lèi)和識(shí)別。

(2)卷積的特點(diǎn)

主要特點(diǎn):局部感知和權(quán)值共享。

局部感知卷積的大小遠(yuǎn)遠(yuǎn)小于圖像局部的像素聯(lián)系比較密切,而距離較遠(yuǎn)的像素相關(guān)性較弱。因此,每個(gè)特征沒(méi)必要對(duì)全局圖像進(jìn)行感知,只需對(duì)局部進(jìn)行感知,然后在更高層將局部的信息 綜合起來(lái)得到全局信息。

權(quán)值共享:使用相同的卷積核去提取特征,參數(shù)可以共享。帶來(lái)了平移不變性:無(wú)論目標(biāo)物體平移變換到圖像中的哪個(gè)位置,卷積核都能以相同的方式(卷積核相同)對(duì)其進(jìn)行處理,提取出相同的特征。

(3)卷積和全連接的區(qū)別

輸入輸出的結(jié)構(gòu)卷積輸入輸出都是 NCHW?(批次大小、通道數(shù)、高度、寬度)格式,全連接輸入輸出都是?NV (批次大小、特征向量維度)結(jié)構(gòu)。

知識(shí)點(diǎn)補(bǔ)充:深度學(xué)習(xí)框架中,數(shù)據(jù)一般是4D,如NCHW,分別代表 Batch(N)、Channel(C)、Height(H)、Width(W)。如:假設(shè)N=2,C=16,H=5,W=4,邏輯上就是如下4D圖:

? ? ? ? 計(jì)算機(jī)存儲(chǔ)上是一維的二進(jìn)制,因此存取數(shù)據(jù)的順序是:①W方向②H方向③C方向④N方向。用上圖舉例,即(W)000、001、……、(H)004、005、……、019、(C)020、021、……、039、(N)320、……、639。

? ? ? ? 全連接會(huì)把一整個(gè)特征圖拉成一個(gè)向量(V),因此只有NV兩個(gè)維度。

層之間的連接方式全連接網(wǎng)絡(luò)兩層之間的神經(jīng)元是兩兩相連(兩層各任選出一個(gè)神經(jīng)元,這兩個(gè)神經(jīng)元是連接的),卷積部分相連(提取的特征只與卷積核覆蓋的局部圖像的特征有關(guān))。

全連接不適合做 CV:① 全連接導(dǎo)致參數(shù)量過(guò)多,提高過(guò)擬合風(fēng)險(xiǎn),即在訓(xùn)練集上表現(xiàn)好,在測(cè)試集上表現(xiàn)差,擴(kuò)展性差

②?使用Sigmoid激活函數(shù),它的導(dǎo)數(shù)值最大為0.25,網(wǎng)絡(luò)每更深一層,梯度值就會(huì)乘上一個(gè)不超過(guò)0.25的導(dǎo)數(shù),使梯度值越來(lái)越小,甚至“梯度消失”。因此,全連接網(wǎng)絡(luò)存在局限,梯度傳播很難超過(guò) 3 層

?鄰近像素關(guān)聯(lián)性強(qiáng),距離較遠(yuǎn)像素關(guān)聯(lián)性弱。全連接網(wǎng)絡(luò)將每個(gè)像素視為獨(dú)立特征沒(méi)有利用像素之間的位置關(guān)系信息

卷積適合做 CV:① 局部連接(卷積核只有局部特征圖的大小)、權(quán)重共享(使用相同的卷積核)、池化(壓縮特征圖尺寸,隨之使用的卷積核尺寸減小),參數(shù)量大大減少。

使用Relu激活函數(shù),其在正值區(qū)域梯度恒為1,避免了Sigmoid激活函數(shù)在極端值處梯度消失的問(wèn)題,有利于深層網(wǎng)絡(luò)訓(xùn)練

③?局部感知利用了像素之間的位置關(guān)系信息。

(4)卷積的相關(guān)計(jì)算

卷積結(jié)果的長(zhǎng)、寬計(jì)算公式

H_{2}=\frac{H_{1}-F_{H}+2P}{S}+1

W_{2}=\frac{W_{1}-F_{W}+2P}{S}+1

? ? ? ? 計(jì)算結(jié)果向下取整H_{1}、W_{1}表示輸入數(shù)據(jù)的長(zhǎng)、寬;F_{H}、F_{W}表示卷積核的長(zhǎng)、寬;P表示邊緣填充的寬度,乘以2是因?yàn)閿?shù)據(jù)的兩邊都會(huì)填充P的寬度;S為滑動(dòng)窗口的步長(zhǎng)。

卷積層參數(shù)量的計(jì)算

C_{out}*\left ( F_{H}*F_{W}*C_{in} \right )+C_{out}

????????F_{H}表示卷積核的高度,F_{W}表示卷積核的寬度,C_{in}表示輸入的通道數(shù)(卷積核的通道數(shù)),C_{out}表示輸出的通道數(shù)(卷積核的個(gè)數(shù))。結(jié)尾再加C_{out},是因?yàn)槊總€(gè)卷積核還有一個(gè)偏置項(xiàng)。

(5)感受野

定義:輸出特征圖上的一個(gè)特征點(diǎn)對(duì)應(yīng)于原圖像素點(diǎn)的映射區(qū)域的大小。

來(lái)源:VGG網(wǎng)絡(luò)提出,通過(guò)堆疊多層小卷積核(如3*3)代替一層大卷積核(如5*5、7*7),保持了與大卷積核相同的感受野,并增加了其它優(yōu)勢(shì)

減少了網(wǎng)絡(luò)的參數(shù),隨之降低了過(guò)擬合風(fēng)險(xiǎn)、提高了計(jì)算速度。

② 卷積層越多,每層專(zhuān)注于學(xué)習(xí)更簡(jiǎn)單的問(wèn)題,提取的特征越細(xì)致。

③ 卷積層越多,加入的非線(xiàn)性變換越多(Relu激活函數(shù)),可以表現(xiàn)更復(fù)雜的東西。

有效感受野:①?實(shí)際上的有效感受野(認(rèn)為每個(gè)像素的貢獻(xiàn)不同)遠(yuǎn)遠(yuǎn)小于理論感受野(認(rèn)為每個(gè)像素的貢獻(xiàn)相同)。并且越靠近感受野中心的特征值,在卷積層中被使用次數(shù)越多,即對(duì)輸出層的特征圖點(diǎn)的貢獻(xiàn)越大即越有效,如下圖所示:

? ? ? ? x表示卷積層的輸入,w表示卷積層的權(quán)重,o表示卷積層的輸出??扛惺芤斑吘壍奶卣?img referrerpolicy="no-referrer" alt="x_{1,1}" class="mathcode" src="https://latex.csdn.net/eq?x_%7B1%2C1%7D" />只參與了o_{1,1}^{1}的計(jì)算,而靠中間的x_{3,3}參與了第一層輸出的所有特征值的計(jì)算。因此,x_{1,1}只能通過(guò)o_{1,1}^{1}來(lái)影響o_{1,1}^{2},而x_{3,3}能通過(guò)o_{1,1}^{1}、o_{1,2}^{1}、o_{1,3}^{1}、o_{2,1}^{1}、o_{2,2}^{1}、o_{2,3}^{1}、o_{3,1}^{1}、o_{3,2}^{1}、o_{3,3}^{1}來(lái)影響o_{1,1}^{2},很明顯,x_{3,3}x_{1,1}對(duì)o_{1,1}^{2}更有效。輸出層的特征點(diǎn)的感受野有效性,類(lèi)高斯分布向邊緣遞減,如下圖所示:

②?anchor 應(yīng)該與有效感受野相匹配。

感受野大小計(jì)算公式

注意:①?第一層卷積層的輸出特征圖像素的感受野的大小等于濾波器(卷積核)的大小

②?深層卷積層的感受野大小和它之前所有層的濾波器大小和步長(zhǎng)有關(guān)。

③?計(jì)算感受野大小時(shí),忽略了圖像邊緣填充的影響,即不考慮 padding 的大小。以下公式,是從輸入層開(kāi)始,逐漸迭代計(jì)算到輸出層的特征的感受野。

l_{k}=l_{k-1}+\left [ \left ( f_{k}-1 \right )*\prod_{i=1}^{k-1}s_{i} \right ]

? ? ? ? 其中?l_{k-1}?表示第 k-1 層輸出的特征圖對(duì)應(yīng)的感受野大小;f_{k}?表示第 k 層的卷積核、或者池化層的池化大小;s_{i}?表示第 i 層的滑動(dòng)窗口步長(zhǎng);初始值?l_{0}?為1。用以下的一個(gè)例子示范感受野大小的計(jì)算:

第一層輸出的感受野:l_{1} =1+(3-1)=1+2=3

第二層輸出的感受野:?l_{2}=3+(2-1)*1=3+1=4

第三層輸出的感受野:l_{3}=4+(3-1)*1*2=4+4=8

????????神經(jīng)元感受野的值越大表示其能接觸到的原始圖像范圍就越大,也意味著它可能蘊(yùn)含更為全局,語(yǔ)義層次更高的特征;相反,值越小則表示其所包含的特征越趨向局部和細(xì)節(jié)。因此感受野的值可以用來(lái)大致判斷每一層的抽象層次。

? ? ? ? 如果使用的是空洞卷積,公式則如下:

l_{k}=l_{k-1}+\left [ \left ( f_{k}-1 \right )*\prod_{i=1}^{k-1}s_{i} \right ]*dilation_{k}

? ? ? ? 其中?dilation_{k}?表示第 k 層的空洞率。

(6)反卷積(轉(zhuǎn)置卷積)

作用:主要用于上采樣,就是擴(kuò)大輸入特征圖的尺寸;還可以用來(lái)近似重構(gòu)輸入圖像、卷積層可視化

運(yùn)算步驟:以下的 k 表示卷積核尺寸;s 表示每個(gè)像素間的距離,如下圖所示:

????????p 表示初始卷積核可以卷積到圖像的尺寸,如下圖所示:

① 填充輸入特征圖:在輸入特征圖的元素間填充 s-1 長(zhǎng)度的行和列,填充值為0;在特征圖四周填充 k-p-1 長(zhǎng)度的行和列,填充值為0。

② 翻轉(zhuǎn)卷積核:上下、左右翻轉(zhuǎn)。

③ 做普通的卷積運(yùn)算。?

? ? ? ? 可以看到轉(zhuǎn)置卷積最終還是做普通的卷積,因此,轉(zhuǎn)置卷積是一種特殊的正向卷積。

示例:

?動(dòng)圖來(lái)源于:GitHub - vdumoulin/conv_arithmetic: A technical report on convolution arithmetic in the context of deep learning

????????上面動(dòng)圖的藍(lán)色部分是輸入特征圖,虛線(xiàn)部分是對(duì)輸入特征圖的填充,綠色部分是輸出特征圖,總的效果是從輸入特征圖的3*3變?yōu)檩敵鎏卣鲌D的5*5,尺寸變大。假設(shè)上圖的s=2,p=1,k=3,則元素間距填充:2-1=1;邊緣填充:3-1-1=1。在做普通卷積的時(shí)候,padding為0,stride為1。

輸出特征圖的長(zhǎng)、寬計(jì)算公式

H_{out}=(H_{in}-1)\times stride[0]-2\times padding[0]+kernel_size[0]

W_{out}=(W_{in}-1)\times stride[1]-2\times padding[1]+kernel_size[1]

????????如果使用空洞卷積或者做普通卷積的時(shí)候padding不為0,那么用如下的公式:

H_{out}=(H_{in}-1)\times stride[0]-2\times padding[0]+dilation[0]\times(kernel_size[0]-1)+output_padding[0]+1

W_{out}=(W_{in}-1)\times stride[1]-2\times padding[1]+dilation[1]\times(kernel_size[1]-1)+output_padding[1]+1

????????其中?dilation?表示空洞率,output_padding?表示做普通卷積時(shí)的邊緣填充寬度。

轉(zhuǎn)置卷積運(yùn)算步驟的推導(dǎo):以下圖的普通卷積為例子,步長(zhǎng)為1,邊緣填充寬度為0,卷積核尺寸為3。

? ? ? ? 在理論講述普通卷積的計(jì)算時(shí),說(shuō)都是以滑動(dòng)窗口的形式計(jì)算的,但是這種滑動(dòng)的方式非常低效,因此,在實(shí)際計(jì)算時(shí)用了下面的一種計(jì)算方法:

? ? ? ? ① 將卷積核轉(zhuǎn)換為跟輸入特征圖尺寸相同的等效矩陣

? ? ? ? ② 將輸入特征圖展平為行向量:

? ? ? ? ③ 將所有等效矩陣展平為列向量,并合并為一個(gè)矩陣:

? ? ? ? ④ 最后將輸入特征圖與卷積核等效矩陣相乘,就能得到輸出特征圖:

? ? ? ? 現(xiàn)在有一個(gè)問(wèn)題,如果知道卷積核參數(shù)C以及輸出矩陣O,那么可以計(jì)算輸入矩陣I嗎?可能會(huì)說(shuō),在兩邊都乘以一個(gè)C的逆矩陣就行了,但是逆矩陣必須為方陣,而C并不是方陣,因此,這個(gè)方法行不通,反卷積不是卷積的逆運(yùn)算。現(xiàn)在放寬條件,不要求計(jì)算原始輸入矩陣 I,只要求與原始輸入矩陣相同尺寸的矩陣,這樣便是可以的,方法如下:

? ? ? ? 將輸出矩陣 O,乘以卷積核等效矩陣的轉(zhuǎn)置?C^{T},得到大小為 1*16 的矩陣 P,可以看到它與輸入矩陣 I 的參數(shù)不同,但尺寸相同。最終效果是,把一個(gè) 2*2 的矩陣上采樣,擴(kuò)展為一個(gè)4*4 的矩陣。因此,反卷積操作不能還原出卷積之前的特征圖,只能還原出卷積之前特征圖的尺寸

? ? ? ? 接下來(lái)講述的是反卷積運(yùn)算步驟是怎么來(lái)的:

????????① 把矩陣 O 還原為 2*2 的矩陣形式,把?C^{T}?的每一列變?yōu)?2*2 的等效矩陣形式,再將 O 與每一個(gè)等效矩陣在相應(yīng)位置相乘相加,就能得到矩陣 P :

? ? ? ? 與之還有一種等效的做法,將下圖的綠色矩陣在填充后的矩陣 O 上滑動(dòng)做卷積,會(huì)發(fā)現(xiàn)得到的結(jié)果與 P 一模一樣。下圖是將綠色矩陣與第一個(gè)滑動(dòng)窗口相計(jì)算:

? ? ? ? 實(shí)際上,綠色矩陣就是一開(kāi)始用卷積核 kernel 在 4*4 的輸入特征圖上做普通卷積得到 2*2 的輸出特征圖中的卷積核的上下、左右的翻轉(zhuǎn)矩陣

(7)空洞卷積

作用:在保持輸出特征圖的尺寸與輸入特征圖的尺寸一致的條件下,擴(kuò)大輸出特征圖像素的感受野,并能保證不會(huì)因?yàn)橄虏蓸佣鴣G失信息。通常情況下,為了擴(kuò)大感受野,會(huì)進(jìn)行下采樣,然后用上采樣還原到原圖的尺寸,但下采樣造成的信息丟失,在上采樣中是無(wú)法彌補(bǔ)的。因此,為了避免因下采樣而造成更多的信息丟失,就使用空洞卷積。

為什么擴(kuò)大了感受野:在空洞卷積中,加入了一個(gè)新參數(shù)?dilation?表示空洞率,空洞率就是卷積核的參數(shù)間的間隔,參數(shù)間空的部分填充0,擴(kuò)大了實(shí)際上的卷積核尺寸,因此會(huì)擴(kuò)大感受野。如下圖的所示,藍(lán)色表示輸入,綠色表示輸出,深藍(lán)色表示卷積核參數(shù):

?????????在卷積核的參數(shù)個(gè)數(shù)都為9的情況下,傳統(tǒng)卷積的感受野是 3*3 ,而空洞卷積的感受野是 5*5。

為什么能保持尺寸不變:上圖中的空洞卷積后的特征圖尺寸變小,是因?yàn)闆](méi)有對(duì)輸入圖像進(jìn)行邊緣填充。對(duì)輸入特征圖進(jìn)行邊緣填充(padding不為0),輸入特征圖的信息全保留了下來(lái)(不像用池化進(jìn)行下采樣,比如 max-pooling 只保留局部的最大特征值,造成信息丟失),并讓輸入圖像的尺寸變大,再做空洞卷積就能保持輸入和輸出的尺寸不變。

卷積核尺寸計(jì)算:k 為原始卷積核尺寸,r 為空洞率。

K=k+(k-1)(r-1)

存在的問(wèn)題——網(wǎng)格效應(yīng)(gridding effect):空洞卷積后得到的像素值對(duì)應(yīng)于原特征圖上的感受野范圍內(nèi),使用到的原特征圖上的像數(shù)值并不連續(xù),存在間隔,導(dǎo)致丟失部分信息。

????????假如對(duì)一張17*17的特征圖(layer1)進(jìn)行3次卷積核尺寸為3*3,空洞率為2,步長(zhǎng)為1的空洞卷積,網(wǎng)絡(luò)層次結(jié)構(gòu)如下圖所示:

? ? ? ? 下圖中有顏色的部分表示做3次空洞卷積后,輸出特征圖中的一個(gè)像素對(duì)應(yīng)于該層的感受野。比如輸出特征圖 layer4 中的像素?x_{4,1}?在 layer1 中的感受野范圍是 13*13,在 layer2 中的感受野范圍是 9*9。

? ? ? ? 先從 layer1 開(kāi)始執(zhí)行第一次空洞卷積,會(huì)利用到所有帶顏色的像素點(diǎn),得到 layer2 中所有帶顏色的像素點(diǎn);再執(zhí)行第二次空洞卷積,會(huì)利用 layer2 中所有帶顏色的像素點(diǎn),得到 layer3?中所有帶顏色的像素點(diǎn);執(zhí)行第三次空洞卷積,只用到了黃色的像素點(diǎn),得到 layer4 中的像素?x_{4,1}

? ? ? ? 再反過(guò)來(lái)看,layer4 中的像素?x_{4,1}?只利用了 layer3 中黃色的像素點(diǎn);layer3 中黃色的像素點(diǎn)只利用了 layer2?中黃色的像素點(diǎn)(layer2?中黃色的像素點(diǎn)上的數(shù)字表示被 x_{4,1}?利用的次數(shù));layer2?中黃色的像素點(diǎn)只利用了 layer1?中黃色的像素點(diǎn)。如果計(jì)算 layer1?中黃色像素點(diǎn)被?x_{4,1}?利用的次數(shù),?比如 layer1 上的像素?x_{1,3}?被?layer2?上的像素?x_{2,1}、x_{2,2}、x_{2,3}?利用,這3個(gè)像素點(diǎn)被?x_{4,1}?利用的次數(shù)分別是 1、2、3,那么??x_{1,3}? 被?x_{4,1}?利用的次數(shù)就是 1+2+3=6。

? ? ? ? 按照上面的方法計(jì)算,最終會(huì)得到原特征圖中所有被?x_{4,1}? 利用的像素點(diǎn)以及被利用的次數(shù),如下圖所示,右邊的顏色條表示像素被利用次數(shù)的程度:

? ? ? ? 可以看到經(jīng)過(guò)幾層相同空洞率的空洞卷積后,輸出特征圖的像素對(duì)應(yīng)輸入特征圖的感受野范圍內(nèi)的像素并不是都被利用到的,造成信息丟失。輸入特征圖的像素參與運(yùn)算次數(shù)也分布不均,利用次數(shù)多的特征可能對(duì)分割結(jié)果產(chǎn)生更多影響

? ? ? ? 如果3次空洞卷積的空洞率改為1、2、3,網(wǎng)絡(luò)層次如下:

? ? ? ? 同3個(gè)空洞率為2的空洞卷積類(lèi)似,得到被 layer4 的一個(gè)像素利用的像素(黃色)以及被利用的次數(shù),如下圖所示:

? ? ? ? 完整的 layer1 的像素被利用次數(shù):

? ? ? ? 可以發(fā)現(xiàn)分別用空洞率為1、2、3的空洞卷積結(jié)果,連續(xù)地使用了原特征圖的所有特征。因此,設(shè)置合適的混合空洞率參數(shù),可以更好地避免信息丟失。

設(shè)計(jì)膨脹系數(shù)的方法——混合空洞卷積(Hybrid Dilated Convolution,HDC)

建議1:假如有 N 層空洞卷積,卷積核尺寸為?K*K,每層的空洞率為?\left [ r_{1},......,r_{i},......,r_{n} \right ]M_{i}?表示第 i 層兩個(gè)非零元素(被利用到的元素)的最大距離,M_{i}?的計(jì)算公式為:

M_i=max[M_{i+1}-2r_i,-\left (M_{i+1}-2r_i \right ),r_i]

? ? ? ? 并且M_{n}=r_{n},如果滿(mǎn)足條件:M_{2}\leq K,則空洞率設(shè)計(jì)合適,否則不合適。

? ? ? ? 例如:K = 3,r = [1, 2, 5],則M_{3}=5M_{2}=max(1,-1,2)=2,滿(mǎn)足條件?M_{2}\leq K,因此設(shè)計(jì)合適。最高層像素利用最低層像素信息情況如下圖所示,所有像素都被利用:

????????又例如:K = 3,r = [1, 2, 9],則M_{3}=9M_{2}=max(5,-5,2)=5,不滿(mǎn)足條件?M_{2}\leq K,因此設(shè)計(jì)不合適。最高層像素利用最低層像素信息情況如下圖所示,非零像素間最大間隔為3,用公式也可以求得(M_{1} = max\left ( 5-2*1, -(5-2*1), 1 \right )=3),部分信息丟失:

? ? ? ? 從上面兩個(gè)例子可以觀察到,r_{1}?都為1,這是因?yàn)?#xff0c;如果想要最底層的像素都被利用,那么M_{1}?應(yīng)該為1,而?M_{1}?是取?M_{2}-21,-\left (M_{2}-2r1 \right ),r1?三者的最大值,那么?r_{1}?肯定小于等于M_{1},故?r_{1}?肯定設(shè)計(jì)為 1。

建議2:將膨脹系數(shù)設(shè)計(jì)為鋸齒結(jié)構(gòu),例如 r = [1, 2, 3, 1, 2, 3],重復(fù)給定的 1, 2, 3。

建議3:膨脹系數(shù)的公約數(shù)不能大于1,例如 r = [2, 4, 8],公約數(shù)為2 大于 1,它的最低層像素利用結(jié)果如下圖所示,可以看到部分像素未被利用:

? ? ? ? 下面是真實(shí)標(biāo)簽、未使用HDC設(shè)置方法、使用HDC設(shè)計(jì)方法的分割效果對(duì)比:

? ? ? ? 可以看到?jīng)]有使用 HDC設(shè)計(jì)方法的預(yù)測(cè)效果存在很多細(xì)節(jié)上的問(wèn)題,如上圖中第二行,紅色線(xiàn)框出來(lái)的部分。

缺點(diǎn):① 局部信息丟失:由于空洞卷積的計(jì)算方式類(lèi)似于棋盤(pán)格式,某一層得到的卷積結(jié)果中的鄰近像素,來(lái)自上一 層的獨(dú)立的子集,沒(méi)有相互依賴(lài),因此該層的卷積結(jié)果之間沒(méi)有相關(guān)性(鄰近像素點(diǎn)的集合作為局部信息,應(yīng)該有相關(guān)性,現(xiàn)在卻沒(méi)有了)。例如下圖所示:

????????x1, x2 是第一層卷積結(jié)果 layer2 中的兩個(gè)鄰近像素點(diǎn),x1 由 x3、x5、x7 計(jì)算得來(lái),x2 由 x4、x6、x8 計(jì)算得來(lái),這兩個(gè)子集互相獨(dú)立,導(dǎo)致卷積結(jié)果 x1, x2 沒(méi)有相關(guān)性。

遠(yuǎn)距離信息不相關(guān):原本的卷積神經(jīng)網(wǎng)絡(luò)在較深層,才會(huì)去處理兩個(gè)間隔較遠(yuǎn)的像素特征。由于空洞卷積稀疏的采樣輸入信號(hào),讓間隔較遠(yuǎn)的特征早早地發(fā)生了相關(guān)運(yùn)算,使得遠(yuǎn)距離信息的特征可能提取不好(遠(yuǎn)距離信息原本不相關(guān),卻強(qiáng)行將它們進(jìn)行相關(guān)運(yùn)算,卷積提取的特征效果就差)。

? ? ? ? 空洞率過(guò)大,適合分割大物體,但小物體的分割效果糟糕。

(8)可分離卷積

? ? ? ? 可分離卷積分為空間可分離卷積和深度可分離卷積,空間是指 [height, width] 兩個(gè)維度,深度是指 channel 維度。

① 空間可分離卷積

運(yùn)算步驟:空間可分離卷積就是將 n * n 的卷積分成 n?? 1 和 1 ? n 兩步計(jì)算。比如將一個(gè) 3 * 3?的卷積核拆分成一個(gè) 3 * 1 的向量和一個(gè) 1 * 3 的向量,如下圖所示:

優(yōu)點(diǎn)節(jié)省計(jì)算成本。如果做普通卷積,如下圖所示,一共要做 9 次卷積,每次卷積要做 9 次乘法,一共要做 9 * 9 = 81 次乘法。

? ? ? ? 現(xiàn)在把 3 * 3?的卷積核拆分成個(gè)向量,分別做卷積,如下圖所示:

? ? ? ? 第一次卷積:一共要做 15?次卷積,每次卷積要做 3?次乘法,一共要做 15?* 3?= 45?次乘法;第二次卷積:一共要做 9?次卷積,每次卷積要做 3?次乘法,一共要做 9?* 3?= 27?次乘法;總共做了 45 + 27 = 72 次乘法。

缺點(diǎn):這種方法具有局限性,并非所有卷積核都可以分為兩個(gè)較小的卷積核。如果用空間可分離卷積代替所有傳統(tǒng)的卷積,在訓(xùn)練過(guò)程中,將限制卷積核的類(lèi)型,訓(xùn)練結(jié)果可能不是最佳的。因此,一般情況下很少用到。

② 深度可分離卷積

運(yùn)算步驟:將標(biāo)準(zhǔn)卷積操作分為逐深度卷積(Depthwise Convolution)和逐點(diǎn)卷積(Pointwise Convolution)。

? ? ? ? 對(duì)于普通卷積,一張?zhí)卣鲌D的 3 個(gè)通道會(huì)分別于卷積核的 3 個(gè)通道做卷積,最后將 3 個(gè)結(jié)果合并作為最終輸出,如下圖所示(一共有 4 個(gè)卷積核):

? ? ? ? 使用的參數(shù)數(shù)量:3 * 3 * 3 * 4 = 108 個(gè)。

? ? ? ? 而深度可分離卷積分為了兩步。逐深度卷積:卷積核是二維的,個(gè)數(shù)與特征圖的通道數(shù)一致,分別卷積后得到 3 張?zhí)卣鲌D,這一步的目的是特征提取,如下圖所示:

? ? ? ? 使用的參數(shù)數(shù)量:3 *3 * 3 = 27 個(gè)。

? ? ? ? 逐點(diǎn)卷積:卷積核恢復(fù)三維,但大小都是 1 * 1 的。為了對(duì)比,卷積核個(gè)數(shù)與上面的普通卷積中一致,為 4 個(gè),最后得到的特征圖數(shù)量與卷積核個(gè)數(shù)一致。這一步的目的是通道間信息交互和合并,如下圖示:

????????使用的參數(shù)數(shù)量:1* 1 * 3 * 4 = 12 個(gè)。兩步總共的參數(shù)數(shù)量:27 + 12 = 39 個(gè)。

優(yōu)點(diǎn)可大幅度減少卷積的參數(shù)

缺點(diǎn):在逐深度卷積這一步,卷積核太少,得到特征圖太少,獲取到的有效信息較少,從而造成精度損失。因此,模型大小可能會(huì)顯著降低,模型的能力可能會(huì)變得不太理想。最近一些研究的解決辦法就是,增加第二步逐點(diǎn)卷積的卷積核個(gè)數(shù),從而增加輸出特征圖的通道數(shù)。

(9)分組卷積

運(yùn)算步驟:設(shè)原通道為 C_{in},目標(biāo)通道為 C_{out}。將輸入特征圖按通道均分為 g 組,然后對(duì)每一組進(jìn)行常規(guī)卷積。分組后,每組輸入特征圖的通道數(shù)為 C_{in}/g,所以每個(gè)卷積核的通道數(shù)也降低到 C_{in}/g 。一個(gè)卷積核可以計(jì)算一張?zhí)卣鲌D,如果每組有 n個(gè)卷積核,則目標(biāo)通道數(shù)?C_{out} = n * g,即 C_{in}?和?C_{out}?都是 g 的倍數(shù),如下圖所示:

優(yōu)點(diǎn):①?減少大量參數(shù),從而減少運(yùn)算量。若輸入特征圖大小為 n * n ,卷積核大小為 m * m,相同輸入輸出大小的情況下,普通卷積使用的參數(shù)個(gè)數(shù)為:C_{out} * (m * m * C_{in}),分組卷積使用的參數(shù)個(gè)數(shù)為:C_{out} * \left [ m * m * (C_{in} / g) \right ],分組卷積比普通卷積少了 g 倍。

②?隔絕不同組的信息交換。如每個(gè)輸出與輸入的一部分特征圖相關(guān)聯(lián)時(shí),分組卷積可以取得比常規(guī)卷積更好的性能,如輸出通道為2,它們分別只與輸入的1,2和3,4通道相關(guān),這時(shí)最好使用g=2的分組卷積,相當(dāng)于直接讓模型將不相關(guān)的輸入通道權(quán)重設(shè)置為零(不相關(guān)的輸入通道之間不必再做計(jì)算),加快模型收斂。如下圖所示:

缺點(diǎn):對(duì)于需要考慮所有輸入特征圖信息的情況,分組卷積會(huì)降低模型的性能。這個(gè)問(wèn)題,常常在兩個(gè)分組卷積之間加入Channel_Shuffle模塊打亂通道順序,從而實(shí)現(xiàn)不同分組間的信息交換。如下圖所示:

????????如果 g=C_{in},就變成了逐深度卷積;如果 g=C_{in},而且卷積核的?size 等于輸入的?size,就變成了全局加權(quán)池化,權(quán)重是可學(xué)習(xí)的。

(10)可變形卷積

運(yùn)算步驟:首先看普通卷積的公式:\mathbf{y}(\mathbf{p}_0)=\sum_{\mathbf{p}_n\in\mathcal{R}}\mathbf{w}(\mathbf{p}_n)\cdot\mathbf{x}(\mathbf{p}_0+\mathbf{p}_n)p_{0}?就是當(dāng)前處理的窗口的中心像素的坐標(biāo),如(3, 4),如下圖所示:

p_{n}?就是相對(duì)于中心像素的窗口內(nèi)其它像素的相對(duì)位置,它們組成矩陣RR?定義了卷積操作的 kernel size 和 dilation。如果 dlilation=2,相對(duì)位置就由加減 1 變?yōu)榧訙p 2,如下圖所示:

\mathbf{x}(\mathbf{p}_0+\mathbf{p}_n)?就是輸入圖像中?\mathbf{p}_0+\mathbf{p}_n?位置的像素值,\mathbf{w}(\mathbf{p}_n)?就是卷積核中?\mathbf{p}_n?位置的權(quán)重。而可變形卷積公式加了一個(gè)?\Delta\mathbf{p}_n,表示滑動(dòng)窗口中每個(gè)像素的位置偏移量

\mathbf{y}(\mathbf{p}_0)=\sum_{\mathbf{p}_n\in\mathcal{R}}\mathbf{w}(\mathbf{p}_n)\cdot\mathbf{x}(\mathbf{p}_0+\mathbf{p}_n+\Delta\mathbf{p}_n)

\Delta\mathbf{p}_n?是一個(gè)學(xué)習(xí)到的值,通過(guò)普通卷積計(jì)算而來(lái),是浮點(diǎn)型數(shù)據(jù)。假設(shè)對(duì)輸入圖像中以第3行,第4列為中心的滑動(dòng)窗口的右上角像素為例,說(shuō)明可變形卷積的運(yùn)算過(guò)程:

① 計(jì)算?\Delta\mathbf{p}_n:計(jì)算?\Delta\mathbf{p}_n?的普通卷積的輸入就是可變形卷積的輸入(in_channel = 輸入圖像的 channel);out_channel = 2 * kernel_size^2;其它的參數(shù),如 kernel_size、stride、padding 都與可變形卷積一樣,因此它的輸出 size 也與可變形卷積一樣。例如,輸入圖像的 channel 為 3,那么 out_channel = 2*3*3=18,如下圖所示:

? ? ? ? 左邊的黃色部分是當(dāng)前做卷積的窗口,右邊的黃色部分是得到的結(jié)果,有18個(gè)像素值,將它們 reshape 為\Delta R,如上圖所示,每個(gè)元素就是\Delta\mathbf{p}_n表示當(dāng)前處理的滑動(dòng)窗口中每個(gè)像素的位置偏移量(x, y)?;瑒?dòng)窗口中右上角的像素值的\Delta\mathbf{p}_n就是(1.6, 3.2)。

② 計(jì)算亞像素點(diǎn)位置\mathbf{p}=\mathbf{p}_{0}+\mathbf{p}_{n}+\Delta\mathbf{p}_{n} =(3,4)+(-1, 1)+(1.6, 3.2)=(3.6, 8.2),是浮點(diǎn)型數(shù)據(jù),(3.6,8.2)臨近的4個(gè)像素點(diǎn)分別為(3,8)、(3,9)、(4,8)、(4,9),如下圖中的紫色部分:

紫色部分中的紅色點(diǎn)就是亞像素點(diǎn),即偏移位置,它的像素值 p_{3}?通過(guò)雙線(xiàn)性插值法求得。同理求得窗口中其它像素點(diǎn)的偏移后的像素值。

③ 做普通卷積

優(yōu)點(diǎn):通過(guò)左右對(duì)比可以明顯的看出,可變形卷積的采樣位置更符合物體本身的形狀和尺寸,而標(biāo)準(zhǔn)卷積的形式卻不能做到這一點(diǎn)。相比原始的卷積它更能排除背景噪聲的干擾得到更有用的信息

(11)1 * 1 卷積

起源:在 2014 年 GoogleNet 中首先應(yīng)用。

作用

①?實(shí)現(xiàn)跨通道的交互和信息整合。比如圖中,輸入的三個(gè)通道會(huì)與卷積核的三個(gè)通道分別做卷積,然后將三個(gè)結(jié)果的對(duì)應(yīng)位置相加,即對(duì)不同通道上的特征進(jìn)行線(xiàn)性組合,得到一個(gè)通道的特征圖。

②?進(jìn)行卷積核通道數(shù)的降維和升維。比如圖中,使用兩個(gè) 1 *?1卷積核,沒(méi)有改變輸入和輸出的 size但 channel 減少,實(shí)現(xiàn)降維(3 channel 變?yōu)?2 channel)。

③?可以實(shí)現(xiàn)與全連接層等價(jià)的效果。比如圖中,將輸入的 3 個(gè)通道分別拉成 [16 * 1] 的向量 1、2、3,作為三個(gè)神經(jīng)元,通過(guò)卷積核1的3個(gè)通道、卷積核2的3個(gè)通道計(jì)算得到兩個(gè) [16 * 1] 的向量神經(jīng)元 4、5,它們是全連接的。

④?加入非線(xiàn)性(卷積后緊跟激活函數(shù)層)。

⑤ 減少參數(shù)及計(jì)算量(MobileNet)。這一想法最早在GoogleNet中被提出,比如說(shuō)如下兩個(gè)Inception模塊:

情況1,使用 1 * 1 卷積:

?1*1卷積部分: 96*32*1*1=3072個(gè);3*3卷積部分 32*48*3*3=13824個(gè);總計(jì)16896個(gè)訓(xùn)練參數(shù)。

情況2,不使用 1 * 1 卷積:

總計(jì) 96*48*3*3 = 41472個(gè)訓(xùn)練參數(shù)。

????????從實(shí)際上來(lái)看,帶1*1卷積的模型參數(shù)量更少,本質(zhì)原因是因?yàn)?*1的卷積對(duì)數(shù)據(jù)的特征向量進(jìn)行了降維的處理,使得特征通道數(shù)目先有了一定的減少(降維導(dǎo)致通道數(shù)減少,從而參數(shù)量減少)。

(12)3D 卷積

2D卷積,卷積核通道數(shù)與輸入圖像通道數(shù)一致

3D卷積:

? ? ? ? 3D卷積的卷積核有3個(gè)維度,并且卷積核通道數(shù)小于特征圖通道數(shù),卷積核可在 h,w,c 三個(gè)方向移動(dòng)。

二、池化

(1)池化的作用

池化即下采樣。

① 減小特征圖的 size,保留主要的特征,從而減少參數(shù)和計(jì)算量,達(dá)到降維的效果。

②?防止過(guò)擬合,增強(qiáng)模型泛化性能。

③?擴(kuò)大感受野。

④?實(shí)現(xiàn)平移旋轉(zhuǎn)不變性。因?yàn)槌鼗粩喑橄罅藚^(qū)域的特征而不關(guān)心位置,所以池化一定程度上增加了平移不變性。比如,用平均池化、最大池化,把窗口內(nèi)像素點(diǎn)位置改變了,平均值、最大值還是一樣的。

(2)池化的分類(lèi)

最大池化:選取池化窗口中的最大值作為輸出。

平均池化:選取池化窗口中像素的平均值作為輸出。

③?全局平均池化:在 Class Activation Mapping(CAM)中提出,就是對(duì)每個(gè)通道的整個(gè)特征圖進(jìn)行平均池化,生成對(duì)應(yīng)于每個(gè)通道的匯聚特征值,最終得到一個(gè)匯聚特征向量。一般用于后面的全連接層

④?金字塔池化:目前流行的CNN都需要固定 size 和 scale 的輸入圖片,基本上都是通過(guò)剪裁(crop) 和縮放 (wrap),這種處理方式存在弊端:crop 的圖片可能不包含整個(gè)物體;wrap 導(dǎo)致物體變形;當(dāng)物體大小改變時(shí),預(yù)定義的 scale 可能不適合物體的變化。如下圖所示:

CNN網(wǎng)絡(luò)對(duì)于固定輸入的要求,主要在全連接的分類(lèi)器層(輸入必須與權(quán)重矩陣匹配),而特征提取層可以通過(guò)控制卷積核尺寸調(diào)節(jié),來(lái)接受各種 scale 和 size 的輸入,得到固定的特征輸出。因此,可以通過(guò)一種叫做空間金字塔池化(Spatial Pyramid Pooling, SPP)的方法,將不同尺寸的輸入,進(jìn)行多個(gè)尺度的池化,然后展開(kāi)并拼接出一個(gè)固定大小的向量,從而連接到全連接層。

????????如下圖所示,一張任意大小的圖片在經(jīng)過(guò)一系列的卷積層后,產(chǎn)生了256個(gè)特征圖(最后一個(gè)卷積層有256個(gè)卷積核),大小不固定。將每張?zhí)卣鲌D都分別分成16, 4, 1份,然后做最大池化。處理完所有的特征圖后,將池化結(jié)果進(jìn)行拼接,得到的向量是固定長(zhǎng)度的。在這個(gè)例子中,這個(gè)向量的長(zhǎng)度為 (16+4+1) * 256。

? ? ? ? SPP 避免 crop 和 warp 操作導(dǎo)致一些信息丟失多尺度池化有助于捕捉不同規(guī)模的特征,總體來(lái)說(shuō)提高了模型準(zhǔn)確率

⑤?全局加權(quán)池化:分組卷積提到。

(3)池化結(jié)果 size 的計(jì)算公式

? ? ? ? 同卷積一樣,但是是向上取整

(4)池化能減小特征提取的誤差

????????特征提取的誤差主要來(lái)自?xún)蓚€(gè)方面:

鄰域大小受限造成的估計(jì)值方差增大:進(jìn)行卷積操作時(shí),卷積核覆蓋的區(qū)域(即鄰域)是有限的,意味著只能基于這一小塊區(qū)域內(nèi)的像素來(lái)估計(jì)整個(gè)圖像在該位置的特征。因?yàn)檫@個(gè)估計(jì)基于有限的信息,所以存在不確定性,這種不確定性在統(tǒng)計(jì)學(xué)上表現(xiàn)為估計(jì)值的方差增大。方差增大意味著估計(jì)值的波動(dòng)范圍較大,即估計(jì)值可能偏離真實(shí)值較遠(yuǎn),且不確定性增大。

②?卷積層參數(shù)誤差造成估計(jì)均值的偏移:卷積層中的參數(shù),由于訓(xùn)練數(shù)據(jù)的限制、模型的復(fù)雜度以及優(yōu)化算法的性能等因素,可能會(huì)存在誤差。這種誤差會(huì)導(dǎo)致對(duì)特征值的估計(jì)產(chǎn)生偏移,即估計(jì)的均值與真實(shí)值之間存在差距

????????平均池化能減小第一種誤差:因?yàn)槠骄的軌蚱交粢恍╇S機(jī)波動(dòng),使得估計(jì)更加穩(wěn)定,能更多地保留圖像整體或背景信息。因?yàn)楸尘靶畔⑼ǔ]^為平滑,不易受局部波動(dòng)影響。

????????最大池化能減小第二種誤差:最大值對(duì)鄰域內(nèi)的變化更加敏感,能夠捕捉到更為顯著的特征,這些特征往往與紋理信息緊密相關(guān)。因此,最大池化能夠更多地保留圖像局部顯著特征或紋理信息。

(5)池化的反向傳播

原則:把下一層的 1 個(gè)像素的梯度傳遞給上一層的 n * n(池化窗口的 size)個(gè)像素,但是需要保證傳遞的梯度總和不變。

平均池化:將梯度平均分給池化之前的每個(gè)像素。

最大池化:將梯度只分給之前最大值的像素,其它的梯度為 0。

三、激活函數(shù)

(1)激活函數(shù)的作用

????????如果不用激活函數(shù),每一層輸出都是上一層的線(xiàn)性函數(shù),就變成了線(xiàn)性模型,表達(dá)能力不夠。如果引入非線(xiàn)性激活函數(shù)的話(huà),加入了非線(xiàn)性因素,神經(jīng)網(wǎng)絡(luò)就能夠去逼近任意函數(shù)。

(2)Sigmoid

公式

Sigmoid\left ( x \right )=\frac{1}{1+e^{-x}}

圖像(左為函數(shù)圖像,右為導(dǎo)數(shù)圖像):

優(yōu)點(diǎn):① 提供非線(xiàn)性能力

② 因?yàn)樘幪庍B續(xù),所以可導(dǎo),這便于計(jì)算梯度。

③?壓縮數(shù)據(jù),輸出范圍在0和1之間。

④?輸出值可以解釋為概率,可作為分類(lèi)任務(wù)的輸出層

適用于二分類(lèi)。

缺點(diǎn):①?在輸入值接近無(wú)窮大或無(wú)窮小時(shí),其輸出值會(huì)接近于0或1(達(dá)到飽和狀態(tài)),此時(shí)函數(shù)的梯度(導(dǎo)數(shù))會(huì)趨近于0。導(dǎo)數(shù)最大為 0.25,每傳遞一層梯度都會(huì)減為原來(lái) 0.25 倍(甚至更小),這會(huì)導(dǎo)致權(quán)重更新的梯度非常小,即梯度消失現(xiàn)象,會(huì)使得網(wǎng)絡(luò)在訓(xùn)練過(guò)程中學(xué)習(xí)得非常慢,甚至無(wú)法繼續(xù)學(xué)習(xí)。

非中心對(duì)稱(chēng)函數(shù),均值不為 0,網(wǎng)絡(luò)收斂效果不好。理由如下圖所示:

????????網(wǎng)絡(luò)結(jié)構(gòu)為 隱層1->激活層1->隱層2->激活層2,現(xiàn)在我們想更新參數(shù)?w_{5}?和?w_{6},則參數(shù)更新公式為:w_{5/6} = w_{5/6} - \eta \frac{\partial L}{\partial f_{3}}\frac{\partial f_{3}}{\partial z_{3}}\frac{\partial z_{3}}{\partial w_{5/6}} = w_{5/6} - \eta f_{1/2}\frac{\partial L}{\partial f_{3}}\frac{\partial f_{3}}{\partial z_{3}},其中?\eta?為學(xué)習(xí)率,f_{1/2/3}為 sigmoid 激活函數(shù)。可以看到?\frac{\partial L}{\partial f3}\frac{\partial f3}{\partial z3}、\eta?對(duì)于更新?w_{5}?和?w_{6}?來(lái)說(shuō)都是相同的值,唯一不同的是 f_{1}f_{2}。因此?w_{5}?和?w_{6}?更新方向,完全由對(duì)應(yīng)的輸入值?f_{i},i=1,2??的符號(hào)決定。而激活層1 用的是sigmoid 函數(shù),導(dǎo)致?f_{i}?的值都為正,即?w_{5}?和?w_{6}?更新方向總是相同的(同時(shí)增大或者同時(shí)減少),如果?w_{5}?最優(yōu)的更新方向是增加,w_{6}?最優(yōu)的更新方向是減少,w_{5}?和?w_{6}?的合方向?qū)?huì)走 Z 字形逼近最優(yōu)解,收斂的過(guò)程將會(huì)非常緩慢,如下圖所示(\omega _{5}^{*}、\omega _{6}^{*}表示最優(yōu)參數(shù)):

③ 函數(shù)本身包含指數(shù)運(yùn)算(e^{-x}),且其導(dǎo)函數(shù)也比較復(fù)雜(Sigmoid(x)(1-Sigmoid(x))),運(yùn)算相對(duì)耗時(shí)。

(3)Softmax

? ? ? ? 參考鏈接:http://t.csdnimg.cn/8qNDF。

Sigmoid 和 Softmax指數(shù)運(yùn)算溢出問(wèn)題:sigmoid 和 softmax 函數(shù)在計(jì)算中,都會(huì)用到指數(shù)運(yùn)算e^{-x}?或 e^{x}?,如果在?e^{-x}? 中 x 是一個(gè)很小的負(fù)數(shù),或者在?e^{x}?中 x 是一個(gè)很大的正數(shù),這時(shí)有溢出(即數(shù)值超過(guò)計(jì)算機(jī)能表示的最大浮點(diǎn)數(shù))的風(fēng)險(xiǎn)。

Sigmoid 溢出的解決辦法:如果 x>0 ,則?y=\frac1{1+\mathrm{e}^{-\mathrm{x}}};如果 x<0 ,則?y=\frac1{1+\mathrm{e}^{\mathrm{x}}}。

Softmax 溢出的解決辦法:取所有 x_{i}?中的最大值M,則計(jì)算?(x_1,x_2,x_3,......,x_n)?這組數(shù)的Softmax 等同于計(jì)算?(x_1- M, x_2- M, x_3- M, . . . . . . , x_n- M)?這一組數(shù)據(jù)的 Softmax(即分子分母同時(shí)除以e^M)。這樣Softmax改為?Softmax= \frac {e^{x_{i}- M}}{\sum _{i= 1}^{n}e^{x_{i}- M}}?,就解決了上溢出的問(wèn)題,因?yàn)?x_{i}- M?小于等于 0,則?e^{x_{i}- M}?都是小于等于 1 的值。

(4)Tanh

公式\tanh(\mathrm{x})=\frac{\mathrm{e}^{\mathrm{x}}-\mathrm{e}^{-\mathrm{x}}}{\mathrm{e}^{\mathrm{x}}+\mathrm{e}^{-\mathrm{x}}}

圖像

優(yōu)點(diǎn):與sigmoid函數(shù)不同,tanh函數(shù)零中心對(duì)稱(chēng),讓模型的收斂速度更快。

缺點(diǎn):① 在兩邊還是有梯度飽和(也就是梯度趨近于 0)易造成梯度消失。

② 包含指數(shù)運(yùn)算,運(yùn)算相對(duì)復(fù)雜且耗時(shí)。

(5)Relu

公式:max (0, x)。

圖像

優(yōu)點(diǎn)

計(jì)算簡(jiǎn)單(只需要一個(gè)閾值判斷,x小于0得0,x大于等于0得x),梯度也好求(x小于0為0,x大于0為1)。

②?ReLU函數(shù)在輸入為正數(shù)時(shí),其梯度恒為1,梯度不會(huì)衰減,減輕梯度消失問(wèn)題。

③?ReLU函數(shù)在輸入小于0時(shí),輸出為0,使得網(wǎng)絡(luò)在訓(xùn)練過(guò)程中產(chǎn)生大量的稀疏性(指只有少量神經(jīng)元被激活,對(duì)網(wǎng)絡(luò)的輸出產(chǎn)生影響)。稀疏性有兩個(gè)好處:一是可以減少參數(shù)的數(shù)量,緩解過(guò)擬合問(wèn)題;二是讓網(wǎng)絡(luò)更加關(guān)注重要的特征(激活輸出為5的特征比0.5的更突出,都是負(fù)值的表示沒(méi)有明顯特征,直接過(guò)濾掉為0),提高模型的泛化能力。

④ ReLu的這個(gè)三個(gè)優(yōu)點(diǎn),促進(jìn)了模型快速收斂

缺點(diǎn):①?當(dāng)ReLU函數(shù)的輸入值為負(fù)時(shí),輸出始終為0,并且其一階導(dǎo)數(shù)(梯度)也始終為0。這會(huì)導(dǎo)致在反向傳播過(guò)程中,如果某個(gè)神經(jīng)元的輸入始終為負(fù),那么該神經(jīng)元的權(quán)重永久不會(huì)更新,這種現(xiàn)象被稱(chēng)為“神經(jīng)元死亡”。

? ? ? ? 比如,當(dāng)學(xué)習(xí)率(learning rate)設(shè)置得過(guò)高時(shí),高學(xué)習(xí)率意味著在每次參數(shù)更新,權(quán)重的改變量可能很大,如果更新前參數(shù)梯度為正,那么更新前的參數(shù)就會(huì)被減去一個(gè)很大的值,更新后的參數(shù)變?yōu)樨?fù)值,這可能導(dǎo)致輸入神經(jīng)元的正值與相應(yīng)負(fù)權(quán)重相乘求和后也變?yōu)樨?fù)值輸出,再經(jīng)過(guò) Relu,輸出值為0,反向傳播的梯度也為0,參數(shù)得不到更新就一直為負(fù),從而導(dǎo)致神經(jīng)元一直為負(fù),永久失活。這些神經(jīng)元同時(shí)“死亡”,從而整個(gè)網(wǎng)絡(luò)中相當(dāng)大比例(40%)的神經(jīng)元失效。

? ? ? ? 解決辦法:改用 Relu 的變體 —— 如Leaky ReLU、Parametric ReLU;改用小的學(xué)習(xí)率。

③?不會(huì)對(duì)輸入數(shù)據(jù)進(jìn)行幅度壓縮正數(shù)經(jīng)過(guò)ReLU層后,其輸出將保持不變并繼續(xù)傳遞給下一層。如果權(quán)重矩陣中的某些元素也較大,那么這些較大的輸入和權(quán)重相乘后,輸出可能會(huì)變得更大。這種效應(yīng)在多層網(wǎng)絡(luò)中會(huì)累積,導(dǎo)致數(shù)據(jù)幅度不斷擴(kuò)張,可能會(huì)發(fā)生梯度爆炸(如果前向傳播中的數(shù)據(jù)幅度很大,那么計(jì)算出的梯度也可能很大,導(dǎo)致權(quán)重更新不穩(wěn)定甚至發(fā)散)。

(6)Leaky ReLu

公式

LeakyReLu\left ( x \right )=\left\{\begin{matrix} x, x> 0& \\ \alpha x, x\leq 0, & \end{matrix}\right.

????????\alpha?是自己設(shè)置的一個(gè)很小的參數(shù),通常是 0.01。

圖像

? ? ? ? ?小于0的輸出,不再是0,而是絕對(duì)值很小的一個(gè)負(fù)數(shù);輸入小于0的部分,梯度也不再是0,而是?\alpha?,從而解決 “Dead ReLu” 問(wèn)題。

其它的 ReLu 變體:① 隨機(jī) Leaky ReLu:\alpha?隨機(jī)取值,\alpha?分布服從均值為0、標(biāo)準(zhǔn)差為1的正態(tài)分布。

② PReLu(Parametric ReLU):?\alpha?通過(guò)學(xué)習(xí)而來(lái),跟著模型一起優(yōu)化。

優(yōu)點(diǎn):① 避免神經(jīng)元死亡。

②?輸入為負(fù)時(shí)梯度不為0,緩解梯度消失問(wèn)題。

③?計(jì)算速度快。

④??Leaky ReLU 線(xiàn)性、非飽和的形式,在梯度下降中能夠快速收斂。

缺點(diǎn):雖然解決了神經(jīng)元死亡的問(wèn)題,但在實(shí)踐中的效果沒(méi)有比 ReLU 有明顯的提升。

(7)ReLu6

? ? ? ? 源于Mobile v1,將最大值限制為6。

公式:

ReLu6(x) = min(6, max(0, x))

圖像:黃線(xiàn)為ReLu6,藍(lán)線(xiàn)為ReLu。

函數(shù)圖

梯度函數(shù)圖

優(yōu)點(diǎn):在移動(dòng)端float16的低精度的時(shí)候,也能有很好的數(shù)值分辨率。如果對(duì)ReLu的輸出值不加限制,那么輸出范圍就是0到正無(wú)窮,而低精度的float16無(wú)法精確描述其數(shù)值,帶來(lái)精度損失。

(8)ELU

公式

LeakyReLu\left ( x \right )=\left\{\begin{matrix} x, x> 0& \\ \alpha \left ( e^{x}-1 \right ), x\leq 0, & \end{matrix}\right.

圖像

優(yōu)點(diǎn)

一個(gè)好的激活函數(shù)應(yīng)該滿(mǎn)足:① 單側(cè)飽和(負(fù)輸入?yún)^(qū)域飽和,可以過(guò)濾掉不重要的特征)。

② 輸出值分布在 0 的兩側(cè)(相當(dāng)于0中心對(duì)稱(chēng),可以加快網(wǎng)絡(luò)的收斂速度)。

? ? ? ? Relu只滿(mǎn)足了第1個(gè)條件,而不滿(mǎn)足第2個(gè)條件;LeakyReLu、PReLu 滿(mǎn)足第2個(gè)條件而不滿(mǎn)足第1個(gè)條件。ELU同時(shí)滿(mǎn)足2個(gè)條件。

? ? ? ? 滿(mǎn)足單側(cè)飽和:指數(shù)函數(shù) e^{x}?在 x 趨近于負(fù)無(wú)窮時(shí)趨近于0,因此?e^{x}-1?會(huì)趨近于 -1 。乘以α 后,ELU 的輸出將趨近于 -α。因此?ELU 函數(shù)在負(fù)輸入?yún)^(qū)域具有飽和性,即當(dāng)輸入值足夠小時(shí),輸出值將不再隨輸入值的減小而顯著減小,而是趨近于一個(gè)固定的負(fù)值 -a,那么梯度也是一個(gè)趨于0的值。

http://www.risenshineclean.com/news/65223.html

相關(guān)文章:

  • 百度外賣(mài)網(wǎng)站建設(shè)與維護(hù)方法seo推廣教學(xué)
  • 做古玩生意哪些網(wǎng)站好互聯(lián)網(wǎng)營(yíng)銷(xiāo)師證書(shū)怎么考
  • 宜興建設(shè)局 審圖中心 網(wǎng)站seo快速排名軟件案例
  • 做企業(yè)網(wǎng)站要大陸營(yíng)業(yè)執(zhí)照百度小說(shuō)搜索風(fēng)云榜總榜
  • 專(zhuān)業(yè)做營(yíng)銷(xiāo)網(wǎng)站百度推廣怎么推
  • 展示型網(wǎng)站設(shè)計(jì)方案百度域名收錄
  • 番禺人才網(wǎng)最新招聘信息網(wǎng)濰坊網(wǎng)站建設(shè)優(yōu)化
  • 國(guó)外免費(fèi)虛擬主機(jī)惠州seo整站優(yōu)化
  • 重慶市建設(shè)工程信息網(wǎng)質(zhì)量監(jiān)督網(wǎng)站seo策劃方案
  • 品牌建設(shè)完整版淄博seo
  • b2b門(mén)戶(hù)網(wǎng)站建設(shè)多少錢(qián)代寫(xiě)
  • 1免費(fèi)做網(wǎng)站seo搜索引擎優(yōu)化人才
  • 珊瑚絨毯移動(dòng)網(wǎng)站建設(shè)百度推廣頁(yè)面投放
  • 二級(jí)已備案域名免費(fèi)使用寧波搜索引擎優(yōu)化seo
  • 邯鄲做網(wǎng)站公司哪家好北京網(wǎng)站優(yōu)化多少錢(qián)
  • 專(zhuān)注高端網(wǎng)站設(shè)計(jì)百度百科官網(wǎng)
  • 怎樣看一個(gè)網(wǎng)站的瀏覽量太原seo網(wǎng)站排名
  • 旅游三級(jí)分銷(xiāo)網(wǎng)站google關(guān)鍵詞優(yōu)化排名
  • 廣州做網(wǎng)站建設(shè)的公司長(zhǎng)沙網(wǎng)絡(luò)推廣
  • 青島旅游網(wǎng)站建設(shè)徐州seo排名公司
  • 網(wǎng)站seo計(jì)劃書(shū)代發(fā)百度關(guān)鍵詞排名
  • 網(wǎng)站建設(shè)報(bào)價(jià) 福州seo外包品牌
  • 網(wǎng)站輸入字符 顯示出來(lái)怎么做問(wèn)答推廣
  • 做寫(xiě)字樓用哪個(gè)網(wǎng)站更好比較靠譜的推廣平臺(tái)
  • 廣州網(wǎng)站二級(jí)等保企業(yè)網(wǎng)站營(yíng)銷(xiāo)實(shí)現(xiàn)方式解讀
  • 英國(guó)人做愛(ài)無(wú)網(wǎng)站百度老舊版本大全
  • 外包兼職做圖的網(wǎng)站百度免費(fèi)推廣怎么操作
  • 廣州網(wǎng)站優(yōu)化哪家快洛陽(yáng)市網(wǎng)站建設(shè)
  • 做綠色軟件的網(wǎng)站知乎百度關(guān)鍵詞推廣費(fèi)用
  • 網(wǎng)站獨(dú)立ip多代表什么競(jìng)價(jià)推廣網(wǎng)絡(luò)推廣運(yùn)營(yíng)