新編數(shù)字圖像處理技術(shù)及應(yīng)用(修訂版)課件 第10章 圖像識別_第1頁
新編數(shù)字圖像處理技術(shù)及應(yīng)用(修訂版)課件 第10章 圖像識別_第2頁
新編數(shù)字圖像處理技術(shù)及應(yīng)用(修訂版)課件 第10章 圖像識別_第3頁
新編數(shù)字圖像處理技術(shù)及應(yīng)用(修訂版)課件 第10章 圖像識別_第4頁
新編數(shù)字圖像處理技術(shù)及應(yīng)用(修訂版)課件 第10章 圖像識別_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第10章

圖像識別

圖像識別是人工智能技術(shù)的重要組成部分,屬于模式識別和數(shù)字圖像處理的交叉領(lǐng)域。

人工智能是指讓機(jī)器能像人一樣感知外在事物并做出有目的、有意義的響應(yīng),其中的視感知就是類似視覺一樣“成像”并對“像”進(jìn)行識別;

模式識別是對圖像或各種物理對象提取有效特征,進(jìn)而加以判決分類的技術(shù),其對象有兩類:一是有直接形象,如圖像、文字等;二是無直接形象的數(shù)據(jù)、波形,如心電脈沖、地震波等。

因此,圖像識別實際上就是以圖像為對象的模式識別,或者說是對圖像中的感興趣目標(biāo)進(jìn)行分類鑒別的過程。學(xué)習(xí)目標(biāo)1.理解模式識別與圖像識別的過程。2.闡述神經(jīng)網(wǎng)絡(luò)識別圖像的原理。3.了解深度學(xué)習(xí)基本原理及其在圖像識別中的應(yīng)用。本章內(nèi)容10.1.1圖像識別過程

10.1圖像識別基礎(chǔ)

模式識別的目的是使機(jī)器能夠模仿人在觀察認(rèn)識事物或現(xiàn)象時把相似但又不完全相同的事物或現(xiàn)象分成不同類別,甚至從個別事物或現(xiàn)象推斷出總體的事物或現(xiàn)象。

從信息的形態(tài)轉(zhuǎn)換上講,模式識別過程往往是先從物理空間采集對象信號/信息使之進(jìn)入模式空間;再在模式空間對感興趣的對象提取特征,從而轉(zhuǎn)換至特征空間;然后綜合利用多類特征對目標(biāo)進(jìn)行分類識別即到達(dá)類別空間。具體如圖10.1所示。10.1.1圖像識別過程

圖10.1模式識別過程10.1.2

模式識別方法

早期的模式識別主要是基于數(shù)學(xué)統(tǒng)計方法或語言學(xué)方法,借助于計算機(jī)對信息進(jìn)行處理、判別、分類。(1)基于統(tǒng)計學(xué)方法的模式識別:往往是先把大量原始信息抽取為少量代表性的特征信息,再用這些特征信息作為判據(jù)對原始信息進(jìn)行分類;(2)基于語言學(xué)方法的結(jié)構(gòu)模式識別:是把原始信息看作是由若干基本元素組成的,然后通過剖析這些基本元素,如果符合既定語法就識別出結(jié)果。

近些年,基于神經(jīng)網(wǎng)絡(luò)的方法發(fā)展迅速。圖10.2模式識別算法體系10.1.2

模式識別方法

統(tǒng)計模式識別法的分類器主要包括:1)線性分類器,通過尋找線性分類決策邊界來實現(xiàn)特征空間中的類別劃分;2)貝葉斯分類器,基于不同類樣本在特征空間中的概率分布不同,以逆概率推理的貝葉斯公式來得到類別劃分的決策結(jié)果;3)最近鄰分類器,把學(xué)習(xí)過程隱藏到了分類決策過程中,通過尋找訓(xùn)練集中與待分類樣本最相似的子集來實現(xiàn)分類決策;4)統(tǒng)計聚類分析,是無監(jiān)督學(xué)習(xí)的典型代表,目前多采用統(tǒng)計學(xué)習(xí)方法。10.1.2

模式識別方法

結(jié)構(gòu)模式識別通過結(jié)構(gòu)上的相似性來完成分類任務(wù),該類方法用符號來描述圖像特征,并對結(jié)構(gòu)特征進(jìn)行句法類型判定。在聚類分析中采用結(jié)構(gòu)特征上的相似性完成樣本類別劃分即為結(jié)構(gòu)聚類算法。神經(jīng)網(wǎng)絡(luò)識別的本質(zhì)是高度非線性的統(tǒng)計分類器,并且隨著計算機(jī)技術(shù)的發(fā)展從淺層網(wǎng)絡(luò)向深度學(xué)習(xí)不斷演化。10.1.2

模式識別方法

