《機器學習技術》課件 第八章 神經網絡_第1頁
《機器學習技術》課件 第八章 神經網絡_第2頁
《機器學習技術》課件 第八章 神經網絡_第3頁
《機器學習技術》課件 第八章 神經網絡_第4頁
《機器學習技術》課件 第八章 神經網絡_第5頁
已閱讀5頁,還剩64頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單元8神經網絡機器學習電氣與信息工程系CONTENTS

目錄010203任務8.1MINIST數據集導入與數據預處理任務8.2訓練神經網絡任務8.3深度學習引例描述

人類可以很輕松地分辨出手寫的數字是多少,但是對電子計算機來說,實現手寫數字乃至手寫文字的分類卻是艱難的。試想,如果計算機能夠像人類的大腦一樣“思考”,擁有一層層連接的“神經元”,模擬人腦的思考活動,那么它能不能對手寫的數字甚至文字進行判斷、分類呢?使用算法模擬人腦進行智能運算的結構與模型被稱為神經網絡。本單元通過使用神經網絡實現手寫數字識別來使大學了解當下人工智能的熱點話題——神經網絡問題。(a)(b)(a:人與電子計算機對話。電子計算機:我不認得這是什么?人:這些數字很好認啊b:我學會使用神經網絡啦,這是3?。﹫D8-1情景描述任務8.1MNIST數據集導入與數據預處理任務情景

人工神經網絡(ArtificialNeuralNetwork,ANN)在本書中簡稱神經網絡(NeuralNetwork,NN),是一種模擬生物神經網絡的算法結構與模型。由于其擁有強大的適應性和處理能力,所以其在圖像處理、分類等方面有著廣泛的應用。MNIST數據集是經典的機器學習數據集,本任務旨在對MNIST數據集進行數據的讀取與導入,分離出需要用到的訓練集與測試集、標簽值與特征值。該數據集由美國國家標準與技術研究院整理,自1998年起,該數據集被廣泛地應用于機器學習與深度學習等領域,在k-NN算法、SVM算法、神經網絡、卷積神經網絡等方面都得到了廣泛的應用。任務情景MNIST數據集(該數據集可從華信教育資源網該書資源處下載)一共統計了來自250個不同的人手寫的數字圖片,其中,50%來自高中生,50%來自人口普查局的工作人員。MNIST的四個文件如圖8-2所示。圖8-2MNIST的四個文件訓練集train-images.idx3-ubyte和train-labels.idx1-ubyte共包含60

000張圖像和標簽,測試集t10k-images.idx3-ubyte和t10k-labes.idx1-ubyte共包含10

000張圖像和標簽,測試集中的前5000個數據為美國人口普查局的員工手寫數據,后5000個數據為大學生手寫數據。

實現idx文件的讀取與解析,要求能夠讀取數據的條數與矩陣的大小,并輸出一部分訓練集的手寫數字圖片。訓練集的大小如圖8-3所示。圖8-3訓練集的大小部分訓練集標簽如圖8-4所示。圖8-4部分訓練集標簽任務布置前8張訓練集手寫數字圖片展示如圖8-5所示。圖8-5前8張訓練集手寫數字圖片展示任務布置測試集的大小如圖8-6所示。圖8-6測試集的大小圖8-7部分訓練集標簽部分測試集標簽如圖8-7所示。任務布置前8張測試集手寫數字圖片展示如圖8-8所示。圖8-8前8張測試集手寫數字圖片展示任務布置知識準備1.idx文件讀取下載得到的四個文件并不是常用的csv文件或者圖片文件,而是idx1-ubyte和idx3-ubyte為后綴的文件,這是一種idx數據格式的文件。根據MNIST官網,idx1-ubype文件的數據格式如圖8-9所示。圖8-9idx1-ubyte文件的數據格式知識準備其中,第0~3個字節表示的是32位整形數據,Idx3-ubyte文件的數據格式如圖8-10所示。圖8-10Idx3-ubyte文件的數據格式測試集的文件類型與訓練集相同。根據數據集的文件格式,我們需要讀取magicnumber,這是一種對文件協議的描述,要先采用struct.unpack()函數讀取magic值,再采用np.fromfile()函數將字節讀入NumPyarray

中。知識準備課堂隨練8-1讀取本地文件夾下的train-labels.idx1-ubyte標簽數據集。運行結果知識準備課堂隨練8-2讀取本地文件夾下的train-images.idx3-ubyte訓練集。運行結果知識準備

接下來,對數據進行圖形化展示。在MNIST數據集中,每張圖片都是由28×28個像素點構成的,在讀入數據時,將其展開成784維度的向量。若想展示圖片,則將其繼續重組為28×28的像素矩陣,再展示出來。圖8-11展示的第二張圖片課堂隨練8-3通過plot展示一張訓練集中的圖片。其中,j表示展示的是第幾張圖片,當j=1時,展示的第二張圖片如圖8-11所示。知識準備

以上是我們采用struct直接讀取下載好的ubyte文件的程序代碼。下面我們介紹一個適用于神經網絡的庫keras。keras庫一般集成在TensorFlow上,是一個由Python編寫的開源的神經網絡庫,可以作為TensorFlow、Microsoft-CNTK和Theano的高階應用程序接口,用于深度學習模型的設計、調試、評估、應用和可視化。keras的安裝步驟如下:(1)在AnacondaNavigator中選擇Environments選項。(2)從未下載中找到keras并下載應用,也可以在AnacondaPrompt中輸入命令pipinstallkeras進行下載。知識準備可以僅通過以下命令讀取數據:為了方便,本單元我們采用keras模塊進行神經網絡的搭建。知識準備2.數據預處理

通過shape函數,我們可以看到由mnist.load_data()函數得到的訓練集的維度是60000×28×28,測試集的維度是10000×28×28,其中,第一維是指數據集的長度(即樣本的個數),第二維與第三維是指圖片的寬度與高度。對于多層感知機(MLP),需要輸入二維向量,因此在數據預處理的過程中,我們需要使用reshape函數將28×28的數組轉化成784長度的向量。課堂隨練8-4將維度為X.shape[0]*X.shape[1]*X.shape[2]的數據X轉化成二維數據。知識準備

同時,讀取數據集之后的灰度值在0~255范圍內,但為了使模型的訓練效果更好,通常將訓練數值歸一化映射到0~1范圍內。像素的歸一化可總結為機器學習中一般的歸一化方法:x'=(x-X_min)/(X_max-X_min)。課堂隨練8-5將數組array=[1,2,3,4,5]中的數據歸一化。知識準備3.獨熱編碼

獨熱編碼又被稱為一位有效編碼,可以將其理解為對N種分類或狀態使用N位狀態寄存器進行的編碼,每種類別或者狀態都有獨立的寄存器的位置,并且不能兩種狀態并存,即同一時刻只能一位有效。通常情況下,使用二進制向量來表示獨熱編碼,將類別映射到二進制向量中的整數值,該位為1,其他位置標記為0。下面將通過幾個例子來對獨熱編碼進行說明:(1)假設對人的性別【男、女】進行獨熱編碼,類別狀態有2個,即有2位的狀態寄存器,可以有如下表示:男表示為[1,0],女表示為[0,1]。知識準備(2)假設對圖形的形狀【方形、圓形、三角形】進行獨熱編碼,類別狀態有3個,即有3位的狀態寄存器,可以有如下表示:方形表示為[1,0,0],圓形表示為[0,1,0],三角形表示為:[0,0,1]。(3)假設對人的情感狀態【憤怒、驚訝、沮喪、快樂、恐懼、悲傷】進行獨熱編碼,類別狀態有6個,即有6位的狀態寄存器,可以有如下表示:憤怒表示為[1,0,0,0,0,0],驚訝表示為[0,1,0,0,0,0],沮喪表示為[0,0,1,0,0,0],快樂表示為[0,0,0,1,0,0],恐懼表示為[0,0,0,0,1,0],悲傷表示為[0,0,0,0,0,1]。知識準備MNIST數據集包括的標簽表示為0~9,即10個類別,轉化成獨熱編碼則有10位的狀態寄存器。在keras庫中,我們使用keras.np_utils.to_categorical函數將整形標簽值轉化為獨熱編碼,例如當某個訓練數據的標簽值為數字6時,其獨熱編碼表示為[0,0,0,0,0,0,1,0,0,0]。課堂隨練8-6將標簽值[1,2]轉化為獨熱編碼。任務實施Step1:引入相關模塊,本次實驗為了方便采用開源的神經網絡庫keras,將MNIST數據集引入其中。Step2:加載數據集,輸出訓練集樣本數與測試集樣本數。Step3:將三維數據集轉化為二維數據集。Step4:將歸一化像素值歸一化。Step5:將標簽值轉化為獨熱編碼。任務實施使用獨熱編碼前后的標簽值如圖8-12所示。(a)使用獨熱編碼前的標簽值(b)使用獨熱編碼后的標簽值圖8-12獨熱編碼前后的標簽值任務8.2訓練神經網絡任務情景

本任務旨在使讀者了解神經網絡的算法原理及其模型的搭建,并使讀者學會使用Python搭建神經網絡。訓練集為MNIST數據集,調整參數可以得到較好的效果。

人工神經網絡簡稱神經網絡,顧名思義,是一種模仿人腦處理信息的方式來處理數據的系統。任務布置要求可以簡單查看模型摘要,模型摘要如圖8-13所示。圖8-13模型摘要任務布置

要求通過建立模型,訓練多層的神經網絡,對MNIST數據集進行訓練,得到測試集的預測準確率,通過調整Epoch值、激活函數等觀看預測結果。Epoch值為q時的訓練結果如圖8-14所示。圖8-14Epoch值為9時的訓練結果知識準備1.神經元

人工神經網絡(本書中簡稱神經網絡)由人工神經元(本書中簡稱神經元)組成,這些神經元在概念上源自生物神經元。每個神經元都有輸入并能產生單個輸出,該輸出可以發送到多個其他神經元。神經元模型示意圖如圖8-15所示。其中,表示輸入信息,可以是圖像、文檔、語言或者來自其他神經元的信息;表示對輸入信息賦予的權重;對輸入信息加權求和得到的結果與閾值比較,將比較結果通過函數進行映射后得到輸出;稱為激勵函數(激活函數)。該神經元的輸出,其中,圖8-15神經元模型示意圖知識準備

圖8-15所示的模型是1943年由心理學家WarrenMcCulloch和數學家WalterPitts提出的M-P模型。在M-P模型中,神經元只有兩種狀態——興奮和抑制,因此輸出y也只有0和1兩種結果,早期的激活函數只是一個階躍函數,這個函數的特性是在輸入為零時會發生跳轉,形狀像一個臺階。在圖8-16中,當階躍函數的輸入小于或等于0時,輸出為0,而在其他情況下,輸出為1。圖8-15神經元模型示意圖圖8-16階躍函數示意圖知識準備

當神經元感覺到溫度經過了一定的“閾值”處理(例如對于大于43℃的水,我們會覺得燙),通過激活函數發出判斷:手離開(1)或者不離開(0)。這種只有0和1的二分類問題可以通過階躍函數來實現,可如果我們希望感受到不同的溫度,例如20℃左右,大于30℃,40多攝氏度這種非線性的結果,那么這時簡單的階躍函數不能滿足非線性的需求。

從生物學的角度,可以這樣理解階躍函數:將手放在一個水要燒開的鍋的鍋蓋上,鍋蓋的溫度就是神經元的輸入,神經元感受到燙后會發出指令:手離開(1)或者不離開(0)。知識準備常用的激活函數還包括以下幾種。1)sigmoid函數圖8-17sigmoid函數示意圖sigmoid函數可以將輸入的整個實數范圍內的任意值映射到[0,1]范圍內,當輸入值較大時,會返回一個接近于1的值;當輸入值較小時,會返回一個接近于0的值。在TensorFlow中,通過tf.sigmoid(x)直接調用sigmoid函數。sigmoid函數的數學公式為知識準備2)softmax函數softmax函數實際上是在sigmoid函數的基礎上所做的提升,它可以將所有輸出映射成概率的形式,即值在[0,1]范圍內且概率總和為1。在TensorFlow中,可以通過tf.nn.softmax()來調用softmax函數。softmax函數的數學公式為知識準備3)tanh函數tanh函數與sigmoid函數相似,但它能將值映射到[-1,1]范圍內。與sigmoid函數相比,它的輸出均值是0,使得其收斂速度比sigmoid函數快,減少了迭代次數,但冪運算的問題依然存在。tanh函數的數學公式為圖8-18tanh函數示意圖知識準備4)ReLU函數ReLU函數,是目前使用最頻繁的激活函數,ReLU函數在x<0時,輸出始終為0。由于x>0時,ReLU函數的導數為1,即保持輸出為x,所以ReLU函數能夠在x>0時保持梯度不斷衰減,從而緩解梯度消失的問題,還能加快收斂速度。ReLU函數的數學公式為圖8-19ReLU函數示意圖知識準備2.多層神經網絡

