国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

這篇具有很好參考價值的文章主要介紹了機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

引言

深度學(xué)習(xí)發(fā)展歷程

1.感知機(jī)網(wǎng)絡(luò)(解決線性可分問題,20世紀(jì)40年代)
2.BP神經(jīng)網(wǎng)絡(luò)(解決線性不可分問題,20世紀(jì)80年代)
3.深度神經(jīng)網(wǎng)絡(luò)(海量圖片分類,2010年左右)
常用的深度神經(jīng)網(wǎng)絡(luò):CNN、RNN、LSTM、GRU、GAN、DBN、RBM…

深度應(yīng)用領(lǐng)域

1.計算機(jī)視覺
2.語音識別
3.自然語言處理
4.人機(jī)博弈

深度學(xué)習(xí)vs傳統(tǒng)機(jī)器學(xué)習(xí)

傳統(tǒng)機(jī)器學(xué)習(xí)算法流程
輸入——>人工特征提取——>權(quán)重學(xué)習(xí)——>預(yù)測結(jié)果
深度學(xué)習(xí)算法流程
輸入—>基礎(chǔ)特征提取—>多層復(fù)雜特征提取—>權(quán)重學(xué)習(xí)—>預(yù)測結(jié)果

深度神經(jīng)網(wǎng)絡(luò)vs淺層神經(jīng)網(wǎng)絡(luò)

深度神經(jīng)網(wǎng)絡(luò)
機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介
普通網(wǎng)絡(luò)
機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

深度學(xué)習(xí)概述

  • 深度學(xué)習(xí)是一種利用復(fù)雜結(jié)構(gòu)的多個處理層來實現(xiàn)對數(shù)據(jù)進(jìn)行高層次抽象的算法,是機(jī)器學(xué)習(xí)的一個重要分支。
  • 傳統(tǒng)的BP算法僅有幾層網(wǎng)絡(luò),需要手工指定特征且易出現(xiàn)局部最優(yōu)問題,而深度學(xué)習(xí)引入了概率生成模型,可自動地從訓(xùn)練集提取特征,解決了手工特征考慮不周的問題,而且初始化了神經(jīng)網(wǎng)絡(luò)權(quán)重,采用反向傳播算法進(jìn)行訓(xùn)練,與BP算法相比取得了很好的效果。
  • 卷積神經(jīng)網(wǎng)絡(luò)目前是深度學(xué)習(xí)領(lǐng)域的熱點(diǎn),尤其是圖像識別和模式分類方面,優(yōu)勢在于具有**共享權(quán)值的網(wǎng)絡(luò)結(jié)構(gòu)和局部感知(也稱為稀疏連接)**的特點(diǎn),能夠降低神經(jīng)網(wǎng)絡(luò)的運(yùn)算復(fù)雜度,因為減少了權(quán)值的數(shù)量,并可以直接將圖像作為輸入進(jìn)行特征提取,避免了對圖像的預(yù)處理和顯式的特征處理。

卷積神經(jīng)網(wǎng)絡(luò)CNN

BP神經(jīng)網(wǎng)絡(luò)

缺陷

  • 不能移動
  • 不能變形
  • 運(yùn)算量大

解決方法

  • 大量物體位于不同位置的數(shù)據(jù)訓(xùn)練
  • 增加網(wǎng)絡(luò)的隱藏層個數(shù)。
  • 權(quán)值共享(不同位置擁有相同權(quán)值)
    機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

CNN概述

生物神經(jīng)元所能處理信息的復(fù)雜程度被稱為神經(jīng)元的感受野,而神經(jīng)元對于信息位置與方向變化不敏感的特性被稱為平移不變性,卷積神經(jīng)網(wǎng)絡(luò)正是根據(jù)生物神經(jīng)網(wǎng)絡(luò)的這些特性而提出的神經(jīng)網(wǎng)絡(luò)模型。

卷積神經(jīng)網(wǎng)絡(luò)大致結(jié)構(gòu)

此類網(wǎng)絡(luò)主要對輸入數(shù)據(jù)進(jìn)行逐層交替的卷積和池化操作
機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

