91亚洲国产AⅤ精品一区二区,国产伦精品一区二区三区,四川少妇搡bbbb搡bbbb,国产全黄A一级毛片96
一文搞懂卷積神經(jīng)網(wǎng)絡(luò)(CNN)的原理(超詳細)

一文搞懂卷積神經(jīng)網(wǎng)絡(luò)(CNN)的原理(超詳細)

yeyaozhen 2025-03-20 百科 1 次瀏覽 0個評論

卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種在計算機視覺領(lǐng)域取得了巨大成功的深度學習模型。它們的設(shè)計靈感來自于生物學中的視覺系統(tǒng),旨在模擬人類視覺處理的方式。在過去的幾年中,CNN已經(jīng)在圖像識別、目標檢測、圖像生成和許多其他領(lǐng)域取得了顯著的進展,成為了計算機視覺和深度學習研究的重要組成部分。

一、圖像原理

在了解卷積神經(jīng)網(wǎng)絡(luò)前,我們先來看看圖像的原理:

圖像在計算機中是一堆按順序排列的數(shù)字,數(shù)值為0到255。0表示最暗,255表示最亮。?如下圖:

上圖是只有黑白顏色的灰度圖,而更普遍的圖片表達方式是RGB顏色模型,即紅、綠、藍三原色的色光以不同的比例相加,以產(chǎn)生多種多樣的色光。RGB顏色模型中,單個矩陣就擴展成了有序排列的三個矩陣,也可以用三維張量去理解。

其中的每一個矩陣又叫這個圖片的一個channel(通道),寬, 高, 深來描述。

二、為什么要學習卷積神經(jīng)網(wǎng)絡(luò)?

在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,我們要識別下圖紅色框中的圖像時,我們很可能識別不出來,因為這六張圖的位置都不通,計算機無法分辨出他們其實是一種形狀或物體。

傳統(tǒng)神經(jīng)網(wǎng)絡(luò)原理如下圖:

我們希望一個物體不管在畫面左側(cè)還是右側(cè),都會被識別為同一物體,這一特點就是不變性。為了實現(xiàn)平移不變性,卷積神經(jīng)網(wǎng)絡(luò)(CNN)等深度學習模型在卷積層中使用了卷積操作,這個操作可以捕捉到圖像中的局部特征而不受其位置的影響。

三、什么是卷積?

在卷積神經(jīng)網(wǎng)絡(luò)中,卷積操作是指將一個可移動的小窗口(稱為數(shù)據(jù)窗口,如下圖綠色矩形)與圖像進行逐元素相乘然后相加的操作。這個小窗口其實是一組固定的權(quán)重,它可以被看作是一個特定的濾波器(filter)或卷積核。這個操作的名稱“卷積”,源自于這種元素級相乘和求和的過程。這一操作是卷積神經(jīng)網(wǎng)絡(luò)名字的來源。

上圖這個綠色小窗就是數(shù)據(jù)窗口。簡而言之,卷積操作就是用一個可移動的小窗口來提取圖像中的特征,這個小窗口包含了一組特定的權(quán)重,通過與圖像的不同位置進行卷積操作,網(wǎng)絡(luò)能夠?qū)W習并捕捉到不同特征的信息。文字解釋可能太難懂,下面直接上動圖:

這張圖中藍色的框就是指一個數(shù)據(jù)窗口,紅色框為卷積核(濾波器),最后得到的綠色方形就是卷積的結(jié)果(數(shù)據(jù)窗口中的數(shù)據(jù)與卷積核逐個元素相乘再求和)

一張圖帶你了解卷積計算過程

卷積需要注意哪些問題?

a.步長stride:每次滑動的位置步長。

b. 卷積核的個數(shù):決定輸出的depth厚度。同時代表卷積核的個數(shù)。

c. 填充值zero-padding:在外圍邊緣補充若干圈0,方便從初始位置以步長為單位可以剛好滑倒末尾位置,通俗地講就是為了總長能被步長整除。

以上圖為例,那么:

? 數(shù)據(jù)窗口每次移動兩個步長取 3*3 的局部數(shù)據(jù),即 stride=2 。

? 兩個神經(jīng)元,即 depth=2 ,意味著有兩個濾波器。

? zero-padding=1 。

為什么要進行數(shù)據(jù)填充:

假設(shè)有一個大小為 4x4 的輸入圖像:

[[1, 2, 3, 4],

[5, 6, 7, 8],

[9, 10, 11, 12],

[13, 14, 15, 16]]

現(xiàn)在,我們要應用一個 3x3 的卷積核進行卷積操作,步幅(stride)為 1,且要使用填充(padding)為 1。如果不使用填充,卷積核的中心將無法對齊到輸入圖像的邊緣,導致輸出特征圖尺寸變小。假設(shè)我們使用步幅(stride)為 1 進行卷積,那么在不使用填充的情況下,輸出特征圖的尺寸將是 2x2。

所以我們要在它的周圍填充一圈0,填充為 1 意味著在輸入圖像的周圍添加一圈零值。添加填充后的圖像:

[[0, 0, 0, 0, 0, 0],

[0, 1, 2, 3, 4, 0],

[0, 5, 6, 7, 8, 0],

[0, 9, 10, 11, 12, 0],

[0, 13, 14, 15, 16, 0],

[0, 0, 0, 0, 0, 0]]

現(xiàn)在,我們將 3x3 的卷積核應用于這個填充后的輸入圖像,計算卷積結(jié)果,得到大小不變的特征圖。

數(shù)據(jù)填充的主要目的是確保卷積核能夠覆蓋輸入圖像的邊緣區(qū)域,同時保持輸出特征圖的大小。這對于在CNN中保留空間信息和有效處理圖像邊緣信息非常重要。

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

一文搞懂卷積神經(jīng)網(wǎng)絡(luò)(CNN)的原理(超詳細)

上面紅框框起來的部分便可以理解為一個濾波器,即帶著一組固定權(quán)重的神經(jīng)元。多個濾波器疊加便成了卷積層。

四、卷積神經(jīng)網(wǎng)絡(luò)的構(gòu)造

1 輸入層

輸入層接收原始圖像數(shù)據(jù)。圖像通常由三個顏色通道(紅、綠、藍)組成,形成一個二維矩陣,表示像素的強度值。

2 卷積和激活

卷積層將輸入圖像與卷積核進行卷積操作。然后,通過應用激活函數(shù)(如ReLU)來引入非線性。這一步使網(wǎng)絡(luò)能夠?qū)W習復雜的特征。

3 池化層

池化層通過減小特征圖的大小來減少計算復雜性。它通過選擇池化窗口內(nèi)的最大值或平均值來實現(xiàn)。這有助于提取最重要的特征。

4 多層堆疊

CNN通常由多個卷積和池化層的堆疊組成,以逐漸提取更高級別的特征。深層次的特征可以表示更復雜的模式。

5 全連接和輸出

最后,全連接層將提取的特征映射轉(zhuǎn)化為網(wǎng)絡(luò)的最終輸出。這可以是一個分類標簽、回歸值或其他任務(wù)的結(jié)果。

形象的過程如下圖:

展開形式

未展開形式

五、圖片經(jīng)過卷積后的樣子

與人眼觀看事物原理相似,卷積神經(jīng)網(wǎng)絡(luò)可以看到事物的輪廓

轉(zhuǎn)載請注明來自浙江中液機械設(shè)備有限公司 ,本文標題:《一文搞懂卷積神經(jīng)網(wǎng)絡(luò)(CNN)的原理(超詳細)》

百度分享代碼,如果開啟HTTPS請參考李洋個人博客
每一天,每一秒,你所做的決定都會改變你的人生!

發(fā)表評論

快捷回復:

驗證碼

評論列表 (暫無評論,1人圍觀)參與討論

還沒有評論,來說兩句吧...

Top
91亚洲国产AⅤ精品一区二区,国产伦精品一区二区三区,四川少妇搡bbbb搡bbbb,国产全黄A一级毛片96