單層的感知機模型因為激活函數通常只有兩個輸出,所以一般只用于二分類的輸出,若我們將多個感知機組合,再加上可輸出值為0與1之間的連續值的激活函數,就可以實現從輸入到輸出的任意非線性的映射。

下面我們將學習將多個單層的感知機組合成為多層感知機的組合,這種特殊類型的全連接網絡被稱為多層感知機(Multi-LayerPerceptron,MLP)模型。圖8-20所示為一個三層的MLP模型。圖8-20一個三層的MLP模型知識準備

在MLP模型中,除了輸入層和輸出層,中間還可以有很多隱藏層。在圖8-20中,輸入層上的全部單元都連接著隱藏層,隱藏層上的全部單元都連接著輸出層,當MLP模型中有一個以上的隱藏層時,稱其為深度神經網絡。

從原則上講,只要隱藏層中神經元的個數足夠多,且神經元的激活函數為非線性函數,這樣的多層神經網絡可以逼近任何函數。MLP可以從運行過程區分模型的結構,模型的結構分為前向部分和后向部分,前向部分稱為前向傳播算法,指的是從輸入層開始計算逐步向后輸出的過程;后向部分稱為反向傳播算法,指的是通過神經網絡反向求導降低誤差來更新神經網絡參數的過程。