模式識別方法的選擇取決于問題的性質(zhì):1)如果被識別的對象極其復(fù)雜,而且包含豐富的結(jié)構(gòu)信息,一般采用句法模式識別方法;2)當(dāng)識別對象不是很復(fù)雜或不含明顯的結(jié)構(gòu)信息,一般采用統(tǒng)計模式識別方法。3)沒有固定狀態(tài)模型的,采用神經(jīng)網(wǎng)絡(luò)的方法。10.1.2

模式識別方法

(1)統(tǒng)計方法有較完善的理論基礎(chǔ),識別模式基元能力強,抗干擾能力強,應(yīng)用范圍廣,但不能反映模式的結(jié)構(gòu)特征,所以,難從整體角度考慮識別問題。(2)結(jié)構(gòu)模式識別,能反映模式的結(jié)構(gòu)特性,識別方便,可從簡單的基元開始描述模式的性質(zhì),但單純的句法模式識別方法沒有考慮環(huán)境噪聲干擾等不穩(wěn)定因素,易判別錯誤。(3)神經(jīng)網(wǎng)絡(luò)已從傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)、Hopfield網(wǎng)絡(luò)衍生到卷積神經(jīng)網(wǎng)絡(luò)、生成對抗網(wǎng)絡(luò)等,其優(yōu)點是模型高度非線性高,更接近現(xiàn)實世界,缺點是對硬件要求高、依賴于大量有代表性的數(shù)據(jù)。不同方法的優(yōu)缺點

10.1.3

圖像識別過程

考慮到在圖像處理領(lǐng)域主要采用的是統(tǒng)計模式識別法,這里給出基于統(tǒng)計模式識別的圖像識別過程,包括圖像數(shù)據(jù)獲取、圖像預(yù)處理、圖像信息特征抽取和判決或分類四部分,如圖10.3所示。圖10.3圖像識別過程(1)圖像數(shù)據(jù)獲取通過光學(xué)設(shè)備等測量、采樣和量化,用矩陣或向量表示反映現(xiàn)實世界本質(zhì)特性的一維波形、二維圖像或物理參數(shù)和邏輯值,這些像和值都屬于獲取到的數(shù)據(jù)。

常見的由一維波形構(gòu)成的圖像有:腦電圖、心電圖、機(jī)械振動波形圖等等;二維圖像有照片、地圖、指紋、文字、超聲影像等;物理參數(shù)和邏輯值有醫(yī)學(xué)診斷中的各種數(shù)據(jù)。

其中,所有能以矩陣或向量表示的、尚未進(jìn)行其他后處理的數(shù)據(jù)即為原始圖像,稱為原圖像或源圖像。10.1.3

圖像識別過程

(2)圖像預(yù)處理圖像預(yù)處理的目的是降低噪聲影響、增強有用信息、復(fù)原退化的像質(zhì),以提高后續(xù)特征提取的準(zhǔn)確度。

其技術(shù)涉及到課程前面各章的大部分內(nèi)容,如圖像復(fù)原、圖像增強、圖像變換。10.1.3

圖像識別過程

(3)圖像特征抽取所謂特征就是屬于某一對象特有的屬性,這些屬性需要被度量才能用于機(jī)器分類識別,該度量結(jié)果稱為這一對象的特征。這些特征可能是目標(biāo)的形狀、紋理、顏色等等。

由若干特征組成的特征向量就成了識別該類事物的唯一依據(jù)。10.1.3

圖像識別過程

①可區(qū)分性,即不同類別對象應(yīng)該具有明顯的差異;②可靠性,即同類對象的特征值應(yīng)該較接近;③獨立性,描述一個對象所用的各個特征應(yīng)該彼此不相關(guān);④數(shù)量少,特征值的個數(shù)就是描述該對象的特征向量的維數(shù)。通常,用來訓(xùn)練分類器的樣本數(shù)往往隨著特征向量的維數(shù)呈指數(shù)關(guān)系增長,所以我們希望特征數(shù)量不要大。圖像中特征的特點(4) 判別分類就是把某事物歸入某一類,往往需要:1)建立該事物的特征“標(biāo)準(zhǔn)”;2)提取待判別事物的相關(guān)特征;3)將新提取的特征與“標(biāo)準(zhǔn)”特征比對,如果“一致”,那待判別事物就屬于該類事物,否則,還需要與其他特征比對直至做出判斷“是”或“否”。

當(dāng)然,這里的一致是相對的。具體應(yīng)用中需要用判別函數(shù)和判別規(guī)則(或叫分類規(guī)則)來判斷。這一工作一般由分類器完成。10.1.3

圖像識別過程

