色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何區(qū)分卷積網(wǎng)絡與全連接網(wǎng)絡

jf_78858299 ? 來源:算法與編程之美 ? 作者: 編程之美 ? 2023-02-21 15:05 ? 次閱讀

問題
卷積神經(jīng)網(wǎng)絡是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡,是深度學習。卷積神經(jīng)網(wǎng)絡具有表征學習能力,能夠按其階層結(jié)構(gòu)對輸入信息進行平移不變分類,因此也被稱為“平移不變?nèi)斯ど窠?jīng)網(wǎng)絡。
全連接神經(jīng)網(wǎng)絡是具有多層感知器的的網(wǎng)絡,也就是多層神經(jīng)元的網(wǎng)絡。層與層之間需要包括一個非線性激活函數(shù),需要有一個對輸入和輸出都隱藏的層,還需要保持高度的連通性,由網(wǎng)絡的突觸權(quán)重決定。那兩者的區(qū)別是什么呢?

方法
卷積神經(jīng)網(wǎng)絡也是通過一層一層的節(jié)點組織起來的。和全連接神經(jīng)網(wǎng)絡一樣,卷積神經(jīng)網(wǎng)絡中的每一個節(jié)點就是一個神經(jīng)元。在全連接神經(jīng)網(wǎng)絡中,每相鄰兩層之間的節(jié)點都有邊相連,于是會將每一層的全連接層中的節(jié)點組織成一列,這樣方便顯示連接結(jié)構(gòu)。而對于卷積神經(jīng)網(wǎng)絡,相鄰兩層之間只有部分節(jié)點相連,為了展示每一層神經(jīng)元的維度,一般會將每一層卷積層的節(jié)點組織成一個三維矩陣。
除了結(jié)構(gòu)相似,卷積神經(jīng)網(wǎng)絡的輸入輸出以及訓練的流程和全連接神經(jīng)網(wǎng)絡也基本一致,以圖像分類為列,卷積神經(jīng)網(wǎng)絡的輸入層就是圖像的原始圖像,而輸出層中的每一個節(jié)點代表了不同類別的可信度。這和全連接神經(jīng)網(wǎng)絡的輸入輸出是一致的。類似的,全連接神經(jīng)網(wǎng)絡的損失函數(shù)以及參數(shù)的優(yōu)化過程也都適用于卷積神經(jīng)網(wǎng)絡。因此,全連接神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡的唯一區(qū)別就是神經(jīng)網(wǎng)絡相鄰兩層的連接方式。
但是全神經(jīng)網(wǎng)絡無法很好地處理好圖像數(shù)據(jù),然而卷積神經(jīng)網(wǎng)絡卻很好地客服了這個缺點,使用全連接神經(jīng)網(wǎng)絡處理圖像的最大問題就是:全連接層的參數(shù)太多,對于MNIST數(shù)據(jù),每一張圖片的大小是28*28*1,其中28*28代表的是圖片的大小,*1表示圖像是黑白的,有一個色彩通道。假設第一層隱藏層的節(jié)點數(shù)為500個,那么一個全連接層的神經(jīng)網(wǎng)絡有28*28*500+500=392500個參數(shù),而且有的圖片會更大或者是彩色的圖片,這時候參數(shù)將會更多。參數(shù)增多除了導致計算速度減慢,還很容易導致過擬合的問題。所以需要一個合理的神經(jīng)網(wǎng)絡結(jié)構(gòu)來有效的減少神經(jīng)網(wǎng)絡中參數(shù)的個數(shù)。卷積神經(jīng)網(wǎng)絡就可以更好的達到這個目的。

