{eval=Array;=+count(Array);}

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問答專欄Q & A COLUMN

如何理解卷積神經(jīng)網(wǎng)絡(luò)里卷積過濾器的深度問題?

zhangke3016zhangke3016 回答3 收藏1
收藏問題

3條回答

Zoom

Zoom

回答于2022-06-22 19:47

我們通常看到的卷積過濾器示意圖是這樣的:

(圖片來源:cs231n)

這其實(shí)是把卷積過濾器“壓扁”了,或者說“拍平”了。比如,上圖中粉色的卷積過濾器是3x3x3,也就是長3寬3深3,但是示意圖中卻畫成二維——這是省略了深度(depth)。

實(shí)際上,卷積過濾器是有深度的,深度值和輸入圖像的深度相同。也正因?yàn)榫矸e過濾器的深度和輸入圖像的深度相同,因此,一般在示意圖中就不把深度畫出來了。如果把深度也畫出來,效果大概就是這樣:

(圖片來源:mlnotebook)

如前所述,卷積過濾器的深度和輸入圖像的深度相同,都是3。

順便說下,輸入圖像深度為3,是因?yàn)檩斎雸D像是彩色圖像,深度為3,分別為R、G、B值。

作為對(duì)比,灰度圖像的卷積過濾器是這樣的(真2D):

(圖片來源:mlnotebook)

總之,卷積過濾器的深度和輸入數(shù)據(jù)的深度保持一致就可以了。

評(píng)論0 贊同0
  •  加載中...
Jioby

Jioby

回答于2022-06-22 19:47

濾波器是一種3維結(jié)構(gòu)(濾波器的概念其實(shí)就是層),它由多個(gè)卷積核組成,所以具有深度。這里的深度是對(duì)于通道而言,比如彩色圖像是3通道,黑白圖像是1通道,所以彩色圖像的深度是3,黑白是1。當(dāng)輸入C*H*W的圖像時(shí)(H:長,W:寬,C:通道數(shù)),那么濾波器如何對(duì)這張圖像進(jìn)行特征提取呢?就是用每個(gè)卷積核和圖像的每個(gè)通道的空域進(jìn)行計(jì)算。由于輸入了C通道的圖像,所以為了所有通道都能參與進(jìn)來,所以需要C個(gè)卷積核,也就是說1個(gè)濾波器的深度和輸入圖像的深度是相同的。C個(gè)卷積核一一對(duì)應(yīng)著C個(gè)通道,計(jì)算出了C個(gè)結(jié)果后,通過一定的機(jī)制融合,最終1個(gè)濾波器輸出了1個(gè)結(jié)果。當(dāng)然,卷積操作會(huì)有多個(gè)濾波器參與,這樣就可以提取到不同尺度的特征。

簡(jiǎn)單來說,濾波器的深度就是卷積核的數(shù)量,值相等于輸入數(shù)據(jù)的通道數(shù)。

評(píng)論0 贊同0
  •  加載中...
gecko23

gecko23

回答于2022-06-22 19:47

謝邀!


什么是卷積神經(jīng)網(wǎng)絡(luò)?

它們基本上只是使用卷積層的神經(jīng)網(wǎng)絡(luò),即基于卷積數(shù)學(xué)運(yùn)算的Conv層。 Conv圖層由一組濾鏡組成,你可以將其看作是數(shù)字的二維矩陣。 這里有一個(gè)例子3x3過濾器:

我們可以使用一個(gè)輸入圖像和一個(gè)過濾器通過將過濾器與輸入圖像進(jìn)行卷積來生成一個(gè)輸出圖像。這包括

  1. 將過濾器覆蓋在圖像的某個(gè)位置上。
  2. 在過濾器中的值與其在圖像中的對(duì)應(yīng)值之間執(zhí)行元素級(jí)乘法。
  3. 總結(jié)所有元素產(chǎn)品。這個(gè)和是輸出圖像中目標(biāo)像素的輸出值。
  4. 對(duì)所有位置重復(fù)。

旁注:我們(以及許多CNN實(shí)現(xiàn))實(shí)際上在技術(shù)上使用的是互相關(guān)而不是卷積,但它們做的幾乎是一樣的。我不會(huì)在這篇文章中詳細(xì)討論它們之間的區(qū)別,因?yàn)檫@并不重要。

這四步描述有點(diǎn)抽象,我們來做個(gè)例子??聪逻@個(gè)微小的4x4灰度圖像和這個(gè)3x3濾鏡:

圖像中的數(shù)字表示像素強(qiáng)度,其中0為黑色,255為白色。我們將卷積輸入圖像和過濾器產(chǎn)生一個(gè)2x2輸出圖像:

首先,讓我們將濾鏡疊加在圖片的左上角:

接下來,我們?cè)谥丿B圖像值和過濾器值之間執(zhí)行逐元素乘法。 以下是結(jié)果,從左上角開始向右,然后向下:

接下來,我們總結(jié)所有的結(jié)果。這是很容易:

最后,我們將結(jié)果放入輸出圖像的目標(biāo)像素中。由于我們的過濾器覆蓋在輸入圖像的左上角,我們的目標(biāo)像素是輸出圖像的左上角像素:

我們做同樣的事情來生成輸出圖像的其余部分:

3.1這有什么用?

讓我們縮小一下,在更高的層次上看這個(gè)。將圖像與過濾器進(jìn)行卷積會(huì)做什么?我們可以從我們一直使用的例子3x3過濾器開始,它通常被稱為垂直Sobel過濾器:

下面是一個(gè)垂直Sobel過濾器的例子:

同樣,還有一個(gè)水平Sobel過濾器:

看發(fā)生了什么?Sobel過濾器是一種邊緣檢測(cè)器。垂直Sobel過濾器檢測(cè)垂直邊緣,水平Sobel過濾器檢測(cè)水平邊緣。輸出圖像現(xiàn)在很容易解釋:輸出圖像中的亮像素(高值像素)表示在原始圖像中有一個(gè)強(qiáng)邊緣。

你能看出為什么邊緣檢測(cè)圖像可能比原始圖像更有用嗎? 回想一下我們的MNIST手寫數(shù)字分類問題。 在MNIST上訓(xùn)練的CNN可以尋找數(shù)字1,例如,通過使用邊緣檢測(cè)過濾器并檢查圖像中心附近的兩個(gè)突出的垂直邊緣。 通常,卷積有助于我們查找特定的本地化圖像特征(如邊緣),我們可以在以后的網(wǎng)絡(luò)中使用。

3.2填充

還記得以前將4x4輸入圖像與3x3濾波器卷積得到2x2輸出圖像嗎?通常,我們希望輸出圖像與輸入圖像的大小相同。為此,我們?cè)趫D像周圍添加零,這樣我們就可以在更多的地方覆蓋過濾器。一個(gè)3x3的過濾器需要1像素的填充:

這稱為"相同"填充,因?yàn)檩斎牒洼敵鼍哂邢嗤某叽纭?不使用任何填充,這是我們一直在做的,并將繼續(xù)為這篇文章做,有時(shí)被稱為"有效"填充。

3.3 Conv層(Conv Layers)

現(xiàn)在我們知道了圖像卷積是如何工作的以及它為什么有用,讓我們看看它在CNN中的實(shí)際應(yīng)用。如前所述,CNN包括conv層,它使用一組過濾器將輸入圖像轉(zhuǎn)換為輸出圖像。conv層的主要參數(shù)是它擁有的過濾器的數(shù)量。

對(duì)于MNIST CNN,我們將使用一個(gè)帶有8個(gè)過濾器的小conv層作為網(wǎng)絡(luò)的初始層。這意味著它將把28x28的輸入圖像轉(zhuǎn)換成26x26x8的容量:

提醒:輸出是26x26x8,而不是28x28x8,因?yàn)槲覀兪褂昧擞行У奶畛?,這將輸入的寬度和高度降低了2。

conv層中的4個(gè)過濾器每個(gè)都產(chǎn)生一個(gè)26x26的輸出,因此它們疊加在一起構(gòu)成一個(gè)26x26x8。所有這些都是因?yàn)?×3(過濾器大小) × 8(過濾器數(shù)量)= 72個(gè)權(quán)重!

3.4實(shí)施卷積

是時(shí)候把我們學(xué)到的東西寫進(jìn)代碼里了!我們將實(shí)現(xiàn)conv層的前饋部分,它負(fù)責(zé)將過濾器與輸入圖像進(jìn)行卷積以生成輸出卷。為了簡(jiǎn)單起見,我們假設(shè)過濾器總是3x3(這并不是真的,5x5和7x7過濾器也很常見)。

讓我們開始實(shí)現(xiàn)一個(gè)conv層類:

Conv3x3類只接受一個(gè)參數(shù):過濾器的數(shù)量。在構(gòu)造函數(shù)中,我們存儲(chǔ)過濾器的數(shù)量,并使用NumPy的randn()方法初始化一個(gè)隨機(jī)過濾器數(shù)組。

注意:如果初始值過大或過小,訓(xùn)練網(wǎng)絡(luò)將無效。

接下來,實(shí)際的卷積:

iterate_regions()是一個(gè)輔助發(fā)生器的方法,收益率為我們所有有效3 x3的圖像區(qū)域。這對(duì)于以后實(shí)現(xiàn)該類的向后部分非常有用。

上面突出顯示了實(shí)際執(zhí)行卷積的代碼行。讓我們來分解一下:

  1. 我們有im_region,一個(gè)包含相關(guān)圖像區(qū)域的3x3數(shù)組。
  2. 我們有self.filters,一個(gè)3d數(shù)組。
  3. 我們做im_region * self.filters,它使用numpy的廣播機(jī)制以元素方式乘以兩個(gè)數(shù)組。 結(jié)果是一個(gè)3d數(shù)組,其尺寸與self.filters相同。
  4. 我們np.sum()上一步的結(jié)果使用axis =(1,2),它產(chǎn)生一個(gè)長度為num_filters的1d數(shù)組,其中每個(gè)元素包含相應(yīng)過濾器的卷積結(jié)果。
  5. 我們將結(jié)果分配給輸出[i,j],其中包含輸出中像素(i,j)的卷積結(jié)果。

對(duì)輸出中的每個(gè)像素執(zhí)行上面的序列,直到得到最終的輸出卷為止!讓我們測(cè)試一下我們的代碼:

目前看起來不錯(cuò)。

注意:在Conv3x3實(shí)現(xiàn)中,為了簡(jiǎn)單起見,我們假設(shè)輸入是一個(gè)2d numpy數(shù)組,因?yàn)镸NIST圖像就是這樣存儲(chǔ)的。這對(duì)我們有用,因?yàn)槲覀兪褂盟鳛槲覀兙W(wǎng)絡(luò)的第一層,但大多數(shù)cnn有更多的Conv層。如果我們要構(gòu)建一個(gè)更大的網(wǎng)絡(luò),需要多次使用Conv3x3,那么我們必須將輸入設(shè)置為3d numpy數(shù)組。


更多有關(guān)人工智能的資訊、深度報(bào)道、采訪歡迎關(guān)注AI中國,無論你是小白還是大神,你想要的這里都有!

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<