分類器可以視作計算判別函數(shù)的一個“機(jī)器”,其任務(wù)是對每個所遇到的對象,按照給定的判別函數(shù)計算出該對象與各類別樣本對象的相似程度,然后把相似程度最高的兩個判別為同一類事物。關(guān)于分類器想一想:你學(xué)過哪些函數(shù)?線性、非線性、……想一想:你是怎么分類的呢?切分、種子點+并入……通常的做法是:先用一組已知的樣本對象來訓(xùn)練分類器,即對這些已知樣本進(jìn)行特征提取,并將特征空間劃分為不同的決策域(決策域之間要界限分明),使得訓(xùn)練樣本本身的分類準(zhǔn)確性最高。然后,對未知樣本做判定時,根據(jù)其所處界限的哪一側(cè)來判斷它屬于哪一類。

分類器的設(shè)計主要是基于機(jī)器學(xué)習(xí)的方法,新的研究熱點是基于深度人工神經(jīng)網(wǎng)絡(luò)(即深度學(xué)習(xí))來構(gòu)建。10.1.4

圖像識別應(yīng)用

圖像識別是模式識別用的最多的一類,包括:(1)生物特征識別:利用生物特征來識別人的身份,現(xiàn)在已經(jīng)從科幻影片中的場景變成了現(xiàn)實。如指紋圖像識別、虹膜圖像識別發(fā)展到了更加復(fù)雜的人臉識別、手印識別、步態(tài)識別等方法。(2)目標(biāo)跟蹤:大的方面可以應(yīng)用到導(dǎo)彈制導(dǎo)、自動駕駛等軍事領(lǐng)域,小的方面可以應(yīng)用到智能監(jiān)控、照相機(jī)笑臉識別、眼動控制等領(lǐng)域。(3)手勢識別機(jī)器視覺中,通過識別人手的姿勢和運動來完成對計算機(jī)系統(tǒng)的非接觸控制,手勢的檢測可以依據(jù)紅外檢測、運動和姿態(tài)傳感器、可見光視頻和其它傳感器實現(xiàn),Kinect、MYO和LeapMotion都是比較受關(guān)注技術(shù)和產(chǎn)品。(4)光學(xué)字符識別光學(xué)字符識別(OpticalCharacterRecognition,OCR)是最早發(fā)展的模式識別應(yīng)用之一,它可分為聯(lián)機(jī)識別和脫機(jī)識別,又可以分為手寫識別和印刷體識別。目前聯(lián)機(jī)手寫識別(掌上設(shè)備的手寫輸入)、脫機(jī)印刷體識別(掃描文件的OCR、PDF文件的拷貝)都發(fā)展到了一定的實用水平,比較困難的是脫機(jī)手寫識別。10.1.4

圖像識別應(yīng)用

(5)圖像搜索

通過圖像的內(nèi)容來進(jìn)行檢索,而不是根據(jù)關(guān)鍵字檢索,也是模式識別在圖像處理方面的典型應(yīng)用。由于圖像本身的質(zhì)量差異較大,變化的情況也比較多,目前該領(lǐng)域還處于研究起步階段。10.1.4

圖像識別應(yīng)用

想一想:關(guān)于圖像識別,還有哪些應(yīng)用?疾病診斷、作物害蟲識別、種子篩選……10.2.1感知機(jī)神經(jīng)網(wǎng)絡(luò)

10.2神經(jīng)網(wǎng)絡(luò)識別有單層感知機(jī)和多層感知機(jī)。圖10.4所示為單層感知機(jī)結(jié)構(gòu),其可實現(xiàn)線性二分類。在二維平面上有兩類點,要對這兩類點進(jìn)行分類需要找到樣本點的分類線,測試數(shù)據(jù)只要與這條分類線進(jìn)行對比即可得出相應(yīng)的類別。該分類線叫做分類判別線(對于高維的情況則稱為分類判別面)。圖10.4二維單層感知機(jī)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

(10.1)感知機(jī)在學(xué)習(xí)過程中對權(quán)值進(jìn)行調(diào)整實際上就是在對分類線的斜率進(jìn)行調(diào)整,最終穩(wěn)定下來,把斜率固定為某個數(shù),從而完成對感知機(jī)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。但從分類的任務(wù)角度來講,這種學(xué)習(xí)實際上是一個有監(jiān)督的學(xué)習(xí)過程.10.2.1感知神經(jīng)網(wǎng)絡(luò)

其訓(xùn)練的過程如下:(1)首先對權(quán)、閾值賦初值,w_1(0),w_2(0),θ(0)。這些值可以任意賦,但一般都先賦較小的正值;(2)輸入樣本對{x_1,x_2;R},R為希望的分類結(jié)果;(3)根據(jù)活化函數(shù),計算實際的輸出結(jié)果;(4)對比實際輸出結(jié)果和希望的結(jié)果對權(quán)值和閾值進(jìn)行調(diào)整;(5)返回(2),輸入新樣本進(jìn)行訓(xùn)練,直至所有的樣本都分類正確為止。10.2.1感知神經(jīng)網(wǎng)絡(luò)

