chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【連載】深度學(xué)習(xí)筆記9:卷積神經(jīng)網(wǎng)絡(luò)(CNN)入門

人工智能實訓(xùn)營 ? 2018-10-08 12:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前面的八篇學(xué)習(xí)筆記,基本上都是圍繞著深度神經(jīng)網(wǎng)絡(luò)(DNN)和全連接網(wǎng)絡(luò)(FCN)在學(xué)習(xí)。從本篇開始,筆者將跟著大家一起學(xué)習(xí)和研究深度學(xué)習(xí)的另一個主題——卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network),也就是我們平常眼熟的 CNN。卷積神經(jīng)網(wǎng)絡(luò)作為當(dāng)前計算機視覺領(lǐng)域的核心技術(shù),發(fā)展到如今已是枝繁葉茂。筆者對于這一塊的初步打算是從卷積網(wǎng)絡(luò)的基本原理講起,將卷積網(wǎng)絡(luò)的前向傳播和反向傳播過程講清楚,以及如何使用 numpytensorflow 實現(xiàn)卷積網(wǎng)絡(luò)。然后會從深度卷積網(wǎng)絡(luò)的發(fā)展歷程出發(fā),對主要的經(jīng)典深度網(wǎng)絡(luò)進(jìn)行深度剖析,對計算機視覺的三大核心任務(wù):圖像分別、目標(biāo)檢測和圖像分割等技術(shù)算法進(jìn)行詳細(xì)學(xué)習(xí)和講解。

從前面的學(xué)習(xí)中,我們了解了深度神經(jīng)網(wǎng)絡(luò)的一般結(jié)構(gòu),它的前向傳播和反向傳播機制,而卷積神經(jīng)網(wǎng)絡(luò)相較于深度神經(jīng)網(wǎng)絡(luò),其主要區(qū)別就在于卷積層,卷積層的存在使得神經(jīng)網(wǎng)絡(luò)具備更強的學(xué)習(xí)能力。除了卷積層之外,池化層(Pooling layer)的存在也使得卷積神經(jīng)網(wǎng)絡(luò)的魯棒性更強,最后則是 DNN 中常見的全連接層(Fully Connected layer)。一個典型的卷積神經(jīng)網(wǎng)絡(luò)通常包括這三層。

卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)

那到底什么是卷積?
從數(shù)學(xué)來說,卷積可以理解為一種類似于加權(quán)運算一樣的操作。在圖像處理中,針對圖像的像素矩陣,卷積操作就是用一個卷積核來逐行逐列的掃描像素矩陣,并與像素矩陣做元素相乘,以此得到新的像素矩陣。這個過程是為卷積。其中卷積核也叫過濾器或者濾波器,濾波器在輸入像素矩陣上掃過的面積稱之為感受野??赡苣氵€有點暈,讓我來更詳細(xì)的解釋下。

卷積過程


且看上面的動圖(這里感謝一下 NG 大大給我們提供這么好的教學(xué)資料),我們用一個 3x3 的濾波器去掃描一個 5x5 的像素矩陣,用濾波器中每一個元素與像素矩陣中感受野內(nèi)的元素進(jìn)行乘積運算,可得到了一個 3x3 的輸出像素矩陣,這個輸出的 3x3 像素矩陣能夠較大程度的提取原始像素矩陣的圖像特征,這也是卷積神經(jīng)網(wǎng)絡(luò)之所以有效的原因。為防止有同學(xué)不清楚卷積是如何計算的,筆者以輸出像素矩陣中第一個元素 4 為例,演示一下計算過程:

1x1 + 1x0 + 1x1 + 0x0 +1x1 + 1x0 + 0x1 +0x0 + 1x1 = 4

當(dāng)然,這里你可能會問:如何確定經(jīng)過卷積后的輸出矩陣的維度?我們是有計算公式的。假設(shè)原始輸入像素矩陣的 shape 為 nxn,濾波器的 shape 為 fxf,那么輸出像素矩陣的 shape 為 (n-f+1)x(n-f+1)

大體上卷積操作就是這么個過程,是不是非常簡單。但這里我們也需要注意兩個問題:第一個就是濾波器移動的步幅問題,上面的例子中我們的濾波器的移動步長為 1 ,即在像素矩陣上一格一格平移。但如果濾波器是以兩個單位或者更多單位平移呢?這里就涉及到卷積過程中的 stride 問題。第二個問題涉及到卷積操作的兩個缺點,第一個缺點在于每次做卷積,你的圖像就會變小,可能做了幾次卷積之后,你的圖像就變成 1x1,這就不好辦了。第二個缺點在于原始輸入像素矩陣的邊緣和角落的像素點只能被濾波器掃到一次,而靠近像素中心點的像素點則會被多次掃到進(jìn)行卷積。這就使得邊緣和角落里的像素特征提取不足,這就涉及到卷積過程中的 padding 問題。