from keras import layers
from keras import models
from keras.datasets import mnist
from keras.utils import to_categorical
(train_images, train_labels), (test_images, test_labels) = mnist.load_data('D:/Python36/Coding/PycharmProjects/ttt/mnist.npz')
train_images = train_images.reshape(60000, 28*28)
train_images = train_images.astype('float32') / 255
test_images = test_images.reshape(10000, 28*28)
test_images = test_images.astype('float32') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)
model = models.Sequential()
model.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
model.add(layers.Dense(10, activation='softmax'))
model.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['accuracy'])
history=model.fit(train_images, train_labels, epochs=10, batch_size=128)
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(test_acc,test_acc)
#0.9786 0.9786
print("history_dict%s =" %history.history)
#history_dict = {'loss': [0.25715254720052083, 0.1041663886765639, 0.06873120647072792, 0.049757948418458306, 0.037821156319851675, 0.02870141142855088, 0.02186925242592891, 0.01737390520994862, 0.01316443470219771, 0.010196967865650853],
# 'acc': [0.9253666666984558, 0.9694833333333334, 0.9794666666348775, 0.9850166666984558, 0.9886666666666667, 0.9917666666666667, 0.9935499999682108, 0.9949499999682109, 0.9960999999682109, 0.9972833333333333]} =
acc1 = history.history['acc']
loss1 = history.history['loss']
print(model.summary())
(train_images, train_labels), (test_images, test_labels) = mnist.load_data('D:/Python36/Coding/PycharmProjects/ttt/mnist.npz')
train_images = train_images.reshape((60000, 28, 28, 1))
train_images = train_images.astype('float32') / 255
test_images = test_images.reshape((10000, 28, 28, 1))
test_images = test_images.astype('float32') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
model.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['accuracy'])
history = model.fit(train_images, train_labels, epochs=10, batch_size=64)
test_loss, test_acc = model.evaluate(test_images, test_labels)
##0.9919 0.9919
print("history_dict =%s" %history.history)
#history_dict = {'loss': [0.1729982195024689, 0.04632370648694535, 0.031306330454613396, 0.02327785180026355, 0.01820601755216679, 0.01537780981725761, 0.011968255878429288, 0.010757189085084126, 0.008755202058390447, 0.007045005079609898],
# 'acc': [0.9456333333333333, 0.9859, 0.9903333333333333, 0.9929333333333333, 0.99435, 0.9953333333333333, 0.9962333333333333, 0.9966, 0.99735, 0.9979333333333333]}
acc2 = history.history['acc']
loss2 = history.history['loss']
print(model.summary())
import matplotlib.pyplot as plt
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
epochs = range(1, len(acc1) + 1)
ax.plot(epochs, acc1, 'bo', label='dense Training acc',color='red')
ax.plot(epochs, loss1, 'b', label='dense Training loss',color='red')
ax.plot(epochs, acc2, 'bo', label='Conv2D Training acc',color='green')
ax.plot(epochs, loss2, 'b', label='Conv2D Training loss',color='green')
ax.legend(loc='best')
ax.set_title('Training and validation accuracy by different model')
ax.set_xlabel('Epochs')
ax.set_ylabel('Accuracy')
plt.show()

pYYBAGP0bQOANu_QAAE831rxP04796.png


結(jié)語

全連接網(wǎng)絡沒有卷積層,只使用全連接層(以及非線性層)。

以關(guān)鍵是理解卷積層和全連接層的區(qū)別。

全連接層有三個特點:

關(guān)注全局信息(每個點都和前后層的所有點鏈接)

參數(shù)量巨大,計算耗時

輸入維度需要匹配(因為是矩陣運算,維度不一致無法計算)

卷積層

這個卷積和信號系統(tǒng)中的卷積不太一樣,其實就是一個簡單的乘加運算,

局部鏈接:當前層的神經(jīng)元只和下一層神經(jīng)元的局部鏈接(并不是全連接層的全局鏈接)

權(quán)重共享:神經(jīng)元的參數(shù)(如上圖的3*3卷積核),在整個特征圖上都是共享的,而不是每個滑動窗口都不同

也正是因為這兩個特性,所以卷積層相比于全連接層有如下優(yōu)點:

需要學習的參數(shù)更少,從而降低了過度擬合的可能性,因為該模型不如完全連接的網(wǎng)絡復雜。

只需要考慮中的上下文/共享信息。這個未來在許多應用中非常重要,例如圖像、視頻、文本和語音處理/挖掘,因為相鄰輸入(例如像素、幀、單詞等)通常攜帶相關(guān)信息。

