久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 學習資源 > 講師博文 > 卷積神經網絡(CNN)必備基礎知識(shi)

卷積神經網(wang)絡(CNN)必(bi)備(bei)基礎知(zhi)識 時間:2025-06-09      來(lai)源:華清(qing)遠(yuan)見(jian)

在計算(suan)機(ji)(ji)視(shi)覺和深度學(xue)習(xi)(xi)領域,卷積神(shen)經網絡(Convolutional Neural Networks, CNN) 是一類深度學(xue)習(xi)(xi)算(suan)法(fa),廣泛應(ying)用(yong)于計算(suan)機(ji)(ji)視(shi)覺、自然(ran)語(yu)言處理、語(yu)音識(shi)別(bie)等領域。作為深度學(xue)習(xi)(xi)的(de)重要組成部分(fen),CNN的(de)核心(xin)思想(xiang)是通過模(mo)仿生物(wu)視(shi)覺皮層(ceng)的(de)工作原理,有(you)效地提取和學(xue)習(xi)(xi)圖像或(huo)其他(ta)數據中的(de)特征。

本(ben)文將(jiang)帶你(ni)快速掌(zhang)握 CNN 的核(he)心概念,并(bing)通過(guo) PyTorch 實現一個(ge)經典的手寫(xie)數(shu)字分類模型(MNIST),助(zhu)你(ni)快速入門!

一、 神經網絡基礎

首先(xian)需要(yao)了解(jie)神經(jing)(jing)網(wang)絡(luo)(luo)的(de)基礎知識。神經(jing)(jing)網(wang)絡(luo)(luo)由多個(ge)神經(jing)(jing)元(yuan)(或(huo)節點)組(zu)成,每個(ge)神經(jing)(jing)元(yuan)通(tong)過連接傳(chuan)遞(di)信息(xi),類似于生物(wu)神經(jing)(jing)系統的(de)運(yun)作方(fang)式。最簡(jian)單的(de)神經(jing)(jing)網(wang)絡(luo)(luo)結(jie)構包(bao)括輸入層、隱藏(zang)層和輸出層。

· 輸入(ru)層:接受外(wai)部數據輸入(ru)。

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

 · 輸(shu)出層(ceng):根據(ju)隱(yin)藏層(ceng)的(de)計算結(jie)果產生輸(shu)出。

CNN 是一(yi)種特殊的(de)神(shen)經網(wang)絡,它在傳統的(de)全連接層(ceng)基(ji)礎(chu)上引入了卷積層(ceng)、池(chi)化層(ceng)等層(ceng)次結(jie)構,專門設(she)計用于處理具有格(ge)狀結(jie)構的(de)數據(如圖像)。

二、CNN 的核心組成結構

1. 卷積層(Convolutional Layer)

· 使用可學(xue)習的(de)卷積核(Filter)對輸入進行滑動卷積操作,提取局(ju)部特(te)征。

· 卷積(ji)操作(zuo)的(de)基本過程如下:

o 使用卷積核在輸入數據上滑動,通(tong)過(guo)點乘計算卷積結果。

o 通過滑動窗口(kou)將卷積核應用于(yu)圖(tu)像的(de)不同區域(yu),從(cong)而提(ti)取(qu)局部特征(zheng)(如(ru)邊緣、紋理等)。

o 結(jie)果稱為特征圖(Feature Map),是(shi)對輸(shu)入數(shu)據(ju)局部區域的提取。

· 卷(juan)積的主要作用(yong)是提取邊緣、紋理(li)、形狀等(deng)局部(bu)結構(gou)。

2. 池化層(Pooling Layer)

· 池(chi)化層用于減少數據的(de)維度,從而降低計算復雜(za)度并避(bi)免過擬合。最(zui)常用的(de)池(chi)化方式(shi)有最(zui)大池(chi)化和平均池(chi)化。

o 最(zui)大池(chi)化:從池(chi)化窗口中選取最(zui)大的值作為(wei)輸(shu)出。

o 平均池(chi)化(hua):從池(chi)化(hua)窗口(kou)中選取平均值作(zuo)為輸出。

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

3. 激活函(han)數

激活(huo)函(han)數(shu)的作用是引(yin)入非線(xian)性(xing)特(te)征,使得網(wang)絡能夠(gou)逼近(jin)復雜的函(han)數(shu)。CNN中常(chang)用的激活(huo)函(han)數(shu)包括ReLU(Rectified Linear Unit)、Sigmoid和Tanh等(deng)。

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

