IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

當(dāng)前位置:首頁 > 學(xué)習(xí)資源 > 講師博文 > 卷積神經(jīng)網(wǎng)絡(luò)(CNN)必備基礎(chǔ)知識

卷積神經(jīng)網(wǎng)絡(luò)(CNN)必備基礎(chǔ)知識 時間:2025-06-09      來源:華清遠(yuǎn)見

在計(jì)算機(jī)視覺和深度學(xué)習(xí)領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN) 是一類深度學(xué)習(xí)算法,廣泛應(yīng)用于計(jì)算機(jī)視覺、自然語言處理、語音識別等領(lǐng)域。作為深度學(xué)習(xí)的重要組成部分,CNN的核心思想是通過模仿生物視覺皮層的工作原理,有效地提取和學(xué)習(xí)圖像或其他數(shù)據(jù)中的特征。

本文將帶你快速掌握 CNN 的核心概念,并通過 PyTorch 實(shí)現(xiàn)一個經(jīng)典的手寫數(shù)字分類模型(MNIST),助你快速入門!

一、 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)

首先需要了解神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)知識。神經(jīng)網(wǎng)絡(luò)由多個神經(jīng)元(或節(jié)點(diǎn))組成,每個神經(jīng)元通過連接傳遞信息,類似于生物神經(jīng)系統(tǒng)的運(yùn)作方式。最簡單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括輸入層、隱藏層和輸出層。

· 輸入層:接受外部數(shù)據(jù)輸入。

· 隱藏層:通過加權(quán)計(jì)算輸入信號并進(jìn)行非線性變換。

· 輸出層:根據(jù)隱藏層的計(jì)算結(jié)果產(chǎn)生輸出。

CNN 是一種特殊的神經(jīng)網(wǎng)絡(luò),它在傳統(tǒng)的全連接層基礎(chǔ)上引入了卷積層、池化層等層次結(jié)構(gòu),專門設(shè)計(jì)用于處理具有格狀結(jié)構(gòu)的數(shù)據(jù)(如圖像)。

二、CNN 的核心組成結(jié)構(gòu)

1. 卷積層(Convolutional Layer)

· 使用可學(xué)習(xí)的卷積核(Filter)對輸入進(jìn)行滑動卷積操作,提取局部特征。

· 卷積操作的基本過程如下:

o 使用卷積核在輸入數(shù)據(jù)上滑動,通過點(diǎn)乘計(jì)算卷積結(jié)果。

o 通過滑動窗口將卷積核應(yīng)用于圖像的不同區(qū)域,從而提取局部特征(如邊緣、紋理等)。

o 結(jié)果稱為特征圖(Feature Map),是對輸入數(shù)據(jù)局部區(qū)域的提取。

· 卷積的主要作用是提取邊緣、紋理、形狀等局部結(jié)構(gòu)。

2. 池化層(Pooling Layer)

· 池化層用于減少數(shù)據(jù)的維度,從而降低計(jì)算復(fù)雜度并避免過擬合。最常用的池化方式有最大池化和平均池化。

o 最大池化:從池化窗口中選取最大的值作為輸出。

o 平均池化:從池化窗口中選取平均值作為輸出。

· 池化操作通過減少空間維度,使得CNN更具魯棒性,能夠識別圖像中的重要特征,而不受小的平移和變形影響。

3. 激活函數(shù)

激活函數(shù)的作用是引入非線性特征,使得網(wǎng)絡(luò)能夠逼近復(fù)雜的函數(shù)。CNN中常用的激活函數(shù)包括ReLU(Rectified Linear Unit)、Sigmoid和Tanh等。

· ReLU:最常用的激活函數(shù),定義為:ReLU(x)=max(0,x)

ReLU 函數(shù)具有較好的非線性特性,且能夠避免梯度消失問題,因此廣泛應(yīng)用于現(xiàn)代深度神經(jīng)網(wǎng)絡(luò)中。

· 激活函數(shù)通過在卷積層和全連接層后進(jìn)行非線性變換,增加了網(wǎng)絡(luò)的表達(dá)能力。

4. 全連接層(Fully Connected Layer)

· 全連接層(Fully Connected Layer,簡稱FC)在CNN中通常位于網(wǎng)絡(luò)的最后部分,用于將卷積和池化操作提取到的特征映射到最終的類別標(biāo)簽。全連接層的每個神經(jīng)元都與上一層的所有神經(jīng)元相連,因此參數(shù)較多,計(jì)算量較大。

三、卷積神經(jīng)網(wǎng)絡(luò)的工作流程

CNN的工作流程可以簡要總結(jié)為以下幾個步驟:

1. 輸入圖像:圖像被輸入到CNN的輸入層。

2. 卷積層:卷積層使用卷積核對圖像進(jìn)行卷積操作,提取局部特征。

3. 池化層:池化層對卷積后的特征圖進(jìn)行下采樣,減少數(shù)據(jù)維度。

