卷积神经网络原理图文详解
卷積神經網絡原理詳解
- 前言
- 卷積(convolution)
- 池化(pooling)
- 正則化(normalization)/ReLU
- 全連接(fully connect)
- 全連接的另一種解釋方式
- 神經網絡
- 損失函數(這里過兩天來補充)不是偷懶哈哈哈
前言
這個什么鬼卷積神經網絡,就是用于有趣的計算機視覺的一個人工智能分支。包括人臉識別、自動駕駛等眾多技術都基于此。聽上去好像的挺好玩的。
那這個卷積神經網絡呢就像是一個函數,輸入一個二維的像素矩陣,經過這個辣雞函數后就可以得到其特征值
卷積(convolution)
圖中左上角的小九宮格為卷積核(卷積核是原圖中的某一部分的特征矩陣,不一定是3X3的),將圖像的每個位置與卷積核進行如圖所示的運算,得到右上角的這個特征矩陣
然后再將特征矩陣的所有值相加除以數據的個數,就可以得到該區域與卷積核的匹配度(等于1的話就一毛一樣的)
按照同樣的方法我們可以看到這個不好玩的卷積核跟中間那一塊的匹配度是0.55
然后把整個圖的匹配度都算出來,得到的矩陣就是關于這個卷積核的特征矩陣
這就是經過一次卷積得到的結果
我們再用多個卷積核對原圖進行卷積就可以得到多個特征矩陣,上面這個過程也就是我們說的卷積了
池化(pooling)
我們再進行這個好玩的訓練過程中往往圖片都是成千上萬張的,在加上對沒張圖片的卷積運算。。。。哇,這不是要算死嗎,心疼我的電腦啊(那就最小化后臺運行假裝讓你休息吧)。所以,我們就需要對經過卷積的特征矩陣進行簡化,簡化過程當然就是池化了
池化主要是有兩種滴,第一種就是像上圖這樣,把一個區域里最大的那個數據提取出來,還有一種就是取這個區域內所有數的平均數
我們這里假裝步長是2(就是這個2X2的框框每次移動都是兩格),如果到某個區域數據沒有的就補0就闊以了
繼續這樣的一波操作就會的到整個特征矩陣的池化結果
然后也是一樣的方法就可以把多個特征矩陣池化了哈
正則化(normalization)/ReLU
正則化這個就比較好玩了
就是直接這樣,把負數變成0,正數不改變就好了
Okay,就這樣就好了哈哈哈
全連接(fully connect)
全連接啊就是把全部數據排成一列
像這樣一行行一列列按順序排成一列
對于每個字母(看你想要訓練的圖像是什么,這里就以字母圖像為例了),它所對應的全連接層中每個數據都有其對應的權重(就是這個字母在這個位置的特征值為這個數的概率),看圖中的例子就是字母X的全連接層第一個特征值為1.0的概率是0.9,然后把這兩個數相乘,對于每個特征值都是這樣相乘,然后求和去平均值就是最終得到的概率(這個概率指的就是這一串特征值代表的字母是X的概率)。求出每個字母的概率,最大概率的字母就是我們通過機器學習認為這張圖所表示的字母。
全連接的另一種解釋方式
當輸入字母X的圖片時,得到上圖的全連接層,把值為1.0的數據用黑色粗線連接
當輸入字母O的圖片時,得到上圖的全連接層,把值為1.0的數據用綠色粗線連接
我們輸入一張圖片(不知道是X還是O),比一下對應黑色粗線的值的和與對應綠色粗線的值的和,更大的就代表是這個字母的概率大,okk
神經網絡
神經網絡呢,就是把上面那幾個過程按照想要的順序進行運算,得到想要的結果
就是像上面這樣,是不是挺好玩的,哈哈
損失函數(這里過兩天來補充)不是偷懶哈哈哈
機器判斷的東西嘛,那肯定是有不確定性的
文中圖片引用自視頻:
https://www.bilibili.com/video/av16175135?from=search&seid=4423559778929147632
總結
以上是生活随笔為你收集整理的卷积神经网络原理图文详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习—决策树构造算法的python实
- 下一篇: Spatial As Deep: Spa