針對第一個問題,也就是卷積步長問題,其實也很簡單,就是按照正常的卷積過程去操作,只不過每次多走一個像素單位而已。且看卷積步幅為 2 的卷積操作示例:


我們用一個 3x3 的濾波器去對原始像素為 7x7 的圖像進(jìn)行卷積操作,設(shè)定卷積步長為 2,可看到輸出像素矩陣的第二行第一個元素 69 的計算跨越了兩個像素格點,計算過程為:

3x3 + 4x4 + 8x4 + 7x1 + 8x0 + 3x2 + 4x-1 + 2x0 + 1x3 = 69

加入步長之后我們的輸出像素矩陣的 shape 的計算公式需要更新一下為:
((n-f)/s+1)x((n-f)/s+1) 。其中 s 為步長。

針對第二個問題,卷積神經(jīng)網(wǎng)絡(luò)采用一種叫做 padding 的操作,即對原始像素邊緣和角落進(jìn)行零填充,以期能夠在卷積過程中充分利用邊緣和角落的像素特征。至于填充多少 0 像素值,一般有兩個選擇,一是 valid 填充,也就是不填充,所以就不用管它了。我們在意的是有填充,就是第二種,same 填充方法。即填充后,輸入和輸出大小是一致的,對于nxn大小的輸入像素,如果你用填充了 p 個像素點之后,n 就變成了 n+2p,最后輸出像素的 shape 計算公式就變成了 ((n+2p-f)/s+1)x((n+2p-f)/s+1),要想讓 n+2p-f+1=n 的話,輸入輸出大小相等,則 p=(f-1)/2。所以,一般而言,濾波器的大小 f 都會選擇為奇數(shù)個。

實際操作中,padding 的編程寫法如下:

def zero_pad(X, pad):
  X_pad = np.pad(X, ((0,0), (pad, pad), (pad, pad), (0, 0)), 'constant')  
return X_pad

numpy 一行代碼即可搞定。測試效果如下:

np.random.seed(1)
x = np.random.randn(4, 3, 3, 2) x_pad = zero_pad(x, 2) fig, axarr = plt.subplots(1, 2) axarr[0].set_title('x') axarr[0].imshow(x[0,:,:,0]) axarr[1].set_title('x_pad') axarr[1].imshow(x_pad[0,:,:,0])

本節(jié)對卷積神經(jīng)網(wǎng)絡(luò)的卷積細(xì)節(jié)進(jìn)行了詳細(xì)的講解和筆記。關(guān)于帶有顏色通道的卷積操作我們下次筆記見。