4. 激活函數(shù):激活函數(shù)對每一層的輸出進(jìn)行非線性變換。

5. 全連接層:將提取到的特征映射到最終的類別標(biāo)簽。

6. 輸出層:網(wǎng)絡(luò)輸出分類結(jié)果或回歸預(yù)測。

四、卷積神經(jīng)網(wǎng)絡(luò)的工作流程

卷積輸出尺寸計(jì)算公式:

五、PyTorch 實(shí)現(xiàn)一個簡單的 CNN 分類模型

我們將使用 MNIST 數(shù)據(jù)集(10類手寫數(shù)字,圖像大小為 28×28)來訓(xùn)練和測試一個基本的卷積神經(jīng)網(wǎng)絡(luò)。

安裝依賴

pip install torch torchvision matplotlib

代碼示例

import torch

import torch.nn as nn

import torch.optim as optim

from torchvision import datasets, transforms

from torch.utils.data import DataLoader

# 設(shè)置運(yùn)行設(shè)備

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

# 數(shù)據(jù)預(yù)處理:轉(zhuǎn)為Tensor,并進(jìn)行歸一化

transform = transforms.Compose([

    transforms.ToTensor(),

    transforms.Normalize((0.1307,), (0.3081,))

])

# 加載 MNIST 數(shù)據(jù)集

train_dataset = datasets.MNIST(root='./data', train=True, transform=transform, download=True)

test_dataset  = datasets.MNIST(root='./data', train=False, transform=transform)

train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True)

test_loader  = DataLoader(test_dataset, batch_size=1000, shuffle=False)

# 定義 CNN 模型

class SimpleCNN(nn.Module):

    def __init__(self):

        super(SimpleCNN, self).__init__()

        self.conv1 = nn.Conv2d(1, 10, kernel_size=5)

        self.pool  = nn.MaxPool2d(2)

        self.conv2 = nn.Conv2d(10, 20, kernel_size=5)

        self.fc1   = nn.Linear(320, 50)

        self.fc2   = nn.Linear(50, 10)

 

    def forward(self, x):

        x = self.pool(torch.relu(self.conv1(x)))  # 輸出大。(10, 12, 12)

        x = self.pool(torch.relu(self.conv2(x)))  # 輸出大小:(20, 4, 4)

        x = x.view(-1, 320)                       # 展平

        x = torch.relu(self.fc1(x))

        x = self.fc2(x)

        return x

# 模型訓(xùn)練配置

model = SimpleCNN().to(device)

criterion = nn.CrossEntropyLoss()

optimizer = optim.Adam(model.parameters(), lr=0.001)

# 訓(xùn)練模型

for epoch in range(1, 6):

    model.train()

    for data, target in train_loader:

        data, target = data.to(device), target.to(device)

        optimizer.zero_grad()

        output = model(data)

        loss = criterion(output, target)

        loss.backward()

        optimizer.step()

    print(f'Epoch {epoch}, Loss: {loss.item():.4f}')

 

# 模型測試

model.eval()

correct = 0

with torch.no_grad():

    for data, target in test_loader:

        data, target = data.to(device), target.to(device)

        output = model(data)

        pred = output.argmax(dim=1)

        correct += pred.eq(target).sum().item()

 

accuracy = 100. * correct / len(test_loader.dataset)

print(f'\nTest Accuracy: {accuracy:.2f}%')

總結(jié)

卷積神經(jīng)網(wǎng)絡(luò)(CNN)通過模擬生物視覺系統(tǒng)的工作方式,有效地提取圖像等數(shù)據(jù)中的特征,廣泛應(yīng)用于計(jì)算機(jī)視覺和其他深度學(xué)習(xí)任務(wù)。理解CNN的基本構(gòu)成,包括卷積操作、池化操作、激活函數(shù)和全連接層,是掌握這一技術(shù)的基礎(chǔ)。

隨著深度學(xué)習(xí)研究的不斷深入,CNN在多個領(lǐng)域的應(yīng)用也不斷擴(kuò)大,不僅限于圖像處理,也已延伸到語音識別、自然語言處理等多種領(lǐng)域。掌握CNN的基礎(chǔ)知識,能為進(jìn)一步深入學(xué)習(xí)和研究深度學(xué)習(xí)奠定良好的基礎(chǔ)。

 

上一篇:聯(lián)邦學(xué)習(xí)在多源數(shù)據(jù)AI中的應(yīng)用:開啟隱私保護(hù)新時代

下一篇:基于AI的嵌入式語音交互技術(shù)

戳我查看嵌入式每月就業(yè)風(fēng)云榜

點(diǎn)我了解華清遠(yuǎn)見高校學(xué)霸學(xué)習(xí)秘籍

猜你關(guān)心企業(yè)是如何評價(jià)華清學(xué)員的

