亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

模式識(shí)別處理器的制作方法

文檔序號(hào):6614117閱讀:361來源:國知局
專利名稱:模式識(shí)別處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及模式識(shí)別處理器,包含線性變換處理器和支撐向量機(jī)處理器,特別涉及基于超大規(guī)模集成電路 的線性變換和支撐向量機(jī)的硬件實(shí)現(xiàn)。
背景技術(shù)
本發(fā)明所指的模式識(shí)別處理器(Pattern Recognition Processor)是基于超大規(guī)模集成電路技術(shù)的線性 變換處理器(Linear Transform Processor)和支撐向量機(jī)處理器(Support Vector Machine Processor^ 這兩個(gè)處理器系統(tǒng)在信息處理通道上連接在一起構(gòu)成模式識(shí)別處理器的體系核心。
線性變換LTR (Linear Transform)的數(shù)學(xué)抽象是指輸入向量通過線性變換矩陣進(jìn)行運(yùn)算生成對(duì)應(yīng)的輸出 向量。其物理意義是改變研究對(duì)象的表達(dá)空間,從新的角度去看同一個(gè)問題。這樣的變換在一些信息處理 領(lǐng)域是非常重要的,因?yàn)樵谝粋€(gè)新的空間里,信息的重新排列和組合有助于我們提取有用的信息和除去不 需要的信息,簡化研究對(duì)象的復(fù)雜度。事實(shí)上離散余弦變換DCT (Discrete Cosine Transform),數(shù)字小 波變換DWT (Discrete Wavelet Transform),以及快速福里哀變換FFT (Fast Fourier Transform)都是 特殊的線性變換,它們?cè)谛盘?hào)處理領(lǐng)域的應(yīng)用非常廣泛。 一個(gè)常見的例子就是離散余弦變換DCT在圖像壓 縮算法里的應(yīng)用, 一個(gè)8 x 8的圖像點(diǎn)陣通過DCT變換之后,使得這一小片圖像的表達(dá)從空間范疇(Spatial Domain)轉(zhuǎn)變?yōu)轭l率范疇(Frequency Domain),從而我們非常容易地在這個(gè)新的研究空間里選取能量集 中的低頻信息,舍去那些能量分散的高頻信息,實(shí)現(xiàn)圖像壓縮的目標(biāo)。
支撐向量機(jī)SVM (Su卯ort Vector Machine)是一個(gè)決策系統(tǒng)的數(shù)學(xué)模型。具體的應(yīng)用方法可概括為分類 和回歸(Classification and Regression)。其中分類的方法用于二值判斷,針對(duì)某一個(gè)輸入對(duì)象,給出 是或者不是的回答?;貧w的方法用于量化預(yù)測,針對(duì)某一個(gè)輸入對(duì)象給出它的函數(shù)值。我們?nèi)说乃季S過程 在很多情況下是二值判斷。比如當(dāng)我們從視覺空間里看到一個(gè)物體,我們想知道這個(gè)物體是不是一輛小轎 車,那么最后的情況只有兩種是或者不是,哪怕是一個(gè)錯(cuò)誤的回答。通常一個(gè)輸入對(duì)象的描述字是一個(gè) 高維向量,在一個(gè)輸入空間里構(gòu)建一個(gè)用于判斷的超平面(Decision Hyper-Plane),使得對(duì)于每個(gè)輸入 對(duì)象通過運(yùn)算都能確定落在該平面的哪一邊,從而給出一個(gè)二值輸出。這個(gè)超平面就是SVM的決策模型。 這個(gè)模型通過機(jī)器學(xué)習(xí)(Machine Learning)的方法獲得。
舉例而言,在一個(gè)人臉檢測(Human Face Detection)系統(tǒng)中,我們采用統(tǒng)一大小的圖像窗口去觀測每個(gè) 子圖像,以判別該子圖像包含的內(nèi)容是否一副完整的人臉。我們的檢測過程包含對(duì)圖像的縮小放大和窗口 的平移,以確保不同大小,不同位置的人臉都能經(jīng)過該系統(tǒng)的檢測。通常用一個(gè)32 x 32點(diǎn)陣的窗口去截 取每一副子圖像,以此作為一個(gè)基本的輸入對(duì)象。 一個(gè)32 x 32點(diǎn)陣的圖像描述字是一個(gè)1024維的向量, 其中包含著我們所關(guān)心的人臉特征信息,同時(shí)也包含更多我們所不關(guān)心的信息。要達(dá)到我們的目標(biāo),首先 進(jìn)行對(duì)問題的簡化,通過線性變換將1024維的表達(dá)空間降低到64維的表達(dá)空間,其次在這個(gè)64維的表 達(dá)空間里應(yīng)用支撐向量機(jī)決策系統(tǒng),最后得到我們所需要的二值輸出那就是針對(duì)某個(gè)輸入給出是人臉或 者不是人臉的回答。這就是模式識(shí)別處理器的典型應(yīng)用,至此我們應(yīng)該知道本系統(tǒng)技術(shù)背景的一個(gè)方面。
線性變換的數(shù)學(xué)模型是
7=単-A) (1) 其中r是輸出向量,I。是基準(zhǔn)向量,義是輸入向量,J是線性變換矩陣。從一個(gè)N維向量輸入到一個(gè)M維向量輸出,其浮點(diǎn)加法和浮點(diǎn)乘法運(yùn)算量分別在N x M的數(shù)量級(jí)別上,若 用軟件的方法實(shí)現(xiàn),將會(huì)出現(xiàn)大量的指令迭代,運(yùn)算速度和效率都難以提高。線性變換處理器是用硬件的 方案實(shí)現(xiàn)迭代算法。
支撐向量機(jī)的數(shù)學(xué)模型是
<formula>formula see original document page 4</formula> (2)
其中y是輸出結(jié)果,大于0表示"是",小于0表示"非"。6Y表示支撐向量集合,即所有的支撐向量。 每一個(gè)支撐向量用兀表示,并具有統(tǒng)一的向量維數(shù)。a,是支撐向量乘數(shù),即浮點(diǎn)標(biāo)量,和支撐向量相對(duì) 應(yīng)。g是RBF (Radio Basis Function)函數(shù)的窗口寬度。義是輸入向量,6為輸出閥值(Threshold)。本發(fā) 明所指的支撐向量機(jī)處理器專門指具有RBF內(nèi)核的支撐向量機(jī)模型。
一個(gè)具有S個(gè)支撐向量,每個(gè)支撐向量具有T維的支撐向量機(jī),從一個(gè)T維輸入向量到一個(gè)二值輸出,其
所需的運(yùn)算量為
浮點(diǎn)加法在S x T的數(shù)量級(jí)別上;
浮點(diǎn)乘法在S x T的數(shù)量級(jí)別上;
指數(shù)函數(shù)運(yùn)算在S的數(shù)量級(jí)別上。
由此可見,比較前者,支撐向量機(jī)的運(yùn)算復(fù)雜度就更高。
由于運(yùn)算量大,硬件實(shí)現(xiàn)的復(fù)雜性高,通常情況下的線性變換模型和支撐向量機(jī)模型均由軟件程序?qū)崿F(xiàn), 某些特殊的應(yīng)用,如圖像壓縮DCT的算法可通過硬件加速器完成,但是規(guī)模很小,并且是固化的硬電路, 用戶無法加載變換矩陣。為了從根本上提高運(yùn)算效率,滿足模式識(shí)別的實(shí)時(shí)應(yīng)用環(huán)境的需求,本發(fā)明旨在 提供一個(gè)集成電路電路芯片級(jí)的模式識(shí)別處理器的通用平臺(tái)。該處理器系統(tǒng)由兩個(gè)子系統(tǒng)構(gòu)成,他們分別 是線性變換處理器和支撐向量機(jī)處理器,它們?cè)谕粭l信息處理的通道上作為前置系統(tǒng)和后置系統(tǒng)連接在 一起,構(gòu)成模式識(shí)別裝置的體系核心。
該裝置具有如下特點(diǎn)
(一)通用性
使用的模型均由機(jī)器學(xué)習(xí)(Machine Learning)的方法生成。雖然不同的應(yīng)用提供不同的模型,但是所有 的模型具有相同的結(jié)構(gòu)。對(duì)于模式識(shí)別處理器而言均能加載并根據(jù)模型進(jìn)行運(yùn)算,唯一的區(qū)別是模型參數(shù) 的不同。如前所述的例子,從一般的物體中檢測出是否人臉。同理我們可以從不同形態(tài)的車輛中檢測出是 否有小轎車。同理我們可以通過對(duì)聲納數(shù)據(jù)的處理識(shí)別前方是什么魚群。諸如此類的應(yīng)用,最終均通過模 式識(shí)別處理器來實(shí)現(xiàn)。
(二)靈活性
該模式識(shí)別處理器中的每個(gè)子系統(tǒng),無論是線性變換處理器還是支撐向量機(jī)處理器,均可加載不同參數(shù)的 模型。線性變換處理器可加載不同大小的變換矩陣,所實(shí)現(xiàn)的線性變換完全由用戶所加載的模型決定,包 括DCT, DWT, FFT等正交變換,也可實(shí)現(xiàn)非滿秩的線性變換,如1024 x 64等。支撐向量機(jī)處理器亦可加 載不同的支撐向量機(jī)模型,包括不同的向量維數(shù),不同的支撐向量的數(shù)目,以及不同的RBF內(nèi)核參數(shù)等。 不僅如此,其靈活性還體現(xiàn)在這些模型可根據(jù)系統(tǒng)運(yùn)行的需要按需加載,同一個(gè)硬件平臺(tái)可支持多個(gè)虛擬 的模式識(shí)別處理器,實(shí)現(xiàn)硬件分時(shí)共享。(三) 高效性
由于采用硬件的實(shí)現(xiàn)方法,對(duì)這些運(yùn)算的實(shí)現(xiàn)直接使用硬件電路,而不經(jīng)過軟件程序的迭代循環(huán),從而可 以使整個(gè)運(yùn)算時(shí)間縮短到微秒級(jí)別,使之達(dá)到每秒可進(jìn)行百萬次模式識(shí)別的宏運(yùn)算,以滿足實(shí)時(shí)環(huán)境的應(yīng) 用需求。
(四) 完整的應(yīng)用接口
該模式識(shí)別處理器定義+示準(zhǔn)操作的指令集。通過該指令集,外部系統(tǒng)可以和本處理器之間實(shí)現(xiàn)通訊,調(diào)用 該模式識(shí)別處理器的功能,服務(wù)于應(yīng)用系統(tǒng)。其指令系統(tǒng)包括模型加載,輸入向量加載,運(yùn)算啟動(dòng),運(yùn)行 狀態(tài)檢測,和輸出結(jié)果回收。
由于模式識(shí)別處理器的功能高度分化,它的功能表達(dá)有賴于微處理器的協(xié)同管理。 一種集成方法是將它作 為一個(gè)協(xié)處理器整合到通用微處理器的CPU邏輯功能之中。另一種集成方法是將它作為一個(gè)物理上相對(duì)獨(dú) 立的功能塊通過輸入輸出10總線在10空間范圍內(nèi)實(shí)現(xiàn)。該類10總線可以是微機(jī)的PCI (Peripheral Co即onent Interconnection)總線。其應(yīng)用接口是定義在總線協(xié)議之上的指令操作協(xié)議。

