趙文可,孫玉國
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
隨著模式識(shí)別領(lǐng)域的不斷發(fā)展,生物特征識(shí)別已經(jīng)越來越多地應(yīng)用于身份識(shí)別驗(yàn)證領(lǐng)域。人臉識(shí)別作為一種模式識(shí)別技術(shù),因其識(shí)別便捷、識(shí)別對(duì)象不易偽裝,以及對(duì)用戶的友好性和低侵犯性等特點(diǎn),在檔案管理系統(tǒng)、安全驗(yàn)證系統(tǒng)、信用卡驗(yàn)證、公安系統(tǒng)的罪犯身份識(shí)別、銀行和海關(guān)的監(jiān)控、人機(jī)交互等領(lǐng)域有著重要應(yīng)用[1]。
徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)是一種模仿人類視神經(jīng)系統(tǒng)的前饋型神經(jīng)網(wǎng)絡(luò),已經(jīng)被證明對(duì)于任意非線性函數(shù)都有著良好的逼近能力,解決了BP網(wǎng)絡(luò)[2-3]容易收斂于局部最優(yōu)解的問題[4]。其中,RBF神經(jīng)網(wǎng)絡(luò)的隱含層作為非線性轉(zhuǎn)換的關(guān)鍵層,模仿了某些生物神經(jīng)元“內(nèi)興奮外抑制”功能。RBF神經(jīng)網(wǎng)絡(luò)隱層神經(jīng)元數(shù)、隱層基函數(shù)中心、基函數(shù)的寬度以及輸出權(quán)值對(duì)網(wǎng)絡(luò)的學(xué)習(xí)起關(guān)鍵作用。RBF神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題不但包括隱層神經(jīng)元數(shù)目的增減,還有徑向基函數(shù)中心、寬度以及輸出權(quán)值等參數(shù)的優(yōu)化。
本文基于一種彈性 RBF(E-RBF)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化設(shè)計(jì)方法設(shè)計(jì)人臉識(shí)別系統(tǒng),該算法基于神經(jīng)元的活躍度以及神經(jīng)元修復(fù)準(zhǔn)則,調(diào)整RBF神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元的各參數(shù)以及隱含層與輸出層神經(jīng)元之間的連接權(quán)值,獲得一種彈性RBF神經(jīng)網(wǎng)絡(luò)[5]。E-RBF神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)自校正,具有良好的自適應(yīng)能力和逼近能力,與其他自組織RBF神將網(wǎng)絡(luò)相比,在泛化能力、最終網(wǎng)絡(luò)結(jié)構(gòu)等方面有較大提高。
神經(jīng)系統(tǒng)中神經(jīng)元之間的連接變化分為連接斷開和連接加強(qiáng)兩種方式,斷開時(shí)神經(jīng)元之間不在相互傳送信息,加強(qiáng)時(shí)相應(yīng)神經(jīng)元之間信息傳送能力加強(qiáng)[6]。
根據(jù)神經(jīng)元的修復(fù)機(jī)制,提出如下神經(jīng)元修復(fù)準(zhǔn)則:
首先根據(jù)香農(nóng)熵理論,求出神經(jīng)元X和Y的連接強(qiáng)度為
其中, H ( X)為神經(jīng)元X的香農(nóng)熵, H ( Y|X)為神經(jīng)元Y在X條件下的熵[7]。
其次規(guī)則化神經(jīng)元的連接強(qiáng)度:
其中0 ≤ m ( X; Y) ≤ 1,與神經(jīng)元X和Y的連接強(qiáng)度正相關(guān)。
在設(shè)計(jì)人臉識(shí)別系統(tǒng)時(shí),首先要做的是找出一些最具代表性的特征,然后根據(jù)這些特征去進(jìn)行訓(xùn)練。Karhunen-Loeve變換(簡(jiǎn)稱 K-L)變換,是一種常用的特征提取方法,它以最小均方誤差為準(zhǔn)則進(jìn)行數(shù)據(jù)壓縮,是最小均方誤差意義下的最優(yōu)正交變換。
E-RBF神經(jīng)網(wǎng)絡(luò)是一種基于神經(jīng)元的活躍度以及神經(jīng)元修復(fù)準(zhǔn)則的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化設(shè)計(jì)方法,其主要思想為:首先,利用神經(jīng)元的活躍度函數(shù)判斷神經(jīng)元的活躍性,對(duì)活躍性較強(qiáng)的神經(jīng)元進(jìn)行分裂;其次,利用神經(jīng)元修復(fù)準(zhǔn)則計(jì)算交互信息相關(guān)性函數(shù),分析RBF神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元與輸出層神經(jīng)元間的連接強(qiáng)度,根據(jù)神經(jīng)元交互信息強(qiáng)度對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行修改;最后,對(duì)于隱含層神經(jīng)元,利用快速下降算法對(duì)連接權(quán)值進(jìn)行修改,利用梯度下降算法對(duì)基函數(shù)的中心和方差進(jìn)行修改[8]。
RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,由一個(gè)輸入層、一個(gè)隱含層和一個(gè)輸出層組成。本文采用高斯函數(shù)作為RBF神經(jīng)網(wǎng)絡(luò)的隱含層基函數(shù),設(shè)輸入層的輸入 x ∈Rn,第i個(gè)基函數(shù)的中心C ∈Rn(i = 1,2,…,m),
i n為輸入層神經(jīng)元的個(gè)數(shù),m為隱含層神經(jīng)元的個(gè)數(shù),輸出層的實(shí)際輸出 Y ∈Rk,k為訓(xùn)練樣本類別數(shù),即輸出層神經(jīng)元個(gè)數(shù),則隱含層第i個(gè)神經(jīng)元的輸出為
式中iσ為第i個(gè)基函數(shù)的寬度。輸出層輸出
式中ijw為隱含層第i個(gè)神經(jīng)元與輸出層第 j個(gè)神經(jīng)元連接權(quán)值。
初始化隱含層神經(jīng)元個(gè)數(shù)為輸出層神經(jīng)元個(gè)數(shù),計(jì)算第 j類樣本的均值作為隱含層第 j個(gè)基函數(shù)的中心,以第 j類樣本中距離第 j個(gè)基函數(shù)的中心的最遠(yuǎn)距離為基函數(shù)的寬度jσ。
圖1 RBF 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 RBF neural network
計(jì)算隱含層神經(jīng)元的活躍度:
其中,A fi是隱含層第i個(gè)神經(jīng)元的活躍度,τ是為了避免||x - Ci||為零時(shí)(5)式無解而設(shè)定的一個(gè)較小實(shí)數(shù)值。
設(shè)置活躍度閾值 A f0,當(dāng) A fi>Af0時(shí),隱含層第i個(gè)神經(jīng)元為活躍神經(jīng)元。對(duì)活躍神經(jīng)元進(jìn)行分裂,新神經(jīng)元的初始中心及寬度:
新增神經(jīng)元個(gè)數(shù) Nnew根據(jù)第i個(gè)神經(jīng)元的活躍度確定, Cii'和 σii'分別表示第 i'個(gè)新增神經(jīng)元的中心和寬度,αi'∈[0.95,1.05],βi'∈[0,0.1]。新神經(jīng)元與輸出神經(jīng)元之間的連接權(quán)值:
其中, ri'為第 i'個(gè)新增神經(jīng)元的分配參數(shù),Ri( x)為被分裂的神經(jīng)元i的輸出, Rii'(x)為分裂后的新神經(jīng)元 i'的輸出, wij和 wi'j分別為被分裂神經(jīng)元和新神經(jīng)元與第 j個(gè)輸出層神經(jīng)元的連接權(quán)值,e為神經(jīng)網(wǎng)絡(luò)當(dāng)前誤差。
神經(jīng)元連接調(diào)整作用于隱含層神經(jīng)元和輸出層神經(jīng)元之間。首先計(jì)算第i個(gè)隱含層神經(jīng)元和第 j個(gè)輸入層神經(jīng)元的交互信息強(qiáng)度 m ( i, j),并設(shè)置交互信息強(qiáng)度閾值γ,如果m( i, j)>γ,保留神經(jīng)元之間的連接,如果m( i, j)<γ,則斷開神經(jīng)元之間的連接,在隱含層中找出與第i個(gè)神經(jīng)元?dú)W氏距離最近的神經(jīng)元i*,調(diào)整神經(jīng)元 i*參數(shù)
設(shè)共有N個(gè)訓(xùn)練樣本,輸入矩陣為 X ∈ Rn×N,隱含層的輸出矩陣 R ∈ Rm×N,輸出層的實(shí)際輸出矩陣 Y ∈ Rk×N,輸出層期望輸出 T ∈ Rk×N,權(quán)值矩陣W ∈ Rk×m,神經(jīng)網(wǎng)絡(luò)逼近誤差e = Y - T 。
誤差函數(shù)定義為
令 Zni( s) = Xn- Ci( s),根據(jù)梯度下降原理,
其中,s為迭代次數(shù),101δ<<,201δ<<,01δ<<為參數(shù)學(xué)習(xí)速率,TR為R的轉(zhuǎn)置矩陣,通常基函數(shù)寬度的學(xué)習(xí)速率大于中心的學(xué)習(xí)速率時(shí),分類器取得較好的性能(一般取212δδ=)。
基于以上判斷和調(diào)整,實(shí)現(xiàn)對(duì)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化,具體訓(xùn)練過程如下:
搭建RBF神經(jīng)網(wǎng)絡(luò),初始化隱含層單元。
計(jì)算神經(jīng)元的活躍度,并根據(jù)活躍度大小判斷是否分裂神經(jīng)元。若分裂,則根據(jù)式(7)和式(8)設(shè)定新神經(jīng)元的初始參數(shù)。
計(jì)算隱含層神經(jīng)元與輸出層神經(jīng)元之間的連接強(qiáng)度m,如果m大于等于閾值,則跳到步驟(4),否則跳到步驟(5)。
刪除該隱含層神經(jīng)元,在隱含層尋找與原神經(jīng)元?dú)W氏距離最近的神經(jīng)元,根據(jù)式(11)設(shè)定選中神經(jīng)元的參數(shù)。
采用梯度下降算法,調(diào)整隱含層神經(jīng)元的中心值和寬度;采用快速下降算法,調(diào)整隱含層與輸出層間的連接權(quán)值。
滿足所有停止條件時(shí)停止訓(xùn)練,否則判斷結(jié)構(gòu)是否調(diào)整結(jié)束。結(jié)構(gòu)調(diào)整結(jié)束則轉(zhuǎn)向步驟(5),否則轉(zhuǎn)向步驟(2)。
實(shí)驗(yàn)選用 ORL人臉數(shù)據(jù)庫作為實(shí)驗(yàn)數(shù)據(jù)集,ORL人臉數(shù)據(jù)庫共包括40個(gè)人,每人10張分辨率為112×92人臉圖像樣本。圖像樣本包括表情變化,細(xì)微姿態(tài)變化,20%以內(nèi)的尺度變化。
本文首先基于K-L變換對(duì)圖像數(shù)據(jù)進(jìn)行降維處理,提取圖像的主要特征,去除數(shù)據(jù)之間的相關(guān)性與冗余性,獲得樣本數(shù)據(jù)。之后,隨機(jī)在每類人臉中選擇5張圖片作為訓(xùn)練樣本,其余5張作為測(cè)試樣本。采用本文算法進(jìn)行訓(xùn)練,選擇0.01τ=,當(dāng)選擇不同的活躍度閾值0Af時(shí),隱含層神經(jīng)元個(gè)數(shù)如表1所示。
表1 活躍度閾值對(duì)應(yīng)的隱含層神經(jīng)元個(gè)數(shù)Tab.1 Number of hidden layer neurons and active degree threshold
通過比較各類子訓(xùn)練樣本到各自樣本中心的最大距離和各子樣本中心間的距離,選擇活躍度閾值為0.01。以函數(shù)誤差的變化率小于0.01,迭代次數(shù)小于1000為閾值,在學(xué)習(xí)速率相同的條件下,隱含層神經(jīng)元和輸出層神經(jīng)元之間信息強(qiáng)度閾值γ與函數(shù)誤差E的關(guān)系如表2所示。
表2 信息強(qiáng)度閾值對(duì)函數(shù)誤差的影響Tab.2 Influence of information intensity threshold on function error
由表2可知,當(dāng)γ=0.05時(shí),分類器能夠取得較好的訓(xùn)練精度。雖然 δ = 0 .15時(shí)函數(shù)誤差較小,但是在訓(xùn)練過程中現(xiàn)了誤差反彈現(xiàn)象,在1000次迭代范圍內(nèi),函數(shù)誤差的變化率難以收斂到給定閾值。另外,當(dāng)δ<0.10時(shí),誤差收斂速度明顯變慢,在給定閾值條件下的函數(shù)誤差偏大,所以本文中學(xué)習(xí)速率選擇0.10。誤差變化曲線如圖2所示。
圖2 學(xué)習(xí)速率為0.10時(shí)誤差變化曲線Fig.2 Error variation curve when learning rate is 0.10
圖3 為某一人臉識(shí)別過程,其中,第一行為待識(shí)別人臉,第二行為判斷待識(shí)別人臉?biāo)鶎兕悇e的所有訓(xùn)練樣本圖片。輸入待識(shí)別人臉,功能實(shí)現(xiàn)確定待識(shí)別人臉?biāo)鶎兕悇e,顯示屬于本類別的所有訓(xùn)練樣本圖片。
表3為E-RBF神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)[9]及傳統(tǒng)RBF神經(jīng)網(wǎng)絡(luò)的實(shí)際訓(xùn)練效果,以訓(xùn)練誤差的下降率小于0.01作為閾值。從表中可以看出,從訓(xùn)練時(shí)間和識(shí)別率上,RBF神經(jīng)網(wǎng)絡(luò)都優(yōu)于BP神經(jīng)網(wǎng)絡(luò),在多次訓(xùn)練時(shí),BP神經(jīng)網(wǎng)絡(luò)識(shí)別率有3%左右的上下浮動(dòng),RBF神經(jīng)網(wǎng)絡(luò)則相對(duì)穩(wěn)定。與傳統(tǒng)RBF算法相比,E-RBF算法識(shí)別效率更高,訓(xùn)練時(shí)間更短,從而驗(yàn)證本算法的優(yōu)越性。
圖3 某一識(shí)別結(jié)果Fig.3 An identification result
表3 三種不同神經(jīng)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果比較Tab.3 Experimental results of different neural networks
本文應(yīng)用彈性RBF神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)了RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)自校正,解決了網(wǎng)絡(luò)結(jié)構(gòu)過大或過小的問題,同時(shí)在分類器訓(xùn)練過程中,能夠彈性適應(yīng)同類圖像的微小變化,從而提高分類器的識(shí)別準(zhǔn)確率。
[1] 李武軍, 王崇俊, 張煒, 等. 人臉識(shí)別研究綜述[J].模式識(shí)別與人工智能, 2006, (2):58-66.
[2] 張敏, 徐啟華. 基于改進(jìn)BP 的神經(jīng)網(wǎng)絡(luò)模型參考自適應(yīng)控制[J].軟件, 2015, 36(7): 118-123
[3] 石黎, 孫志梅. 教學(xué)質(zhì)量評(píng)價(jià)的BP神經(jīng)網(wǎng)絡(luò)模型[J]. 軟件,2015, 36(3): 19-21
[4] 張昭昭, 喬俊飛, 余文. 多層自適應(yīng)模塊化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)[J]. 計(jì)算機(jī)學(xué)報(bào), 2017, 40(12): 2827-2838.
[5] 喬俊飛, 韓紅桂. 前饋神經(jīng)網(wǎng)絡(luò)分析與設(shè)計(jì)[M]. 北京: 科技出版社, 2013.
[6] GILBERT P M, HAVENSTRITE K L, MAGNUSSON K E G,et al. Substrate elasticity regulates skeletal muscle stem cell self-renewal in culture[J]. Science, 2012, 329(5995):1078-1081.
[7] KRIVOV S, ULANOWICZ R E, DAHIVA A. Quantitative measures of organization for multiagent systems[J]. Bio-systems, 2003, 69(1): 39-54.
[8] KRIVOV S, ULANOWICZ R E, DAHIVA A. Quantitative measures of organization for multiagent systems[J]. Bio-systems, 2003, 69(1): 39-54.
[9] 安大海, 蔣硯軍. 基于BP神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別系統(tǒng)[J]. 軟件, 2015, 36(12):76-79.