卷積神經(jīng)網(wǎng)絡(luò)大致過程

covolutional layer(卷積)、ReLu layer(非線性映射)、pooling layer(池化)、fully connected layer(全連接)、output(輸出)的組合。機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

局部連接

在CNN中,先選擇一個局部區(qū)域(filter),用這個局部區(qū)域去掃描整張圖片。
局部區(qū)域圈起來的所有節(jié)點(diǎn)會被連接到下一層的一個節(jié)點(diǎn)上。
機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

權(quán)值共享

卷積層 - CNN權(quán)值共享
機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

非線性映射ReLU(Rectified Linear Units)

經(jīng)過線性組合和偏移后,會加入非線性增強(qiáng)的擬合能力,將卷積所得的Feature Map經(jīng)過ReLU變換。
ReLU是一個非線性激活函數(shù),在卷積神經(jīng)網(wǎng)絡(luò)中,ReLU的作用主要體現(xiàn)在兩個方面:

  • 加速訓(xùn)練過程:使用ReLU激活函數(shù)可以加速模型的訓(xùn)練過程。相比于傳統(tǒng)的sigmoid等激活函數(shù),ReLU的導(dǎo)數(shù)計算更簡單,并且不會出現(xiàn)梯度消失問題,因此可以更快地收斂
  • 提高模型性能:ReLU激活函數(shù)具有非線性變換的特點(diǎn),可以使模型具有更強(qiáng)的表達(dá)能力,從而提高模型的性能。實踐證明,在深層卷積神經(jīng)網(wǎng)絡(luò)中,使用ReLU激活函數(shù)可以顯著提高模型的準(zhǔn)確率和泛化能力。
    機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

注:卷積操作本身是一種線性變換,它只會將輸入數(shù)據(jù)進(jìn)行加權(quán)求和,而無法處理復(fù)雜的非線性關(guān)系。通過連接激活函數(shù),卷積層輸出的結(jié)果可以被映射到一個非線性空間中,這個空間中的每一個點(diǎn)都代表著網(wǎng)絡(luò)對某些特征的不同程度的響應(yīng),從而使得網(wǎng)絡(luò)可以更好地識別輸入圖像中的模式和特征。

池化(pooling)

池化層亦稱Pooling層,其操作是池化,即下采樣。
主要作用是通過去除輸入的特征圖中不重要的信息,使特征圖變小,進(jìn)行特征壓縮,進(jìn)一步減少參數(shù)量,且同時提取其中的有效信息。
池化的結(jié)果是特征減少、參數(shù)減少,一定程度上可以避免過擬合
機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介
池化的具體操作是定義池化窗口的大小。
通常情況下,從某個池化窗口內(nèi)進(jìn)行采樣的規(guī)則主要有取最大值、取最小值和取平均值三種,所對應(yīng)的池化操作分別稱之為最大池化、最小池化和均值池化。
機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

全連接層

  • 當(dāng)抓取到足以用來識別圖片的特征后,接下來的就是如何進(jìn)行分類。
  • 全連接層(也叫前饋層)就可以用來將最后的輸出映射到線性可分的空間
  • 卷積網(wǎng)絡(luò)的最后會在末端得到一個長長的向量,并送入全連接層配合輸出層進(jìn)行分類。
    機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介

一個完整的CNN

機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介
卷積神經(jīng)網(wǎng)絡(luò)主要執(zhí)行了四個操作:文章來源地址http://www.zghlxwxcb.cn/news/detail-491135.html

  • 卷積
  • 非線性(ReLU)
  • 池化或下采樣
  • 分類(全連接層)

基于CNN網(wǎng)絡(luò)的手寫字體識別

#cnn卷積神經(jīng)網(wǎng)絡(luò)
#廣泛應(yīng)用在圖片識別上
%matplotlib inline
import torch
import torch.nn as nn
import torchvision
import torch.utils.data as Data
import matplotlib.pyplot as plt 
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
EPOCH=1
BATCH_SIZE=50
LR=0.005
DOWNLOAD_MNIST=False

