第09课:项目实战——让你的神经网络模型越来越深
上一篇,我們主要介紹了深層神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)和常用的標(biāo)記方法,詳細(xì)推導(dǎo)了深層神經(jīng)網(wǎng)絡(luò)模型的正向傳播和反向傳播過程,并在最后介紹了多分類 Softmax 模型。
本文我將帶領(lǐng)大家通過搭建一個(gè)較深層的神經(jīng)網(wǎng)絡(luò)來解決一個(gè)貓、狗的分類問題。這是一個(gè)典型的二分類問題。輸入是一張圖片,我們會(huì)把 3 通道的 RGB 圖片拉伸為一維數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入層。神經(jīng)網(wǎng)絡(luò)的輸出層包含一個(gè)神經(jīng)元,經(jīng)過 Softmax 輸出概率值 $P$,若 $P>0.5$,則判斷為貓(正類),若 $P\leq 0.5$,則判斷為非貓(負(fù)類)。
對(duì)于整個(gè)神經(jīng)網(wǎng)絡(luò)模型,我們可以選擇使用不同層數(shù),以此來比較模型分類的性能,從而得到較深的神經(jīng)網(wǎng)絡(luò)及分類效果更好的結(jié)論。但這也不是絕對(duì)的,并不是說網(wǎng)絡(luò)層數(shù)越多越好。接下來,我就帶大家一步步構(gòu)建神經(jīng)網(wǎng)絡(luò)模型。
導(dǎo)入數(shù)據(jù)集
首先,我們導(dǎo)入構(gòu)建模型所需的數(shù)據(jù)集。
該數(shù)據(jù)集分為訓(xùn)練(Train)集和測(cè)試(Test)集,訓(xùn)練集共有 250 張貓的圖片和 250 張狗的圖片,測(cè)試集共有 100 張貓的圖片和 100 張狗的圖片。我們需要訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型來識(shí)別圖片是否為貓類,最終模型在測(cè)試集上進(jìn)行正確率的驗(yàn)證。
說明:本文所有代碼均在 Jupyter Notebook 中編寫實(shí)現(xiàn)。
首先導(dǎo)入數(shù)據(jù)集:
import skimage.io as io import numpy as np# 訓(xùn)練樣本 file='./data/train/*.jpg' coll = io.ImageCollection(file)# 500 個(gè)訓(xùn)練樣本?總結(jié)
以上是生活随笔為你收集整理的第09课:项目实战——让你的神经网络模型越来越深的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第10课:优化神经网络——如何防止过拟合
- 下一篇: 第08课:深层神经网络(DNN)