單層感知機(jī)對于線性不可分的問題無法進(jìn)行正確地分類,最著名的例子就是“異或”問題。對此類線性不可分問題的解決可采用多層感知機(jī)網(wǎng)絡(luò),三層感知機(jī)如圖10.5所示。圖10.5三層感知機(jī)網(wǎng)絡(luò)結(jié)構(gòu)10.2.1感知神經(jīng)網(wǎng)絡(luò)

說明:三層感知機(jī)結(jié)構(gòu)中所有“層”被劃分為三類:輸入層、輸出層以及隱含層(隱層)。輸入層和輸出層一般只有一個,隱含層的數(shù)目可以根據(jù)需要設(shè)置若干個。

圖中的圓圈代表各個神經(jīng)元。輸入層的神經(jīng)元并不是嚴(yán)格意義上的神經(jīng)元,只起信息的傳遞作用并無權(quán)閾值的連接,也沒有激活函數(shù)。隱含層、輸出層的各神經(jīng)元與單層感知機(jī)神經(jīng)元的基本結(jié)構(gòu)類似,但是其激活函數(shù)有了更多的選擇范圍,只要是非線性的函數(shù)都可以進(jìn)行選擇。10.2.1感知神經(jīng)網(wǎng)絡(luò)

10.2.2BP神經(jīng)網(wǎng)絡(luò)——基本結(jié)構(gòu)(1)BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)BP(BackPropagation)神經(jīng)網(wǎng)絡(luò)是一種多層的神經(jīng)網(wǎng)絡(luò),信息前向傳播、誤差后向傳播構(gòu)成了BP神經(jīng)網(wǎng)絡(luò)的獨特特點。BP神經(jīng)網(wǎng)路絡(luò)是一個多層的結(jié)構(gòu),通常以三層結(jié)構(gòu)為典型形式,在每個層級可以擁有多個神經(jīng)元。各個層級的神經(jīng)元結(jié)構(gòu)基本相同,活化函數(shù)可以相同,也可以不同。

三層基本結(jié)構(gòu)如圖10.6所示。圖10.6三層BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)10.2.2BP神經(jīng)網(wǎng)絡(luò)——基本結(jié)構(gòu)BP神經(jīng)網(wǎng)絡(luò)的算法流程如圖10.7所示。YN開始初始化各層的權(quán)、閾值設(shè)定神經(jīng)網(wǎng)絡(luò)指標(biāo)(偏差平方和最?。┌凑辗聪騻鞑?zhǔn)則修正各層權(quán)值達(dá)到要求的性能指標(biāo)嗎?結(jié)束圖10.7BP神經(jīng)網(wǎng)絡(luò)的算法流程圖10.2.2BP神經(jīng)網(wǎng)絡(luò)

以三層BP神經(jīng)網(wǎng)絡(luò)為例。

設(shè)為輸入;

為隱含層(第二層)的輸出(同時也是輸出層的輸入);為輸出層的輸出,也是整個網(wǎng)絡(luò)的輸出。

為輸入層到隱含層的權(quán)向量;

為隱含層到輸出層的權(quán)向量。

對于輸出層,有(10.2)(10.3)10.2.2BP神經(jīng)網(wǎng)絡(luò)——訓(xùn)練

對于隱含層,有(10.4)(10.5)在上面的式子中,net*為各層激活函數(shù)的輸入。Sigmoid函數(shù)可以根據(jù)實際情況靈活選擇,可以是單極性的,也可以是雙極性的。

在構(gòu)建好BP神經(jīng)網(wǎng)絡(luò)的架構(gòu)和各神經(jīng)元的輸入、輸出情況明確之后,即可訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。10.2.2BP神經(jīng)網(wǎng)絡(luò)——訓(xùn)練

10.2.2BP神經(jīng)網(wǎng)絡(luò)——訓(xùn)練

出發(fā)點是:要使BP神經(jīng)網(wǎng)絡(luò)實際輸出與期望輸出的偏差平方和最小。通常用最小二乘法思想構(gòu)建算法來實現(xiàn)。首先確定訓(xùn)練網(wǎng)絡(luò)的目標(biāo)———偏差平方和最小,即(10.6)式中,為期望的輸出,

為實際的輸出,分別為神經(jīng)元的權(quán)值、閾值。

訓(xùn)練過程就是求網(wǎng)絡(luò)中每層各個神經(jīng)元的權(quán)值、閾值,使網(wǎng)絡(luò)實際的偏差平方和最小。對于隱含層向輸出層的權(quán)值調(diào)整,有(10.7)對于輸入層到隱含層的權(quán)值調(diào)整,有(10.8)同理也可以得到閾值的調(diào)整(10.9)10.2.2BP神經(jīng)網(wǎng)絡(luò)——訓(xùn)練