#1.生成數(shù)據(jù)集
train_data=torchvision.datasets.MNIST(
    root='./mnist',
    train=True,
    transform=torchvision.transforms.ToTensor(),#將像素值從(0,255)區(qū)間壓縮到(0,1)
    download=DOWNLOAD_MNIST
)#數(shù)字0-9的圖像
#plot one example
'''
print(train_data.data.size())#(60000,28,28)
print(train_data.targets.size())#(60000)
plt.imshow(train_data.data[0].numpy(),cmap='gray')
plt.title('%i' % train_data.targets[0])
'''
#2.讀取數(shù)據(jù),批處理
train_loader=Data.DataLoader(
    dataset=train_data,
    batch_size=BATCH_SIZE,
    shuffle=True,
    #num_workers=2
)
test_data=torchvision.datasets.MNIST(root='./mnist/',train=False)#train等于False說明提取出的是測試數(shù)據(jù),而不是訓(xùn)練數(shù)據(jù)
test_x=torch.unsqueeze(test_data.data,dim=1).type(torch.FloatTensor)[:2000]/255.#手動壓縮
test_y=test_data.targets[:2000]

#3.定義cnn神經(jīng)模型
class CNN(nn.Module):
    def __init__(self):
        super(CNN,self).__init__()
        self.conv1=nn.Sequential(#建立卷積層1,所謂卷積層就是一個過濾器
            nn.Conv2d(#(1,28,28) 二維卷積
                in_channels=1,#有多少層,例如rgb圖片有三個通道也就是三個層,灰度圖片只有一個層
                out_channels=16,#16個卷積核同時對圖片的同一個區(qū)域進(jìn)行卷積
                kernel_size=5,#filter的寬高都是5個像素
                stride=1,#步長,filter在掃描時的跳步 每隔多少步跳一下 
                padding=2,#如果filter跳步之后超出圖片范圍,那么這個padding會給圖片加一圈0,0對應(yīng)的顏色就是黑色,padding如果非零會改變原始圖片
                #if stride=1 padding=(kernel_size-1)/2=(5-1)/2
            ),#->(16,28,28)
            nn.ReLU(),#->(16,28,28)
            nn.MaxPool2d(kernel_size=2),#池化層 往下篩選重要的部分 ->(16,14,14)
        )
        self.conv2=nn.Sequential(#(16,14,14)
            nn.Conv2d(16,32,5,1,2),#->(32,14,14)
            nn.ReLU(),#->(32,14,14)
            nn.MaxPool2d(2),#->(32,7,7)
        )
        self.out=nn.Linear(32*7*7,10)#0-9一共10個分類
    def forward(self,x):
        x=self.conv1(x)
        x=self.conv2(x) #(batch,32,7,7)
        x=x.view(x.size(0),-1)#(batch,32*7*7)
        output=self.out(x)
        return output
cnn=CNN()

#4.優(yōu)化器和損失函數(shù)
optimizer = torch.optim.Adam(cnn.parameters(), lr=LR)   # optimize all cnn parameters
loss_func = nn.CrossEntropyLoss()   # the target label is not one-hotted

#5.訓(xùn)練模型
# training and testing
for epoch in range(EPOCH):
    for step, (b_x, b_y) in enumerate(train_loader):   # 分配 batch data, normalize x when iterate train_loader
        output = cnn(b_x)               # cnn output
        loss = loss_func(output, b_y)   # cross entropy loss
        optimizer.zero_grad()           # clear gradients for this training step
        loss.backward()                 # backpropagation, compute gradients
        optimizer.step()                # apply gradients
        
        if step%50==0:
            test_output=cnn(test_x)
            pred_y=torch.max(test_output,1)[1].data.squeeze()
            accuracy=sum(pred_y==test_y)/test_y.size(0)
            print('Epoch: ',epoch,'| train loss: %.4f'%loss.data,'| test accuracy: %.4f'%accuracy)