干貨分享
相關(guān)新聞
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠(yuǎn)見科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號-5,京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 武汉办公室装修公司-展厅装修_湖北今泰装饰工程有限公司官网_今泰装饰 | 南通搬运公司|吊车租赁|大件吊装|设备搬运|工厂搬迁|起重吊装搬运-顺林搬运 | 立式离心泵_不锈钢自吸泵_液下泵_变频无负压供水设备-大东海泵业无锡有限公司 | 水硬度在线分析仪-氟离子|悬浮固体浓度分析仪-ldo分析仪-上海植茂 | 太原门禁系统_太原车牌识别_山西人脸识别系统-山西元一智能科技有限公司 | 危废处理_危废处置_危废处理公司-江苏绿瑞特环境科技股份有限公司 | 首页--南京俊全科技有限公司,环保监测无人机,大疆无人机,农用无人机,植保无人机,巡检无人机,无人机环境监测仪,消防,无人机,航拍测绘,固定翼无人机,无人机电力巡检,四旋翼无人机 | 南通搬运公司|吊车租赁|大件吊装|设备搬运|工厂搬迁|起重吊装搬运-顺林搬运 | 青岛网站建设_网站制作_品牌设计_网站设计_圭谷设计 | 长春网站优化,网络推广,seo快速排名,1.8元/词/天-同信长春网络公司 | 圆柱模板_圆柱木模板_方柱加固件_建材板材网 | 万彩办公大师官网-免费的办公工具百宝箱OfficeBox,绿色无广告无捆绑 | 津南人才网_津南招聘网_求职找工作平台 | 立式/卧式/暖气/管道泵,管道离心泵选型,管道增压泵型号 - 安平鼎千泵业制造厂 | 上海鳞片胶泥-环氧胶泥价格-鳞片涂料批发-乙烯基树脂-环氧结构胶-上海富晨 | 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 - 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 秦皇岛市信恒电子科技有限公司 秦皇岛市华谊彩印有限公司 | 洗地机,洗地机价格,扫地机,工业吸尘器,手推式洗地机,驾驶式洗地机,北京洗地机【北京高美环保科技有限公司】 | 石家庄团建公司|石家庄拓展训练|石家庄拓展培训|石家庄公司团建|石家庄拓展公司-石家庄启聚团建公司 | 振动给料机_电磁振动给料机_振动给料机厂家-新乡市大汉振动机械有限公司 | 吸气式感烟火灾探测器|极早期烟雾系统|空气采样报警|拓普兰 | 合金锤头_破碎机锤头_耐磨锤头_巩义市东辰实业有限公司 | 鹰潭代理记账公司_鹰潭代理记账_鹰潭注册公司-鹰潭市新知会计服务有限公司 | 青岛除甲醛公司|青岛甲醛治理|青岛除甲醛|甲醛检测|光触媒除甲醛|装修除味除甲醛|新房除甲醛|青岛室内环境污染检测治理|青岛闪洁环保科技有限公司官网 | 微行科技(MicroX):半导体装备核心供应商-超高真空炉 | 驾驶洗地机|手推洗地车|天津洗地机|扫地车|仓库工厂扫地机|工业吸尘器|扫雪机|耐洁思 | 微行科技(MicroX):半导体装备核心供应商-超高真空炉 | 武汉牛凸科技有限公司| 深圳心理咨询-专业心理咨询服务平台「专家免费在线」-深圳从心开始心理O2O | 潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机-潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机 潍坊网络推广,临沂360推广,东营360推广,枣庄360推广,潍坊网站建设,潍坊网络公司,潍坊360搜索,潍坊APP开发,潍坊360推广,潍坊360代理,潍坊点睛网络科技有限公司 | 珠海拾比佰彩图板股份有限公司 | 河南车用尿素设备_郑州车用尿素设备_河南江宇环保车用尿素液厂家 | 天津代办营业执照_注册公司_代理记账_代办注销_地址变更-谷骐科技 | 玉米脱皮制糁机-玉米深加工机械价格-玉米糁加工机器设备-玉米渣加工成套设备-河南粮院 | 线性排水沟-成品排水沟-树脂排水沟-树脂混凝土,缝隙式排水沟-时利和 | 砂浆生产线_干混砂浆设备_干混砂浆生产线-苏州一工机械有限公司 砂基透水砖滤水率,防滑性试验仪,砂基透水砖落球冲击,抗冲击试验机-献县中正试验仪器销售处 | 婴童人才网-孕婴童、母婴行业人才招聘求职系统 | 金诺国际拍卖集团有限公司--金诺国际拍卖集团有限公司 | 液压扳手-液压扭力扳手-电动扭矩扳手-气动扭力扳手-波霆机械(上海) | 江西挤塑板_挤塑板厂家_挤塑板价格-江合保温材料 | 有源滤波器-高压无功补偿装置-高压无功补偿柜-10KV电容柜-安徽众升电力科技有限公司 | 直流电源|Chroma直流电源|可程控直流电源-卓定电子Chroma代理 |