在訓(xùn)練網(wǎng)絡(luò)的過程中,應(yīng)該按照負(fù)梯度方向進(jìn)行,同時可以添加學(xué)習(xí)速率η,即(10.10)(10.11)其中(10.12)而(10.13)10.2.2BP神經(jīng)網(wǎng)絡(luò)——訓(xùn)練

最終有(10.14)

適當(dāng)調(diào)整求導(dǎo)過程中的系數(shù),并不影響最終結(jié)果,可使結(jié)果系數(shù)為1。將式(10.12)至式(10.14)代入式(10.10),可得隱含層到輸出層的權(quán)值調(diào)整公式為(10.15)式中10.2.2BP神經(jīng)網(wǎng)絡(luò)——訓(xùn)練

同理,輸入層到隱含層的權(quán)值調(diào)整公式為(10.16)同樣地,式中,

為輸入層到隱含層的總的偏差,只不過此處的學(xué)習(xí)速率η與隱含層到輸出層的學(xué)習(xí)速率不一定相同??偟膩碚f,權(quán)值修正量包含三部分:學(xué)習(xí)速率、輸出偏差及當(dāng)前層的輸入,充分考慮到了信息在傳播過程中的誤差積累。另外,權(quán)值的修正通過負(fù)梯度方向保證了在整個調(diào)整過程中誤差是逐步減少的。10.2.2BP神經(jīng)網(wǎng)絡(luò)——訓(xùn)練

10.2神經(jīng)網(wǎng)絡(luò)識別BP神經(jīng)網(wǎng)絡(luò)的主要特點:①較強的非線性映射能力:實現(xiàn)了從輸入到輸出的非線性映射功能?,F(xiàn)已有證明,三層BP神經(jīng)網(wǎng)絡(luò)幾乎可以逼近任何非線性函數(shù),對于模型機(jī)制不明朗的問題有很好的解決方案。②自適應(yīng)和自學(xué)習(xí)能力:網(wǎng)絡(luò)訓(xùn)練時采用最快下降法,通過誤差的反向傳播來進(jìn)行權(quán)值、閾值調(diào)整,能夠?qū)斎?、輸出?shù)據(jù)間的規(guī)律進(jìn)行優(yōu)化提取,具備自適應(yīng)和自學(xué)習(xí)能力。③較好的泛化和容錯能力:與感知機(jī)相比,BP神經(jīng)網(wǎng)絡(luò)的泛化能力有很大提高。尤其是BP神經(jīng)網(wǎng)絡(luò)在局部神經(jīng)元受到破壞后對整個神經(jīng)網(wǎng)絡(luò)工作的影響并不大,體現(xiàn)了一定的容錯能力。10.3卷積神經(jīng)網(wǎng)絡(luò)圖像識別根據(jù)Bengio的定義,深層網(wǎng)絡(luò)由多層自適應(yīng)非線性單元組成,即非線性模塊的級聯(lián),在所有層次上都包含可訓(xùn)練的參數(shù)。理論上深層網(wǎng)絡(luò)和淺層網(wǎng)絡(luò)的數(shù)學(xué)描述是相似的,都能夠通過函數(shù)逼近表達(dá)數(shù)據(jù)的內(nèi)在關(guān)系和本質(zhì)特征。圖10.8淺層網(wǎng)絡(luò)結(jié)構(gòu)示例圖10.9深層網(wǎng)絡(luò)結(jié)構(gòu)示例10.3卷積神經(jīng)網(wǎng)絡(luò)圖像識別

常用的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)有堆棧自動編碼器(Stackedauto-encoders,SAE)、深度信念網(wǎng)絡(luò)(Deepbeliefnetworks,DBN)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutionneuralnetworks,CNN)等。

在圖像識別領(lǐng)域,尤以CNN最為常用。CNN最初是受視覺神經(jīng)機(jī)制的啟發(fā)為識別二維形狀而設(shè)計的一個多層感知器,這種網(wǎng)絡(luò)結(jié)構(gòu)對平移、比例縮放、傾斜或者其它形式的變形具有高度不變性。

10.3卷積神經(jīng)網(wǎng)絡(luò)圖像識別

CNN避免了傳統(tǒng)方法對圖像預(yù)處理,其結(jié)構(gòu)有三個亮點:

(1)局部感受野:一般的深度神經(jīng)網(wǎng)絡(luò),往往會把圖像的每個像點連接到全連接層的每個神經(jīng)元中,而CNN則是把每個隱藏節(jié)點只連接到圖像的某個局部區(qū)域,所以減少了參數(shù)訓(xùn)練的數(shù)量。例如,一張1024×720的圖像,使用9×9的感受野,則只需要81個權(quán)值參數(shù)。