能否解決確定神經網絡學習過程中的參數這一問題是影響神經網絡發展的關鍵,誤差反向傳播算法的發明使得多層神經網絡得以快速發展。知識準備1)前向傳播算法

前向傳播算法就是將上一層的輸出作為下一層的輸入,并計算下一層的輸出,直到運算到輸出層為止。在圖8-20中,隱藏層Layer2的輸出

、和的計算公式(其中,假設激活函數為sigmoid函數,用符號表示)為輸出層Layer3的輸出

、的計算公式為將其寫成矩陣

乘法的形式為圖8-21前向傳播算法示意圖知識準備2)反向傳播算法

反向傳播算法是一種與最佳化方法(如梯度下降算法)結合使用的,用來訓練神經網絡的常見方法。該方法對網絡中所有權重計算代價函數的梯度。這個梯度會反饋給最佳化方法,用來更新權重以最小化代價函數?!胺聪騻鞑ァ边@個術語經常被誤解為用于多層神經網絡的整個學習算法。實際上,反向傳播算法僅指用于計算梯度的方法。而隨機梯度下降算法是使用該梯度來學習的。另外,反向傳播算法還經常被誤解為僅適用于多層神經網絡,但是從原則上講,它可以計算任何函數的導數(對于一些函數,正確的響應為報告函數的導數是未定義的)。知識準備