發(fā)明內(nèi)容
本發(fā)明所指的模式識(shí)別處理器(Pattern Recognition Processor)包括線性變換處理器和支撐向量機(jī)處 理器。這兩個(gè)處理器系統(tǒng)在信息處理通道上連接在一起構(gòu)成模式識(shí)別處理器的體系核心。見附圖1。
(一) 線性變換處理器LTP (Linear Transform Processor)
線性變換處理器是一個(gè)實(shí)現(xiàn)線性變換的硬件裝置。該裝置接收輸入向量,經(jīng)過矩陣運(yùn)算,生成輸出向量。 該處理器包括線性變換參數(shù)模塊LTDC(Linear Transform Data Co卿onent),線性變換運(yùn)算部件LTU(Linear Transform Unit),控制部件CU (Control Unit),輸入向量寄存器IVR (Input Vector Register),輸出 向量寄存器OVR (Output Vector Register),以及輸入輸出通信部件I0MU (Input Output Message Unit)。 系統(tǒng)通過模型加載指令將線性變換模型加載到線性變換參數(shù)模塊之中,通過輸入向量加載指令將需要變換 的輸入向量加載到輸入向量寄存器中。當(dāng)系統(tǒng)執(zhí)行運(yùn)算啟動(dòng)指令之后,生成的結(jié)果存儲(chǔ)在輸出向量寄存器 中。輸入輸出通信部件實(shí)現(xiàn)該系統(tǒng)和外部系統(tǒng)的通信。線性變換處理器定義如下基本指令集。
(1) L0AD_LTR:
加載線性變換模型參數(shù),將線性變化的輸入輸出向量維數(shù),基準(zhǔn)向量,變換矩陣加載到線性變換處理器的 參數(shù)模塊中。執(zhí)行此指令將使線性變換處理器活化,即定義為一個(gè)具體應(yīng)用。
(2) INPUT一LTR: 加載所要變換的向量到線性變換處理器的輸入向量寄存器中。
(3) D0_LTR: 發(fā)送運(yùn)算部件啟動(dòng)命令。
(4) QUERY_LTR: 檢測先前指令執(zhí)行是否完成。
(5) OUTPUT—LTR:
冋收變換結(jié)果。該結(jié)果是一個(gè)新的向量。
(二) 支撐向量機(jī)處理器SVMP (Support Vector Machine Processor)
支撐向量機(jī)處理器是一個(gè)具有RBF內(nèi)核的支撐向量機(jī)決策運(yùn)算的硬件裝置。該裝置接收輸入向量,經(jīng)RBF 支撐向量機(jī)決策運(yùn)算,最終生成標(biāo)量輸出。該處理器包括支撐向量機(jī)參數(shù)模塊SVMDC (Support VectorMachine Data Component),決策運(yùn)算部件DMU (Decision-making Unit),控制部件CU (Control Unit), 輸入向量寄存器IVR (I叩ut Vector Register),結(jié)果輸出寄存器OR (Output Register),以及輸入輸出 通信部件IOMU (Input Output Message Unit)。系統(tǒng)通過模型加載指令將支撐向量機(jī)模型加載到支撐向量 機(jī)參數(shù)模塊之中,通過向量輸入指令將需要變換的輸入向量加載到輸入向量寄存器中。當(dāng)系統(tǒng)執(zhí)行運(yùn)算啟 動(dòng)指令之后,生成的結(jié)果存儲(chǔ)在結(jié)果寄存器中。輸入輸出通信部件實(shí)現(xiàn)該系統(tǒng)和外部系統(tǒng)的通信。支撐向 量機(jī)處理器定義如下基本指令集。
(1) LOAD一SVM:
加載支撐向量機(jī)模型參數(shù),將支撐向量機(jī)的輸入向量維數(shù),支撐向量數(shù)目,所有支撐向量,支撐向量乘數(shù), RBF窗口寬度,和輸出岡值加載到支撐向量機(jī)處理器的參數(shù)模塊中。執(zhí)行此指令將使支撐向量機(jī)處理器活 化,即定義為一個(gè)具體應(yīng)用。
(2) INPUT_SVM:
加載所要決策的輸入向量到支撐向量機(jī)處理器的輸入向量寄存器中。
(3) DO一SVM:
發(fā)送決策運(yùn)算部件啟動(dòng)命令。
(4) QUERY一SVM:
檢測先前指令執(zhí)行是否完成。
(5) OUTPUT—SVM: 輸出決策運(yùn)算結(jié)果。
在整個(gè)模式識(shí)別處理器系統(tǒng)中,線性變換處理器的輸出將作為支撐向量機(jī)處理器的輸入,從而實(shí)現(xiàn)從一個(gè) 對(duì)象輸入到一個(gè)判斷輸出的模式識(shí)別信息處理功能。


