目錄
摘要:
1.卷積神經(jīng)網(wǎng)絡(luò)介紹:
2.卷積神經(jīng)網(wǎng)絡(luò)(CNN)構(gòu)建與訓(xùn)練:
2.1 CNN的輸入圖像
2.2 構(gòu)建CNN網(wǎng)絡(luò)
2.3 訓(xùn)練CNN網(wǎng)絡(luò)
3.卷積神經(jīng)網(wǎng)絡(luò)(CNN)的實(shí)際分類測(cè)試:
4.本文Matlab實(shí)驗(yàn)代碼:
摘要:
使用Matlab自帶的深度學(xué)習(xí)工具箱構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)(CNN)進(jìn)行圖片分類,以識(shí)別并分類手寫數(shù)字為例。首先將大量的圖片數(shù)據(jù)導(dǎo)入;然后給不同種類的圖片打上對(duì)應(yīng)的分類的標(biāo)簽,劃分為訓(xùn)練集和測(cè)試集;構(gòu)建CNN網(wǎng)絡(luò)其中包括3層2維卷積和3個(gè)池化層,全連接層及分類層;調(diào)整好輸入輸出格式對(duì)CNN進(jìn)行訓(xùn)練及測(cè)試;最后結(jié)果表明CNN可以有效的對(duì)手寫數(shù)字圖像進(jìn)行分類。代碼已做標(biāo)準(zhǔn)化處理,使用者可通過替換數(shù)據(jù)實(shí)現(xiàn)自己需要的功能。
1.卷積神經(jīng)網(wǎng)絡(luò)介紹:
卷積神經(jīng)網(wǎng)絡(luò)? (Convolutional? Neural? Network,CNN)?這一概念最早由?Yann?Lecun?于?20?世紀(jì)?80?年代提出,是受到生物神經(jīng)學(xué)中感受野的啟發(fā)而發(fā)展起來的一種前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型。其作為一種有監(jiān)督深度學(xué)習(xí)算法,端到端的數(shù)據(jù)處理模式,由于特征提取階段不需要人工選擇,而被廣泛應(yīng)用在各個(gè)領(lǐng)域的設(shè)備狀態(tài)監(jiān)測(cè)中。
2.卷積神經(jīng)網(wǎng)絡(luò)(CNN)構(gòu)建與訓(xùn)練:
2.1 CNN的輸入圖像
本文CNN的輸入圖像如下:為1-9的手寫數(shù)字,對(duì)應(yīng)分類標(biāo)簽為1-9。
2.2 構(gòu)建CNN網(wǎng)絡(luò)
本文構(gòu)建的CNN結(jié)構(gòu)如下圖所示:
- 圖像輸入層:用于指定圖像大小,在本例中為 28×28×1。這些數(shù)字對(duì)應(yīng)于高度、寬度和通道大小。數(shù)字?jǐn)?shù)據(jù)由灰度圖像組成,因此通道大?。伾ǖ溃?1。對(duì)于彩色圖像,通道大小為 3,對(duì)應(yīng)于 RGB 值。
- 卷積層:在三層卷積層中,第一層有8個(gè)3*3的卷積核,第二層有16個(gè)3*3的卷積核,第三層有32個(gè)3*3的卷積核。卷積層逐漸加深,不斷提取輸入圖像的特征。
- 批量歸一化層批量歸一化層對(duì)網(wǎng)絡(luò)中的激活值和梯度傳播進(jìn)行歸一化,使網(wǎng)絡(luò)訓(xùn)練成為更簡(jiǎn)單的優(yōu)化問題。在卷積層和非線性部分(例如 ReLU 層)之間使用批量歸一化層,來加速網(wǎng)絡(luò)訓(xùn)練并降低對(duì)網(wǎng)絡(luò)初始化的敏感度。
- ReLU 層:批量歸一化層后接一個(gè)非線性激活函數(shù)。最常見的激活函數(shù)是修正線性單元 (ReLU)。使用?reluLayer?創(chuàng)建 ReLU 層。
- 最大池化層:卷積層(帶激活函數(shù))有時(shí)會(huì)后跟下采樣操作,以減小特征圖的空間大小并刪除冗余空間信息。通過下采樣可以增加更深卷積層中的濾波器數(shù)量,而不會(huì)增加每層所需的計(jì)算量。下采樣的一種方法是使用最大池化,在此示例中,該矩形區(qū)域的大小是2
- 全連接層:卷積層和下采樣層后跟一個(gè)或多個(gè)全連接層。顧名思義,全連接層中的神經(jīng)元將連接到前一層中的所有神經(jīng)元。該層將先前層在圖像中學(xué)習(xí)的所有特征組合在一起,以識(shí)別較大的模式。最后一個(gè)全連接層將特征組合在一起來對(duì)圖像進(jìn)行分類。因此,最后一個(gè)全連接層中的?OutputSize?參數(shù)等于目標(biāo)數(shù)據(jù)中的類數(shù)。
- softmax 層:?softmax 激活函數(shù)對(duì)全連接層的輸出進(jìn)行歸一化。
- 分類層:最終層是分類層。該層使用 softmax 激活函數(shù)針對(duì)每個(gè)輸入返回的概率,將輸入分配到其中一個(gè)互斥類并計(jì)算損失。
2.3 訓(xùn)練CNN網(wǎng)絡(luò)
定義網(wǎng)絡(luò)結(jié)構(gòu)體后,指定訓(xùn)練選項(xiàng)。使用具有動(dòng)量的隨機(jī)梯度下降 (SGDM) 訓(xùn)練網(wǎng)絡(luò),初始學(xué)習(xí)率為 0.01。將最大訓(xùn)練輪數(shù)設(shè)置為 4。將數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,對(duì)構(gòu)建好的CNN進(jìn)行訓(xùn)練,訓(xùn)練過程中的誤差曲線如下:
3.卷積神經(jīng)網(wǎng)絡(luò)(CNN)的實(shí)際分類測(cè)試:
使用經(jīng)過訓(xùn)練的網(wǎng)絡(luò)預(yù)測(cè)驗(yàn)證數(shù)據(jù)的標(biāo)簽,并計(jì)算最終驗(yàn)證準(zhǔn)確度。準(zhǔn)確度是網(wǎng)絡(luò)預(yù)測(cè)正確的標(biāo)簽的比例。在本例中,超過 99% 的預(yù)測(cè)標(biāo)簽與驗(yàn)證集的真實(shí)標(biāo)簽相匹配。
文章來源:http://www.zghlxwxcb.cn/news/detail-785599.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-785599.html
4.本文Matlab實(shí)驗(yàn)代碼:
到了這里,關(guān)于基于卷積神經(jīng)網(wǎng)絡(luò)CNN的圖片分類實(shí)現(xiàn)——附代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!