微積分中的鏈式法則用于計算復合函數的導數。反向傳播算法是一種計算鏈式法則的算法,使用高效的特定運輸順序。設是實數,

和是從實數映射

到實數的函數。假設

且,那么鏈式法則為假設用最常用的MSE來作為代價函數,代價函數記為,其中,為對訓練樣本計算的輸出;為訓練樣本的真實值。加入系數是為了抵消微分出來的指數。知識準備(1)輸出層的梯度輸出層的梯度的計算公式如下:其中,為Hadamard積符號,即兩個維度相同的矩陣對應元素的乘積。在求解輸出層梯度時,有公共的部分,記為知識準備(2)隱藏層的梯度。

我們已經將輸出層的梯度計算出來,那么如何計算層的梯度、層的梯度呢?

之前已經求出了輸出層的誤差,根據誤差反向傳播的原理,可以將當前層的誤差理解為上一層所有神經元誤差的復合函數,即用上一層的誤差來表示當前層誤差,并依次遞推。采用數學歸納法,假設

層的已經求出,那么我們該如何求出第

層的

呢?知識準備而

和的關系如下:由此得出則。在得出的遞推關系式后,就可以求出層的

和的對應梯度:知識準備對反向傳播算法的歸納如下:

輸入總層數L,各隱藏層與輸出層的神經元個數,激活函數,代價函數,迭代步長,最大迭代次數MAX,以及停止迭代閾值。輸出的個訓練樣本為(1)初始化參數W、b。(2)前向傳播算法。forto:(3)通過代價函數計算輸出層的梯度。知識準備(4)執行反向傳播算法。forto2:(5)更新W、b。通過梯度下降算法更新權重W和偏置的值,為學習率(步長),。(6)如果所有W、b的變化值都小于停止迭代閾值e,則跳出迭代循環。(7)輸出隱藏層與輸出層的線性關系系數矩陣W和偏置b。知識準備代碼實例1:利用Python實現三層感知機對MNIST數據集中手寫數字的識別代碼實例2:利用TensorFlow實現三層感知機對MNIST數據集中手寫數字的識別任務實施(1)搭建神經網絡模型,創建一個函數,建立三層感知機模型(含有一個隱藏層),在keras庫中有兩種深度學習的模型:序列模型和通用模型,序列模型是實現全連接網絡的最好方式,序列模型各層之間是依次順序的線性關系,序列模型是多個網絡層的線性堆棧,可以從keras庫中導入序列模型。(2)建立輸入層與第一個隱藏層。keras庫中已經內建了各種神經網絡層,只需將各層的模型添加到整體框架中,并設置各層的參數,即可完成封裝。需要先添加輸入層和隱藏層,因為添加輸入層即添加輸入的節點數,這里需要搭配一個隱蔽層來完成參數的設置,輸入神經元的個數由輸入神經網絡的數據來決定。其中,784表示輸出個數,即下一層的輸入個數;input_dim參數表示本層為輸入層;kernel_initializer表示使用正態分布的隨機數來初始化權重和方差;activation表示使用activation定義激活函數,在此層,我們可以使用ReLU函數。任務實施(3)建立輸出層。輸出層與前一個隱藏層相連,不用設定輸入個數,第一個參數用于設定輸出神經單元的個數,這里的10為用獨熱碼表示的10種樣本標簽。之后,我們可以通過summary()函數查看模型摘要,并查看每層的參數。(4)使用compile函數定義訓練方式。使用loss參數設定代價函數,此處選擇交叉熵的方式;optimizer參數表示使用的是何種優化器,Adam優化器可以使訓練的收斂速度更快;將metrics參數設定為'accuracy',即使用準確率來評估模型。優化器的選擇還包括隨機梯度下降、AdaGrad、RMSprop等多種方式,不同的優化器適用于不同的情況。在實際應用中,Adam優化器最常用。任務實施(5)訓練模型。使用fit()函數訓練模型,epochs參數表示訓練周期,batch_size表示每批訓練的數據的項數(以下簡稱每批項數),訓練周期和每批項數都可以根據測試進行調整,此處只訓練9次。需要注意的是,訓練周期的增加確實會使準確率變高,但同時會帶來過擬合的問題,因此要均衡考慮過擬合程度和訓練時間的問題。(6)評估模型。使用evaluate函數評估準確率,其中,scores[0]輸出的為損失率,scores[0]輸出的為準確率

