1.B站子豪兄·大白話講解卷積神經網絡工作原理

本文對應的B站地址:https://www.bilibili.com/video/av35087157 知乎文章地址:https://zhuanlan.zhihu.com/p/49184702

卷積神經網絡用在計算機視覺領域,是人工智能的一個分支。計算機視覺就是告訴計算機如何理解圖像,包括人臉識別,自動駕駛等。不僅可以用於處理圖像還可以處理音頻,文本,只要數據能變成圖像格式,他都能處理。
卷積神經網絡大佬李飛飛博士,建立了imgNet網站,發動全世界志願者進行標籤,篩選,整理,然後大家都用這些資源進行訓練。
卷積神經網絡是一個黑箱(函數),有輸入,有輸出,輸入就是二維的像素陣列(也就是圖片),輸出就是這個圖片是什麼(比如有一隻貓)。
在這裏插入圖片描述
在這裏插入圖片描述
還是那個圖片,經過縮放,旋轉,部分扭曲,還是可以識別出來。魯棒性和抗干擾性比較強。
在這裏插入圖片描述
對於計算機來說,怎麼把數字進行特徵提取是非常重要的。識別出扭曲圖片的新特徵,比如中間的x,左上角的綠色框,這都是新圖片的特徵,可以拿回去跟原圖比對,發現相似性。
在這裏插入圖片描述
比如說我們提取了三個特徵,如下。這就叫卷積核,或者叫特徵提取器。
在這裏插入圖片描述
如果用某個卷積核進行操作,就相當於把原圖中包含這種特徵的部分提取了出來。卷積核能把原圖中跟卷積核一樣的特徵提取出來。
在這裏插入圖片描述
來說說卷積運算,如下圖。黃色在原圖上進行掃面,綠色是原圖。運算方法是卷積核的每一個小格乘以掃描到的覆蓋的原圖的綠色小格,最後9個運算結果求和然後除以卷積核的格子數,形成的新矩陣就叫做feature map。
在這裏插入圖片描述
求和的結果除以卷積核的格子數(9),得到的就是掃描到的區域與卷積核的相似程度。如下圖就是0.55的相似程度,完全相似就是1.在這裏插入圖片描述
如果用卷積覈對原圖整個做一遍掃描,就可以得到下圖:
在這裏插入圖片描述
可以看到對角線的部分是1,原圖中該位置有跟卷積核一樣的特徵,所以卷積完之後,就是1.
嘗試一下不同的卷積核:
在這裏插入圖片描述
需要注意,這裏用的卷積核是原圖中包含了的,如果隨便整一個卷積核,大概率得到的是亂碼。上面說的就是卷積神經網絡最重要的一步叫做卷積。
舉一個複雜的例子,兩組卷積核,原圖用紅黃藍三通道,做卷積運算。最後2組卷積核得到2個結果。
在這裏插入圖片描述
如果人臉的幾十萬個特徵,用這些卷積核做運算,計算量是非常大的,人臉識別很明顯不允許那麼慢。所以爲了解決這個問題,需要把圖像縮小,這個過程叫做池化。也叫做下采樣。它的作用就是把得到的feature map 進行縮小。如下圖,那麼大的一張圖被縮小爲2x2.

在這裏插入圖片描述
池化的方式,常見的:max / avg 兩種方式。
在這裏插入圖片描述
在這裏插入圖片描述
max pooling 之後依舊保留了對角線的特徵。
圖像邊緣也充滿了信息,如果需要提取,則需要用到padding,對邊緣進行填充,一般是補0.
上面的矩陣裏面可能是因爲有負數,我們需要把負數抹成0.因爲好運算。這個過程叫做用ReLUs函數激活。不光對卷積有好處,在梯度下降中對別別的函數也是有好處的。
在這裏插入圖片描述
原圖經過卷積,抹除0,池化之後,就有了如下這個過程,最中間這個過程就是卷積神經網絡了。類似人的思維,先接受外界的感知,觸發一個激活信號,然後抓住重點特徵,得出結論。
在這裏插入圖片描述
這三個可以任意的排列組合:卷積,relu,池化。如下:
在這裏插入圖片描述
比如識別一個4,對原圖進行6個卷積,生成6個feature map。然後進行下采樣得到6個小圖,對小圖再進行卷積,在進行下采樣,然後進行2層全連接,然後得到是4。
全連接層要做的是就是把上一步得到的矩陣,排排坐,變成一個一維矩陣。每個位置都有權重,可以投票。
在這裏插入圖片描述
把每個位置的值乘以權重,加起來,就得到了結果,如下圖,這個過程是需要訓練得到的。在這裏插入圖片描述
爲什麼叫全連接呢?是因爲結果跟每一個神經元都是相連的。如下圖:
在這裏插入圖片描述
全連接也可以放很多層,這就是所說的隱藏層,web案例是2層全連接,如下:
在這裏插入圖片描述
全連接層的權重通過反向傳播算法,訓練而來,就需要大量的數據集了。將神經網絡u預測的結果和真是結果進行比對,得到一個損失函數,目標就是把損失函數降到最低,可以用數學裏的求導,導數等於0,找極值。是一層一層把誤差反向回去的,所以叫反向傳播。最後他自己就會了,用哪些卷積核,全連接的權重是多少。這個過程就叫做機器學習了,卷積核和權重,不是人指定的,而是機器學會的。
在這裏插入圖片描述

最後把誤差加起來,然後把它弄到最小,這個過程就是梯度下降了。
在這裏插入圖片描述
當找到損失函數的最小值的時候,我們就認爲它成功了。
但是我們總得讓他有個初始的參數,也叫超參數,我們事先指定好卷積核的尺寸,數目,然後隨機生成一些數字放到卷積核裏。(交通大數據:歷史均值)。如下圖,這個框架是要提前訂好的,然後通過訓練,得到損失函數的最小值,從而得到最優的模型。
在這裏插入圖片描述
多少層比較合適?什麼順序比較合適,都是人類隨意的,這裏的可以創新做文章(論文!)
只要數據的結構呈現出類似圖像的特徵,就可以用它來處理。比如隨時間的圖像:視頻。比如聲音,可以轉成圖像。
如果你的數據,列換一下,還是一個意思,那就不能用卷積神經網絡。
卷積神經網絡在發現特徵,分類圖片上,特別有用。這一句話(CNN+聚類算法—上下車點)
補充資料看前面的知乎~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章