(2)共享權(quán)值:在CNN的卷積層中,神經(jīng)元對應(yīng)的權(quán)值是相同的,因此可以通過共享權(quán)值減少訓(xùn)練的參數(shù)量。共享的權(quán)值和偏置也叫卷積核或濾波器。一個卷積層可以有多個不同的卷積核,而每個卷積核都對應(yīng)一個濾波后映射的新圖像(特征圖),同一特征圖中的每個像元都來自完全相同的卷積核,這就是卷積核的權(quán)值共享。通過“權(quán)值共享”又進(jìn)一步減少了參數(shù)?。?)池化:待處理圖像與卷積后的圖像都比較大,沒必要所有處理都對原圖像進(jìn)行,僅需獲得圖像的特征即可。因此類似圖像壓縮,對圖像卷積后,通過下采樣來調(diào)整圖像的大小。10.3.1卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)

卷積神經(jīng)網(wǎng)絡(luò)包括數(shù)據(jù)輸入層、卷積計算層、ReLu激勵層、池化層與全連接層等。(1)數(shù)據(jù)輸入層:對原始圖像數(shù)據(jù)進(jìn)行預(yù)處理,包括:1)去均值:把輸入數(shù)據(jù)各個維度都中心化為0,其目的就是把樣本的中心拉回到坐標(biāo)系原點上。2)歸一化:幅度歸一化到同樣的范圍,即減少各維度數(shù)據(jù)取值范圍的差異而帶來的干擾,如,現(xiàn)有兩個維度的特征A和B,A范圍是0到10,而B范圍是0到10000,如果直接使用這兩個特征是有問題的,必須歸一化,即A和B的數(shù)據(jù)都變?yōu)?到1的范圍。3)PCA/白化:采用PCA降維;白化是對數(shù)據(jù)各個特征軸上的幅度歸一化。(2)卷積計算層卷積計算層是卷積神經(jīng)網(wǎng)絡(luò)最重要的一個層次。它對輸入數(shù)據(jù)進(jìn)行特征提取,其內(nèi)部包含多個卷積核。卷積的過程就是讓卷積核在輸入圖像上依次滑動,滑動方向為從左到右,從上到下;每滑動一次,卷積核與其滑窗位置對應(yīng)的輸入圖像像元做一次點積計算并得到一個數(shù)值,二維卷積計算如圖10.10所示。圖10.10二維卷積計算示意圖10.3.1卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)3)ReLu激勵層CNN采用的激勵函數(shù)一般為ReLU(TheRectifiedLinearUnit,修正線性單元),如圖10.11,它的特點是收斂快,求梯度簡單,但較脆弱。如果失效,可使用LeakyReLU。圖10.11ReLu激勵函數(shù)10.3.1卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)4)池化層通常在卷積層之后,會有一個池化層(Pooling),也被稱作下采樣層(Subsampling),下采樣層可以太大降低特征的維度,減少計算量,同時可以避免過擬合問題。

池化一般有兩種方式:最大池化(MaxPooling)與平均池化(MeanPooling)。池化層操作不改變模型的深度,但可減少空間尺寸,最大池化層的操作過程如圖10.12所示。圖10.12最大池化層的操作過程10.3.1卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)5)全連接層兩層之間所有神經(jīng)元都有權(quán)重連接,通常全連接層在卷積神經(jīng)網(wǎng)絡(luò)尾部,與跟傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)神經(jīng)元的連接方式相同。10.3.1卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)10.3.2卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練

CNN本質(zhì)上是一種輸入到輸出的映射,只要用已知的模式對卷積網(wǎng)絡(luò)加以訓(xùn)練,網(wǎng)絡(luò)就會習(xí)得輸入輸出對之間的映射能力。

卷積網(wǎng)絡(luò)執(zhí)行的是有監(jiān)督訓(xùn)練,所以其樣本集是由形如:(輸入向量,理想輸出向量)的向量對構(gòu)成的。