。任務8.3深度學習任務情景相信很多人對“深度學習”這個詞語已經不陌生了,但是,“人工智能”、“深度學習”、“機器學習”及“神經網絡”這些詞語之間有什么關系呢?在此,本將任務作為拓展部分來為大家簡單介紹在人工智能領域發光發熱的深度學習。深度學習是機器學習研究中的一個新領域,其動機在于建立模擬人腦進行分析、學習的神經網絡,模仿人腦的機制來解釋數據,如圖像、聲音和文本。深度學習是無監督學習的一種。深度學習的概念源于人工神經網絡的研究。包含多個隱藏層的MLP就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,從而發現數據的分布式特征。任務情景下面我們通過深度學習中著名的卷積神經網絡(ConvolutionalNeuralNetwork,CNN)進行MNIST集中手寫數字的識別。卷積神經網絡的基本模塊是由輸入層、輸出層和多個隱藏層組成的,隱藏層可分為卷積層、池化層、線性整流(ReLU)層和全連接層。與其他圖像分類算法相比,卷積神經網絡算法使用相對較少的預處理操作。這意味著卷積神經網絡可以學習使用傳統算法中手工設計的過濾器。它們

可用于圖像和視頻識別,推薦系統,圖像分類,醫學圖像分析,以及自然語言處理。知識準備1.與MLP的對比

MLP有幾個缺點,特別是在圖像處理方面。MLP對每個輸入使用一個感知機(例如,對于圖像中的像素,在RGB情況下乘以3)。對于大圖像,權重迅速變得難以管理。想象一個圖像,該圖像擁有224×224×3個像素,且用全連接層作為直接第一個隱藏層,具有100

