Python人工智能深度學(xué)習(xí)CNN
1.CNN概述
CNN的整體思想,就是對圖片進(jìn)行下采樣,讓一個函數(shù)只學(xué)一個圖的一部分,這樣便得到少但是更有效的特征,最后通過全連接神經(jīng)網(wǎng)絡(luò)對結(jié)果進(jìn)行輸出。
整體架構(gòu)如下:
輸入圖片
→卷積:得到特征圖(激活圖)
→ReLU:去除負(fù)值
→池化:縮小數(shù)據(jù)量同時保留最有效特征
(以上步驟可多次進(jìn)行)
→輸入全連接神經(jīng)網(wǎng)絡(luò)
2.卷積層
CNN-Convolution
卷積核(或者被稱為kernel, filter, neuron)是要被學(xué)出來的,卷積核中的數(shù)就是權(quán)重(參數(shù))
做內(nèi)積,把卷積核的每一個參數(shù)和圖像中對應(yīng)位置的數(shù)字相乘(對應(yīng)位置的元素相乘,不同于矩陣乘法),再求和。相當(dāng)于一個神經(jīng)元,對輸入的數(shù)據(jù),進(jìn)行權(quán)重的分配,而權(quán)重就是卷積核的數(shù)據(jù)。再求和,就是第一個神經(jīng)元所得到的結(jié)果。把這個權(quán)重對圖片所有數(shù)據(jù)進(jìn)行處理,就得到第一個激活圖或特征圖(feature map)。我們可以增加卷積核的數(shù)量,就會得到多層激活圖,可以更好的保留數(shù)據(jù)的空間尺寸。
當(dāng)卷積核與圖片進(jìn)行相乘相加的時候,如果卷積核此時正在計算的區(qū)域數(shù)字分布與卷積核類似,所得的求和結(jié)果會很大(稱為卷積核被激活了),而其他地方會很小,說明圖像在這個區(qū)域,有和卷積核類似的圖案。
一個卷積核只能識別一個特征。因此我們需要添加多個卷積核,卷積核越多,得到的激活圖就越深,輸入圖像的信息就越多。
對于彩色的圖來說,不需要把顏色分開,卷積核的深度和圖像深度是一樣的,比如彩色是紅綠藍(lán)三層,那么卷積核也是三層。
卷積層相當(dāng)于降采樣的神經(jīng)網(wǎng)絡(luò),如下圖,本來應(yīng)該連接36個神經(jīng)元,但實(shí)際連接了9個。
3.池化層
CNN-MaxPooling
在Max Pooling,也就是池化層之前,會需要進(jìn)行一個ReLU函數(shù)轉(zhuǎn)化,即把小于0的值全轉(zhuǎn)為0,其他的不變。
池化層主要就是為了減少數(shù)據(jù)量,選一個尺寸之后,直接用尺寸中的最大值代替那個尺寸。這樣可以減少數(shù)據(jù)從而減少運(yùn)算量。
如下圖所示,輸入數(shù)據(jù)原本是6*6,通過卷積層之后變成4*4,通過池化層之后變成2*2。對于實(shí)際的圖片來說,維度可能很高,因此卷積層,池化層可以多次進(jìn)行。
4.全連層
將最后得到的高層次特征輸入全連接的神經(jīng)網(wǎng)絡(luò),即全連層。全連層就是一個全連接的神經(jīng)網(wǎng)絡(luò),它的參數(shù)數(shù)量就是最后的池化層輸出的數(shù)據(jù)數(shù)量。
同樣的,前向傳播后,計算損失函數(shù)后進(jìn)行后向傳播,得到各參數(shù)的梯度,對各參數(shù)進(jìn)行更新,直到找到最佳參數(shù)。
因此,在全連接之前的所有層,不管多少層的卷積、池化,都是為了得到更好的特征的同時降低數(shù)據(jù)量。使得模型可以更好地訓(xùn)練。
以上就是Python人工智能深度學(xué)習(xí)CNN的詳細(xì)內(nèi)容,更多關(guān)于人工智能CNN深度學(xué)習(xí)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python一直報錯SyntaxError:invalid?syntax的解決辦法
SyntaxError: invalid syntax 這個報錯經(jīng)常遇見,但是總感覺自己的代碼沒有問題,根據(jù)報錯提示的行也找不到錯誤,這些情況以及解決方法都有哪些呢?這篇文章主要給大家介紹了關(guān)于Python一直報錯SyntaxError:invalid?syntax的解決辦法,需要的朋友可以參考下2022-09-09python使用xlrd實(shí)現(xiàn)檢索excel中某列含有指定字符串記錄的方法
這篇文章主要介紹了python使用xlrd實(shí)現(xiàn)檢索excel中某列含有指定字符串記錄的方法,涉及Python使用xlrd模塊檢索Excel的技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-05-05Python?庫?PySimpleGUI?制作自動化辦公小軟件的方法
Python?在運(yùn)維和辦公自動化中扮演著重要的角色,PySimpleGUI?是一款很棒的自動化輔助模塊,讓你更輕松的實(shí)現(xiàn)日常任務(wù)的自動化,下面通過本文給大家介紹下Python?庫?PySimpleGUI?制作自動化辦公小軟件的過程,一起看看吧2021-12-12Python實(shí)現(xiàn)樸素貝葉斯的學(xué)習(xí)與分類過程解析
這篇文章主要介紹了Python實(shí)現(xiàn)樸素貝葉斯的學(xué)習(xí)與分類過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08python庫lxml在linux和WIN系統(tǒng)下的安裝
這篇內(nèi)容我們給大家分享了lxml在WIN和LINUX系統(tǒng)下的簡單快速安裝過程,有興趣的朋友參考學(xué)習(xí)下。2018-06-06Python利用pdfplumber庫提取pdf中表格數(shù)據(jù)
pdfplumber是一個用于從PDF文檔中提取文本和表格數(shù)據(jù)的Python庫,它可以幫助用戶輕松地從PDF文件中提取有用的信息,例如表格、文本、元數(shù)據(jù)等,本文介紹了如何通過Python的pdfplumber庫提取pdf中表格數(shù)據(jù),感興趣的同學(xué)可以參考一下2023-05-05