基于神經(jīng)網(wǎng)絡(luò )ZISC的模式識別系統
關(guān)鍵詞:人工神經(jīng)網(wǎng)絡(luò ) ZISC 超大規模集成電路 徑向基函數 模式識別
引言
當前對人工神經(jīng)網(wǎng)絡(luò )ANN(Artificial Neutron Network)的研究熱潮源自Hopfield J.[1]和McclellandJ.等人于20世紀80年代發(fā)表的論文[2],[3]。Hopfield提出了激活函數為非線(xiàn)性的反饋網(wǎng)絡(luò ),并將其成功地運用于組合優(yōu)化問(wèn)題;Mcclelland和Rumelhart用多層前饋網(wǎng)的反向傳播學(xué)習算法(Back Propagation)成功地解決了感知器不能解決的"異或"問(wèn)題及其它的識別問(wèn)題。他們的突破打消了此前人們由于簡(jiǎn)單線(xiàn)性神經(jīng)網(wǎng)絡(luò )感知功能的有限而產(chǎn)生的,使ANN成為了新的研究熱點(diǎn)。之后,新的網(wǎng)絡(luò )結構和新的學(xué)習算法層出不窮,目前常見(jiàn)的都已達到幾十種。在這些神經(jīng)網(wǎng)絡(luò )中,徑向基函數RBF(Radial Basic Fuction)網(wǎng)絡(luò )由于具有強大的矢量分類(lèi)功能和快速的計算能力,在非線(xiàn)性函數逼近等方面,特別是模式識別領(lǐng)域,獲得了廣泛的應用,從而成為當前神經(jīng)網(wǎng)絡(luò )研究中的一個(gè)熱點(diǎn)[4]。
模式識別是人工智能經(jīng)常遇到的問(wèn)題之一。其主要的應用領(lǐng)域包括手寫(xiě)字符識別、自然語(yǔ)言理解、語(yǔ)音信號識別、生物測量以及圖像識別等領(lǐng)域。這些領(lǐng)域的共同特點(diǎn)都是通過(guò)對對象進(jìn)行特征矢量抽取,再按事先由學(xué)習樣本建立的有代表性的識別字典,把特征矢量分別與字典中的標準矢量匹配,根據不同的距離來(lái)完成對象的分類(lèi)。以識別手寫(xiě)數字為例,字典中有由學(xué)習樣本建立的10個(gè)標準矢量(代表0~0),把從識別對象中抽取的特征矢量分別與這10個(gè)標準矢量匹配,矢量間距離最短的就說(shuō)明別對象與這個(gè)標準矢量的分類(lèi)最接近,進(jìn)而識別出其表示的數字。
模式識別過(guò)程中,產(chǎn)生一個(gè)具有代表性的、穩定且有效的特征矢量分類(lèi)匹配策略,是補償變形、提高識別率的有效途徑,如何確定分類(lèi)器是識別系統成功的關(guān)鍵??梢哉f(shuō),模式識別的本質(zhì)就是分類(lèi),就是把特片空間中一個(gè)特定的點(diǎn)(特征矢量)映射到一個(gè)適當的模式類(lèi)別中。傳統的模式識別分類(lèi)都是基于串行處理的匹配策略:首先由學(xué)習樣本建立識別基元(字、詞、音、像素)的標準矢量識別字典,取取的特征矢量順序與字典中的標準矢量計算區別得分;最后根據概率做出決策,輸出識別結果。當模式類(lèi)別很大時(shí),識別速度會(huì )下降得很快,而近年來(lái),用RBF網(wǎng)絡(luò )解決這方面的問(wèn)題得到了很好的效果。
理論模型要求發(fā)展神經(jīng)網(wǎng)絡(luò )型計算機來(lái)實(shí)現,但迄今 為止,這方面的工作限于條件還主要集中在傳統計算機的軟件模擬實(shí)現上。大多數學(xué)者認為,要使人工神經(jīng)網(wǎng)絡(luò )更快、更有效地解決更大規模的總是,關(guān)鍵在于其超大規模集成電路(V LSI)硬件的實(shí)現,即把神經(jīng)元和連接制作在一塊芯片上(多為CMOS)構成ANN。正是因為上述的原因,其中神經(jīng)網(wǎng)絡(luò )的VLSI設計方法近年來(lái)發(fā)展很快,硬件實(shí)現已成為ANN的一個(gè)重要分支[5],[6]。
以下介紹IBM的專(zhuān)利硬件RBF神經(jīng)網(wǎng)絡(luò )芯片技術(shù)ZISC(Zero Instruction Set Computer),并給出用ZISC設計和實(shí)現的一種模式識別系統。
1 用VLSI設計硬件神經(jīng)網(wǎng)絡(luò )的方法
神經(jīng)網(wǎng)絡(luò )的IC實(shí)現是比較困難的,設計者必須把神經(jīng)系統模型的特性反映到受半導體工藝和IC設計規則制約的電路中去。用VLSI設計硬件神經(jīng)網(wǎng)絡(luò )的方法主要分為數字技術(shù)、模擬技術(shù)和數?;旌霞夹g(shù)等,下面分別作簡(jiǎn)要介紹。
(1)用模擬技術(shù)實(shí)現硬件神經(jīng)網(wǎng)絡(luò )
模擬神經(jīng)芯片通過(guò)單元器件的物理性質(zhì)來(lái)進(jìn)行計算,因而可以獲得很高的速度。神經(jīng)元的核函數計算功能一般由乘法器或運算放大器來(lái)完成,而連接權值大多以電壓形式存儲在電容上或是以電荷形式存儲在浮點(diǎn)門(mén)上。利用模擬神經(jīng)芯片不僅可以制造多層前向感知器那樣的傳統結構,還能從形態(tài)上進(jìn)行如硅視網(wǎng)膜這樣的生物仿真設計,從而更有效地模擬生物學(xué)功能。
在解決實(shí)時(shí)感知類(lèi)的問(wèn)題中,模擬神經(jīng)芯片扮演著(zhù)主要的角色。因為這些問(wèn)題不要求精確的數學(xué)計算,而主要是對大量的信息流進(jìn)行集合和并行處理,這方面低精度的模擬技術(shù)從硅片面積、速度和功耗來(lái)看具有相當大的優(yōu)勢。但是模擬芯片的抗干擾性差,設計中需要考慮對環(huán)境因素變化引起的誤差進(jìn)行補償,非常麻煩;它的另一個(gè)缺點(diǎn)是,制造一個(gè)突觸必須考慮權值存儲的復雜性,同時(shí)要求放大器在很寬的范圍內呈現線(xiàn)性[5],[6]。
(2)用數字技術(shù)實(shí)現硬件神經(jīng)網(wǎng)絡(luò )
用高低電平來(lái)表示不同狀態(tài)的數字電路是信息工業(yè)中最常用的技術(shù)。數字神經(jīng)芯片有非常成熟的生產(chǎn)工藝,它的權值一般存儲在RAM或EPROM等數字存儲器中,由乘法器和加法器實(shí)現神經(jīng)元并行計算。對設計者來(lái)說(shuō),數字神經(jīng)芯片可以以很高的計算精度(達到32位或者更高)實(shí)現神經(jīng)元核函數。另外,用數字技術(shù)實(shí)現神經(jīng)網(wǎng)絡(luò )時(shí),通??梢圆捎脴藴蕟卧獛旎蚩删幊涕T(mén)陣列直接進(jìn)行電路設計,這樣可以大大減少設計時(shí)間[5],[6]。
數字神經(jīng)芯片不僅具有容錯性好、易于硬件實(shí)現及高精度、高速度的優(yōu)點(diǎn)。更重要的是有很多數字電路CAD的軟件可以作為設計工具使用。但要實(shí)現乘/加運算,需要大量的運算單元和存儲單元。因而對芯睡面積和功耗要求很高。為了適應大面積的數字電路的要求,現在很多數字神經(jīng)芯片都采用了硅片集成技術(shù)(Wafer-Scale Integration)。
(3)用數?;旌霞夹g(shù)實(shí)現硬件神經(jīng)網(wǎng)絡(luò )
出于上述種種考慮,許多研究人員提出并采用了各種數?;旌仙窠?jīng)芯片,具有數字及模擬工藝各息的優(yōu)點(diǎn)而避免各自的缺點(diǎn),運算速率高,芯片面積小,抗噪聲能力強且易于設計。典型的數?;旌闲盘柼幚聿糠謩t全是模擬的。這種結構很容易與其它的數字系統接口以完成模塊化設計。近年來(lái)在各種數?;旌仙窠?jīng)芯片設計中,利用脈沖技術(shù)的數?;旌仙窠?jīng)芯片和利用光互連技術(shù)的光電混合神經(jīng)網(wǎng)絡(luò )芯片得到了廣泛的關(guān)系,它們代表神經(jīng)網(wǎng)絡(luò )未來(lái)發(fā)展的方向。
盡管數?;旌仙窠?jīng)芯片有種種優(yōu)點(diǎn),但它也存在著(zhù)一些不足。比如,對于大多數數?;旌仙窠?jīng)芯片來(lái)說(shuō),訓練學(xué)習算法的實(shí)現往往需要一個(gè)附加的協(xié)處理器,這無(wú)疑會(huì )增加整個(gè)神經(jīng)網(wǎng)絡(luò )系統的成本和復雜性[5],[6]。
2 RBF網(wǎng)絡(luò )原理和它的硬件實(shí)現
RBF網(wǎng)絡(luò )是一種有導師的三層前饋網(wǎng)絡(luò )。它最重要的特點(diǎn)是中間隱層神經(jīng)元的基函數只對輸入剩激起局部反應,即只有當輸入落在輸入空間的 一個(gè)局部區域時(shí),基函數才產(chǎn)生一個(gè)重要的非零響應;而在其它情況下基函數輸出很?。山茷榱悖?。網(wǎng)絡(luò )結構如圖1所示。
圖1(a)描述了隱層神經(jīng)元的作用,其中X=(x1,x2,…,Xn)是輸入層的輸入矢量;C=(w1,w2,…,Wn)是該隱層神經(jīng)元的中心矢量(每個(gè)隱層神經(jīng)元的中心徉量存儲在其與輸入各種神經(jīng)元之間的連接權中),σ代表寬度(半徑);而|| ||表示n維空間中矢量之間的距離(這里的距離不一定是數學(xué)意義上的歐幾里得距離,在不同的情況下可以有種種含義);f是隱層神經(jīng)元的基函數,目前用得比較多的是高斯分布函數。
RBF網(wǎng)絡(luò )每個(gè)輸出層結點(diǎn)的輸出為其與各隱層神經(jīng)元輸出y的加權求和。按高斯分布函數的定義,隱層神經(jīng)元的輸出y與輸入矢量x的函數關(guān)系應服從正態(tài)分布,即當X與中心矢量C的距離很矢時(shí),y接近最大值;反之y值減小。如X與C的距離超過(guò)寬度σ(即遠離中心)時(shí),輸出y可近似為零,相當于對輸出層沒(méi)有貢獻。這就實(shí)現了局部感知。
不難看出,RBF網(wǎng)絡(luò )用作矢量分類(lèi)器時(shí),輸入層神經(jīng)元個(gè)數由矢量空間的維數決定,隱層神經(jīng)元個(gè)數由模擬類(lèi)別數決定,每個(gè)隱層神經(jīng)元的中心矢量(與輸入層各神經(jīng)元之間的連接權)都代表一種模式類(lèi)別。輸入矢量與哪個(gè)隱層神經(jīng)元的中心矢量距離近,哪個(gè)隱層神經(jīng)元的基函數輸出就大,相應的模式類(lèi)別對輸出層的貢獻就大;與哪個(gè)隱層神經(jīng)元的中心矢量距離遠,哪個(gè)隱層神經(jīng)元的基函數輸出就小,甚至不激活,輸出0,相應的模式類(lèi)別當然就不會(huì )影響RBF網(wǎng)絡(luò )的輸出,矢量和模式類(lèi)別的分類(lèi)由此完成。
相對于網(wǎng)絡(luò )結構的簡(jiǎn)單,RBF網(wǎng)絡(luò )權值的訓練方法要復雜一些。通常分為下面的兩個(gè)步驟。
①隱層和輸入層之間的權值采用無(wú)教師聚類(lèi)方法訓練,最常用的是KNN法(K-Nearest-Neighbor)。它的基本思想是先設定訓練樣本的一個(gè)子集;再用模式分類(lèi)算法LBG由這個(gè)子集形成N種類(lèi)的模式,即把子集中的樣本歸類(lèi);然后,按順序處理子集外的訓練樣本:對任一樣本X,找出K個(gè)與X距離最近的矢量(隨便找,只要近就行),計算這K個(gè)矢量分別屬于N個(gè)模式種類(lèi)的數目,哪個(gè)模式種類(lèi)包含的最近矢量最多,X就屬于哪個(gè)模式種類(lèi)。
將輸入的訓練樣本聚類(lèi)后,每個(gè)模式種類(lèi)中所有樣本矢量的平均值就代表該隱層神經(jīng)元和輸入層之間的權值(中心矢量);而所有樣本矢量與中心矢量的平方差的平均值就代表寬度σ。這樣就做出了各個(gè)隱層神經(jīng)元的全部參數。因為這種方法只要求輸入訓練樣本就可以進(jìn)行分類(lèi),無(wú)須知道訓練樣本的理想輸出,因此被稱(chēng)為無(wú)教師方法。
②輸出層和隱層之間的權值采用有教師聚類(lèi)方法訓練。簡(jiǎn)便實(shí)用的一種辦法是:在確定隱層和輸入層之間的權值之后,把訓練樣本矢量和其理想輸出代入RBF網(wǎng)絡(luò ),從而推出各個(gè)輸出層神經(jīng)元和隱層之間的權值。
對RBF網(wǎng)絡(luò )的硬件實(shí)現技術(shù),目前存在著(zhù)不同的觀(guān)點(diǎn)。但就有大規模分類(lèi)和實(shí)時(shí)要求的模式識別問(wèn)題而言,數字電路技術(shù)是最合適的選擇,原因有以下幾點(diǎn):
①RBF網(wǎng)絡(luò )用于手寫(xiě)字符識別、生物圖像識別、自然語(yǔ)言理解這樣的領(lǐng)域時(shí),需要分類(lèi)的模式類(lèi)別數往往成千上萬(wàn),所以要求隱層神經(jīng)元數極大,單片神經(jīng)芯片很難完成。使用數字神經(jīng)芯片,網(wǎng)絡(luò )的擴展十分容易,一般不需要外圍邏輯器件而只要電阻就可以完成;而用數字神經(jīng)芯片由于精度高,理論上可以無(wú)限并行擴展,且性能不下降。
②一個(gè)實(shí)用的模式識別系統,分類(lèi)的模式往往會(huì )隨著(zhù)樣本與環(huán)境的變化而變化,這就需要不斷調整權值。數字神經(jīng)芯片的權值存在數字存儲器中,存儲和恢復都很方便。這樣用于模式識別系統的RBF網(wǎng)絡(luò )的權值易變性得到了保證。
③模式識別系統對特征矢量提取對象的預處理是比較困難的工作。預處理效果不好時(shí),RBF網(wǎng)絡(luò )的輸入往往含有噪聲。數字神經(jīng)芯片在抗干擾性方面與其它V LSI技術(shù)相比,顯然具有無(wú)可比擬的優(yōu)勢。
④模式識別的要求包括模糊匹配和精確匹配兩種。當用RBF網(wǎng)絡(luò )實(shí)現精確匹配時(shí),模擬技術(shù)完成不了這個(gè)要求,此時(shí),數字神經(jīng)芯片是避免錯誤輸出的唯 一選擇。
3 ZISC技術(shù)及其在模式識別中的應用
雖然人們已經(jīng)在神經(jīng)網(wǎng)絡(luò )的硬件實(shí)現上做了大量的工作,并實(shí)現了許多不同的網(wǎng)絡(luò )結構和算法;但是RBF網(wǎng)絡(luò )的硬件實(shí)現工作卻了了無(wú)幾。這說(shuō)明幅度當前的IC技術(shù)實(shí)現RBF網(wǎng)絡(luò )的功能對設計水平的要求是比較高的,因此,本文介紹的這種商業(yè)芯片ZISC就成為了模式識別系統的一種有價(jià)值的神經(jīng)網(wǎng)絡(luò )硬件平臺。
無(wú)指令計算機ZISC是世界著(zhù)名的IBM實(shí)驗室的一項創(chuàng )新性科研成果[7],它采用數字電路技術(shù)實(shí)現了RBF神經(jīng)網(wǎng)絡(luò )及KNN學(xué)習算法的集成電路芯片。作為ZISC芯片的合作發(fā)明人與授權生產(chǎn)商,美國Silicon Rcognition公司專(zhuān)業(yè)從事ZISC技術(shù)推廣,其生產(chǎn)的ZISC036是一顆含有36個(gè)隱層神經(jīng)元,專(zhuān)門(mén)用于各種模式識別矢量分類(lèi)的集成電路。以下列出了它的一些主要特點(diǎn)與功能:
*使用RBF網(wǎng)絡(luò )模型,無(wú)須編程而只須給它訓練樣本,即能實(shí)現學(xué)習和自適應識別;
*全并行運算,模式分類(lèi)速度與隱層神經(jīng)元存儲的矢量數量完全無(wú)關(guān);
*無(wú)須外圍邏輯電路即可實(shí)現多片ZISC036級連,模式分類(lèi)數量及神經(jīng)網(wǎng)絡(luò )規模沒(méi)有限制;
*輸入和存儲的矢量分量數目從1~64個(gè)可調(每個(gè)分量8位);
*超快速度,64個(gè)分量的特征矢量的識別在4.8ms內完成(主頻時(shí)鐘20MHz);
*用寄存器存儲神經(jīng)網(wǎng)絡(luò )全局信息與神經(jīng)元信息和權值;
*CMOS和TTL兼容的I/O,TQFP144封裝,5V標準電源供電。
不難看出,應用這種神經(jīng)網(wǎng)絡(luò )芯片不需要操作系統和編程語(yǔ)言,主要的工作就是訓練它和讓它學(xué)習。因此,用它開(kāi)發(fā)面向消費類(lèi)的模式識別產(chǎn)品是一種簡(jiǎn)單且實(shí)用可行的方法,可以大大地縮短研發(fā)周期。
本文給出了用六片ZISC036級連,通過(guò)印制電路板實(shí)現的通用模式識別系統。圖2為這個(gè)系統的總體框圖。
系統通過(guò)PCI總線(xiàn)接受待識別的模式原始數據。數字存儲在2個(gè)8MB高速DRAM區中。神經(jīng)網(wǎng)絡(luò )控制器選用Xilinx Virtex FPGA,它的主要功能是完成對原始數據的特征矢量提取并輸入到ZISC036芯片陣列中??梢允褂脴藴实腇PGA開(kāi)發(fā)工具生成不同的RBF文件,從而實(shí)現不同的特征矢量提取電路。ZISC036芯片陣列按照三描述的方法一個(gè)個(gè)順序接受矢理輸入,然后進(jìn)行并行的學(xué)習和分類(lèi),識別結果作為輸出返回。只要修改FPGA中的特征矢量提取電路和界面程序,就可以實(shí)現圖像、話(huà)音等各種不同的模式識別程序,只要修改FPGA中的特征矢量提取電路和界面程序,就可以實(shí)現圖像、話(huà)音等各種不同的模式識別功能。這個(gè)通用模式識別系統的性能以傳統CPU或DSP的指標來(lái)衡量,相當于13.2GPS(每秒執行132億條指令)。
用上述系統可以完成如圖像目標跟蹤、圖像識別、數據挖掘等許多實(shí)時(shí)性要求很高的模式識別和分類(lèi)功能。以下用一個(gè)自適應圖像目標跟蹤的實(shí)驗作為例子,視頻圖片演示結果如圖3所示。
圖3的視頻圖片從一段AVI文件中捕獲。首先從初始的視頻幀中選定汽車(chē)的圖像,提取其紋理特征作為訓練樣本輸入到ZISC神經(jīng)網(wǎng)絡(luò )。然后,ZISC神經(jīng)網(wǎng)絡(luò )在后面接下來(lái)的視頻幀中搜索類(lèi)似的圖像紋理模式并圈定跟蹤目標的坐標。如果發(fā)現所跟蹤目標的模式發(fā)生變化,ZISC神約網(wǎng)絡(luò )能夠自動(dòng)學(xué)習新的特征并建立一個(gè)新的模式存入神經(jīng)網(wǎng)絡(luò )。通過(guò)不斷地比較已存入神經(jīng)網(wǎng)絡(luò )的模式和所跟蹤目標之間的區別,系統就能夠識別目標,從而在擁擠的背景和變化的環(huán)境下始終鎖定目標。實(shí)驗用視頻圖片為320240像素,跟蹤目標掃描范圍為2020像素。
結語(yǔ)
RBF神經(jīng)網(wǎng)絡(luò )的硬件實(shí)現是實(shí)現高速大規模模式分類(lèi)的關(guān)鍵,而使用現有的比較成熟的商業(yè)芯片又無(wú)疑能簡(jiǎn)化模式識別系統的開(kāi)發(fā)工作。IBM的ZISC采用數字電路技術(shù)實(shí)現了RBF神經(jīng)網(wǎng)絡(luò )芯片,用它作為核心,既能夠大幅度提高識別性能,又能夠縮短開(kāi)發(fā)周期,是設計高性能模式識別。
評論