開始訓(xùn)練前,所有的權(quán)都應(yīng)該用一些不同的小隨機(jī)數(shù)進(jìn)行初始化,用來保證網(wǎng)絡(luò)不會因權(quán)值過大而進(jìn)入飽和狀態(tài),從而導(dǎo)致訓(xùn)練失敗。假設(shè)輸入層、中間層和輸出層的單元數(shù)分別為N、L和M。X=(x_0,x_1,?,x_N)為加到網(wǎng)絡(luò)的輸入矢量,H=(h_0,h_1,?,h_L)為中間層輸出矢量,Y=(y_0,y_1,?,y_M)是網(wǎng)絡(luò)的實際輸出矢量,D=(d_0,d_1,?,d_M)表示訓(xùn)練組中各模式的目標(biāo)輸出矢量,輸出單元i到隱含層單元j的權(quán)值是Vij,而隱單元j到輸出單元k的權(quán)值是Wjk。另θ_k和φ_j分別表示輸出單元和隱含單元的閾值。中間層各單元的輸出為:(10.17)而輸出層各單元的輸出:(10.18)其中f(.)是激勵函數(shù)。在上述條件下,網(wǎng)絡(luò)的訓(xùn)練過程如下:10.3.2卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練(1)選定訓(xùn)練組。從樣本集中分別隨機(jī)選取訓(xùn)練組。(2)將各權(quán)值Vij,Wjk與閾值θ_k和φ_j置成接近于0的隨機(jī)值,并初始化精度控制參數(shù)ε和學(xué)習(xí)率a。(3)從訓(xùn)練組中取一個輸入模式X輸入到網(wǎng)絡(luò),并給定它的目標(biāo)輸出矢量D。(4)利用式(10.17)計算中間層輸出量H,再根據(jù)式(10.18)計算出網(wǎng)絡(luò)的實際輸出矢量Y。(5)將輸出矢量中的元素y_k與目標(biāo)矢量中的元素d_k進(jìn)行比較,計算出M個輸出誤差項如下。(10.19)對中間層的隱單元也計算出L個誤差項式,即:(10.20)10.3.2卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練(6)依次計算出各權(quán)值的調(diào)整量:(10.21)(10.22)和閾值的調(diào)整量:(10.23)(10.24)(7)

調(diào)整權(quán)值:(10.25)(10.26)

調(diào)整閾值:(10.27)(10.28)10.3.2卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練(8)當(dāng)k每經(jīng)歷1至M后,判斷指標(biāo)是否滿足精度要求:E≤ε,其中E是總誤差函數(shù),若不滿足,則返回(3),繼續(xù)迭代。如果滿足進(jìn)入下一步。(9)訓(xùn)練結(jié)束,將權(quán)值和閾值保存在結(jié)構(gòu)參數(shù)文件中。10.3.2卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練10.3.3典型卷積神經(jīng)網(wǎng)絡(luò)模型(1)Lenet5LeNet-5是一種典型的卷積神經(jīng)網(wǎng)絡(luò),它主要用于手寫字和印刷字識別,其結(jié)構(gòu)圖如圖10.13所示。圖10.13LeNet-5網(wǎng)絡(luò)結(jié)構(gòu)圖中,INPUT表示網(wǎng)絡(luò)的輸入層,S2層為下采樣層,C3層屬于卷積層,S4是一個下采樣層,C5是最后一個卷積層,F(xiàn)6層為全連接層。(2)AlexNet網(wǎng)絡(luò)AlexNet模型-共有八層,含五個卷積層和三個全連接層。對于每個卷積層,均包含ReLU激活函數(shù)和局部響應(yīng)歸一化處理,然后是下采樣操作。其結(jié)構(gòu)如圖10.14所示。圖10.14AlexNet模型結(jié)構(gòu)

該網(wǎng)絡(luò)參數(shù)超過6000萬,雖ILSVRC比賽含有大量的訓(xùn)練數(shù)據(jù),但仍然很難完成對如此龐大參數(shù)的完全訓(xùn)練,導(dǎo)致嚴(yán)重的過擬合。為了解決過擬合問題,AlexNet網(wǎng)絡(luò)巧妙地使用圖像增強和隨機(jī)舍棄(dropout)兩種方法處理。10.3.3典型卷積神經(jīng)網(wǎng)絡(luò)模型表10.1AlexNet網(wǎng)絡(luò)結(jié)構(gòu)10.3.3典型卷積神經(jīng)網(wǎng)絡(luò)模型(3)ResNet

深度學(xué)習(xí)并不是愈深(復(fù)雜,參數(shù)多)表達(dá)能力愈強。是時尚,深度CNN達(dá)到一定深度后再一味地增加層數(shù)并不能帶來進(jìn)一步地分類性能的提高,反而會導(dǎo)致網(wǎng)絡(luò)收斂變得更慢,測試集的分類準(zhǔn)確率也變得更差。為此,ResNet通過使用多個有參層來學(xué)習(xí)輸入輸出之間的殘差表示,其基本結(jié)構(gòu)如圖10.15所示。10.3.3典型卷積神經(jīng)網(wǎng)絡(luò)模型圖10.15殘差卷積基本結(jié)構(gòu)圖10.16ResNet34與50/101/152的block在普通卷積過程中加入了一個x的恒等映射(identitymapping),稱為skipconnections或者shortcutconnections。

