前言:想要寫(xiě)出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)范文,相信會(huì)為您的寫(xiě)作帶來(lái)幫助,發(fā)現(xiàn)更多的寫(xiě)作思路和靈感。

關(guān)鍵詞: Matlab; 串聯(lián)BP; 多函數(shù)擬合; 自定義網(wǎng)絡(luò)
中圖分類(lèi)號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2013)22?0014?03
0 引 言
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland提出的,它是一種誤差按反向傳播的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP神經(jīng)網(wǎng)絡(luò)具有非常強(qiáng)的非線(xiàn)性映射能力,能以任意精度逼近任意連續(xù)函數(shù),因此在人工智能的許多領(lǐng)域都得到了廣泛的應(yīng)用,如函數(shù)逼近、模式識(shí)別、分類(lèi)和數(shù)據(jù)壓縮等領(lǐng)域[1?2]。由于目前一個(gè)神經(jīng)網(wǎng)絡(luò)只能同時(shí)對(duì)一個(gè)函數(shù)進(jìn)行擬合,針對(duì)此本文提出了一直串聯(lián)BP網(wǎng)絡(luò)同時(shí)實(shí)現(xiàn)兩個(gè)函數(shù)的擬合。
1 BP網(wǎng)絡(luò)結(jié)構(gòu)與學(xué)習(xí)算法
BP神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用最廣泛的拓?fù)浣Y(jié)構(gòu)。BP模型是一種多層前向網(wǎng)絡(luò),這里采用的是三層BP神經(jīng)網(wǎng)絡(luò)模型,它由輸入層、隱層和輸出層組成,其結(jié)構(gòu)如圖1所示,分別為:
(1)輸入層節(jié)點(diǎn),其輸出等于[xi]([i]=1,2,…,n),將控制變量值傳輸?shù)诫[含層;
(2)隱層節(jié)點(diǎn)[j],其輸入[hj],輸出[oj] 分別為:
[hj=i=1nwjxi-θj=i=1n+1wjxi]
[oj=f(hj)]
(3)輸出節(jié)點(diǎn)[k],其輸入[hk],輸出[ok] 分別為:
[hk=j=1m+1wjkoj]
[ok=f(hk)]
式中:[k]=1,2,…,[l];[f]為傳輸函數(shù)。
BP算法分兩步進(jìn)行,即正向傳播和反向傳播[3]。
(1)正向傳播
輸入的樣本從輸入層經(jīng)過(guò)隱單元逐層進(jìn)行處理,通過(guò)所有的隱層之后,在傳向輸出層。在逐層處理的過(guò)程中,每一層神經(jīng)元的狀態(tài)只對(duì)下一層神經(jīng)元的狀態(tài)產(chǎn)生影響。在輸出層把現(xiàn)行輸出和期望輸出進(jìn)行比較,如果現(xiàn)行輸出不等于期望輸出,則進(jìn)入反向傳播過(guò)程。
(2)反向傳播
反向傳播時(shí),把誤差信號(hào)按原來(lái)正向傳播的通路反向傳回,并對(duì)每個(gè)隱層的各個(gè)神經(jīng)元的權(quán)系數(shù)進(jìn)行修改,以望誤差信號(hào)趨向最小[4]。
2 BP網(wǎng)絡(luò)的串聯(lián)模型
神經(jīng)網(wǎng)絡(luò)串聯(lián)即由兩個(gè)或兩個(gè)以上的神經(jīng)網(wǎng)絡(luò)串聯(lián)所組成的新型網(wǎng)絡(luò)模型,用于串聯(lián)的各神經(jīng)網(wǎng)絡(luò)稱(chēng)為子神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)串聯(lián)模型中的各子神經(jīng)網(wǎng)絡(luò)首尾相連,如圖2所示。
假設(shè)總的神經(jīng)網(wǎng)絡(luò)由k個(gè)子神經(jīng)網(wǎng)絡(luò)串聯(lián)而成,即第一個(gè)神經(jīng)網(wǎng)絡(luò)的輸出作為第二個(gè)神經(jīng)網(wǎng)絡(luò)的輸入,第二個(gè)神經(jīng)網(wǎng)絡(luò)的輸出做為第三個(gè)神經(jīng)網(wǎng)絡(luò)的輸入,以此類(lèi)推下去。每一個(gè)子神經(jīng)網(wǎng)絡(luò)均由同類(lèi)型的神經(jīng)網(wǎng)絡(luò)構(gòu)成,在本文中,每一個(gè)子網(wǎng)絡(luò)都采用最常用的BP神經(jīng)網(wǎng)絡(luò),其子網(wǎng)絡(luò)的構(gòu)建都遵循現(xiàn)有的BP網(wǎng)絡(luò)的構(gòu)建形式,其基本的子網(wǎng)絡(luò)結(jié)構(gòu)采用三層模式,一個(gè)輸入層,一個(gè)隱含層和一個(gè)輸出層[5?6]。
通過(guò)Matlab神經(jīng)網(wǎng)絡(luò)工具箱的自定義的方法來(lái)實(shí)現(xiàn)兩個(gè)子BP網(wǎng)絡(luò)的串聯(lián)。
部分程序如下所示:
net=network;
net.numinputs=2;
net.numlayers=6;
net.biasConnect=[1;1;1;1;1;1];
net.inputConnect=[1 0;0 0;0 0;0 1;0 0;0 0];
net.layerConnect=[ 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 0];
net.outputConnect=[ 0 0 1 0 0 1];
網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖3所示,其中每個(gè)子網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)為20個(gè),傳遞函數(shù)為tansig,輸出層采用線(xiàn)性函數(shù)[7]。
3 實(shí)驗(yàn)測(cè)試與分析
運(yùn)用本串聯(lián)BP網(wǎng)絡(luò)在Matlab 2011的環(huán)境中同時(shí)對(duì)兩個(gè)目標(biāo)函數(shù)進(jìn)行擬合。其目標(biāo)函數(shù)為:
目標(biāo)函數(shù)1:
[y=sin x]
目標(biāo)函數(shù)2:
[y=x(1-16x2)e-x]
訓(xùn)練樣本輸入的設(shè)置:輸入樣本p={p1’,p1’}其中p1=[-1:0.05:1],目標(biāo)向量T={t1’;t2’},其中t1= sin(3*pi*p1),t2= p1.*(1-1/6*p1.^2).*exp(-p1)。并加入噪聲t3=sin(3*pi*p1)+0.15*randn(size(p1));t4=t2+0.15*randn(size(p1));T={[t3]’;[t4]’};對(duì)其進(jìn)行訓(xùn)練仿真[8?10]。
網(wǎng)絡(luò)的輸出y包含了兩個(gè)待擬合函數(shù)的擬合后的數(shù)據(jù)通過(guò)下面操作:
y1=cell2mat(y);
y2=y1’;
a=y2(1:1:41);
b=y2(42:1:82);
得到各自的擬合數(shù)據(jù)。
仿真結(jié)果如圖4~圖6所示。
由圖4、圖5仿真擬合曲線(xiàn)與待擬合函數(shù)曲線(xiàn)的比較可以看出此串聯(lián)網(wǎng)絡(luò)在通過(guò)加噪聲的訓(xùn)練樣本訓(xùn)練后能夠很好的對(duì)兩個(gè)待擬合函數(shù)進(jìn)行擬合。由圖6知在經(jīng)過(guò)342次訓(xùn)練后其誤差達(dá)到了0.000 978??梢?jiàn),通過(guò)此串聯(lián)BP神經(jīng)網(wǎng)絡(luò)準(zhǔn)確地?cái)M合了待擬合函數(shù)曲線(xiàn)。
4 結(jié) 語(yǔ)
通過(guò)以上敘述可以看出本文設(shè)計(jì)的串聯(lián)神經(jīng)網(wǎng)絡(luò)能夠和好地對(duì)函數(shù)曲線(xiàn)進(jìn)行擬合,為同時(shí)實(shí)現(xiàn)多函數(shù)曲線(xiàn)的擬合提供了新的方法。
參考文獻(xiàn)
[1] 張雨濃,蔡炳煌.人工神經(jīng)網(wǎng)絡(luò)研究進(jìn)展及過(guò)程[M].北京:電子工業(yè)出版社,2010.
[2] 蔣正金,汪曉東,端木春江.采用BP神經(jīng)網(wǎng)絡(luò)擬合光纖位移傳感器特性曲線(xiàn)[J].微型機(jī)與應(yīng)用,2012,31(4):67?69.
[3] 郭軍.BP神經(jīng)網(wǎng)絡(luò)算法研究[D].武漢:華中科技大學(xué),2005.
[4] 賈麗會(huì),張修如.BP算法分析與改進(jìn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(10):102?107.
[5] 劉華,高大啟.RBF_LBF 串聯(lián)神經(jīng)網(wǎng)絡(luò)的分類(lèi)應(yīng)用及其學(xué)習(xí)算法[J].計(jì)算機(jī)應(yīng)用,2004,24(10):100?104.
[6] 鄧秋香.神經(jīng)網(wǎng)絡(luò)串并聯(lián)學(xué)習(xí)算法在B超圖像識(shí)別中的應(yīng)用[D].武漢:武漢理工大學(xué),2008.
[7] 張德豐.Matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2012.
[8] 陳小宇,喬翠蘭,汪瑞祥,等.基于BP算法神經(jīng)網(wǎng)絡(luò)的物理實(shí)驗(yàn)曲線(xiàn)擬合[J].物理實(shí)驗(yàn),2002,22(9):10?13.
[9] 李潔.BP網(wǎng)絡(luò)的算法及在Matlab上的程序仿真[J].西安航空技術(shù)高等專(zhuān)科學(xué)校學(xué)報(bào),2009,27(1):42?43.
關(guān)鍵詞:郵件過(guò)濾;預(yù)處理;特征選擇;神經(jīng)網(wǎng)絡(luò)集成
中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2010)01-171-03
The design of Spam Filtering System Based on Neural Network Ensemble
LIU Bao-ping, LI Ai-jun
(Information Management,Shanxi University of Finance & Economics,Taiyuan 030006,China)
Abstract: It is a very important function to deal with spam in the email services.On the basis of expressing the standard email corpus as the form of vector space model,and reducing the emails dimension,this paper uses neural network ensemble to construct the email classifier,then to filter the email;this method experiments on the spam corpus,it proved that the method of the spam filtering is effective.
Key words: email filtering;preprocess;feature selection;neural network ensemble
隨著Internet的普及,垃圾郵件問(wèn)題日益嚴(yán)重。垃圾郵件不僅占用網(wǎng)絡(luò)帶寬,降低整個(gè)網(wǎng)絡(luò)運(yùn)行效率,給用戶(hù)時(shí)間和精力造成極大浪費(fèi),而且可能侵犯收件人隱私權(quán),成為黑客利用的工具,對(duì)現(xiàn)實(shí)社會(huì)造成危害。對(duì)電子郵件進(jìn)行過(guò)濾是有效對(duì)付垃圾郵件的主要手段。
目前,很多研究者已經(jīng)對(duì)垃圾郵件的過(guò)濾方法進(jìn)行了研究,其主要的郵件過(guò)濾方法有:1)黑白名單過(guò)濾,提供實(shí)時(shí)的黑白名單服務(wù)。其優(yōu)點(diǎn)是節(jié)省帶寬,缺點(diǎn)是對(duì)垃圾郵件識(shí)別率不高。2)基于規(guī)則的過(guò)濾方法,設(shè)置一些規(guī)則對(duì)郵件進(jìn)行評(píng)估,郵件特征符合規(guī)則則加分,分?jǐn)?shù)達(dá)到預(yù)先設(shè)定的閾值就判定為垃圾郵件。優(yōu)點(diǎn)是易理解、推廣,缺點(diǎn)是依賴(lài)于不斷地更新郵件規(guī)則。3)基于統(tǒng)計(jì)的過(guò)濾方法,是針對(duì)郵件內(nèi)容進(jìn)行過(guò)濾的一種機(jī)器學(xué)習(xí)的方法,過(guò)濾正確率高,速度快,被認(rèn)為是垃圾郵件處理技術(shù)中很受歡迎的一種方法[1]。這種基于機(jī)器學(xué)習(xí)的過(guò)濾方法已成為當(dāng)前研究的主要方向,已有的算法包括貝葉斯分類(lèi)方法、神經(jīng)網(wǎng)絡(luò)方法、KNN方法、Winnow方法等。但如何進(jìn)一步提高郵件分類(lèi)的準(zhǔn)確率成為新的研究目標(biāo)。
要提高郵件分類(lèi)的準(zhǔn)確率,分類(lèi)器設(shè)計(jì)就成為郵件過(guò)濾過(guò)程中極其重要的環(huán)節(jié)。目前基于機(jī)器學(xué)習(xí)的分類(lèi)方法已有多種,其中,基于神經(jīng)網(wǎng)絡(luò)的分類(lèi)器是郵件分類(lèi)中比較有效的方法[2]。但是,神經(jīng)網(wǎng)絡(luò)容易限于局部極小值,造成郵件的誤分。而神經(jīng)網(wǎng)絡(luò)集成是用有限個(gè)神經(jīng)網(wǎng)絡(luò)對(duì)同一個(gè)問(wèn)題進(jìn)行學(xué)習(xí),集成在某輸入示例下的輸出,由構(gòu)成集成的各神經(jīng)網(wǎng)絡(luò)在該示例下的輸出共同決定[3]。該方法可以顯著地提高神經(jīng)網(wǎng)絡(luò)系統(tǒng)的泛化能力[4]。因此,采用神經(jīng)網(wǎng)絡(luò)集成的方法設(shè)計(jì)郵件分類(lèi)器將會(huì)進(jìn)一步提高郵件分類(lèi)的準(zhǔn)確性,本文就此方面進(jìn)行研究。
1 基于神經(jīng)網(wǎng)絡(luò)集成的垃圾郵件過(guò)濾
1.1系統(tǒng)模型
本郵件過(guò)濾系統(tǒng)(如圖1)主要是針對(duì)電子郵件內(nèi)容進(jìn)行識(shí)別、過(guò)濾。電子郵件過(guò)濾系統(tǒng)主要由郵件預(yù)處理、特征選擇、分類(lèi)器設(shè)計(jì)三個(gè)環(huán)節(jié)組成。本過(guò)濾系統(tǒng)中對(duì)郵件的處理過(guò)程:首先對(duì)郵件的原始語(yǔ)料庫(kù)進(jìn)行預(yù)處理,把標(biāo)準(zhǔn)郵件集處理成了機(jī)器學(xué)習(xí)算法可以直接處理的向量空間模型的形式;然后利用基于信息增益(IG)的屬性選擇方法對(duì)其進(jìn)行降維處理,選取合適的維數(shù);最后利用神經(jīng)網(wǎng)絡(luò)集成算法分別進(jìn)行分類(lèi)分析。
1.2 郵件預(yù)處理
為了便于郵件的過(guò)濾,對(duì)郵件數(shù)據(jù)集要進(jìn)行預(yù)處理。
1.2.1 基于向量空間模型的郵件表示
本系統(tǒng)通過(guò)對(duì)郵件的原始語(yǔ)料庫(kù)進(jìn)行預(yù)處理,把標(biāo)準(zhǔn)郵件集處理成了機(jī)器學(xué)習(xí)算法可以直接處理的向量空間模型的形式。具體處理步驟如下:
1) 初始情況下,先定義一個(gè)特征項(xiàng)集合,把郵件語(yǔ)料庫(kù)中所有出現(xiàn)的詞都作為特征項(xiàng)集合的候選特征,輸出一個(gè)特征項(xiàng)集合的字典。
2) 掃描語(yǔ)料庫(kù),把語(yǔ)料庫(kù)中的每一封郵件都表示成維數(shù)(維數(shù)等于字典的長(zhǎng)度)相等的向量形式,并以稀疏矩陣的形式存儲(chǔ)(降低內(nèi)存使用量)。
3) 移除那些在語(yǔ)料庫(kù)中出現(xiàn)次數(shù)不大于4次(低頻詞),以及在每篇郵件中都出現(xiàn)的候選特征。這是因?yàn)榈皖l詞在語(yǔ)料庫(kù)中出現(xiàn)的次數(shù)太少,對(duì)分類(lèi)幾乎不起作用;在每篇郵件中都出現(xiàn)的高頻詞,不具備區(qū)分類(lèi)別的能力。這一步的特征移除可以加速特征選擇過(guò)程,進(jìn)一步降低內(nèi)存需求。
4) 輸出經(jīng)步驟3)處理后的以向量空間模型表示的郵件數(shù)據(jù)集。
1.2.2 特征選擇
為了能有效地分析垃圾郵件的特征,要對(duì)郵件數(shù)據(jù)進(jìn)行降維。對(duì)于垃圾郵件常用的特征選擇方法有:文檔頻率(Document Frequency)、信息增益(Information Gain)、互信息(Mutual Information)、 ?字2統(tǒng)計(jì)量(EHI)等。其中,信息增益被認(rèn)為是最有效的屬性選擇方法之一[5]。因此,本文采用信息增益的方法對(duì)郵件數(shù)據(jù)集進(jìn)行降低維處理,取信息增益值最大的前M個(gè)詞為特征詞。將郵件數(shù)據(jù)集進(jìn)一步表示成M維的向量空間形式。信息增益表征的是特征詞t在語(yǔ)料庫(kù)中出現(xiàn)前后的信息熵之差,具體到分為垃圾郵件(spam)和正常郵件(ham)的二類(lèi)問(wèn)題,IG的公式如下:
其中,C1和C2分別代表合法郵件和垃圾郵件的類(lèi)別;表示Ci類(lèi)郵件在語(yǔ)料庫(kù)中所占的比率;P(t)和P(t)分別表示特征詞t 在語(yǔ)料中出現(xiàn)的概率和未出現(xiàn)的概率;表示t出現(xiàn)在Ci類(lèi)中的概率;表示t未出現(xiàn)在Ci類(lèi)中的概率。
1.3 分類(lèi)器設(shè)計(jì)
在眾多關(guān)于郵件分類(lèi)的研究中,主要以單分類(lèi)器為主,對(duì)過(guò)濾垃圾郵件效率的進(jìn)一步提高又一定的局限,而集成分類(lèi)器分類(lèi)效果的貢獻(xiàn)是非常顯著的,因此采用集成的方法可以有效地提高垃圾郵件的過(guò)濾。
集成學(xué)習(xí)目的是利用模型之間的差異性提高學(xué)習(xí)系統(tǒng)的泛化性能。集成實(shí)現(xiàn)方法的研究主要集中在兩個(gè)方面,即如何生成集成中的各個(gè)個(gè)體以及怎樣將個(gè)體的輸出結(jié)論組合。在生成集成中個(gè)體方面,最重要的技術(shù)是Boosting[6]和Bagging[7]。Boosting和Bagging是兩種用來(lái)提高學(xué)習(xí)算法準(zhǔn)確度的方法,大量關(guān)于Boosting和Bagging的實(shí)驗(yàn)和應(yīng)用已證明了這兩種方法的有效性。結(jié)論的結(jié)合的方法有投票法,加權(quán)投票法以及樸素貝葉斯法等等,其中,投票法包括絕對(duì)多數(shù)投票法或相對(duì)多數(shù)投票法。通常,在對(duì)分類(lèi)器進(jìn)行集成時(shí),大多采用相對(duì)多數(shù)投票法,即若輸出結(jié)果為某一分類(lèi)的神經(jīng)網(wǎng)絡(luò)的數(shù)目最多,則判定屬于該分類(lèi)。
神經(jīng)網(wǎng)絡(luò)在很多領(lǐng)域已得到成功的應(yīng)用,其網(wǎng)絡(luò)模型在學(xué)習(xí)過(guò)程中容易陷入局部極小值被認(rèn)為是它的主要缺點(diǎn)之一。然而,Perrone和Cooper[8]卻認(rèn)為,這一特性對(duì)神經(jīng)網(wǎng)絡(luò)集成泛化能力的提高起到了重要作用。因此神經(jīng)網(wǎng)絡(luò)集成用于郵件過(guò)濾系統(tǒng),能夠提高過(guò)濾系統(tǒng)的性能。
1.3.1集成系統(tǒng)中個(gè)體分類(lèi)器的生成
經(jīng)過(guò)實(shí)驗(yàn),系統(tǒng)選取RBF神經(jīng)網(wǎng)絡(luò)作為基分類(lèi)器,個(gè)體分類(lèi)器的生成則采用基于樣本選擇的Boosting和Bagging。
1) Boosting算法的步驟見(jiàn)表1所示。
2 )Bagging算法的主要步驟見(jiàn)表2所示。
1.3.2 集成系統(tǒng)中結(jié)論的合成
Bagging采用多數(shù)投票方法進(jìn)行假設(shè)的綜合,有研究表明,簡(jiǎn)單的、不加權(quán)的投票方法是魯棒的。 Boosting對(duì)每個(gè)基分類(lèi)器的分類(lèi)結(jié)果根據(jù)其分類(lèi)錯(cuò)誤率加以權(quán)值,然后對(duì)加權(quán)后的結(jié)果投票,最常用的權(quán)值計(jì)算方法是分類(lèi)正確率或其變形。
2 實(shí)驗(yàn)及結(jié)果分析
2.1 語(yǔ)料選擇
本文選取垃圾郵件的PU系列語(yǔ)料 作為實(shí)驗(yàn)數(shù)據(jù)。PU系列語(yǔ)料由希臘學(xué)者Androutsopoulos提供,其來(lái)源于提供者某個(gè)時(shí)段收到的真實(shí)電子郵件。該語(yǔ)料去掉了郵件的附件、HTML標(biāo)記等,只保留了郵件主題和正文的純文本內(nèi)容,為保護(hù)提供者的隱私,語(yǔ)料采用加密的形式,用不同的整數(shù)替代郵件中的每個(gè)詞干。
2.2 評(píng)價(jià)指標(biāo)
垃圾郵件過(guò)濾系統(tǒng)的性能主要通過(guò)以下幾個(gè)指標(biāo)來(lái)評(píng)價(jià):
1) 召回率(Recall):即垃圾郵件檢出率,反映了過(guò)濾系統(tǒng)對(duì)垃圾郵件的發(fā)現(xiàn)能力,召回率越高,“漏識(shí)別”的垃圾郵件就越少。
2) 正確率(Precision):即垃圾郵件檢對(duì)率,反映了過(guò)濾系統(tǒng)對(duì)垃圾郵件的判對(duì)能力,正確率越大,誤判垃圾郵件的可能性越小。
3) 精確率(Accuracy):對(duì)所有郵件做出正確判斷的概率。
4) 錯(cuò)誤率(Error rate):對(duì)所有郵件做出錯(cuò)誤判斷的概率。
5) F值:將召回率和正確率綜合成一個(gè)指標(biāo),是召回率和正確率的調(diào)和平均值。
此外,在垃圾郵件過(guò)濾的實(shí)際過(guò)程中,我們?nèi)菀紫氲?將合法郵件判為垃圾郵件比將垃圾郵件判為合法郵件的代價(jià)要大,本文中用混淆矩陣(Confusion Matrix)反應(yīng)此代價(jià)。
2.3 實(shí)驗(yàn)結(jié)果與分析
有研究者[9]用實(shí)驗(yàn)證明了,PU1語(yǔ)料、PU2語(yǔ)料、PUA語(yǔ)料效率最好的維數(shù)分別為1000維、100維、200維。據(jù)此,本文將PU1語(yǔ)料、PU2語(yǔ)料、PUA語(yǔ)料分別處理成了1000維、100維、200維的向量空間模型形式。然后將處理好的數(shù)據(jù)采用的RBF神經(jīng)網(wǎng)絡(luò)、AdaBoost(目前最流行的Boosting算法[10])、Bagging等分類(lèi)算法對(duì)實(shí)例進(jìn)行分類(lèi),采用十折交互驗(yàn)證法(10-fold-cross-validation)作為評(píng)估方法,得到如下實(shí)驗(yàn)結(jié)果,如圖2、圖3、圖4和表3所示:
圖2PU1上的試驗(yàn)結(jié)果 圖3PU2上的試驗(yàn)結(jié)果
上述實(shí)驗(yàn)結(jié)果表明,對(duì)同一個(gè)語(yǔ)料庫(kù),神經(jīng)網(wǎng)絡(luò)集成算法較RBF神經(jīng)網(wǎng)絡(luò)算法,提高了精確率和F值,而正確率在提高的同時(shí)召回率有所下降,召回率在提高的同時(shí),正確率有所下降,這是判別指標(biāo)本身的性質(zhì)。而且,從表3的混淆矩陣,可以看出AdaBoost算法和Bagging算法較RBF算法來(lái)說(shuō),將正確郵件誤分為垃圾的郵件的概率也減少了,即代價(jià)減少了。
整體來(lái)說(shuō),評(píng)價(jià)指標(biāo)值提高了,主要的原因就是神經(jīng)網(wǎng)絡(luò)集成將經(jīng)過(guò)單個(gè)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果加以合成,采用了多數(shù)表決的方法,提高了郵件過(guò)濾的性能。實(shí)驗(yàn)結(jié)果表明神經(jīng)網(wǎng)絡(luò)集成方法對(duì)于垃圾郵件過(guò)濾的是非常有效的。
3 結(jié)論
該文重點(diǎn)研究了采用神經(jīng)網(wǎng)絡(luò)集成對(duì)垃圾郵件進(jìn)行過(guò)濾的方法,同時(shí)對(duì)郵件過(guò)濾系統(tǒng)的數(shù)據(jù)進(jìn)行了預(yù)處理,經(jīng)過(guò)實(shí)驗(yàn),與單分類(lèi)器的過(guò)濾性能進(jìn)行比較,結(jié)果證明了神經(jīng)網(wǎng)絡(luò)集成方法可以進(jìn)一步提高垃圾郵件過(guò)濾的準(zhǔn)確率。今后的工作重點(diǎn)是研究郵件多標(biāo)簽分類(lèi)方法。
參考文獻(xiàn):
[1] 蔣秋香.垃圾郵件過(guò)濾技術(shù)的發(fā)展與現(xiàn)狀[J].網(wǎng)絡(luò)與通訊安全,2007(09).
[2] 黃國(guó)玉,龍潤(rùn)生.基于神經(jīng)網(wǎng)絡(luò)的郵件分類(lèi)識(shí)別模型研究[J].南京大學(xué)學(xué)報(bào),2008(06).
[3] Sollich P,Krogh A.Learning with ensembles:How overfitting can be useful.In: Touretzky D,Mozer M,Hasselmo Meds.Advances in Neural Information Processing Systems 8,Cambridge,MA:MIT Press,1996.190-196.
[4] 周志華.神經(jīng)網(wǎng)絡(luò)集成[J].計(jì)算機(jī)學(xué)報(bào),2002(01).
[5] Y.Yang.A Comparative Study on Feature Selection in Text Categorization[C].Proceedings of the Fourteenth International Conference on Machine Learning,1997.
[6] Schapire R E.The strength of weak learnability.Machine Learning,1990,5(2):197-227.
[7] Breiman L.Bagging predictors.Machine Learning,1996,24(2):123-140.
[8] Perrone M P,Cooper L N.When networks disagree:Ensemble method for neural networks.In:Mammone R J ed.Artificial Neural Networks for Speech and Vision,New York:Chapman &Hall,1993.126-142.
[關(guān)鍵詞] 工作崗位;BP神經(jīng)網(wǎng)絡(luò);系統(tǒng)設(shè)計(jì)
[中圖分類(lèi)號(hào)] F240 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1006-5024(2007)12-0030-04
[基金項(xiàng)目]安徽省高校青年教師科研資助計(jì)劃項(xiàng)目“人工神經(jīng)網(wǎng)絡(luò)在工程評(píng)價(jià)中的應(yīng)用”(批準(zhǔn)號(hào):2004jq143);安徽理工大學(xué) 青年科學(xué)基金資助項(xiàng)目“基于人工神經(jīng)網(wǎng)絡(luò)的綜合評(píng)價(jià)系統(tǒng)設(shè)計(jì)”(批準(zhǔn)號(hào):2007jg12)
[作者簡(jiǎn)介] 汪克亮,安徽理工大學(xué)教師,碩士,研究方向?yàn)榫C合評(píng)價(jià)、決策分析;
楊 力,安徽理工大學(xué)副教授,碩士,研究方向?yàn)橄到y(tǒng)工程、復(fù)雜系統(tǒng)建模;
查甫更,安徽理工大學(xué)教師,碩士,研究方向?yàn)榄h(huán)境質(zhì)量評(píng)價(jià)。(安徽 淮南 232001)
人力資源是企業(yè)中最寶貴的資源,對(duì)企業(yè)的生存、發(fā)展和競(jìng)爭(zhēng)力的不斷提高都起著至關(guān)重要的作用。人力資源的培育、開(kāi)發(fā)與利用,不僅成為經(jīng)濟(jì)增長(zhǎng)的決定性因素,而且直接構(gòu)成企業(yè)核心競(jìng)爭(zhēng)力的關(guān)鍵性戰(zhàn)略資源。作為人力資源管理的一個(gè)重要組成部分,工作崗位評(píng)價(jià)是建立在工作說(shuō)明書(shū)的基礎(chǔ)上,綜合運(yùn)用多種學(xué)科的理論和方法。即它是按照一定的客觀(guān)標(biāo)準(zhǔn),從工作崗位的環(huán)境、勞動(dòng)強(qiáng)度、承擔(dān)責(zé)任、所需資格條件等因素出發(fā),對(duì)工作崗位進(jìn)行系統(tǒng)的衡量和評(píng)價(jià),在定性的基礎(chǔ)上進(jìn)行定量測(cè)評(píng),以量值來(lái)表現(xiàn)工作崗位特征,使得性質(zhì)相同、相近的崗位具有統(tǒng)一的評(píng)判、估價(jià)標(biāo)準(zhǔn)。這種評(píng)價(jià)方法可以比較出崗位與崗位之間的相對(duì)價(jià)值大小,從而可以將員工在企業(yè)中的作用和貢獻(xiàn)量化,為企業(yè)崗位歸級(jí)、分類(lèi)等工作奠定基礎(chǔ),為建立公平合理的薪酬制度提供客觀(guān)依據(jù)。
對(duì)工作崗位進(jìn)行評(píng)價(jià)的方法很多,傳統(tǒng)的方法有排列法、分類(lèi)法、評(píng)分法、因素比較法,等等。實(shí)踐證明,這些方法都具備一定的合理性,但是還不夠完善。這是由于評(píng)價(jià)指標(biāo)的量值和權(quán)重的確定都是依據(jù)評(píng)估人員的經(jīng)驗(yàn)進(jìn)行的,主觀(guān)性強(qiáng),缺乏客觀(guān)性,這樣就在很大程度上使得評(píng)價(jià)結(jié)果缺乏公平性、科學(xué)性,從而進(jìn)一步影響到薪酬制度的公平合理性。近年來(lái)出現(xiàn)的人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,簡(jiǎn)稱(chēng)ANN)因其廣泛的自適應(yīng)、自學(xué)習(xí)和強(qiáng)大的非線(xiàn)性映射能力,在多變量非線(xiàn)性系統(tǒng)的建模方面有著廣泛的應(yīng)用。BP神經(jīng)網(wǎng)絡(luò)(Back-Propagation Network)是目前在各領(lǐng)域中研究和應(yīng)用最廣泛的人工神經(jīng)網(wǎng)絡(luò),體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用中最精華的部分,它擅長(zhǎng)的是處理那種規(guī)律隱含在一大堆雜亂無(wú)章數(shù)據(jù)中的映射逼近問(wèn)題。由于工作崗位評(píng)價(jià)系統(tǒng)是由評(píng)價(jià)指標(biāo)、評(píng)價(jià)標(biāo)準(zhǔn)、評(píng)價(jià)技術(shù)和方法等一系列子系統(tǒng)組成的復(fù)雜非線(xiàn)性系統(tǒng),作為一種處理復(fù)雜非線(xiàn)性系統(tǒng)問(wèn)題的有效工具,本文嘗試?yán)肂P神經(jīng)網(wǎng)絡(luò)來(lái)設(shè)計(jì)工作崗位評(píng)價(jià)系統(tǒng),為定性和定量評(píng)價(jià)工作崗位提供一條新的思路。
一、工作崗位評(píng)價(jià)指標(biāo)體系的建立
1.選擇評(píng)價(jià)指標(biāo)的原則
要對(duì)工作崗位進(jìn)行公平合理的評(píng)價(jià),前提是要建立科學(xué)的評(píng)價(jià)指標(biāo)體系。因?yàn)楣ぷ鲘徫辉u(píng)價(jià)不僅要明確工作狀況和工作量的差異,而且要滿(mǎn)足企業(yè)人力資源管理基礎(chǔ)工作的需要,促進(jìn)人力資源管理工作的發(fā)展。因此,必須在決定工作崗位工作狀況和工作量的眾多因素中選擇合適的因素,進(jìn)行全面、科學(xué)的評(píng)價(jià)。對(duì)于評(píng)價(jià)指標(biāo)的選擇,應(yīng)該考慮以下三個(gè)原則:
全面性。評(píng)價(jià)指標(biāo)的全面性是進(jìn)行科學(xué)評(píng)價(jià)的基礎(chǔ),評(píng)價(jià)指標(biāo)應(yīng)該能夠全面地反映工作崗位的工作狀況和工作量,體現(xiàn)不同崗位的工作差別,反映出崗位工作對(duì)企業(yè)的貢獻(xiàn)。
可評(píng)價(jià)性。評(píng)價(jià)指標(biāo)的可評(píng)價(jià)性主要體現(xiàn)在兩個(gè)方面:一是指在目前企業(yè)的工作實(shí)際中,運(yùn)用現(xiàn)有的技術(shù)和方法,能夠?qū)υu(píng)價(jià)指標(biāo)進(jìn)行測(cè)定或評(píng)定,作出評(píng)價(jià);二是指對(duì)每一個(gè)評(píng)價(jià)指標(biāo)都能夠按照統(tǒng)一的評(píng)價(jià)標(biāo)準(zhǔn)作出獨(dú)立的評(píng)價(jià),最好是能作出定量評(píng)價(jià)。
實(shí)用性。主要是指在選擇評(píng)價(jià)指標(biāo)的時(shí)候,選擇那些對(duì)企業(yè)的人力資源管理工作有用、能促進(jìn)企業(yè)人力資源管理工作發(fā)展的因素作為評(píng)價(jià)因素。這樣可以使得評(píng)價(jià)結(jié)果能夠直接應(yīng)用于企業(yè)人力資源管理實(shí)踐。
2.工作崗位評(píng)價(jià)指標(biāo)體系
工作崗位評(píng)價(jià)的內(nèi)容非常廣泛,影響因素眾多,我們經(jīng)過(guò)深入調(diào)研,密切聯(lián)系實(shí)際,依據(jù)上述的選擇原則,共建立5個(gè)一級(jí)指標(biāo):勞動(dòng)技能、勞動(dòng)責(zé)任、勞動(dòng)強(qiáng)度、勞動(dòng)環(huán)境、社會(huì)心理因素。每個(gè)一級(jí)指標(biāo)又由若干個(gè)二級(jí)指標(biāo)組成,一共22個(gè)二級(jí)指標(biāo),這些指標(biāo)既能全面體現(xiàn)企業(yè)崗位的工作狀況和工作量,又能應(yīng)用目前的技術(shù)和知識(shí)進(jìn)行評(píng)定和測(cè)量,使崗位的具體工作抽象化、定量化,從而產(chǎn)生可比性。建立的評(píng)價(jià)指標(biāo)體系如表1所示。
二、BP算法及其改進(jìn)
1.BP神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)是人工智能的一個(gè)重要部分,人工神經(jīng)元是人工神經(jīng)網(wǎng)絡(luò)的基本處理單元。它是一個(gè)近似模擬生物神經(jīng)元的數(shù)學(xué)模型,通過(guò)與其相連的神經(jīng)元接收信息。根據(jù)網(wǎng)絡(luò)中神經(jīng)元的連接方式,神經(jīng)網(wǎng)絡(luò)可以分為前向網(wǎng)絡(luò)、反饋網(wǎng)絡(luò)和自組織網(wǎng)絡(luò)三種基本類(lèi)型。
BP網(wǎng)絡(luò),又稱(chēng)為誤差反向傳播網(wǎng)絡(luò),是一種典型的前饋網(wǎng)絡(luò)。它具有三層或三層以上的階層,其各層之間各神經(jīng)元實(shí)現(xiàn)完全連接,而每層的神經(jīng)元之間無(wú)連接。BP網(wǎng)絡(luò)主要是由輸入層、隱含層、輸出層組成,各層之間實(shí)現(xiàn)完全連接。輸入信號(hào)從輸入層節(jié)點(diǎn)輸入,依次傳過(guò)各隱含層節(jié)點(diǎn),然后傳到輸出節(jié)點(diǎn)。實(shí)踐已經(jīng)證明了三層BP網(wǎng)絡(luò)可以以任意精度逼近一個(gè)連續(xù)函數(shù)。
2.BP算法
BP網(wǎng)絡(luò)所完成的信息處理工作,從數(shù)學(xué)意義上講是利用映射訓(xùn)練樣本(x1,y1),(x2,y2),…(xk,yk)…,實(shí)現(xiàn)從n維歐氏空間子集到f[A]的映射。BP網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程是由正向傳播和反向傳播兩部分組成。在正向傳播過(guò)程中,輸入樣本從輸入層經(jīng)過(guò)隱含層處理并傳向輸出層,每一層神經(jīng)元狀態(tài)只影響下一層神經(jīng)元狀態(tài),如果在輸出層得不到期望的輸出,則轉(zhuǎn)入反向傳播。此時(shí),誤差信號(hào)從輸出層向輸入層傳播并沿途調(diào)整各層之間的連接權(quán)值以及各神經(jīng)元的偏置值,以使誤差信號(hào)不斷減小,經(jīng)過(guò)反復(fù)迭代,當(dāng)誤差小于允許值,網(wǎng)絡(luò)的訓(xùn)練結(jié)束。BP網(wǎng)絡(luò)具體的學(xué)習(xí)過(guò)程按以下步驟進(jìn)行:
(1)置各權(quán)值或閾值的初始值:Wji(0),θj(0)為小的隨機(jī)數(shù)值。
(2)提供訓(xùn)練樣本:輸入矢量Xk,k=1,2,…,P;期望輸出dk,k=1,2,…,P;對(duì)每一個(gè)輸入樣本進(jìn)行下面(3)到(5)的迭代。
(3)計(jì)算網(wǎng)絡(luò)的實(shí)際輸出及隱含層單元的狀態(tài):
okj=fj(∑wjiokj+θj),其中f(x)為轉(zhuǎn)移函數(shù),采取Sigmoid函數(shù),即
(4)計(jì)算訓(xùn)練誤差:
δkj=okj(1-okjj)(tkj-okj) (輸出層)
δkj=okj(1-okj)∑δkmwmj(隱含層)
(5)修正權(quán)值和閾值:
wkj(t+1)=wji(t)+ηδjoki+α[wji(t)-wji(t-1)]
θj(t+1)=θj(t)+ηδj+α[θj(t)-θj(t-1)]
(6)當(dāng)k每經(jīng)歷1至P后,判斷指標(biāo)是否符合精度要求:
E≤ε; ε:精度。
(7)結(jié)束。
3.BP算法的改進(jìn)
傳統(tǒng)的BP網(wǎng)絡(luò)把一組樣本的輸入/輸出問(wèn)題變?yōu)橐粋€(gè)非線(xiàn)性?xún)?yōu)化問(wèn)題,使用了優(yōu)化中最普通的梯度下降算法。BP算法在應(yīng)用中最突出的優(yōu)點(diǎn)是具有很強(qiáng)的非線(xiàn)性映射能力,網(wǎng)絡(luò)的隱含層數(shù)、各層的神經(jīng)元數(shù)以及網(wǎng)絡(luò)的學(xué)習(xí)系數(shù)都可以根據(jù)具體情況任意設(shè)定,對(duì)問(wèn)題的識(shí)別具有很強(qiáng)的功能,對(duì)于復(fù)雜的非線(xiàn)性模型仿真從理論上來(lái)說(shuō)可以達(dá)到任意小的程度。在實(shí)際預(yù)算中,標(biāo)準(zhǔn)BP算法存在著收斂速度慢和容易陷入局部極值兩個(gè)重要問(wèn)題。為此,我們以如下兩項(xiàng)措施來(lái)改進(jìn)BP算法。
(1)學(xué)習(xí)率自適應(yīng)調(diào)整。標(biāo)準(zhǔn)BP算法收斂速度慢的一個(gè)重要原因是學(xué)習(xí)速率不當(dāng)。學(xué)習(xí)率太小,收斂太慢;學(xué)習(xí)率太大,則可能導(dǎo)致振蕩甚至發(fā)散。我們采用學(xué)習(xí)率的自適應(yīng)調(diào)整,即當(dāng)連續(xù)兩次迭代其梯度方向相同時(shí),表明下降太慢,將步長(zhǎng)加倍;而當(dāng)連續(xù)兩次迭代其梯度方向相反時(shí),表明下降過(guò)頭,則步長(zhǎng)減半。
(2)加動(dòng)量項(xiàng)。標(biāo)準(zhǔn)BP算法在修正w(t)時(shí),僅按照t時(shí)刻的瞬時(shí)負(fù)梯度方向進(jìn)行修正,沒(méi)有考慮以前時(shí)刻的梯度方向,從而使學(xué)習(xí)過(guò)程常常發(fā)生振蕩,收斂很慢。我們加動(dòng)量項(xiàng)的目的是為了降低網(wǎng)絡(luò)對(duì)誤差曲面細(xì)節(jié)的敏感性,從而抑制網(wǎng)絡(luò)限于局部極小。
改進(jìn)后的權(quán)值修正公式為:
w(t+1)=w(t)+α(t )[(1-η)d(t)+ηd(t-1)]
α(t)=2λα(t-1)
λ=sign[d(t)d(t-1)]
式中:α(t)為學(xué)習(xí)率,為k時(shí)刻的負(fù)梯度,η為動(dòng)量因子,0≤η≤1。
三、基于BP神經(jīng)網(wǎng)絡(luò)的工作崗位評(píng)價(jià)系統(tǒng)設(shè)計(jì)
1.評(píng)價(jià)指標(biāo)的標(biāo)準(zhǔn)化
由于工作崗位評(píng)價(jià)涉及到一系列的指標(biāo),有定性指標(biāo)和定量指標(biāo),各個(gè)評(píng)價(jià)指標(biāo)的量綱也不一樣。因?yàn)楦鶕?jù)BP網(wǎng)絡(luò)的特點(diǎn),輸入節(jié)點(diǎn)數(shù)據(jù)的取值范圍應(yīng)該是[0,1],所以,必須對(duì)評(píng)價(jià)指標(biāo)進(jìn)行標(biāo)準(zhǔn)化處理。
(1)定量指標(biāo)
對(duì)于評(píng)價(jià)指標(biāo)ui,其中mi和Mi分別為評(píng)價(jià)指標(biāo)ui的最小值和最大值。設(shè)ri為決策者對(duì)評(píng)價(jià)指標(biāo)ui的屬性值xi的無(wú)量綱化值,且ri∈[0,1]。根據(jù)評(píng)價(jià)指標(biāo)的類(lèi)型,可采用下列兩種無(wú)量綱化標(biāo)準(zhǔn)函數(shù):
當(dāng)目標(biāo)越大評(píng)價(jià)越好時(shí),
當(dāng)目標(biāo)越小評(píng)價(jià)越好時(shí),
(2)定性指標(biāo)
在該評(píng)價(jià)指標(biāo)中,大部分是一些不能直接量化而只能進(jìn)行定性描述的指標(biāo),可以采用確定指標(biāo)評(píng)價(jià)等級(jí)隸屬度的方法來(lái)實(shí)現(xiàn)其量化。其方法是:設(shè)Ui為定性評(píng)價(jià)指標(biāo),Ui相對(duì)于評(píng)價(jià)集A=(α1,α2,…,αn)的隸屬度向量為:ri=(ri1,ri2,…,rin)。此處隸屬度向量可采用專(zhuān)家調(diào)查的方法,并通過(guò)集值統(tǒng)計(jì)方法來(lái)確定,或者可以通過(guò)模糊數(shù)學(xué)中確定隸屬函數(shù)的方法來(lái)確定。另外,一種最簡(jiǎn)單的方法就是直接利用專(zhuān)家打分的方法來(lái)確定,評(píng)分時(shí)專(zhuān)家充分審核、分析每個(gè)工作崗位的影響因素,給出各個(gè)評(píng)價(jià)指標(biāo)評(píng)分值,取值范圍是[0,1]。但是,為了保證與定量指標(biāo)的可比性,可以根據(jù)上面定量指標(biāo)的處理方法,將得到的評(píng)分值進(jìn)行標(biāo)準(zhǔn)化處理后再作為神經(jīng)網(wǎng)絡(luò)的輸入。
2.系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
實(shí)踐證明,具有單隱層的BP網(wǎng)絡(luò)可以逼近任意連續(xù)函數(shù)。本文設(shè)計(jì)了一個(gè)三層BP網(wǎng)絡(luò)來(lái)模擬工作崗位評(píng)價(jià)系統(tǒng)的評(píng)價(jià)過(guò)程。其中,將評(píng)價(jià)指標(biāo)的標(biāo)準(zhǔn)化值作為網(wǎng)絡(luò)的輸入向量,所以,本文中輸入節(jié)點(diǎn)共有22個(gè),輸出節(jié)點(diǎn)為1個(gè),輸出值為工作崗位評(píng)價(jià)結(jié)果,即工作崗位相對(duì)價(jià)值的量化值。由于輸入向量和輸出向量之間不滿(mǎn)足線(xiàn)性關(guān)系,因此,選擇單極性的sigmoid函數(shù)作為轉(zhuǎn)移函數(shù)。另外,隱含層的節(jié)點(diǎn)數(shù)也直接影響到網(wǎng)絡(luò)的性能。對(duì)于隱含層節(jié)點(diǎn)數(shù)的確定,我們可以采用經(jīng)驗(yàn)公式:Pm= Pn+r+L,其中,Pm、Pn、r分別為隱含層、輸入層、輸出層的神經(jīng)元數(shù)目,L為1-10之間的一個(gè)整數(shù)??梢圆扇?duì)比實(shí)驗(yàn)的方式來(lái)選擇最佳隱含層節(jié)點(diǎn)的數(shù)目。采用改進(jìn)BP的算法來(lái)進(jìn)行學(xué)習(xí),根據(jù)學(xué)習(xí)時(shí)間及次數(shù)與達(dá)到全局誤差的綜合效果來(lái)看,6個(gè)隱含層神經(jīng)元比較合適。
以技術(shù)知識(shí)要求、質(zhì)量責(zé)任等22項(xiàng)工作崗位評(píng)價(jià)指標(biāo)的標(biāo)準(zhǔn)量化值作為網(wǎng)絡(luò)輸入向量,用X=(xi,x2,…,x22)表示;隱含層節(jié)點(diǎn)用向量Y=(y1,y2,…,y6)表示;O=(o1)表示輸出向量,根據(jù)轉(zhuǎn)移函數(shù)的性質(zhì),o1∈[0,1],是工作崗位的綜合評(píng)價(jià)值,用S∈[0,1]來(lái)表示,分值越大,則表明該工作崗位的相對(duì)價(jià)值越高;反之,相對(duì)價(jià)值就越低。 將訓(xùn)練集的實(shí)際輸出數(shù)據(jù)轉(zhuǎn)換為[0,1]的數(shù)值,期望輸出用T=(t1)表示。 輸入層節(jié)點(diǎn)到隱含層節(jié)點(diǎn)的權(quán)值用向量V=(v1,1,v1,2,…,v22,6)表示,隱含層節(jié)點(diǎn)到輸出層節(jié)點(diǎn)的權(quán)值用向量W=(w1,1,w2,1,…,w6,1)表示。對(duì)于隱含層有:
yj=f(∑vijxi) (j=1,2,…,6)(1)
對(duì)于輸出層有:
oj=f(∑wj1yj)(2)
這樣(1)、(2)兩式就建立了工作崗位評(píng)價(jià)系統(tǒng)。系統(tǒng)結(jié)構(gòu)圖如圖1所示:
3.網(wǎng)絡(luò)訓(xùn)練樣本的獲得
神經(jīng)網(wǎng)絡(luò)要具有評(píng)價(jià)功能,必須經(jīng)過(guò)一定數(shù)量樣本數(shù)據(jù)的訓(xùn)練。所以,獲得適當(dāng)數(shù)量的訓(xùn)練數(shù)據(jù)是進(jìn)行網(wǎng)絡(luò)訓(xùn)練的前提。選取某個(gè)企業(yè)的20個(gè)工作崗位作為實(shí)證分析的對(duì)象,即神經(jīng)網(wǎng)絡(luò)的訓(xùn)練單元。其中,將該企業(yè)的20個(gè)工作崗位的22項(xiàng)評(píng)價(jià)指標(biāo)的專(zhuān)家打分值作為訓(xùn)練單元的輸入數(shù)據(jù),而以相應(yīng)工作崗位的評(píng)價(jià)值作為網(wǎng)絡(luò)的期望輸出。對(duì)于網(wǎng)絡(luò)期望輸出結(jié)果的獲得,我們可以采取常用的層次分析法(The Ana-lytic Hierarchy Process,簡(jiǎn)稱(chēng)AHP),這種方法是由美國(guó)著名的運(yùn)籌學(xué)家T.L.Saaty于20世紀(jì)70年代提出的一種以定性與定量相結(jié)合的系統(tǒng)化、層次化決策分析方法。層次分析法的原理是把復(fù)雜的問(wèn)題分解為各組成因素,將這些因素按支配關(guān)系分組,以形成有序的遞階層次結(jié)構(gòu)。通過(guò)兩兩比較判斷,確定每一層中因素的相對(duì)重要性,建立判斷矩陣,通過(guò)矩陣的最大特征值與特征向量的計(jì)算,得出該層要素對(duì)于上層準(zhǔn)則的權(quán)重。利用層次分析法,不僅可以得出每一個(gè)工作崗位評(píng)價(jià)指標(biāo)對(duì)于工作崗位相對(duì)價(jià)值的權(quán)重,而且可以將每一個(gè)評(píng)價(jià)指標(biāo)的評(píng)分值與指標(biāo)權(quán)重加權(quán)相加,得出每一個(gè)工作崗位的綜合評(píng)價(jià)值,該評(píng)價(jià)值就能作為網(wǎng)絡(luò)的期望輸出。這樣采用層次分析法,便能獲得訓(xùn)練樣本與仿真樣本。
4.網(wǎng)絡(luò)訓(xùn)練與系統(tǒng)仿真
獲得了網(wǎng)絡(luò)訓(xùn)練樣本數(shù)據(jù),再對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。我們將編號(hào)為1-15崗位數(shù)據(jù)作為訓(xùn)練單元輸入BP神經(jīng)網(wǎng)絡(luò),給定的學(xué)習(xí)精度為ε=0.0001,初始學(xué)習(xí)速率為0.05,每個(gè)訓(xùn)練樣本崗位的綜合評(píng)價(jià)值作為網(wǎng)絡(luò)期望輸出。采用Matlab 7.0神經(jīng)網(wǎng)絡(luò)工具箱對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,當(dāng)訓(xùn)練誤差達(dá)到了精度要求,訓(xùn)練停止。將編號(hào)為16-20的樣本崗位作為仿真樣本來(lái)檢驗(yàn)網(wǎng)絡(luò)的評(píng)價(jià)和預(yù)測(cè)精度,發(fā)現(xiàn)網(wǎng)絡(luò)的仿真結(jié)果同樣本的評(píng)價(jià)結(jié)果非常接近,如表2所示。這一點(diǎn)表明該網(wǎng)絡(luò)具有很好的泛化能力,采用BP神經(jīng)網(wǎng)絡(luò)建立工作崗位評(píng)價(jià)系統(tǒng)是完全可行的。
四、結(jié)束語(yǔ)
工作崗位評(píng)價(jià)是企業(yè)人力資源管理工作的重要內(nèi)容,對(duì)工作崗位進(jìn)行科學(xué)、客觀(guān)的評(píng)價(jià),是確定公平、合理的薪酬制度的基礎(chǔ),這一點(diǎn)對(duì)于提高員工工作積極性和保持企業(yè)活力都具有很重要的意義。本文在建立工作崗位評(píng)價(jià)指標(biāo)體系的基礎(chǔ)上,采用BP神經(jīng)網(wǎng)絡(luò)來(lái)設(shè)計(jì)企業(yè)工作崗位評(píng)價(jià)系統(tǒng),利用BP神經(jīng)網(wǎng)絡(luò)自身強(qiáng)大的非線(xiàn)性映射能力和很強(qiáng)的自學(xué)習(xí)性、自適應(yīng)性和容錯(cuò)性,能夠充分地挖掘出樣本評(píng)價(jià)指標(biāo)中有關(guān)規(guī)律和信息,揭示影響工作崗位相關(guān)因素的內(nèi)在作用機(jī)制,有效地克服評(píng)價(jià)過(guò)程中人為確定標(biāo)準(zhǔn)值和權(quán)重的主觀(guān)性因素的干擾,并且針對(duì)BP網(wǎng)絡(luò)收斂慢、容易陷入局部極小的缺點(diǎn),采取了加動(dòng)量項(xiàng)和學(xué)習(xí)率自適應(yīng)調(diào)整的方法進(jìn)行改進(jìn),以彌補(bǔ)BP網(wǎng)絡(luò)的缺陷,更能夠體現(xiàn)工作崗位評(píng)價(jià)的科學(xué)性和客觀(guān)性。仿真試驗(yàn)表明,該評(píng)價(jià)系統(tǒng)取得了令人滿(mǎn)意的結(jié)果。在實(shí)際應(yīng)用中,為了保證系統(tǒng)評(píng)價(jià)的有效性,應(yīng)該對(duì)系統(tǒng)進(jìn)行必要的修改和調(diào)整,對(duì)系統(tǒng)的運(yùn)行狀況進(jìn)行檢查和控制,力求系統(tǒng)達(dá)到準(zhǔn)確、高效、易操作及具備良好的適應(yīng)性。只要做好以上工作,基于BP神經(jīng)網(wǎng)絡(luò)的工作崗位評(píng)價(jià)系統(tǒng)就能夠成為企業(yè)人力資源管理的有效工具。
參考文獻(xiàn):
[1]沈世鎰.神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論及其應(yīng)用[M].北京:科學(xué)出版社,1998.
[2]焦李成.神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論[M].西安:西安電子科技大學(xué)出版社,1993.
[3]安鴻章.工作崗位的分析技術(shù)與應(yīng)用[M].天津:南開(kāi)大學(xué)出版社,2001.
[4]安鴻章.工作崗位研究原理與應(yīng)用[M].北京:中國(guó)勞動(dòng)出版社,1998.
[5]李永杰,李強(qiáng).工作分析理論與應(yīng)用[M].北京:中國(guó)勞動(dòng)社會(huì)保障出版社,2005.
[6]趙曼.人力資源開(kāi)發(fā)與管理[M].北京:中國(guó)勞動(dòng)社會(huì)保障出版社,2002.
[7]石全濤.現(xiàn)代人力資源開(kāi)發(fā)與管理[M].上海:上海交通大學(xué)出版社,1999.
[8]楊力.基于BP神經(jīng)網(wǎng)絡(luò)的城市房屋租賃估價(jià)系統(tǒng)設(shè)計(jì)[J].中國(guó)管理科學(xué),2002,(10).
[9]張新紅,鄭丕諤.基于神經(jīng)網(wǎng)絡(luò)的管理信息系統(tǒng)綜合評(píng)價(jià)方法[J].系統(tǒng)工程學(xué)報(bào),2002,(5).
關(guān)鍵詞:FPGA;神經(jīng)網(wǎng)絡(luò);圖像壓縮;乘累加單元
中圖分類(lèi)號(hào):TP183文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2009)19-038-04
FPGA Design of Multiply-accumulate Module in Image Compression
Algorithm Based on BP Neural Network
YANG Jun1,ZHOU Quan2,ZHANG Minrui1
(1.School of Electronic and Information Engineering,Xi′an University of Science and Technology,Xi′an,710054,China;
2.National Key Laboratory,China Academy of Space Technology,Xi′an,710000,China)
Abstract:A realization scheme for image compression algorithm based on three layers Back Propagation(BP) neural network is presented,which adopts the method combining the universal IP core with the VHDL language.The FPGA design of multiply-accumulate module which is one of the important components is carried out,it is designed with pipeline,which could increase the data of processing,decrease the latency of system,raise the frequency of clock.The behavior of functional simulation for MAC is completed.The simulation results show that the design is practicable.
Keywords:FPGA;neural network;image compression;MAC
0 引 言
神經(jīng)網(wǎng)絡(luò)(Neural Networks)是人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)的簡(jiǎn)稱(chēng),是當(dāng)前的研究熱點(diǎn)之一。人腦在接受視覺(jué)感官傳來(lái)的大量圖像信息后,能迅速做出反應(yīng),并能在腦海中重現(xiàn)這些圖像信息,這不僅與人腦的海量信息存儲(chǔ)能力有關(guān),還與人腦的信息處理能力,包括數(shù)據(jù)壓縮能力有關(guān)。在各種神經(jīng)網(wǎng)絡(luò)中,多層前饋神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的信息處理能力,由于其采用BP算法,因此也稱(chēng)為BP神經(jīng)網(wǎng)絡(luò)。采用BP神經(jīng)網(wǎng)絡(luò)模型能完成圖像數(shù)據(jù)的壓縮處理。在圖像壓縮中,神經(jīng)網(wǎng)絡(luò)的處理優(yōu)勢(shì)在于[1]:
巨量并行性;
信息處理和存儲(chǔ)單元結(jié)合在一起;
自組織自學(xué)習(xí)功能。
與傳統(tǒng)的數(shù)字信號(hào)處理器DSP(Digital Signal Processor)相比,現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array,FPGA)在神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)上更具優(yōu)勢(shì)。DSP處理器在處理時(shí)采用指令順序執(zhí)行的方式,而且其數(shù)據(jù)位寬是固定的,因而資源的利用率不高,限制了處理器的數(shù)據(jù)吞吐量,還需要較大的存儲(chǔ)空間[2-4]。FPGA處理數(shù)據(jù)的方式是基于硬件的并行處理方式,即一個(gè)時(shí)鐘周期內(nèi)可并行完成多次運(yùn)算,特別適合于神經(jīng)網(wǎng)絡(luò)的并行特點(diǎn),而且它還可以根據(jù)設(shè)計(jì)要求配置硬件結(jié)構(gòu),例如根據(jù)實(shí)際需要,可靈活設(shè)計(jì)數(shù)據(jù)的位寬等。隨著數(shù)字集成電路技術(shù)的飛速發(fā)展,FPGA芯片的處理能力得到了極大的提升,已經(jīng)完全可以承擔(dān)神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)壓縮處理的運(yùn)算量和數(shù)據(jù)吞吐量。圖像壓縮是信息傳輸和存儲(chǔ)系統(tǒng)的關(guān)鍵技術(shù),然而如何進(jìn)行FPGA設(shè)計(jì),以實(shí)現(xiàn)給定的功能已經(jīng)成為神經(jīng)網(wǎng)絡(luò)應(yīng)用的關(guān)鍵[5,6]。
基于以上原因,選擇FPGA作為三層BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法的實(shí)現(xiàn)方式,提出了具體的一種實(shí)現(xiàn)方案,并對(duì)其中的重點(diǎn)單元進(jìn)行了FPGA設(shè)計(jì)與仿真驗(yàn)證。
1 BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法
一般習(xí)慣將單隱層前饋網(wǎng)稱(chēng)為三層前饋網(wǎng),它包括輸入層、隱含層和輸出層。三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,原始數(shù)據(jù)節(jié)點(diǎn)和重建數(shù)據(jù)節(jié)點(diǎn)構(gòu)成節(jié)點(diǎn)數(shù)較大的外層(輸人層和輸出層),而中間的具有較小節(jié)點(diǎn)數(shù)的細(xì)腰層即構(gòu)成壓縮結(jié)果。其基本思想是強(qiáng)迫原始數(shù)據(jù)通過(guò)細(xì)腰型網(wǎng)絡(luò)瓶頸,并期望在網(wǎng)絡(luò)的瓶頸處能獲得較為緊湊的數(shù)據(jù)表示,以達(dá)到壓縮的目的。在網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程中,通過(guò)BP訓(xùn)練算法,調(diào)整網(wǎng)絡(luò)的權(quán)重,使重建圖像在均方誤差意義上盡可能近似于訓(xùn)練圖像。經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)即可用來(lái)執(zhí)行數(shù)據(jù)壓縮任務(wù),網(wǎng)絡(luò)輸入層與隱含層之間的加權(quán)值相當(dāng)于一個(gè)編碼器,隱含層與輸出層之間的加權(quán)相當(dāng)于一個(gè)解碼器。從輸入端輸入的原始圖像數(shù)據(jù)經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)的處理,在隱含層得到的輸出數(shù)據(jù)就是原始圖像的壓縮編碼,而輸出層矢量即為解壓后重建的圖像數(shù)據(jù)[7]。
圖1 三層前饋BP神經(jīng)網(wǎng)絡(luò)壓縮結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)用于圖像編碼的壓縮比與輸入層和隱含層的節(jié)點(diǎn)數(shù)有關(guān):
壓縮比=輸入層節(jié)點(diǎn)數(shù)(n)/隱含層節(jié)點(diǎn)數(shù)(m)
因此一般來(lái)說(shuō)采用不同數(shù)目的隱含層神經(jīng)元就可實(shí)現(xiàn)同一圖像的不同壓縮比。
三層BP前饋網(wǎng)中輸入向量X=x(x1,x2,…,xi,…,xn)T,隱含層輸出向量Y=y(y1,y2,…,yj,…,ym)T ,輸出層輸出向量O=o(o1,o2,…,ok,…,ol)T,期望輸出向量d=d(d1,d2,…,dk,…,dl)T,輸入層到隱含層的權(quán)值向量V=v(v1,v2,…,vj,…,vm)T,其中vj為隱含層第j個(gè)神經(jīng)元對(duì)應(yīng)的權(quán)值向量;隱含層到輸出層的權(quán)值向量W=w(w1,w2,…,wk,…wl)T,其中wk為輸出層第k個(gè)神經(jīng)元對(duì)應(yīng)的權(quán)值向量;隱含層的閾值向量θ=(θ1,θ2,…,θj,…,θm)T;輸出層的閾值向量γ=(γ1,γ2,…,γk,…,γl)T。
(1) 用小的隨機(jī)數(shù)對(duì)每一層的權(quán)值和偏差初始化,以保證網(wǎng)絡(luò)不被大的加權(quán)輸入飽和,并進(jìn)行以下參數(shù)的設(shè)定或初始化:
期望誤差最小值;最大循環(huán)次數(shù);修正權(quán)值的學(xué)習(xí)速率;
(2) 將原始圖像分為4×4或8×8大小的塊,選取其中一塊的像素值作為訓(xùn)練樣本接入到輸入層,計(jì)算各層輸出:
yj=f(netj)
(1)
netj=∑ni=1vijxi+θj, j=1,2,…,m;
(2)
ok=f(netk)
(3)
netk=∑mj=1wjkyj+γk, k=1,2,…,l
(4)
其中:f(•)為BP網(wǎng)絡(luò)中各層的傳輸函數(shù)。
(3)計(jì)算網(wǎng)絡(luò)輸出與期望輸出之間的誤差,判斷是否小于期望誤差,是則訓(xùn)練結(jié)束,否則至下一步,其中反傳誤差的計(jì)算式為:
E=12(d-O)2=12∑lk=1(dk-ok)2
(5)
(4) 計(jì)算各層誤差反傳信號(hào);
(5) 調(diào)整各層權(quán)值和閾值;
(6) 檢查是否對(duì)所有樣本完成一次訓(xùn)練,是則返回步驟(2),否則至步驟(7);
(7) 檢查網(wǎng)絡(luò)是否達(dá)到最大循環(huán)次數(shù),是則訓(xùn)練結(jié)束,否則返回步驟(2)。
經(jīng)過(guò)多次訓(xùn)練,最后找出最好的一組權(quán)值和閾值,組成三層前饋神經(jīng)網(wǎng)絡(luò),用于該算法的FPGA設(shè)計(jì)。
2 基于BP神經(jīng)網(wǎng)絡(luò)的FPGA設(shè)計(jì)
2.1 硬件設(shè)計(jì)方案
本文提出了一種基于三層前饋BP神經(jīng)網(wǎng)絡(luò)的圖像壓縮算法的實(shí)現(xiàn)方案,包括三層BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法編碼器以及譯碼器的實(shí)現(xiàn)方案。
由三層BP前饋神經(jīng)網(wǎng)絡(luò)圖像壓縮的結(jié)構(gòu)圖可以看出,其解碼器是編碼器的逆過(guò)程,在實(shí)現(xiàn)編碼器之后,實(shí)現(xiàn)解碼器非常方便,故本文重點(diǎn)在于解碼器的FPGA設(shè)計(jì)。
基于三層BP前饋神經(jīng)網(wǎng)絡(luò)圖像壓縮算法的編碼器的FPGA設(shè)計(jì)方案如圖2所示。
圖2 三層BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法編碼器結(jié)構(gòu)圖
其中,在數(shù)據(jù)預(yù)處理部分,首先將原始圖像分成n×n的小塊,以每一小塊為單位進(jìn)行歸一化[8]。歸一化的目的,主要有以下兩點(diǎn):
(1) BP網(wǎng)絡(luò)的神經(jīng)元均采用Sigmoid轉(zhuǎn)移函數(shù),變換后可防止因凈輸入的絕對(duì)值過(guò)大而使神經(jīng)元輸出飽和,繼而使權(quán)值調(diào)整進(jìn)入誤差曲面的平坦區(qū);
(2) Sigmoid轉(zhuǎn)移函數(shù)的輸出在-1~+1之間,作為信號(hào)的輸出數(shù)據(jù)如不進(jìn)行變換處理,勢(shì)必使數(shù)值大的輸出分量絕對(duì)誤差大,數(shù)值小的輸出分量絕對(duì)誤差小。網(wǎng)絡(luò)訓(xùn)練時(shí)只針對(duì)輸出的總誤差調(diào)整權(quán)值,其結(jié)果是在總誤差中占份額小的輸出分量相對(duì)誤差較大,對(duì)輸出量進(jìn)行尺度變化后這個(gè)問(wèn)題可迎刃而解。
歸一化后得到以每小塊的灰度值為列向量組成的待壓縮矩陣,將該矩陣存儲(chǔ)在RAM里,然后以每一列為單位發(fā)送給先入先出寄存器FIFO(First Input First Output);由FIFO將向量x1,x2,…,xn以流水(pipeline)方式依次傳入各乘累加器MAC(Multiply-Accumulate),相乘累加求和后,送入LUT(Lookup Table)得到隱層相應(yīng)的節(jié)點(diǎn)值,這里L(fēng)UT是實(shí)現(xiàn)Sigmoid函數(shù)及其導(dǎo)函數(shù)的映射[9]。
在整個(gè)電路的設(shè)計(jì)中,采用IP(Intellectual Property)核及VHDL代碼相結(jié)合的設(shè)計(jì)方法,可重載IP軟核,具有通用性好,便于移植等優(yōu)點(diǎn),但很多是收費(fèi)的,比如說(shuō)一個(gè)高性能流水線(xiàn)設(shè)計(jì)的MAC軟核,所以基于成本考慮,使用VHDL語(yǔ)言完成MAC模塊的設(shè)計(jì),而RAM和FIFO模塊則采用免費(fèi)的可重載IP軟核,使整個(gè)系統(tǒng)的設(shè)計(jì)達(dá)到最佳性?xún)r(jià)比。
在壓縮算法的實(shí)現(xiàn)中,乘累加單元是共同部分,也是編碼和譯碼器FPGA實(shí)現(xiàn)的關(guān)鍵。
2.2 乘累加器MAC的流水線(xiàn)設(shè)計(jì)及其仿真
流水線(xiàn)設(shè)計(jì)是指將組合邏輯延時(shí)路徑系統(tǒng)地分割,并在各個(gè)部分(分級(jí))之間插人寄存器暫存中間數(shù)據(jù)的方法。流水線(xiàn)縮短了在一個(gè)時(shí)鐘周期內(nèi)信號(hào)通過(guò)的組合邏輯電路延時(shí)路徑長(zhǎng)度,從而提高時(shí)鐘頻率。對(duì)于同步電路,其速度指同步電路時(shí)鐘的頻率。同步時(shí)鐘愈快,電路處理數(shù)據(jù)的時(shí)間間隔越短,電路在單位時(shí)間內(nèi)處理的數(shù)據(jù)量就愈大,即電路的吞吐量就越大。理論而言,采用流水線(xiàn)技術(shù)能夠提高同步電路的運(yùn)行速度[10]。
MAC電路是實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的重要組成部分,在許多數(shù)字信號(hào)處理領(lǐng)域也有著廣泛應(yīng)用,比如數(shù)字解調(diào)器、數(shù)字濾波器和均衡器,所以如何提高M(jìn)AC的效率和運(yùn)算速度具有極高的使用價(jià)值。
本方案采用的MAC設(shè)計(jì)以四輸入為例。
四輸入的MAC電路必須執(zhí)行四次乘法操作和兩次加法操作,以及最后的兩次累加操作。如果按照非流水線(xiàn)設(shè)計(jì),完成一次對(duì)輸入的處理,需要這三步延遲時(shí)間的總和,這會(huì)降低一個(gè)高性能系統(tǒng)的效率。而采用流水線(xiàn)設(shè)計(jì),則可以避免這種延遲,將MAC的操作安排的像一條裝配線(xiàn)一樣,也就是說(shuō),通過(guò)這種設(shè)計(jì)它可以使系統(tǒng)執(zhí)行的時(shí)鐘周期減小到流水線(xiàn)中最慢步驟所需的操作時(shí)間,而不是各步驟延遲時(shí)間之和,如圖3所示。
圖3 基于流水線(xiàn)設(shè)計(jì)的四輸入MAC結(jié)構(gòu)圖
在第一個(gè)時(shí)鐘邊沿,第一對(duì)數(shù)據(jù)被存儲(chǔ)在輸入寄存器中。在第一個(gè)時(shí)鐘周期,乘法器對(duì)第一對(duì)數(shù)據(jù)進(jìn)行乘法運(yùn)算,同時(shí)系統(tǒng)為下一對(duì)數(shù)據(jù)的輸入作準(zhǔn)備。在第二個(gè)時(shí)鐘邊沿,第一對(duì)數(shù)據(jù)的積存儲(chǔ)在第一個(gè)流水線(xiàn)寄存器,且第二對(duì)數(shù)據(jù)已經(jīng)進(jìn)入輸入寄存器。在第二個(gè)時(shí)鐘周期,完成對(duì)第一對(duì)數(shù)據(jù)積的兩次加法操作,而乘法器完成第二對(duì)數(shù)據(jù)的積運(yùn)算,同時(shí)準(zhǔn)備接收第三隊(duì)數(shù)據(jù)。在第三個(gè)時(shí)鐘邊沿,這些數(shù)據(jù)分別存放在第二個(gè)流水線(xiàn)寄存器,第一個(gè)流水線(xiàn)寄存器,以及輸入寄存器中。在第三個(gè)時(shí)鐘周期,完成對(duì)第一對(duì)數(shù)據(jù)和之前數(shù)據(jù)的累加求和,對(duì)第二對(duì)數(shù)據(jù)的兩次加法操作,對(duì)第一對(duì)數(shù)據(jù)的乘法運(yùn)算,并準(zhǔn)備接收第四對(duì)數(shù)據(jù)。在第四個(gè)始終邊沿,累加器中的和將被更新。
在本設(shè)計(jì)方案中,測(cè)試仿真平臺(tái)選用的FPGA芯片為ALTERA公司Cyclone Ⅱ系列的EP2C8芯片,它采用90 nm的制造工藝,擁有8 256個(gè)邏輯單元,36個(gè)M4K隨機(jī)只讀存儲(chǔ)器,2個(gè)數(shù)字鎖相環(huán),以及18個(gè)硬乘法器等豐富資源。仿真工具使用業(yè)界流行的Mentor Graphics公司的仿真軟件Modelsim 6.1f。
對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證時(shí),常見(jiàn)的方法是在模擬時(shí)施加輸入激勵(lì)信號(hào),然后“讀”該設(shè)計(jì)的輸出信號(hào),它的主要缺點(diǎn)是隨著模擬器的不同而不同。為了克服此缺點(diǎn),采用的測(cè)試方法是用VHDL編寫(xiě)一個(gè)測(cè)試模型發(fā)生器,稱(chēng)為T(mén)estbench,它的優(yōu)點(diǎn)是通用性好,靈活性強(qiáng),可以隨時(shí)更改輸入激勵(lì),已得到不同的仿真結(jié)果。
在對(duì)該MAC模塊進(jìn)行測(cè)試的過(guò)程中,涉及輸入數(shù)據(jù)的轉(zhuǎn)化問(wèn)題,如前所述,在本神經(jīng)網(wǎng)絡(luò)中,輸入數(shù)據(jù)歸一化后,集中在-1~+1之間,所以處理時(shí)必須進(jìn)行轉(zhuǎn)化,最后采用16位補(bǔ)碼形式的定點(diǎn)二進(jìn)制表示法,由于在求和中可能會(huì)產(chǎn)生溢出,還必須包含一個(gè)溢出狀態(tài)信號(hào)。
輸入數(shù)據(jù)轉(zhuǎn)換16位補(bǔ)碼的仿真波形如圖4所示。
圖4 輸入數(shù)據(jù)轉(zhuǎn)換16位補(bǔ)碼仿真波形圖
16位補(bǔ)碼轉(zhuǎn)換原輸入實(shí)數(shù)的仿真波形如圖5所示。
圖5 16位補(bǔ)碼轉(zhuǎn)換為實(shí)數(shù)的仿真波形圖
在完成了對(duì)輸入、輸出數(shù)據(jù)的轉(zhuǎn)換之后,編寫(xiě)Testbench(測(cè)試臺(tái))程序,對(duì)基于流水線(xiàn)設(shè)計(jì)的四輸入MAC進(jìn)行行為級(jí)仿真,仿真波形如圖6所示。
圖6 MAC行為級(jí)功能仿真圖
綜上所述,在基于流水線(xiàn)的乘法設(shè)計(jì)中,雖然每一步操作后都加入了寄存器,消耗了更多的資源,但卻可以將系統(tǒng)延時(shí)降低到最慢步驟所需要的時(shí)間,極大地提高了同步電路的運(yùn)算速度。
3 結(jié) 語(yǔ)
介紹了基于三層前饋BP神經(jīng)網(wǎng)絡(luò)的圖像壓縮算法,提出了基于FPGA的實(shí)現(xiàn)驗(yàn)證方案,詳細(xì)討論了實(shí)現(xiàn)該壓縮網(wǎng)絡(luò)組成的重要模塊MAC電路的流水線(xiàn)設(shè)計(jì)。在對(duì)BP神經(jīng)網(wǎng)絡(luò)的電路設(shè)計(jì)中,對(duì)傳輸函數(shù)及其導(dǎo)函數(shù)的線(xiàn)性逼近也是近來(lái)研究的熱點(diǎn)之一,本文使用的壓縮查找表雖然能夠滿(mǎn)足設(shè)計(jì)要求,但仍然消耗了大
量資源。該研究結(jié)果對(duì)整個(gè)壓縮解壓縮算法的實(shí)現(xiàn)以及多層神經(jīng)網(wǎng)絡(luò)的相關(guān)研究工作提供了參考。
參考文獻(xiàn)
[1]董長(zhǎng)虹.Matlab神經(jīng)網(wǎng)絡(luò)與應(yīng)用[M].2版.北京:國(guó)防工業(yè)出版社,2007.
[2]趙宏怡.DSP技術(shù)與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2003.
[3]劉艷萍.DSP技術(shù)原理及應(yīng)用教程[M].北京:北京航空航天大學(xué)出版社,2005.
[4]蘇濤,藺麗華.DSP實(shí)用技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005.
[5]田華,馮勤群,胡喜飛.基于DSP和FPGA的高速圖像壓縮系統(tǒng)設(shè)計(jì)[J].電子工程師,2005,31(8):51-52.
[6]張秀艷.基于FPGA的神經(jīng)網(wǎng)絡(luò)硬件實(shí)現(xiàn)中的關(guān)鍵問(wèn)題研究[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2005,15(5):273-275.
[7]馮春麗.基于改進(jìn)型BP網(wǎng)絡(luò)圖像壓縮方法的研究[D].錦州:遼寧工學(xué)院,2007.
[8]張銳菊,周詮.神經(jīng)網(wǎng)絡(luò)用于遙感圖像壓縮的一些研究結(jié)果[J].中國(guó)體視學(xué)與圖像分析,2003,8(3):183-186.
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);VHDL;模擬與仿真
一、人工神經(jīng)理論基礎(chǔ)
神經(jīng)網(wǎng)絡(luò)又被稱(chēng)為鏈接模型,其本身是模仿動(dòng)物的神經(jīng)網(wǎng)絡(luò),并根據(jù)其行為特征分布式進(jìn)行算法數(shù)學(xué)模型處理。在計(jì)算機(jī)上,人們可以利用并行或者串行的模式模擬仿真,實(shí)現(xiàn)人們自身的神經(jīng)網(wǎng)絡(luò)模型算法。在特定應(yīng)用情況下,進(jìn)行神經(jīng)網(wǎng)絡(luò)研究的目標(biāo)則是高性能專(zhuān)用的神經(jīng)網(wǎng)絡(luò)硬件。
神經(jīng)元是人工神經(jīng)網(wǎng)絡(luò)的基本單元,具有一定的信息處理方面的能力。對(duì)于輸入的內(nèi)容,神經(jīng)元可以簡(jiǎn)單進(jìn)行處理,能根據(jù)學(xué)習(xí)規(guī)則做好加權(quán)求和,并根據(jù)權(quán)值來(lái)獲取神經(jīng)元的狀態(tài)輸出,以便對(duì)刺激進(jìn)行處理。還可建立基于VHDL語(yǔ)言的神經(jīng)網(wǎng)絡(luò)元件庫(kù),它包括基本單元、控制單元兩個(gè)部分。
二、 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型
BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱含層和輸出層組成,相鄰層之間的各個(gè)神經(jīng)元實(shí)現(xiàn)全連接,每層各個(gè)神經(jīng)元之間沒(méi)有連接。
BP算法正向傳播過(guò)程:輸入信號(hào)從輸入層輸入,經(jīng)過(guò)隱含層傳向輸出層。如果輸出層的實(shí)際輸出與期望輸出一致,那么學(xué)習(xí)算法結(jié)束。基本控制單元用于建立隱含層和輸出層的神經(jīng)元,主要解決信號(hào)運(yùn)算后權(quán)值存儲(chǔ)問(wèn)題,它主要包括加權(quán)乘法、神經(jīng)元輸入信號(hào)的累加、非線(xiàn)性激勵(lì)函數(shù)的實(shí)現(xiàn)、權(quán)值存儲(chǔ)等基本模塊。
圖1中xi代表第i個(gè)輸入,wij代表輸入i和神經(jīng)元j之間的權(quán)值(weight),yj是第j個(gè)輸出。如圖1所示可以得到:
y1=f(x1.w11+x2.w21+x3.w31 ) 2-1
y2=f(x1.w11+x2.w22+x3.w32) 2-2
y3=f(x1.w11+x2.w23+x3.w33) 2-3
其中f( )是激化函數(shù)(如線(xiàn)性閾值的sigmoid函數(shù)等)。
三、神經(jīng)網(wǎng)絡(luò)模型與仿真
clk產(chǎn)生脈沖信號(hào),輸入端x1,x2,x3 分別置為011,100,101,權(quán)值初值設(shè)為0000,通過(guò)9個(gè)脈沖周期一次遞增到1000,將權(quán)值與輸入值進(jìn)行運(yùn)算,得出結(jié)果。在權(quán)值固定時(shí),輸出取決于輸入,不同的輸入得到不同的輸出結(jié)果。而在權(quán)值變化時(shí),輸出就由輸入和權(quán)值決定。
為了仿真的結(jié)果更直觀(guān),代碼采用的每個(gè)神經(jīng)元的3個(gè)輸入信號(hào)以及權(quán)值的位寬都為4,且?guī)в蟹?hào)。權(quán)值共設(shè)了9個(gè),采用9個(gè)時(shí)鐘周期將權(quán)值移入值。模擬與仿真的結(jié)果如圖2所示。
結(jié)果分析:模擬結(jié)果與結(jié)果一致,此仿真成功。
四、結(jié)語(yǔ)
基于VHDL編程實(shí)現(xiàn)簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)的軟件模擬與仿真,從算法的提出到模型的建立,完整地體現(xiàn)神經(jīng)網(wǎng)絡(luò)的可用性與優(yōu)越性。文中所提的神經(jīng)網(wǎng)絡(luò)模型是對(duì)單個(gè)神經(jīng)網(wǎng)絡(luò)的模擬與仿真,以及基于二維數(shù)組的多個(gè)輸入輸出的大規(guī)模神經(jīng)網(wǎng)絡(luò)的模擬。由于VHDL語(yǔ)言編程的靈活性,可以將編程下載到芯片用硬件實(shí)現(xiàn)對(duì)神經(jīng)網(wǎng)絡(luò)的模擬,以提高系統(tǒng)運(yùn)算的速度和可靠性。
參考文獻(xiàn):
神經(jīng)科研究 神經(jīng)內(nèi)科論文 神經(jīng)網(wǎng)絡(luò)技術(shù) 神經(jīng)網(wǎng)絡(luò)論文 神經(jīng)外科論文 紀(jì)律教育問(wèn)題 新時(shí)代教育價(jià)值觀(guān)
部級(jí)期刊 審核時(shí)間1-3個(gè)月
中山大學(xué)腫瘤防治中心;中國(guó)抗癌協(xié)會(huì)神經(jīng)腫瘤專(zhuān)業(yè)委員會(huì)