000個感知機,連接總數將是224×224×3×100

000=1

502

800

000個(約150億個),這是不可能處理的。另外,MLP對輸入圖像及其移位版本的反應不同,它們不是平移不變的,且當圖像變平為MLP時,空間信息會丟失??拷墓濣c很重要,因為它們有助于定義圖像的特征。因此,我們需要掌握一種利用圖像特征(像素)的空間相關性的方法。知識準備

可以用以下3點概括用全連接神經網絡處理大尺寸圖像所具有的3個明顯的缺點:(3)大量的參數很快會導致網絡過擬合。(1)將圖像展開為向量會丟失空間信息。(2)參數過多導致效率低下及訓練困難。知識準備

與常規神經網絡不同,卷積神經網絡的各層中的神經元是按三維排列的,具有寬度、高度和深度。其中的寬度和高度是很好理解的,因為本身卷積就是一個二維模板。但是卷積神經網絡中的深度指的是激活數據體的第三個維度,而不是整個網絡的深度,整個網絡的深度指的是網絡的層數。舉個例子來理解寬度、高度和深度的概念,假如用CIFAR-10中的圖像作為卷積神經網絡的輸入數據體,該輸入數據體的維度是32×32×3(寬度×高度×深度)。我們將看到,層中的神經元將只與前一層中的一小塊區域連接,而不是采取全連接方式。至于對CIFAR-10中的圖像進行分類的卷積網絡,其最后的輸出層的維度是1×1×10,因為在卷積神經網絡結構的最后部分,將會把全尺寸的圖像壓縮為包含分類評分的一個向量,向量是在深度方向上排列的。全連接神經網絡與卷積神經網絡的對比圖如圖8-22所示。圖8-22全連接神經網絡與卷積神經網絡的對比圖知識準備圖8-22的左側是一個3層的全連接神經網絡;圖8-22的右側是一個卷積神經網絡,將它的神經元排列成3個維度(寬度、高度和深度)。卷積神經網絡的每層都將三維的輸入數據變化為神經元三維的激活數據并輸出。在圖8-22的右側,紅色的輸入層代表輸入圖像,所以它的寬度和高度就是圖像的寬度和高度,它的深度是3(代表了紅、綠、藍3種顏色通道),與紅色相鄰的藍色部分是經過卷積和池化的激活值(也可以看作是神經元),后面是卷積池化層。圖8-22全連接神經網絡與卷積神經網絡的對比圖知識準備2.卷積神經網絡卷積神經網絡通常包含以下幾種層:

(1)卷積層(ConvolutionalLayer),卷積神經網路中的每個卷積層由若干卷積單元組成,每個卷積單元的參數都是通過反向傳播算法優化得到的。卷積運算的目的是提取輸入的不同特征,第一個卷積層可能只能提取一些低級的特征(如邊緣、線條和角等),更多層的網絡能從低級特征中迭代提取更復雜的特征。(2)線性整流層(RectifiedLinearUnitsLayer,ReLULayer,即ReLU層),這一層神經的活性化函數(ActivationFunction)使用ReLU函數,即f(x)=max(0,x)。知識準備(3)池化層(PoolingLayer),通常在卷積層之后會得到維度很大的特征,將特征切成幾個區域,取其最大值或均值,得到新的、維度較小的特征。(4)全連接層(Fully-Connectedlayer),把所有的局部特征結合形成全局特征,用來計算最后每類的得分。知識準備1)卷積層卷積層是卷積神經網絡的核心。在圖像識別里提到的卷積是二維卷積,即離散二維濾波器(也稱作卷積核)與二維圖像進行卷積操作,簡單來講,就是二維濾波器滑動到二維圖像上的所有位置,并在每個位置上與該像素點及其領域像素點做內積。卷積操作被廣泛應用于圖像處理領域,用不同的卷積核可以提取不同的特征。在深層卷積神經網絡中,通過卷積操作可以提取出圖像中從低級到高級的特征。圖8-23卷積層的提取方式知識準備

卷積操作是通過卷積核對每個通道的矩陣先從左到右(卷積核一般是3×3的矩陣)再從上至下地進行互相關運算(卷積操作也會保留位置信息),就像一個小的窗口一樣,從左上角一步步滑動到右下角,滑動的步長是個超參數,互相關運算的意思就是對應位置相乘再相加,最后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論