久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>cnn 深度學習(寫給小白的機器學習入門貼)

cnn 深度學習(寫給小白的機器學習入門貼)

發布時間:2024-01-24閱讀(13)

導讀白交發自凹非寺量子位報道|公眾號QbitAI看你是人還是物,是貓還是狗。卷積神經網絡(CNN)最重要的用途就是圖像分類。說起來,似乎很簡單。為什么不使用普通....

白交 發自 凹非寺 量子位 報道 | 公眾號 QbitAI

看你是人還是物,是貓還是狗。

卷積神經網絡(CNN)最重要的用途就是圖像分類。說起來,似乎很簡單。

為什么不使用普通的神經網絡呢?

那是因為在圖像分類時,面臨著圖像大,物體的形態、位置不同等問題,這就給普通的神經網絡帶來了難題。

而,卷積神經網絡就是來解決這個問題。

Facebook軟件工程師Victor Zhou這篇入門貼,就介紹了什么是卷積神經網絡。

cnn 深度學習(寫給小白的機器學習入門貼)(1)

截至目前,已經有47k訪問量了。

cnn 深度學習(寫給小白的機器學習入門貼)(2)

已經對神經網絡有所了解的同學,一起來看看吧。

MNIST手寫數字分類

首先,就以MNIST手寫數字分類為例,這就是MNIST數據集的樣本。

cnn 深度學習(寫給小白的機器學習入門貼)(3)

很簡單,就是識別圖像,然后將其分類為數字。

MNIST數據集中的每個圖像均為28×28,我們看到,都是居中的灰度數字。

正常的神經網絡其實就可以解決這個問題,首先將每張圖像視為28×28=784維向量,將784維送到一個784維的輸入層,堆疊幾個隱藏層,然后用10個節點的輸出層來完成,每個數字1個節點。

但這些數字居中,且圖像較小,所以也就沒有尺寸大、位置偏移的問題。但是我們知道實際生活中,情況并非如此。

好了,有了一個基本的了解之后,我們就進入了這個卷積神經網絡的世界吧。

什么是卷積神經網絡?

顧名思義,卷積神經網絡就是基本上只是由卷積層組成的神經網絡,卷積層是基于卷積的數學運算。

而卷積層是由一組濾波器組成,你可以將其視為二維矩陣的數字。比如,這是一個3×3濾波器。

cnn 深度學習(寫給小白的機器學習入門貼)(4)

將輸入圖像與濾波器結合卷積生成圖像,這其中包括:

  1. 將濾波器疊加在圖像的某個位置上。
  2. 在濾波器中的值和圖像中的相應值之間進行元素乘法。
  3. 將所有元素的乘積相加。這個和就是輸出圖像中的目標像素的輸出值
  4. 對所有位置重復進行。

這樣說,可能有些抽象看不太懂。沒關系,例子這就來了。

我們以一個微小的4×4灰度圖像和一個3×3的濾波器為例。

cnn 深度學習(寫給小白的機器學習入門貼)(5)

圖像中的數字就是我們日常見到的像素強度,其中0為黑色,255為白色,我們的輸出設置成為、一個2×2的輸出圖像。

首先,將我們的濾波器疊加到圖像的左上位置。

cnn 深度學習(寫給小白的機器學習入門貼)(6)

接著,將兩個值(圖像值和濾波器值)進行逐元素相乘。得到了如下的表格:

cnn 深度學習(寫給小白的機器學習入門貼)(7)

得出結果62-33=29。

cnn 深度學習(寫給小白的機器學習入門貼)(8)

以此類推,就可以得到2×2圖像的數值。

cnn 深度學習(寫給小白的機器學習入門貼)(9)

卷積有什么用?

我們先把卷積的用途放一下,來看圖。

cnn 深度學習(寫給小白的機器學習入門貼)(10)

這不就是剛剛3×3的濾波器嗎?其實它還有一個專業的名字——垂直Sobel濾波器,對應的還有一個水平Sobel濾波器,就是中間橫著的一行數字為0。

cnn 深度學習(寫給小白的機器學習入門貼)(11)

其實,Sobel濾波器是邊緣檢測器,垂直Sobel濾波器是檢測垂直邊緣,而水平Sobel是檢測水平邊緣。

