【GNN】圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)小結(jié) and 筆記匯總
1045
2025-03-31
一、卷積神經(jīng)網(wǎng)絡(luò)基本概述
前面學(xué)習(xí)了神經(jīng)網(wǎng)絡(luò)的基本的工作流程,接下來了解一下神經(jīng)網(wǎng)絡(luò)中一個(gè)經(jīng)典的網(wǎng)絡(luò)結(jié)構(gòu)——卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)主要用于計(jì)算機(jī)視覺方向,能夠解決圖像分類,圖像檢測(cè)等問題,當(dāng)然也可應(yīng)用于自然語言處理。在計(jì)算機(jī)視覺領(lǐng)域中,我們往往是對(duì)圖片的像素點(diǎn)進(jìn)行操作,而圖片的像素點(diǎn)數(shù)量較多,因此如果使用基本的全連接神經(jīng)網(wǎng)絡(luò)會(huì)造成參數(shù)數(shù)量巨大的問題,使得神經(jīng)網(wǎng)絡(luò)的工作效率較低,而卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn)解決了這一問題;卷積神經(jīng)網(wǎng)絡(luò)的核心思想是參數(shù)共享,而且并非是對(duì)單一的像素點(diǎn)進(jìn)行特征提取,而是對(duì)一塊區(qū)域的像素點(diǎn)進(jìn)行特征提取,使得參數(shù)的數(shù)量肢解下降了一個(gè)量級(jí)。
二、卷積神經(jīng)網(wǎng)絡(luò)的基本工作流程
1.卷積層及其參數(shù)介紹
由多個(gè)卷積核構(gòu)成的卷積層是卷積神經(jīng)網(wǎng)絡(luò)的主要結(jié)構(gòu)。
卷積核是卷積層對(duì)圖片進(jìn)行特征時(shí)的工具,類似于矩陣,一般有三個(gè)維度,分別是寬、高和深度,在卷積核的每個(gè)位置有一個(gè)權(quán)重參數(shù)
w
i
j
w_{ij}
wij ,每一個(gè)卷積核都會(huì)有一個(gè)偏置項(xiàng)
b
i
b_i
bi 。在第一層卷積層中,卷積核的寬和高受到圖片的寬和高影響,深度則與圖片的通道數(shù)相同,卷積核從圖片的左上角開始,依次向右或向下移動(dòng)固定的單位長度(稱為步長),卷積核移動(dòng)一次,包含在卷積核中的像素點(diǎn)與對(duì)應(yīng)位置的權(quán)重參數(shù)相乘再累加得到累加值,累加值與該卷積核的偏置項(xiàng)相加得到特征值,即卷積核每移動(dòng)一次會(huì)得到一個(gè)特征值,該特征值放在輸出矩陣的對(duì)應(yīng)位置,得到完整的輸出矩陣后經(jīng)過激活函數(shù)即得到特征圖,特征圖的數(shù)量與卷積核的個(gè)數(shù)相同。輸出的特征圖將作為下一卷積層的輸入,下一層卷積層的卷積核寬高受特征圖的形狀影響,深度與特征圖的數(shù)量相同(類似于第一層卷積核深度與圖片通道數(shù)的關(guān)系),所有卷積層完成后,卷積工作完成。
根據(jù)神經(jīng)網(wǎng)絡(luò)的工作流程,各個(gè)卷積層中卷積核的權(quán)重參數(shù)和偏置項(xiàng)是在反向傳播時(shí)進(jìn)行更新。
綜上所述,卷積層所涉及的參數(shù)有卷積核的寬w、高h(yuǎn)、深度c和步長s以及卷積核內(nèi)部的權(quán)重參數(shù)
w
i
j
w_{ij}
wij 和偏置項(xiàng)
b
i
b_i
bi
卷積計(jì)算流程:
2.池化層及其參數(shù)介紹
池化層是對(duì)得到的特征圖進(jìn)行類似于過濾的操作,對(duì)特征圖進(jìn)行類似于卷積的操作,不過卷積核中沒有權(quán)重參數(shù),也沒有偏置項(xiàng),只是在特征圖上框選出一塊區(qū)域,對(duì)區(qū)域內(nèi)的特征值按照一定標(biāo)準(zhǔn)進(jìn)行篩選,作為新的特征圖的一個(gè)特征值(即一個(gè)區(qū)域只選取一個(gè)特征作為代表該區(qū)域的特征),達(dá)到參數(shù)減少的目的,該卷積核的寬和高收特征圖的形狀影響,深度一般為一維,數(shù)量與特征圖的數(shù)量相同,步長由需要的特征數(shù)量決定。
綜上池化層所涉及的參數(shù)有池化層卷積核的寬、高、個(gè)數(shù)以及步長,池化的方法一般有兩種——最大池化和平均池化。最大池化:將區(qū)域內(nèi)最大特征值作為新的特征值,平均池化:將區(qū)域內(nèi)所有特征值的均值作為新的特征值。兩種池化的方法各有千秋,兩者的區(qū)別稍后介紹。
池化:
3.全連接層
卷積層和池化層只是對(duì)圖片進(jìn)行特征的提取,而對(duì)特征進(jìn)行學(xué)習(xí)和標(biāo)簽的映射是在全連接層進(jìn)行的,在全連接層中將得到的特征圖進(jìn)行轉(zhuǎn)化,變成一個(gè)列向量,在將列向量映射到標(biāo)簽,通過反向傳播,梯度下降優(yōu)化參數(shù)等步驟得到一個(gè)合適的模型。
4.卷積神經(jīng)網(wǎng)絡(luò)的精髓
卷積神經(jīng)網(wǎng)絡(luò)的精髓在于參數(shù)共享,在卷積層中,同一個(gè)卷積核在卷積的過程中權(quán)重參數(shù)和偏置項(xiàng)不會(huì)發(fā)生改變,圖片上的像素點(diǎn)使用的相同的相同的權(quán)重參數(shù)和偏置項(xiàng),使得參數(shù)數(shù)量大大減少。并且在卷積過程中對(duì)圖片上的像素點(diǎn)的重視程度相同,卷積過程有一個(gè)重要參數(shù)padding(填充),即在圖片的周圍加上適當(dāng)圈數(shù)的0,使得處在圖片邊緣的像素點(diǎn)被提取特征的次數(shù)增加,0填充又使得填充的數(shù)字不影響特征的大小。池化層的存在對(duì)特征進(jìn)行篩選,使得參數(shù)的數(shù)量進(jìn)一步減少。
5.兩種池化方式的優(yōu)勢(shì)
根據(jù)相關(guān)理論,特征提取的誤差來源于兩個(gè)方面,一是區(qū)域的大小收到限制,使得估計(jì)值方差較大;二是卷積層參數(shù)誤差導(dǎo)致估計(jì)均值的偏移;一般來講,最大池化(max-pooling)能減少第二方面造成的誤差,更多地保留紋理的信息;平均池化(mean-pooling)能減少第一方面造成的誤差,更多地保留背景的信息。至于其中細(xì)節(jié)可以參考以下論文:《Learning Mid-Level Features For Recognition》
介于兩者之間有另一種池化方法——隨機(jī)池化(Stochastic-pooling),隨機(jī)池化是對(duì)特征值按照數(shù)值大小賦予概率,按照概率進(jìn)行進(jìn)行亞采樣,即概率越高,選擇其為新的特征的可能性越大。
6.池化層的反向傳播
池化層的反向傳播與池化的方式有關(guān)。
假設(shè)池化層的卷積核是2x2的卷積核
池化反向傳播的規(guī)則:將池化后一個(gè)像素點(diǎn)的梯度傳遞給4個(gè)像素,但要保證傳遞的梯度保持不變。
平均池化則將池化后特征值的梯度均分成4份,填入原來特征圖2x2的區(qū)域,即:
最大池化則是將原本所選擇的位置記錄下來,在反向傳播時(shí),將特征值的梯度填入原特征圖2x2的對(duì)應(yīng)位置,其他位置補(bǔ)零,即:
三、兩種經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
1.AlexNet網(wǎng)絡(luò)結(jié)構(gòu)
結(jié)構(gòu)圖:
AlexNet網(wǎng)絡(luò)結(jié)構(gòu)有五層卷積層,三層全連接層。
第一層輸入為224x224x3的圖像,共使用96個(gè)卷積核進(jìn)行特征提取(圖中顯示的是一片GPU計(jì)算,在AlexNet中共用到了兩片GPU,即一片GPU計(jì)算48個(gè)卷積核),卷積核為11x11x3,步長為4,padding為0,得到55x55x96的特征圖(由正常的224x224x3的輸入去算特征圖得到的應(yīng)該是54.25x54.25x6,這里的輸入最后一個(gè)是變?yōu)榱?27x227x3),經(jīng)ReLu后再經(jīng)過最大池化(使用96個(gè)3x3,步長為2的池化單元),輸出27x27x96的特征圖,經(jīng)歸一化后進(jìn)入下一層卷積層;
第二層卷積層輸入為27x27x96的特征圖,使用256個(gè)5x5x96的卷積核,步長為1,padding為2,得到27x27x256的特征圖,經(jīng)ReLu再經(jīng)最大池化(使用256個(gè)3x3,步長為2的池化單元)得到13x13x256的特征圖,經(jīng)歸一化輸入下一層卷積。
第三層卷積輸入為13x13x256的特征圖,使用384個(gè)3x3x256,步長為1,padding為1的卷積核,得到13x13x384的特征圖,經(jīng)ReLu和歸一化輸入下一層(不池化)。
第四層卷積層輸入為13x13x384的特征圖,使用384個(gè)3x3x384步長為1,padding為1的卷積核,得到13x13x384的特征圖,經(jīng)ReLu和歸一化后輸入下一層卷積層(同樣不池化)。
第五層池化層輸入為13x13x384的特征圖,使用256個(gè)3x3x384,步長為1,padding為1的卷積核,得到13x13x256的特征圖,經(jīng)Relu再經(jīng)最大池化(使用256個(gè)3x3,步長為2的池化單元)得到6x6x256的特征圖,再經(jīng)歸一化輸入全連接層。
全連接層
第一層全連接使用4096個(gè)6x6x256的卷積核,與輸入的特征圖進(jìn)行求內(nèi)積得到4096x1x1的列向量,經(jīng)ReLu和Dropout后輸入下一層全連接。
第二層全連接將上一層的列向量經(jīng)ReLu和Dropout得到新的列向量,輸入下一層。
第三次全連接即輸出層,上一層的列向量經(jīng)softmax映射到1000個(gè)分類,得到各個(gè)類別的概率
2.VGG網(wǎng)絡(luò)結(jié)構(gòu)
AlexNet在第一層就采用了11x11的卷積核進(jìn)行特征提取,是為了降低計(jì)算的開銷,但是卷積核太大會(huì)導(dǎo)致特征提取損失較大,一般來講提高特征提取的精度由兩種方法,一是減小卷積核的大小,二是減小卷積核的步長,VGG則使用了第一種方法對(duì)特征提取的精度的提高,
VGG結(jié)構(gòu):
VGG網(wǎng)絡(luò)卷積層數(shù)比AlexNet深,但卷積核大小均為3x3,池化后下一層得到的特征圖深度會(huì)在上一層的特征圖深度的基礎(chǔ)上增加一倍,以保證特征的數(shù)量,也因此計(jì)算的開銷大,至于其思想與和計(jì)算流程則與AlexNet相同。
卷積神經(jīng)網(wǎng)絡(luò) 神經(jīng)網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。