將輸入設(shè)為x,將某一有參網(wǎng)絡(luò)層設(shè)為H,那么以x為輸入的該層的輸出為H(x)。殘差學(xué)習(xí)單元通過跳連接在輸入、輸出之間建立了一條直接通道,從而使得有參層集中精力學(xué)習(xí)輸入、輸出之間的殘差。當(dāng)輸入、輸出通道數(shù)相同時,可以直接使用X進(jìn)行相加。而當(dāng)它們之間的通道數(shù)目不同時,可通過使用1x1的卷積來表示W(wǎng)s映射,從而使得最終輸入與輸出的通道達(dá)到一致,如圖10.16所示。10.3.3典型卷積神經(jīng)網(wǎng)絡(luò)模型10.4.1感知機(jī)實現(xiàn)手寫字符識別10.4圖像識別應(yīng)用:手寫數(shù)字識別本例采用的數(shù)據(jù)集為MNIST數(shù)據(jù)集,下載網(wǎng)址為:/exdb/mnist/。

該數(shù)據(jù)集包括70,000個手寫數(shù)字0-9的圖像。包含訓(xùn)練樣本集和測試樣本集兩大部分,其中文件Trainingsetimages:train-images-idx3-ubyte.gz(9.9MB,解壓后47MB,包含60,000個樣本),Trainingsetlabels:train-labels-idx1-ubyte.gz(29KB,解壓后60KB,包含60,000個標(biāo)簽);Testsetimages:t10k-images-idx3-ubyte.gz(1.6MB,解壓后7.8MB,包含10,000個樣本),Testsetlabels:t10k-labels-idx1-ubyte.gz(5KB,解壓后10KB,包含10,000個標(biāo)簽)。10.4圖像識別應(yīng)用:手寫數(shù)字識別參考代碼如下:%感知器算法手寫字符識別Perceptron.mclearvariables;clc;%讀取數(shù)據(jù)loadmnist_double.mattest_labels=vec2ind(test_labels)-1;%轉(zhuǎn)換one-hot編碼為字符數(shù)字train_labels=vec2ind(train_labels)-1;%設(shè)定樣本數(shù)量train_num=1000;test_num=200;%臨時變量以及各個感知器參數(shù)j=1;lr=0.01;%學(xué)習(xí)率epoch=10;%設(shè)定訓(xùn)練多少輪number=[8,4];%要取的數(shù)字組合

%提取數(shù)據(jù)中標(biāo)簽為任意組合的樣本,共計200個;由于數(shù)據(jù)本身打亂過,因此可以直接取200個而不考慮樣本不均衡問題fori=1:10000iftest_labels(i)==number(1)||test_labels(i)==number(2)data(:,:,j)=test_images(:,:,i);label(j)=test_labels(i);%取相應(yīng)標(biāo)簽

j=j+1;ifj>train_num+test_numbreak;endendend%由于感知器輸出結(jié)果僅為0、1,因此要將標(biāo)簽進(jìn)行轉(zhuǎn)換;本程序中,由于matlab計算不等式相對容易,因此沒有對樣本進(jìn)行規(guī)范化;由于沒有進(jìn)行規(guī)范化,后面更新權(quán)值w需要借助標(biāo)簽,因此標(biāo)簽需要置-1和1fork=1:train_num+test_numiflabel(k)==number(1)label(k)=-1;endiflabel(k)==number(2)label(k)=1;endend10.4圖像識別應(yīng)用:手寫數(shù)字識別data_=reshape(data,784,train_num+test_num);data_=data_';test_data=[data_(train_num+1:train_num+test_num,:),ones(test_num,1)];%這里對測試數(shù)據(jù)也進(jìn)行增廣變換%訓(xùn)練權(quán)值w=perceptionLearn(data_(1:train_num,:),label(1:train_num),lr,epoch);%測試(預(yù)測)fork=1:test_numiftest_data(k,:)*w'>0result(k)=1;elseresult(k)=-1;endend%輸出預(yù)測的準(zhǔn)確率acc=0.;forsample=1:test_numifresult(sample)==label(train_num+sample)acc=acc+1;endendfprintf('精確度為:%5.2f%%\n',(acc/test_num)*100);%perceptionLearn.m%函數(shù)輸入:數(shù)據(jù)(行向量),標(biāo)簽,學(xué)習(xí)率,終止輪次;輸出:訓(xùn)練得到的權(quán)值向量;訓(xùn)練方法:單樣本修正,學(xué)習(xí)率(步長)采用了固定值

function[w]=perceptionLearn(x,y,learningRate,maxEpoch)[rows,cols]=size(x);x=[x,ones(rows,1)];%增廣w=zeros(1,cols+1);%同上

forepoch=1:maxEpoch%不可分情況下整體迭代輪次

flag=true;%標(biāo)志位真

溫馨提示

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

評論

0/150

提交評論