圖1是模式識(shí)別處理器體系結(jié)構(gòu)總體框圖2是線性變換處理器子系統(tǒng)的結(jié)構(gòu)框圖3是線性變換浮點(diǎn)運(yùn)算部件的內(nèi)部組織;
圖4是線性變換模型加載指令的指令格式;
圖5是線性變換處理器子系統(tǒng)的內(nèi)部狀態(tài)寄存器標(biāo)志位;
圖6是支撐向量機(jī)處理器子系統(tǒng)的結(jié)構(gòu)框圖7是支撐向量機(jī)決策運(yùn)算部件的內(nèi)部組織,包括向量距離運(yùn)算器,指數(shù)函數(shù)運(yùn)算器,及其信息處理 流程;
圖8是支撐向量機(jī)模型加載指令的指令格式;
圖9是支撐向量機(jī)處理器子系統(tǒng)的內(nèi)部狀態(tài)寄存器標(biāo)志位。
具體實(shí)施例方式
(一)線性變換處理器(Linear Transform Processor)
線性變換處理器系統(tǒng)由線性變換參數(shù)模塊LTDC (Linear Transform Data Component),線性變換部件LTU (Linear Transform Unit),控制部件CU(Control Unit),輸入向量寄存器IVR( Input Vector Register), 輸出向量寄存器OVR (Output Vector Register),和輸入輸出通信部件IOMU (Input Output Message Unit) 組成。各部件的相互關(guān)系如附圖2所示。其中線性變換參數(shù)模塊LTDC包括變換矩陣寄存器(二維數(shù)組寄 存器),基準(zhǔn)向量寄存器BVR (Bias Vector Register),列維(變換前的向量維數(shù))寄存器,和行維(變換后的向量維數(shù))寄存器。線性變換部件LTU負(fù)責(zé)執(zhí)行矩陣運(yùn)算,它包含浮點(diǎn)加法器和浮點(diǎn)乘法器,以流 水線方式實(shí)現(xiàn)向量內(nèi)積(Inner Product)運(yùn)算??刂撇考﨏U負(fù)責(zé)對(duì)指令寄存器中的措令進(jìn)行譯碼和解釋, 控制內(nèi)部地址發(fā)生器的行為,以及協(xié)調(diào)運(yùn)算流水線的運(yùn)作??刂撇考噶罴拇嫫?,狀態(tài)寄存器,內(nèi)部 行/列地址發(fā)生器,以及控制邏輯。輸入輸出通信部件IOMU包括數(shù)據(jù)輸入緩沖器和數(shù)據(jù)輸出緩沖器,以及 總線控制電路。
用戶通過輸入輸出通信部件的讀寫操作實(shí)現(xiàn)對(duì)該處理器進(jìn)行線性變換模型加載,輸入需要進(jìn)行線性變換的 向量,發(fā)送變換運(yùn)算執(zhí)行命令,以及收集輸出向量。用戶還可以通過輸入輸出通信部件(I(MU)對(duì)該處理 器進(jìn)行狀態(tài)査詢,檢測本次變換運(yùn)算是否完成。
在系統(tǒng)初始化階段,用戶通過加載指令L0AD一LTR將變換矩陣的行列維數(shù),變換矩陣本身以及基準(zhǔn)向量通 過輸入輸出通信部件加載到線性變換處理器之中,從而使系統(tǒng)活化。此時(shí)的運(yùn)算部件和控制部件處于待命 狀態(tài)。當(dāng)輸入向量指令(INPUT—LTR)將輸入向量加載到輸入向量寄存器之后,即可啟動(dòng)運(yùn)算部件進(jìn)行工 作。啟動(dòng)命令由D0一LTR實(shí)現(xiàn)。由于整個(gè)運(yùn)算工作量隨變換矩陣的不同而不同,用戶依據(jù)狀態(tài)査詢指令讀 取運(yùn)算進(jìn)程狀態(tài)。 一旦變換完成,輸出向量可通過輸入輸出通信部件讀取。
U)線性變換參數(shù)模塊LTDC
線性變換參數(shù)模塊LTDC概括反映具體線性變換的特征數(shù)據(jù),包括輸入向量維數(shù),輸出向量維數(shù),變換矩 陣,和基準(zhǔn)向量。這些數(shù)據(jù)定義了某個(gè)具體的線性變換,構(gòu)成線性變換模型。用戶通過L0AD_LTR指令, 將這些數(shù)據(jù)從外部系統(tǒng)加載到線性變換參數(shù)模塊的寄存器之中,從而實(shí)現(xiàn)線性變換處理器的初始化。應(yīng)該 指出的是LTDC接收不同維數(shù)的向量和不同大小的變換矩陣,變化范圍由硬件容量決定。
(2)線性變換部件LTU
線性變換部件包括一個(gè)前置浮點(diǎn)加法器, 一個(gè)向量內(nèi)積(Inner Product)運(yùn)算器,和輸入輸出緩沖器。 如圖3所示。輸入向量和基準(zhǔn)向量之差采用前置浮點(diǎn)加法器實(shí)現(xiàn)。具體方法是將基準(zhǔn)向量的每一個(gè)分量的 符號(hào)變反,將減法運(yùn)算轉(zhuǎn)化為加法運(yùn)算。前置加法器的輸出結(jié)果是一個(gè)具有相同輸入維數(shù)的新的向量。該 向量和變換矩陣的每一個(gè)行向量進(jìn)行內(nèi)積運(yùn)算,每一個(gè)內(nèi)積結(jié)果形成輸出向量的一個(gè)分量。每一個(gè)輸出分 量都是32位的規(guī)格化的浮點(diǎn)結(jié)果,存儲(chǔ)在輸出向量寄存器中。向量內(nèi)積運(yùn)算器由一個(gè)浮點(diǎn)累加器和一個(gè) 浮點(diǎn)乘法器組成。采用高速流水線方式,每個(gè)時(shí)鐘周期同時(shí)完成加法運(yùn)算和乘法運(yùn)算。 一個(gè)N行M列的變 換運(yùn)算,總共需要N x M個(gè)時(shí)鐘周期去完成。
(3)控制部件CU
控制部件包含指令寄存器,狀態(tài)寄存器,矩陣行/列地址發(fā)生器,以及控制邏輯。指令寄存器寄存當(dāng)前執(zhí) 行的指令。每條指令都有其本身固有的執(zhí)行周期。例如,輸入向量加載指令,輸出向量讀取指令,變換運(yùn) 算啟動(dòng)指令均有其特定的執(zhí)行周期。外部系統(tǒng)可通過輸入輸出通信部件檢測狀態(tài)寄存器,以確定當(dāng)前指令 是否執(zhí)行結(jié)束。狀態(tài)寄存器設(shè)置五個(gè)狀態(tài)位,以標(biāo)志當(dāng)前指令執(zhí)行的進(jìn)程,如圖5所示。它們分別是輸 出向量正在讀取(r—0V),變換運(yùn)算正在運(yùn)行(r_START),輸入向量正在加載(r—IV),變換矩陣正在加載 (r_MTX),和基準(zhǔn)向量正在加載(r—BV)。當(dāng)所有標(biāo)志位為0表示當(dāng)前所有的指令執(zhí)行完畢,處理器可執(zhí) 行新的指令。
行地址發(fā)生器定位輸出向量寄存器中某一個(gè)分量,當(dāng)變換結(jié)果寫入或變換結(jié)果輸出時(shí),均由行地址發(fā)生器 定位對(duì)具體分量的讀寫。列地址發(fā)生器定位輸入向量寄存器中的某一個(gè)分量,當(dāng)用戶通過輸入輸出通信端 口加載輸入向量時(shí),列地址發(fā)生器定位具體分量的寫入。在線性變換開始之前,行/列地址發(fā)生器的內(nèi)容 均置零。在系統(tǒng)接到運(yùn)算啟動(dòng)指令(D0_LTR)時(shí),列地址發(fā)生器開始計(jì)數(shù),每個(gè)時(shí)鐘周期步進(jìn)加一。當(dāng)列20 地址發(fā)生器的內(nèi)容接近變換矩陣的列數(shù)時(shí),行地址發(fā)生器的內(nèi)容步進(jìn)加一,列地址發(fā)生器的內(nèi)容清零。如 此進(jìn)行,直到行地址發(fā)生器的內(nèi)容接近變換矩陣的行數(shù),標(biāo)志著變換運(yùn)算完成。每一個(gè)時(shí)鐘周期,行/列 地址發(fā)生器共同定位二維變換矩陣中的分量,所有分量以流水線方式進(jìn)入向量內(nèi)積運(yùn)算部件。
(4) 輸入向量寄存器IVR
輸入向量寄存器是一個(gè)一維數(shù)組寄存器,存儲(chǔ)的向量是指有待變換的輸入向量,每一個(gè)元素(分量)用32 位IEEE-754單精度浮點(diǎn)數(shù)表示。該寄存器中的分量個(gè)數(shù)由變換矩陣的列數(shù)決定。系統(tǒng)內(nèi)部對(duì)輸入向量寄 存器中分量的定位是由列地址發(fā)生器實(shí)現(xiàn)的。在執(zhí)行INPUT一LTR指令時(shí),列地址發(fā)生器定位分量的加載; 在執(zhí)行D0一LTR指令時(shí),列地址發(fā)生器定位分量的讀出,提供給線性變換部件LTli使用。
(5) 輸出向量寄存器OVR
輸出向量寄存器是一個(gè)一維數(shù)組寄存器,存儲(chǔ)的向量是指變換之后的結(jié)果向量,每一個(gè)元素(分量)用32 位IEEE-754單精度浮點(diǎn)數(shù)表示。該寄存器中的分量個(gè)數(shù)由變換矩陣的行數(shù)決定。系統(tǒng)內(nèi)部對(duì)輸出向量寄 存器中分量的定位是由行地址發(fā)生器實(shí)現(xiàn)的。在執(zhí)行OUTPUT一LTR指令時(shí),行地址發(fā)生器定位分量的輸出; 在執(zhí)行D0一LTR指令時(shí),行地址發(fā)生器定位分量的寫入,記錄線性變換部件LTU的運(yùn)算結(jié)果。
(6) 輸入輸出通信部件IOMU
輸入輸出通信部件是外部系統(tǒng)和本系統(tǒng)進(jìn)行數(shù)據(jù)交換的界面,包括32位數(shù)據(jù)輸入緩沖器,32位數(shù)據(jù)輸出 緩沖器,以及總線控制電路(包括中斷控制電路)。這里應(yīng)該指出的是不同的總線標(biāo)準(zhǔn),其總線控制電 路是不一樣的。如果該處理器以PCI總線標(biāo)準(zhǔn)實(shí)現(xiàn)和外部系統(tǒng)的通信,那末該總線控制電路就是PCI總線 控制器;如果該處理器作為協(xié)處理器的方式集成到微處理器的CPU之中,那末該總線控制電路就是微處理 器定義的內(nèi)部總線控制邏輯。該部件還負(fù)責(zé)對(duì)指令寄存器,狀態(tài)寄存器,輸入數(shù)據(jù)緩沖器,及其輸出數(shù)據(jù) 緩沖器的操作控制。
(二)線性變換處理器指令系統(tǒng)(Instruction Set of Linear Transform Processor)
為了提供和外部系統(tǒng)進(jìn)行通信的協(xié)議接口,線性變換處理器定義一套最基本的指令系統(tǒng)。外部系統(tǒng)對(duì)這些 指令的引用是通過外部總線協(xié)議將電子信號(hào)加載到輸入輸出通信部件端口上實(shí)現(xiàn)的。為了便于指令系統(tǒng)的 解釋,我們用一個(gè)M x N (M行N列)的線性變換作為例子進(jìn)行解釋。系統(tǒng)定義如下5條最基本的指令。
(1) LOAD一LTR
加載線性變換模型,活化線性變換處理器。LOAD—LTR指令包含一個(gè)32位操作命令字,后續(xù)緊跟32位變 換矩陣行數(shù)(M), 32位變換矩陣列數(shù)(N),基準(zhǔn)向量(N個(gè)32位IEEE-754單精度浮點(diǎn)數(shù)),和變換矩陣 (M x N個(gè)32位IEEE-754單精度浮點(diǎn)數(shù))。加載一個(gè)M x N (M行N列)的變換模型,LOADJJR指令的長 度為(3 + N + M * N)個(gè)32位的指令字組成。具體排列方法如附圖4。 LOAD—LTR指令影響的狀態(tài)標(biāo)志位是r一BV, r一MTX。
(2) INPUT—LTR
加載有待變換的輸入向量。INPUTJJR的操作命令字本身32位,后續(xù)緊跟N維的向量,即N個(gè)32位IEEE-754 單精度浮點(diǎn)數(shù)。該向量將變換成一個(gè)M維的輸出向量,其指令長度為(1 + N)個(gè)32位指令字。
INPUT—LTR指令影響的狀態(tài)標(biāo)志位是r一IV。
(3) DO—LTR啟動(dòng)運(yùn)算電路進(jìn)行線性變換運(yùn)算。該指令長度為一個(gè)32位的指令字。線性運(yùn)算部件LTU需要M x N個(gè)時(shí) 鐘周期以完成一次M x N的線性變換。
D0_LTR指令影響的狀態(tài)標(biāo)志位是r—START。
(4) QUERY一LTR
狀態(tài)查詢。該指令長度為一個(gè)32位的指令字,返回結(jié)果是狀態(tài)寄存器的值,反映各種指令的執(zhí)行狀態(tài)。 如果某個(gè)標(biāo)志位為1,則表示當(dāng)前指令尚未結(jié)束;當(dāng)狀態(tài)寄存器的所有標(biāo)志位都為0時(shí),表示運(yùn)算部件空 閑,該處理器可執(zhí)行任何新的指令。
(5) 0UTPUT一LTR
輸出變換結(jié)果。在DO_LTR指令執(zhí)行之后,生成的變換結(jié)果存儲(chǔ)在輸出向量寄存器中,外部系統(tǒng)通過査詢 指令(QUERY一LTR)以確定結(jié)果生成并使用OUTPUT一LTR指令將變換結(jié)果讀取。該指令長度為一個(gè)32位的 指令字,返回結(jié)果是M個(gè)連續(xù)的32位IEEE-754單精度浮點(diǎn)數(shù)。 OUTPUT—LTR指令影響的狀態(tài)標(biāo)志位是r_0V。
(三)支撐向量機(jī)處理器(Support Vector Machine Processor) 支撐向量機(jī)處理器由支撐向量機(jī)參數(shù)模塊SVMDC(Support Vector Machine Data Component),決策運(yùn)算部 件DMU (Decision-Making Unit),控制部件CU (Control Unit),輸入向量寄存器IVR (Input Vector Register),輸出結(jié)果寄存器OR (Output Register),和輸入輸出通信部件IOMU (Input Output Message Unit)組成。各部件的相互關(guān)系如附圖6所示。其中支撐向量機(jī)參數(shù)模塊SVMDC存儲(chǔ)支撐向量機(jī)SVM的模 型參數(shù)。這些數(shù)據(jù)定義一個(gè)完整的支撐向量機(jī),由用戶提供,包括所有的支撐向量,RBF內(nèi)核參數(shù),輸出 閥值,以及和支撐向量對(duì)應(yīng)的系數(shù)等。決策運(yùn)算部件DMU負(fù)責(zé)執(zhí)行向量距離運(yùn)算,指數(shù)函數(shù)運(yùn)算等,負(fù)責(zé) 從輸入向量到?jīng)Q策(或回歸)輸出的所有運(yùn)算。決策運(yùn)算部件包含浮點(diǎn)加法器和浮點(diǎn)乘法器,平方函數(shù)和 指數(shù)函數(shù)運(yùn)算器,以流水線方式實(shí)現(xiàn)向量距離運(yùn)算和指數(shù)函數(shù)運(yùn)算??刂撇考﨏U負(fù)責(zé)對(duì)指令寄存器中的 指令進(jìn)行譯碼和解釋,控制內(nèi)部地址發(fā)生器的行為,以及協(xié)調(diào)運(yùn)算流水線的運(yùn)作,包含指令寄存器,狀態(tài) 寄存器,以及內(nèi)部支撐向量地址發(fā)生器和內(nèi)部分量地址發(fā)生器。輸入向量寄存器存儲(chǔ)支撐向量機(jī)處理器的 輸入對(duì)象。輸出寄存器存儲(chǔ)決策(或回歸)運(yùn)算輸出結(jié)果。輸入輸出通信部件IOMU包括數(shù)據(jù)輸入緩沖器 和數(shù)據(jù)輸出緩沖器,以及總線控制電路,提供本系統(tǒng)和外部系統(tǒng)通信的界面。
用戶通過輸入輸出通信部件IOMU對(duì)該處理器進(jìn)行模型加載,將支撐向量機(jī)的模型數(shù)據(jù)加載到支撐向量機(jī) 處理器的參數(shù)模塊SVMDC之中,從而定義和活化支撐向量機(jī)處理器。同樣地通過輸入輸出通信部件輸入需 要進(jìn)行決策評(píng)估的向量,發(fā)送運(yùn)算執(zhí)行命令,以及收集運(yùn)算結(jié)果。用戶還可以通過輸入輸出通信部件IOMU 對(duì)該處理器進(jìn)行狀態(tài)査詢,檢測本次決策運(yùn)算是否完成。
在系統(tǒng)初始化階段,用戶通過加載指令L0AD_SVM將支撐向量模型加載到支撐向量機(jī)處理器的參數(shù)模塊 SVMDC之中,從而使該處理器活化。這些數(shù)據(jù)定義一個(gè)特定的支撐向量機(jī),包括向量維數(shù),支撐向量數(shù)目, RBF內(nèi)核參數(shù),所有的支撐向量以及與之相對(duì)應(yīng)的乘數(shù)和決策輸出閥值。這些與支撐向量機(jī)模型相關(guān)的數(shù) 據(jù)寄存器都組織在SVMDC之中。初始化之后的運(yùn)算部件和控制部件處于待命狀態(tài)。當(dāng)輸入向量指令 INPUT—SVM將輸入向量經(jīng)過輸入輸出通信部件加載到輸入向量寄存器之后,即可啟動(dòng)運(yùn)算部件進(jìn)行工作。 啟動(dòng)命令由D(LSVM實(shí)現(xiàn)。由于整個(gè)運(yùn)算工作量隨向量維數(shù)和支撐向量數(shù)目的不同而不同,用戶依據(jù)狀態(tài) 査詢指令讀取運(yùn)算進(jìn)程狀態(tài)。 一旦運(yùn)算完成,輸出結(jié)果可通過輸入輸出通信部件讀取。
(1)支撐向量機(jī)參數(shù)模塊SVMDC該模塊中的數(shù)據(jù)構(gòu)成整個(gè)支撐向量機(jī)的模型,它和決策運(yùn)算部件(即運(yùn)算方法) 一起構(gòu)成整個(gè)支撐向量機(jī) 的決策模型。該模塊的組成解釋如下。
(a) GAMMA寄存器
是一個(gè)32位的IEEE-754的單精度浮點(diǎn)數(shù)寄存器。它是一個(gè)系數(shù)因子,用來定義RBF內(nèi)核的窗口寬度。主 要作用是用來調(diào)節(jié)SVM決策系統(tǒng)的敏感度。
(b) 向量維數(shù)寄存器
是一個(gè)32位的定點(diǎn)整數(shù)寄存器。它表示輸入向量的維數(shù)和支撐向量的維數(shù),在同一個(gè)模型中,所有向量 維數(shù)是統(tǒng)一的。
(c) 支撐向量數(shù)目寄存器
是一個(gè)32位的定點(diǎn)整數(shù)寄存器。它表示該模型中擁有的支撐向量的個(gè)數(shù)。支撐向量在機(jī)器學(xué)習(xí)(訓(xùn)練) 時(shí)確定,它們來自訓(xùn)練樣板的一部分,是兩組訓(xùn)練樣板中的邊界向量,用來構(gòu)造高維空間的決策平面。
(d) 支撐向量寄存器組
是一組32位IEEE-754單精度浮點(diǎn)數(shù)寄存器。用來存儲(chǔ)模型系統(tǒng)的所有支撐向量。該組32位寄存器的總 數(shù)等于向量維數(shù)和支撐向量個(gè)數(shù)的乘積。
(e) 支撐向量乘數(shù)寄存器組(ALPHA)
是一組32位IEEE-754單精度浮點(diǎn)數(shù)寄存器。系統(tǒng)模型中的每一個(gè)支撐向量均有一個(gè)系數(shù)與之對(duì)應(yīng),并參 與決策運(yùn)算。該組32位寄存器的總數(shù)等于支撐向量的個(gè)數(shù)。
(f) 閥值寄存器
是一個(gè)32位IEEE-754單精度浮點(diǎn)數(shù)寄存器,用來調(diào)節(jié)決策系統(tǒng)最后輸出的閥值。最后的二值輸出由該閥 值來判定。
(2)決策運(yùn)算部件DMU
決策運(yùn)算部件負(fù)責(zé)整個(gè)支撐向量機(jī)決策系統(tǒng)表達(dá)式的運(yùn)算,實(shí)現(xiàn)從一個(gè)輸入向量到一個(gè)輸出標(biāo)量的決策 (或回歸)運(yùn)算,如附圖7所示。其中包含以下三個(gè)部件。
(a) 向量距離運(yùn)算部件
該部件的輸入是兩個(gè)向量,輸出是兩個(gè)向量之間的距離的平方形式,是一個(gè)標(biāo)量。輸入向量的每一個(gè)分量 是32位的浮點(diǎn)數(shù),總共的分量數(shù)目由向量維數(shù)寄存器決定。采用流水線方式實(shí)現(xiàn)雙路向量輸入進(jìn)行距離 運(yùn)算。其輸出作為指數(shù)函數(shù)部件的輸入。
(b) 指數(shù)函數(shù)部件
指數(shù)函輸部件是一個(gè)浮點(diǎn)數(shù)輸入到一個(gè)浮點(diǎn)數(shù)輸出的運(yùn)算部件,實(shí)現(xiàn)以E為底的指數(shù)函數(shù)的功能。采用直 通的組合邏輯電路實(shí)現(xiàn),以達(dá)到最快的運(yùn)算速度。該部件的輸入來自向量距離運(yùn)算部件,輸出作為迭代累 加部件的輸入。(c)迭代累加部件
該部件以流水線方式累加每一個(gè)支撐向量所貢獻(xiàn)的部分和,直到完成所有支撐向量所貢獻(xiàn)的部分和的累 加。最后的輸出結(jié)果(32位浮點(diǎn)結(jié)果)和閥值寄存器的內(nèi)容進(jìn)行比較,實(shí)現(xiàn)最終決策的二值輸出。
整個(gè)運(yùn)算部件的協(xié)調(diào)運(yùn)作是在控制部件的控制下進(jìn)行的,支撐向量的地址定位和向量內(nèi)部的分量地址定位 是由控制部件中的內(nèi)部地址發(fā)生器實(shí)現(xiàn)的。
(3) 控制部件CU
控制決策(或lHl歸)運(yùn)算部件的協(xié)調(diào)運(yùn)作,控制支撐向機(jī)參數(shù)模塊的加載,控制輸入向量的加載,內(nèi)部狀 態(tài)的讀取和結(jié)果的輸出。它由指令寄存器,狀態(tài)寄存器,支撐向量地址發(fā)生器,分量地址發(fā)生器,和控制 邏輯組成。
(a) 指令寄存器
指令寄存器寄存用戶(或外部系統(tǒng))訪問該支撐向量機(jī)處理器的操作指令,是一個(gè)32位的寄存器。操作 指令包括LOAD—SVM, INPUT—SVM, DO—SVM, QUERY—SVM和OUTPUT—SVM。處理器內(nèi)部狀態(tài)和運(yùn)算結(jié)果分別從 狀態(tài)寄存器和結(jié)果寄存器中讀取。指令寄存器的信息經(jīng)過譯碼形成操作控制信號(hào)。
(b) 狀態(tài)寄存器
實(shí)時(shí)反映支撐向量機(jī)指令執(zhí)行的內(nèi)部狀態(tài)。包括s—B, s_G, s_SV, s~ALPHA, s—IV, s_START。它們分別 表示閥值數(shù)據(jù)正在加載,RBF窗口因子正在加載,支撐向量正在加載,支撐向量乘數(shù)正在加載,輸入向量 正在加載,決策運(yùn)算正在進(jìn)行。當(dāng)這些狀態(tài)標(biāo)志位為"0"時(shí),表示這些操作結(jié)束,系統(tǒng)處于空閑狀態(tài)。
(c) 支撐向量地址發(fā)生器
支撐向量地址發(fā)生器是32位地址寄存器,用來定位支撐向量及其每一個(gè)分量。在DO一SVM指令開始執(zhí)行時(shí), 該寄存器自動(dòng)復(fù)位,隨后每個(gè)時(shí)鐘周期實(shí)現(xiàn)加一計(jì)數(shù),直到運(yùn)算完成。
(d) 分量地址發(fā)生器
是一個(gè)32位地址寄存器,用來定位輸入向量的分量。在D0—SVM指令開始執(zhí)行時(shí),該寄存器自動(dòng)復(fù)位,隨 后每個(gè)時(shí)鐘周期實(shí)現(xiàn)加一計(jì)數(shù),當(dāng)計(jì)數(shù)接近向量維數(shù)時(shí),該地址發(fā)生器自動(dòng)復(fù)位。如此反復(fù),直到運(yùn)算完 成。
(e) 乘數(shù)地址發(fā)生器
乘數(shù)地址發(fā)生器用來定位支撐向量所對(duì)應(yīng)的乘數(shù),是一個(gè)32位地址寄存器。在DO一SVM指令開始執(zhí)行時(shí), 該寄存器自動(dòng)復(fù)位,隨后每當(dāng)分量地址發(fā)生器復(fù)位時(shí),該地址發(fā)生器步進(jìn)加一計(jì)數(shù),直到運(yùn)算完成。
(4) 輸入向量寄存器IVR
該向量寄存器的每個(gè)分量是一個(gè)32位IEEE-754單精度浮點(diǎn)數(shù),該向量的分量數(shù)由SVMDC中的向量維數(shù)寄 存器定義。它代表SVM決策(或回歸)系統(tǒng)的輸入。
(5) 輸出結(jié)果寄存器OR
運(yùn)算結(jié)果是32位IEEE-754單精度浮點(diǎn)數(shù),雖然運(yùn)算結(jié)果和閥值比較得出二值輸出,但該系統(tǒng)同時(shí)輸出運(yùn)算結(jié)果和閩值的浮點(diǎn)差值。 (6)輸入輸出通信部件IOMU
該部件包括32位輸入緩沖器,32位輸出緩沖器,和外部總線控制電路(包括中斷控制電路)。外部系統(tǒng)和 本處理器通過該部件進(jìn)行通信,通信原語是建立在總線協(xié)議基礎(chǔ)上的指令集。這里應(yīng)該指出的是不同的 總線標(biāo)準(zhǔn),其總線控制電路是不一樣的。如果該處理器以PCI總線標(biāo)準(zhǔn)實(shí)現(xiàn)和外部系統(tǒng)進(jìn)行通信,那末該 總線控制電路就是PCI總線控制器;如果該處理器作為協(xié)處理器的方式集成到微處理器的CPU之中,那末 該總線控制電路就是微處理器定義的內(nèi)部總線控制邏輯。
(四)支撐向量機(jī)處理器指令系統(tǒng)(Instruction Set of S叩port Vector Machine Processor)
為了提供和外部系統(tǒng)進(jìn)行通信的協(xié)議接口,支撐向量機(jī)處理器定義一套最基本的指令系統(tǒng)。外部系統(tǒng)對(duì)這 些指令的引用是通過外部總線協(xié)議將電子信號(hào)加載到輸入輸出通信部件端口上實(shí)現(xiàn)的。為了便于指令系統(tǒng) 的解釋,我們選定一個(gè)具有S個(gè)支撐向量,以及T維向量的支撐向量機(jī)模型作為例子進(jìn)行分析。系統(tǒng)定義 如下5條最基本的指令。
(1) LOAD—SVM
加載支撐向量機(jī)模型,活化支撐向量機(jī)處理器。L0AD_SVM指令包含一個(gè)32位操作命令字,后續(xù)緊跟一個(gè) 32位IEEE-754單精度浮點(diǎn)數(shù)表示RBF窗口寬度; 一個(gè)32位IEEE-754單精度浮點(diǎn)數(shù)表示決策輸出閥值; 一個(gè)32位的整數(shù)表示向量維數(shù); 一個(gè)32位的整數(shù)表示模型中支撐向量的數(shù)目;S x T個(gè)32位IEEE-754 單精度浮點(diǎn)數(shù)表示模型中的支撐向量;S個(gè)32位IEEE-754單精度浮點(diǎn)數(shù)表示模型中的支撐向量乘數(shù)。若 加載一個(gè)具有S個(gè)支撐向量,以及T維向量的支撐向量機(jī)模型,總共的指令長度為(5 + S x T + S)個(gè) 32位指令字。LOAD—SVM指令格式的具體排列方法如附圖8所示。
LOAD—SVM指令影響的狀態(tài)標(biāo)志位是s—B, s—G, s—SV, s_ALPHA。
(2) INPUT—SVM
加載有待變換的輸入向量。INPUT—SVM的操作命令字本身32位,后續(xù)緊跟T維的向量,即T個(gè)32位IEEE-754 單精度浮點(diǎn)數(shù)。該向量將經(jīng)過決策運(yùn)算生成一個(gè)32位IEEE-754單精度浮點(diǎn)數(shù)的標(biāo)量結(jié)果。該結(jié)果進(jìn)一步 和閥值比較,形成一個(gè)決策(或回歸)輸出。 INPUT_SVM指令影響的狀態(tài)標(biāo)志位是s—IV。
(3) D0_SVM
啟動(dòng)運(yùn)算電路進(jìn)行支撐向量機(jī)決策運(yùn)算。該指令長度為一個(gè)32位的指令字。決策運(yùn)算部件DMU需要S x T
個(gè)時(shí)鐘周期以完成一次支撐向量機(jī)決策運(yùn)算。
D0一SVM指令影響的狀態(tài)標(biāo)志位是s—START 。
(4) QUERY_SVM
狀態(tài)査詢。該指令長度為一個(gè)32位的指令字,返回結(jié)果是狀態(tài)寄存器的值,反映處理器內(nèi)部指令執(zhí)行的 狀態(tài)。如果某個(gè)標(biāo)志位為1,則表示當(dāng)前指令尚未結(jié)束;當(dāng)狀態(tài)寄存器的所有標(biāo)志位都為"0"時(shí),表示運(yùn) 算部件空閑,該處理器可執(zhí)行新的指令。
(5) OUTPUT—SVM
輸出運(yùn)算結(jié)果。在D0_SVM指令執(zhí)行之后,生成的決策運(yùn)算結(jié)果存儲(chǔ)在輸出結(jié)果寄存器中,外部系統(tǒng)通過査詢指令(QUERY—SVM)以確定結(jié)果生成并使用OUTPUT—SVM指令讀取結(jié)果。該指令長度為一個(gè)32位的指 令字,返回結(jié)果是一個(gè)32位IEEE-754單精度浮點(diǎn)數(shù),即支撐向量機(jī)的數(shù)學(xué)表達(dá)式輸出,如等式(2)。
0UTPUT_SVM指令不影響狀態(tài)標(biāo)志位。
權(quán)利要求
1. 一種模式識(shí)別處理器,其組成包括線性變換處理器和支撐向量機(jī)處理器。模式識(shí)別處理器的輸入對(duì)象用一個(gè)高維數(shù)組表示,輸出結(jié)果是一個(gè)預(yù)測值(或判斷值)。其中線性變換處理器將該高維向量輸入變換成低維向量輸出;支撐向量機(jī)處理器將前者的輸出作為輸入,經(jīng)過決策運(yùn)算輸出預(yù)測或決策結(jié)果。線性變換處理器和支撐向量機(jī)處理器在信息處理通道上相互銜接在一起,構(gòu)成模式識(shí)別處理器的體系核心。
2. 如權(quán)利要求1所述的模式識(shí)別處理器,其中線性變換處理器的組成包括模型參數(shù)模塊,線性變換運(yùn)算 部件,控制部件,輸入向量寄存器,輸出向量寄存器,和輸入輸出通信部件。線性變換處理器的模型參數(shù) 模塊通過指令加載用戶定義的線性變換模型,外部系統(tǒng)通過該處理器的指令系統(tǒng)對(duì)線性變換處理器的功能 進(jìn)行調(diào)用。
3. 如權(quán)利要求2所述的線性變換處理器,其基本指令集包括如下5條指令(1) LOAD—LTR:線性變換模型參數(shù)加載指令;(2) INPUT—LTR:輸入向量加載指令;(3) DO—LTR:啟動(dòng)變換運(yùn)算指令;(4) QUERY_LTR:檢測線性變換處理器運(yùn)算狀態(tài)指令;(5) OUTPUT—LTR:輸出向量回收指令。
4. 如權(quán)利要求1所述的模式識(shí)別處理器,其中支撐向量機(jī)處理器的組成包括模型參數(shù)模塊,回歸、決策 運(yùn)算部件,控制部件,輸入向量寄存器,輸出寄存器,和輸入輸出通信部件。支撐向量機(jī)處理器的模型參 數(shù)模塊通過指令加載用戶定義的支撐向量機(jī)模型,外部系統(tǒng)通過該處理器的指令系統(tǒng)對(duì)支撐向量機(jī)處理器 的功能進(jìn)行調(diào)用。
5. 如權(quán)利要求4所述的支撐向量機(jī)處理器,其基本指令集包括如下5條指令(1) LOAD_SVM:支撐向量機(jī)模型參數(shù)加載指令;(2) INPUT_SVM:輸入向量加載指令;(3) DO—SVM:啟動(dòng)回歸、決策運(yùn)算指令;(4) QUERY—SVM:檢測支撐向量機(jī)處理器運(yùn)算狀態(tài)指令;(5) OUTPUT—SVM:輸出結(jié)果回收指令。
全文摘要
模式識(shí)別處理器是一種實(shí)現(xiàn)模式識(shí)別算法的硬件裝置,包括線性變換處理器和支撐向量機(jī)處理器。這兩個(gè)處理器系統(tǒng)在信息處理通道上連接在一起構(gòu)成模式識(shí)別處理器的體系核心。線性變換處理器實(shí)現(xiàn)輸入向量的空間變換,通常從高維空間到低維空間,簡化輸入對(duì)象的復(fù)雜度;支撐向量機(jī)處理器實(shí)現(xiàn)決策運(yùn)算,為輸入對(duì)象求出預(yù)測或區(qū)分類別。兩者的模型均通過機(jī)器學(xué)習(xí)的方法取得。不同應(yīng)用的模型雖然參數(shù)不同但具有相同的結(jié)構(gòu),均能被模式識(shí)別處理器所接受。線性變換處理器和支撐向量機(jī)處理器具有相同的組成,分別由模型參數(shù)模塊,運(yùn)算部件,控制部件,輸入向量寄存器,輸出寄存器和輸入輸出通信部件組成。每個(gè)處理器分別定義5條指令,即模型加載指令,輸入向量加載指令,運(yùn)算啟動(dòng)指令,狀態(tài)檢測指令和結(jié)果回收指令。模式識(shí)別處理器通過輸入輸出通信部件耦合外部系統(tǒng);外部系統(tǒng)通過模式識(shí)別處理器的指令系統(tǒng)實(shí)現(xiàn)對(duì)模式識(shí)別處理器的功能調(diào)用。
文檔編號(hào)G06F15/18GK101414292SQ200710181369
公開日2009年4月22日 申請(qǐng)日期2007年10月20日 優(yōu)先權(quán)日2007年10月20日
發(fā)明者方建中 申請(qǐng)人:黃新亞
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1