但需要注意的是,無論是全連接層,還是卷積層,都是線性層,只能擬合線性函數(shù),所以都需要通過ReLU等引入非線性,以增加模型的表達能力。比如ReLU函數(shù)接受一個輸入x,并返回{0, x}的最大值。ReLU(x) = argmax(x, 0)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    連接神經(jīng)網(wǎng)絡卷積神經(jīng)網(wǎng)絡有什么區(qū)別

    連接神經(jīng)網(wǎng)絡卷積神經(jīng)網(wǎng)絡的區(qū)別
    發(fā)表于 06-06 14:21

    卷積網(wǎng)絡FCN進行圖像分割

    與 FCN 通常CNN網(wǎng)絡卷積層之后會接上若干個連接層, 將卷積層產(chǎn)生的特征圖(feature map)映射成一個固定長度的特征向量。
    發(fā)表于 09-26 17:22 ?643次閱讀

    卷積神經(jīng)網(wǎng)絡連接層作用理解總結(jié)

    一般來說,卷積神經(jīng)網(wǎng)絡會有三種類型的隱藏層——卷積層、池化層、連接層。卷積層和池化層比較好理解
    的頭像 發(fā)表于 01-30 17:23 ?2w次閱讀

    卷積網(wǎng)絡連接網(wǎng)絡的比較

    我們在深度學習的過程中,開始對模型進行在測試集的精度進行預測時,最開始是連接網(wǎng)絡進行模型的精度預測,最后發(fā)現(xiàn)測試集的精度預測值不是很理想,就在想能不能換一種網(wǎng)絡層提高測試集的精度?
    的頭像 發(fā)表于 03-24 14:49 ?1255次閱讀
    <b class='flag-5'>卷積</b><b class='flag-5'>網(wǎng)絡</b>和<b class='flag-5'>全</b><b class='flag-5'>連接</b><b class='flag-5'>網(wǎng)絡</b>的比較

    PyTorch教程14.11之卷積網(wǎng)絡

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程14.11之卷積網(wǎng)絡.pdf》資料免費下載
    發(fā)表于 06-05 11:19 ?0次下載
    PyTorch教程14.11之<b class='flag-5'>全</b><b class='flag-5'>卷積</b><b class='flag-5'>網(wǎng)絡</b>

    卷積神經(jīng)網(wǎng)絡如何識別圖像

    多層卷積層、池化層和連接層。CNN模型通過訓練識別并學習高度復雜的圖像模式,對于識別物體和進行圖像分類等任務有著非常優(yōu)越的表現(xiàn)。本文將會詳細介紹卷積神經(jīng)
    的頭像 發(fā)表于 08-21 16:49 ?1985次閱讀

    卷積神經(jīng)網(wǎng)絡的基本原理 卷積神經(jīng)網(wǎng)絡發(fā)展 卷積神經(jīng)網(wǎng)絡三大特點

    中最重要的神經(jīng)網(wǎng)絡之一。它是一種由多個卷積層和池化層(也可稱為下采樣層)組成的神經(jīng)網(wǎng)絡。CNN 的基本思想是以圖像為輸入,通過網(wǎng)絡卷積、下
    的頭像 發(fā)表于 08-21 16:49 ?2563次閱讀

    卷積神經(jīng)網(wǎng)絡基本結(jié)構(gòu) 卷積神經(jīng)網(wǎng)絡主要包括什么

    。它的基本結(jié)構(gòu)由卷積層、池化層和連接層三部分組成,其中卷積層是核心部分,用于提取圖像的特征,池化層用于降低特征圖的大小,
    的頭像 發(fā)表于 08-21 16:57 ?9271次閱讀

    卷積神經(jīng)網(wǎng)絡層級結(jié)構(gòu) 卷積神經(jīng)網(wǎng)絡卷積層講解

    像分類、目標檢測、人臉識別等。卷積神經(jīng)網(wǎng)絡的核心是卷積層和池化層,它們構(gòu)成了網(wǎng)絡的主干,實現(xiàn)了對圖像特征的提取和抽象。 一、卷積神經(jīng)
    的頭像 發(fā)表于 08-21 16:49 ?9071次閱讀

    卷積神經(jīng)網(wǎng)絡的介紹 什么是卷積神經(jīng)網(wǎng)絡算法

    的深度學習算法。CNN模型最早被提出是為了處理圖像,其模型結(jié)構(gòu)中包含卷積層、池化層和連接層等關(guān)鍵技術(shù),經(jīng)過多個卷積層和池化層的處理,CNN可以提取出圖像中的特征信息,從而對圖像進行分
    的頭像 發(fā)表于 08-21 16:49 ?1938次閱讀

    卷積神經(jīng)網(wǎng)絡算法代碼matlab

    )、池化層(Pooling Layer)和連接層(Fully Connected Layer)。卷積神經(jīng)網(wǎng)絡源自對腦神經(jīng)細胞的研究,能夠有效地處理大規(guī)模的視覺和語音數(shù)據(jù)。本文將詳細介
    的頭像 發(fā)表于 08-21 16:50 ?1243次閱讀

    常見的卷積神經(jīng)網(wǎng)絡模型 典型的卷積神經(jīng)網(wǎng)絡模型

    LeNet是卷積神經(jīng)網(wǎng)絡的開山祖師,是由Yan LeCunn在1998年提出的經(jīng)典卷積神經(jīng)網(wǎng)絡模型。它最初是為手寫體數(shù)字識別而設計的,由卷積
    的頭像 發(fā)表于 08-21 17:11 ?2995次閱讀

    卷積神經(jīng)網(wǎng)絡模型的優(yōu)缺點

    等領域中非常流行,可用于分類、分割、檢測等任務。而在實際應用中,卷積神經(jīng)網(wǎng)絡模型有其優(yōu)點和缺點。這篇文章將詳細介紹卷積神經(jīng)網(wǎng)絡模型的特點、優(yōu)點和缺點。 一、
    的頭像 發(fā)表于 08-21 17:15 ?4702次閱讀

    卷積神經(jīng)網(wǎng)絡的工作原理和應用

    卷積神經(jīng)網(wǎng)絡(FCN)是深度學習領域中的一種特殊類型的神經(jīng)網(wǎng)絡結(jié)構(gòu),尤其在計算機視覺領域表現(xiàn)出色。它通過全局平均池化或轉(zhuǎn)置卷積處理任意尺寸
    的頭像 發(fā)表于 07-11 11:50 ?1263次閱讀

    神經(jīng)網(wǎng)絡中的卷積層、池化層與連接

    在深度學習中,卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)是一種特別適用于處理圖像數(shù)據(jù)的神經(jīng)網(wǎng)絡結(jié)構(gòu)。它通過卷積層、池化層和
    的頭像 發(fā)表于 07-11 14:18 ?6798次閱讀
    主站蜘蛛池模板: 国产亚洲精品久久孕妇呦呦你懂 | 99国产精品免费视频 | 欧美一区二区三区男同 | 国产精品青青草原app大全 | 亚洲免费精品视频 | 伊人第一路线 | 色综合 亚洲 自拍 欧洲 | 久久亚洲精品2017 | 秋霞av伦理片在线观看 | 国产又色又爽又刺激在线播放 | 日韩人妻精品久久日 | 九九热在线视频观看这里只有精品 | 麻豆成人久久精品二区三区网站 | 全黄H全肉细节文NP 全黄h全肉细节全文 | 在线视频 国产 日韩 欧美 | 国产不卡视频在线 | 国产亚洲精品V在线观看一 国产亚洲精品a在线观看app | 狠狠色狠狠色综合日日91app | 成人1000部免费观看视频 | 伊人在线高清视频 | 语文老师扒开胸罩喂我奶 | 清冷受被CAO的合不拢 | 免费国产久久啪久久爱 | 美女穿丝袜被狂躁动态图 | 久久机热视频 这里只有精品首页 | 国内精品免费视频精选在线观看 | 视频一区国产在线第一页 | 99视频网站| 国产亚洲欧美高清在线 | 国产露脸A片国语露对白 | 色婷婷五月综合中文字幕 | 国产亚洲欧美ai在线看片 | 天天久久影视色香综合网 | 国产超碰精久久久久久无码AV | 男女性杂交内射妇女BBWXZ | 国产又粗又猛又爽又黄的免费视频 | 公么我好爽再深一点 | 精品人妻一区二区三区视频53 | 久久电影精品久久99久久 | 亚洲电影二区 | 久久成人免费观看草草影院 |