本文由《自興動腦人工智能》項目部 凱文 投稿。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1816

    文章

    50060

    瀏覽量

    264922
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8551

    瀏覽量

    136816
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5597

    瀏覽量

    124342
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    神經(jīng)網(wǎng)絡(luò)的初步認(rèn)識

    日常生活中的智能應(yīng)用都離不開深度學(xué)習(xí),而深度學(xué)習(xí)則依賴于神經(jīng)網(wǎng)絡(luò)的實現(xiàn)。什么是神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 12-17 15:05 ?285次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的初步認(rèn)識

    自動駕駛中常提的卷積神經(jīng)網(wǎng)絡(luò)是個啥?

    在自動駕駛領(lǐng)域,經(jīng)常會聽到卷積神經(jīng)網(wǎng)絡(luò)技術(shù)。卷積神經(jīng)網(wǎng)絡(luò),簡稱為CNN,是一種專門用來處理網(wǎng)格狀數(shù)據(jù)(比如圖像)的
    的頭像 發(fā)表于 11-19 18:15 ?2063次閱讀
    自動駕駛中常提的<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>是個啥?

    CNN卷積神經(jīng)網(wǎng)絡(luò)設(shè)計原理及在MCU200T上仿真測試

    數(shù)的提出很大程度的解決了BP算法在優(yōu)化深層神經(jīng)網(wǎng)絡(luò)時的梯度耗散問題。當(dāng)x&gt;0 時,梯度恒為1,無梯度耗散問題,收斂快;當(dāng)x&lt;0 時,該層的輸出為0。 CNN
    發(fā)表于 10-29 07:49

    NMSISI庫的使用

    (q7_t) 和 16 位整數(shù) (q15_t)。 卷積神經(jīng)網(wǎng)絡(luò)示例: 本示例中使用的 CNN 基于來自 Caffe 的 CIFAR-10 示例。神經(jīng)網(wǎng)絡(luò)由 3 個
    發(fā)表于 10-29 07:07

    NMSIS神經(jīng)網(wǎng)絡(luò)庫使用介紹

    (q7_t) 和 16 位整數(shù) (q15_t)。 卷積神經(jīng)網(wǎng)絡(luò)示例: 本示例中使用的 CNN 基于來自 Caffe 的 CIFAR-10 示例。神經(jīng)網(wǎng)絡(luò)由 3 個
    發(fā)表于 10-29 06:08

    構(gòu)建CNN網(wǎng)絡(luò)模型并優(yōu)化的一般化建議

    整個模型非常巨大。所以要想實現(xiàn)輕量級的CNN神經(jīng)網(wǎng)絡(luò)模型,首先應(yīng)該避免嘗試單層神經(jīng)網(wǎng)絡(luò)。 2)減少卷積核的大小:CNN
    發(fā)表于 10-28 08:02

    卷積運算分析

    的數(shù)據(jù),故設(shè)計了ConvUnit模塊實現(xiàn)單個感受域規(guī)模的卷積運算. 卷積運算:不同于數(shù)學(xué)當(dāng)中提及到的卷積概念,CNN神經(jīng)網(wǎng)絡(luò)中的
    發(fā)表于 10-28 07:31

    在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗

    模型。 我們使用MNIST數(shù)據(jù)集,訓(xùn)練一個卷積神經(jīng)網(wǎng)絡(luò)CNN)模型,用于手寫數(shù)字識別。一旦模型被訓(xùn)練并保存,就可以用于對新圖像進(jìn)行推理和預(yù)測。要使用生成的模型進(jìn)行推理,可以按照以下步驟進(jìn)行操作: 1.
    發(fā)表于 10-22 07:03

    CICC2033神經(jīng)網(wǎng)絡(luò)部署相關(guān)操作

    讀取。接下來需要使用擴展指令,完成神經(jīng)網(wǎng)絡(luò)的部署,此處僅對第一層卷積+池化的部署進(jìn)行說明,其余層與之類似。 1.使用 Custom_Dtrans 指令,將權(quán)重數(shù)據(jù)、輸入數(shù)據(jù)導(dǎo)入硬件加速器內(nèi)。對于權(quán)重
    發(fā)表于 10-20 08:00

    如何在機器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    圖 1:基于深度學(xué)習(xí)的目標(biāo)檢測可定位已訓(xùn)練的目標(biāo)類別,并通過矩形框(邊界框)對其進(jìn)行標(biāo)識。 在討論人工智能(AI)或深度學(xué)習(xí)時,經(jīng)常會出現(xiàn)“神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 09-10 17:38 ?882次閱讀
    如何在機器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    卷積神經(jīng)網(wǎng)絡(luò)如何監(jiān)測皮帶堵料情況 #人工智能

    卷積神經(jīng)網(wǎng)絡(luò)
    jf_60804796
    發(fā)布于 :2025年07月01日 17:08:42

    神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機故障診斷中的應(yīng)用

    摘要:針對傳統(tǒng)專家系統(tǒng)不能進(jìn)行自學(xué)習(xí)、自適應(yīng)的問題,本文提出了基于種經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的并步電機故障診斷方法。本文將小波神經(jīng)網(wǎng)絡(luò)和專家系統(tǒng)相結(jié)合,充分發(fā)揮了二者故障診斷的優(yōu)點,很大程度上降低了對電機
    發(fā)表于 06-16 22:09

    MAX78000采用超低功耗卷積神經(jīng)網(wǎng)絡(luò)加速度計的人工智能微控制器技術(shù)手冊

    的Maxim超低功耗微控制器相結(jié)合。通過這款基于硬件的卷積神經(jīng)網(wǎng)絡(luò)(CNN)加速器,即使是電池供電的應(yīng)用也可執(zhí)行AI推理,同時功耗僅為微焦耳級。
    的頭像 發(fā)表于 05-08 11:42 ?954次閱讀
    MAX78000采用超低功耗<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>加速度計的人工智能微控制器技術(shù)手冊

    MAX78002帶有低功耗卷積神經(jīng)網(wǎng)絡(luò)加速器的人工智能微控制器技術(shù)手冊

    的Maxim超低功耗微控制器相結(jié)合。通過這款基于硬件的卷積神經(jīng)網(wǎng)絡(luò)(CNN)加速器,即使是電池供電的應(yīng)用也可執(zhí)行AI推理,同時功耗僅為微焦耳級。
    的頭像 發(fā)表于 05-08 10:16 ?820次閱讀
    MAX78002帶有低功耗<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>加速器的人工智能微控制器技術(shù)手冊

    自動駕駛感知系統(tǒng)中卷積神經(jīng)網(wǎng)絡(luò)原理的疑點分析

    背景 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)的核心技術(shù)主要包括以下幾個方面:局部連接、權(quán)值共享、多卷積核以及池化。這些技術(shù)共同作用,使得
    的頭像 發(fā)表于 04-07 09:15 ?832次閱讀
    自動駕駛感知系統(tǒng)中<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>原理的疑點分析