這么說,可能不太明顯。我們來看圖。

cnn 深度學習(寫給小白的機器學習入門貼)(12)

cnn 深度學習(寫給小白的機器學習入門貼)(13)

是不是有點感覺了。

試想,如果兩個濾波器都是用了,卷積是不是就能抓住圖像的邊緣特征了。

輸出圖像中的亮像素說明了原始圖像的周圍又很強的邊緣。

這樣一來,卷積就可以幫助我們尋找特定的局部圖像特征,比如邊緣。

填充

通常來說,我們其實都希望輸出圖像能夠跟原始圖像的大小相同。但在上面的示例中,我們是以4×4圖像為輸入,以2×2圖像為輸出,那應該怎么解決這個問題呢?

填充。這時候就要談到0的妙用了。

就是要在圖像周圍添加一圈“0”,而濾波器則也需要填充1個像素。

cnn 深度學習(寫給小白的機器學習入門貼)(14)

這樣,輸出跟輸入的圖像具有相同的尺寸,叫做相同填充

卷積層

卷積層就包含了上述的一組濾波器,卷積層的主要參數就是濾波器的數量。

對于MNIST CNN,如果使用帶有8個濾波器的小型卷積層,那么輸入為28×28,輸出結果就變成了26×26×8 。

cnn 深度學習(寫給小白的機器學習入門貼)(15)

(因為是有效填充,它將輸入的高度和寬度將減少2)

池化層

圖像中的相鄰i像素往往都有相似的值,而經過卷積層也就能在相鄰像素中產生了相似的值。這樣就會導致卷積層輸出的很多信息都是多余的。

就如上述的負責邊緣檢測的濾波器,它能夠在某個位置上找到較強的邊緣,但是從很可能在其相鄰的一個像素也能找到較強的邊緣,這樣就造成了兩個相同的邊緣同時存在。

這樣的話,就造成了信息的冗余,不會發現新的信息。

池化就解決了這個問題。池化,就是通過將輸入中的值集中在一起,減少輸入的大小。

通常,是通過一個簡單的操作來完成的,比如取max、min或平均值。

下面是一個最大池化層的例子,池化大小為2的最大池化層。為了執行最大池化,以2×2塊遍歷輸入圖像,并將最大值放入對應像素的輸出圖像中。

cnn 深度學習(寫給小白的機器學習入門貼)(16)

池化將輸入的寬度和高度除以池大小。

比如,對于我們的MNIST CNN,我們將在初始轉換層之后立即放置一個池大小為2的最大池化層。池化層會將26x26x8輸入轉換為13x13x8輸出。

cnn 深度學習(寫給小白的機器學習入門貼)(17)

softmax層

實際上,最終完成CNN,還需要賦予其預測的能力。

那么,將通過使用多類分類問題的標準最終層:Softmax層,這是一個完全連接(密集)的層,它使用Softmax函數作為其激活的全連接(密集)層。

什么是Softmax函數?

給定一些數字,Softmax函數就能將任意數字轉化為概率。

比如,我們選定數字 -1、0、3和5。

首先,我們需要計算e的指定數字次方,然后將其所有結果相加,當作分母。

cnn 深度學習(寫給小白的機器學習入門貼)(18)

最后,e的指定數字次方的值就作為分子,由此計算可能性。

cnn 深度學習(寫給小白的機器學習入門貼)(19)

而以MNIST CNN為例,將使用帶有10個節點的softmax層作為CNN的最后一層,每個數字代表一個數字。層中的每個節點將連接到每個輸入。

應用softmax變換后,由節點表示的概率最高的數字將是CNN的輸出了。

好了,介紹了這么多。是不是能夠很好的理解卷積神經網絡了呢?

可以私戳下方鏈接了解更多哦~

傳送門:

https://victorzhou.com/blog/intro-to-cnns-part-1/

https://victorzhou.com/blog/softmax/

— 完 —

量子位 QbitAI · 頭條號簽約

關注我們,第一時間獲知前沿科技動態

TAGS標簽:  深度  學習  寫給  白的  機器  cnn 深度學習(寫

歡迎分享轉載→http://www.avcorse.com/read-233172.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