ReLU 函數具(ju)有較好的(de)非線性(xing)特性(xing),且能夠避免(mian)梯度消失(shi)問(wen)題,因此(ci)廣(guang)泛應用于現代深度神經網(wang)絡中。

· 激活函(han)數通過(guo)在卷積層和(he)全連接層后進行非線性變(bian)換,增加了(le)網絡(luo)的表(biao)達能力。

4. 全連接層(Fully Connected Layer)

· 全(quan)連(lian)接層(ceng)(Fully Connected Layer,簡(jian)稱(cheng)FC)在CNN中(zhong)通常位于(yu)網絡(luo)的最后部分,用于(yu)將(jiang)卷積(ji)和池(chi)化操作提取到(dao)的特征映射(she)到(dao)最終的類別標簽。全(quan)連(lian)接層(ceng)的每(mei)個神經元都(dou)與上一層(ceng)的所有神經元相連(lian),因此參數較多(duo),計算量較大(da)。

三、卷積神經網絡的工作流程

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

1. 輸入圖像(xiang):圖像(xiang)被(bei)輸入到CNN的輸入層(ceng)。

2. 卷(juan)積層(ceng)(ceng):卷(juan)積層(ceng)(ceng)使用(yong)卷(juan)積核對圖(tu)像進(jin)行卷(juan)積操(cao)作(zuo),提取局(ju)部特征。

3. 池化(hua)層(ceng):池化(hua)層(ceng)對卷積后的特征圖進行下采樣,減少數(shu)據維度。

4. 激活函(han)數:激活函(han)數對(dui)每一層(ceng)的輸出進行非線性(xing)變換。

5. 全連(lian)接層:將提取到(dao)的特征映射(she)到(dao)最終的類別(bie)標簽。

6. 輸出層:網絡輸出分類結果或(huo)回(hui)歸預(yu)測。

四、卷積神經網絡的工作流程

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

五、PyTorch 實現一(yi)個(ge)簡單的(de) CNN 分類模型

我們(men)將(jiang)使用(yong) MNIST 數據(ju)集(ji)(10類手寫數字(zi),圖像(xiang)大(da)小為 28×28)來訓練和測試一個基(ji)本的卷積神經網絡。

安裝依賴

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

# 設置運行設備

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

# 數據預(yu)處(chu)理:轉為(wei)Tensor,并進行歸一化

transform = transforms.Compose([

    transforms.ToTensor(),

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

])

# 加載 MNIST 數據集(ji)

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)

# 定(ding)義 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)))  # 輸出大小(xiao):(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

# 模型(xing)訓(xun)練配置

model = SimpleCNN().to(device)

criterion = nn.CrossEntropyLoss()

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

# 訓練模型

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.

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}%')

總結

卷(juan)積神經網絡(CNN)通(tong)過模擬(ni)生(sheng)物視覺系統的(de)(de)(de)工作方式(shi),有效地提取圖像等數據中的(de)(de)(de)特征,廣泛應用于計算(suan)機(ji)視覺和(he)其他深度學習任(ren)務。理解CNN的(de)(de)(de)基本構成,包括(kuo)卷(juan)積操(cao)作、池(chi)化操(cao)作、激(ji)活函數和(he)全連接層,是掌握這一(yi)技術的(de)(de)(de)基礎。

隨(sui)著深(shen)(shen)度學(xue)習(xi)研(yan)究的不斷(duan)(duan)深(shen)(shen)入,CNN在多個(ge)領(ling)域的應用也不斷(duan)(duan)擴大,不僅(jin)限于圖像處理,也已延伸到語音識(shi)別、自然語言處理等多種(zhong)領(ling)域。掌握CNN的基礎(chu)(chu)知識(shi),能(neng)為進一步深(shen)(shen)入學(xue)習(xi)和研(yan)究深(shen)(shen)度學(xue)習(xi)奠定良好的基礎(chu)(chu)。

 

上一篇:聯邦學習在多源數據AI中的應用:開啟隱私保護新時代

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

戳我查看嵌入式每月就業(ye)風云榜

點我了解(jie)華清(qing)遠見高(gao)校學(xue)霸學(xue)習秘(mi)籍

猜你(ni)關心(xin)企業是如何(he)評價(jia)華清學員的

干(gan)貨(huo)分享
相關新聞
前臺專線:010-82525158 企業培訓(xun)洽(qia)談專線:010-82525379 院(yuan)校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部