#print 10 predictions from test data
test_output=cnn(test_x[:10])
pred_y=torch.max(test_output,1)[1].data.numpy().squeeze()
print(pred_y,'prediction number')
print(test_y[:10].numpy(),'real number')

到了這里,關(guān)于機(jī)器學(xué)習(xí)-12 卷積神經(jīng)網(wǎng)絡(luò)簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【機(jī)器學(xué)習(xí)】——續(xù)上:卷積神經(jīng)網(wǎng)絡(luò)(CNN)與參數(shù)訓(xùn)練

    【機(jī)器學(xué)習(xí)】——續(xù)上:卷積神經(jīng)網(wǎng)絡(luò)(CNN)與參數(shù)訓(xùn)練

    目錄 引入 一、CNN基本結(jié)構(gòu) 1、卷積層 2、下采樣層 3、全連接層 二、CNN參數(shù)訓(xùn)練 總結(jié) 卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種有 監(jiān)督深度模型框架 ,尤其適合處理 二維數(shù)據(jù) 問題,如行人檢測、人臉識別、信號處理等領(lǐng)域,是帶有卷積結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò),也是首個真正意義上成功訓(xùn)練

    2024年02月10日
    瀏覽(23)
  • 競賽選題 深度學(xué)習(xí)動物識別 - 卷積神經(jīng)網(wǎng)絡(luò) 機(jī)器視覺 圖像識別

    競賽選題 深度學(xué)習(xí)動物識別 - 卷積神經(jīng)網(wǎng)絡(luò) 機(jī)器視覺 圖像識別

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 深度學(xué)習(xí)動物識別 - 卷積神經(jīng)網(wǎng)絡(luò) 機(jī)器視覺 圖像識別 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 ?? 更多資料, 項目分享:

    2024年02月08日
    瀏覽(27)
  • 【機(jī)器學(xué)習(xí)】基于卷積神經(jīng)網(wǎng)絡(luò) CNN 的貓狗分類問題

    【機(jī)器學(xué)習(xí)】基于卷積神經(jīng)網(wǎng)絡(luò) CNN 的貓狗分類問題

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks),是深度學(xué)習(xí)(deep learning)的代表算法之一。 顧名思義,就是將卷積與前饋神經(jīng)網(wǎng)絡(luò)結(jié)合,所衍生出來的一種深度學(xué)習(xí)算法。 卷積神經(jīng)網(wǎng)絡(luò)CNN的結(jié)構(gòu)圖

    2024年02月17日
    瀏覽(29)
  • 【畢業(yè)設(shè)計】深度學(xué)習(xí)花卉識別系統(tǒng) - 卷積神經(jīng)網(wǎng)絡(luò) 機(jī)器視覺

    【畢業(yè)設(shè)計】深度學(xué)習(xí)花卉識別系統(tǒng) - 卷積神經(jīng)網(wǎng)絡(luò) 機(jī)器視覺

    ?? Hi,大家好,這里是丹成學(xué)長的畢設(shè)系列文章! ?? 對畢設(shè)有任何疑問都可以問學(xué)長哦! 這兩年開始,各個學(xué)校對畢設(shè)的要求越來越高,難度也越來越大… 畢業(yè)設(shè)計耗費(fèi)時間,耗費(fèi)精力,甚至有些題目即使是專業(yè)的老師或者碩士生也需要很長時間,所以一旦發(fā)現(xiàn)問題,一定

    2024年02月05日
    瀏覽(168)
  • 機(jī)器學(xué)習(xí)實驗4——CNN卷積神經(jīng)網(wǎng)絡(luò)分類Minst數(shù)據(jù)集

    機(jī)器學(xué)習(xí)實驗4——CNN卷積神經(jīng)網(wǎng)絡(luò)分類Minst數(shù)據(jù)集

    基于手寫minst數(shù)據(jù)集,完成關(guān)于卷積網(wǎng)絡(luò)CNN的模型訓(xùn)練、測試與評估。 卷積層 通過使用一組可學(xué)習(xí)的濾波器(也稱為卷積核)對輸入圖像進(jìn)行滑動窗口卷積操作,這樣可以提取出不同位置的局部特征,從而捕捉到圖像的空間結(jié)構(gòu)信息。 激活函數(shù) 在卷積層之后,通常會應(yīng)用一

    2024年01月24日
    瀏覽(21)
  • 競賽項目 深度學(xué)習(xí)的口罩佩戴檢測 - opencv 卷積神經(jīng)網(wǎng)絡(luò) 機(jī)器視覺 深度學(xué)習(xí)

    競賽項目 深度學(xué)習(xí)的口罩佩戴檢測 - opencv 卷積神經(jīng)網(wǎng)絡(luò) 機(jī)器視覺 深度學(xué)習(xí)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 基于深度學(xué)習(xí)的口罩佩戴檢測【全網(wǎng)最詳細(xì)】 - opencv 卷積神經(jīng)網(wǎng)絡(luò) 機(jī)器視覺 深度學(xué)習(xí) 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 從2019年末開始,新型冠狀

    2024年02月13日
    瀏覽(27)
  • 【Python機(jī)器學(xué)習(xí)】實驗14 手寫體卷積神經(jīng)網(wǎng)絡(luò)(PyTorch實現(xiàn))

    【Python機(jī)器學(xué)習(xí)】實驗14 手寫體卷積神經(jīng)網(wǎng)絡(luò)(PyTorch實現(xiàn))

    LeNet-5是卷積神經(jīng)網(wǎng)絡(luò)模型的早期代表,它由LeCun在1998年提出。該模型采用順序結(jié)構(gòu),主要包括7層(2個卷積層、2個池化層和3個全連接層),卷積層和池化層交替排列。以mnist手寫數(shù)字分類為例構(gòu)建一個LeNet-5模型。每個手寫數(shù)字圖片樣本的寬與高均為28像素,樣本標(biāo)簽值是0~

    2024年02月12日
    瀏覽(27)
  • 【人工智能與機(jī)器學(xué)習(xí)】基于卷積神經(jīng)網(wǎng)絡(luò)CNN的貓狗識別

    【人工智能與機(jī)器學(xué)習(xí)】基于卷積神經(jīng)網(wǎng)絡(luò)CNN的貓狗識別

    很巧,筆者在幾月前的計算機(jī)設(shè)計大賽作品設(shè)計中也采用了貓狗識別,目前已推國賽評選中 但當(dāng)時所使用的方法與本次作業(yè)要求不太一致,又重新做了一遍,下文將以本次作業(yè)要求為主,介紹CNN卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)貓狗識別 貓狗識別和狗品種識別是計算機(jī)視覺領(lǐng)域中一個重要

    2024年02月13日
    瀏覽(45)
  • 機(jī)器學(xué)習(xí)之計算機(jī)視覺中的深度學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)介紹

    機(jī)器學(xué)習(xí)之計算機(jī)視覺中的深度學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)介紹

    文章代碼來源:《deep learning on keras》,非常好的一本書,大家如果英語好,推薦直接閱讀該書,如果時間不夠,可以看看此系列文章。 在這一章,我們會學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò),一種在計算機(jī)視覺中常用的深度學(xué)習(xí)模型,你將會學(xué)著將它們運(yùn)用到分類問題中。 我們首先會介紹卷

    2024年02月04日
    瀏覽(32)
  • 001圖機(jī)器學(xué)習(xí)與圖神經(jīng)網(wǎng)絡(luò)簡介

    一切具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)都可以用圖來表示。比如:交通網(wǎng)、知識圖譜、分子結(jié)構(gòu)、人際關(guān)系網(wǎng)、計算機(jī)網(wǎng)絡(luò)架構(gòu)、基因與蛋白質(zhì)表征關(guān)系等。 對于沒有關(guān)聯(lián)的、獨(dú)立同分布的數(shù)據(jù),傳統(tǒng)機(jī)器學(xué)習(xí)中的CNN、RNN、Transformer算法就可以對數(shù)據(jù)很好的進(jìn)行信息挖掘。 圖機(jī)器學(xué)習(xí)與圖

    2024年02月09日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包