專利名稱:用于將范數(shù)與提供給神經(jīng)網(wǎng)絡的輸入模型的每個分量相關聯(lián)的方法和電路的制作方法
技術(shù)領域:
本發(fā)明一般涉及人工神經(jīng)網(wǎng)絡(ANN),更具體地涉及一種用于將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡的輸入模型的每個分量(component)相關聯(lián)的方法和電路。根據(jù)該方法,允許在距離估計過程中使用不同類型的范數(shù)以便使基本的(或部分的)距離的計算適配于距離估計過程期間提供給這類神經(jīng)網(wǎng)絡的輸入模型的每個分量。
背景技術(shù):
在當今的數(shù)據(jù)處理中,使用將輸入數(shù)據(jù)特性化的參考數(shù)據(jù)庫來完成許多識別、預測和計算任務。取決于有待解決的問題,這些參考數(shù)據(jù)庫包含的模型是子圖像、子信號、數(shù)據(jù)子集和它們的組合。存于這些參考數(shù)據(jù)庫中的模型今后在下面稱為原型。如專業(yè)人員所知道的,它們通常由一個向量即p維空間的陣列所表示。使用參考數(shù)據(jù)庫將以下此處稱為輸入模型的新(未知)模型特性化的眾所周知的方法是基于類似于輸入空間映射算法的K最近鄰近值(KNN)或影響區(qū)域(ROI)的。這些算法的基本原理是計算輸入模型與每個所存原型之間的距離(dist)以便找到?jīng)Q定于或不決定于預定閾值的最近值。轉(zhuǎn)讓給IBM公司的美國專利5,621,863描述了基于這類輸入空間映射算法的人工神經(jīng)網(wǎng)絡,其中包括新類型的新穎基本處理器,此處稱為ZISC神經(jīng)元(ZISC是IBM公司的注冊商標)。ZISC神經(jīng)元的一個主要特性在于它們并行地工作的能力,即當輸入模型提供給ANN時,所有ZISC神經(jīng)元都同時計算輸入模型與它們所存原型之間的距離。這些算法的一個重要方面是用于距離估計過程中的稱為“范數(shù)”的距離估計關系。此范數(shù)的選擇一方面由準備解決的問題所確定,而另一方面又由用于解決此問題的知識所確定。在ZISC神經(jīng)元中,輸入模型A與存于其中的原型B(每個具有p個分量)之間的距離或者使用MANHATTAN距離(L1范數(shù))即dist=sum(abs(Ak-Bk))或者使用MAXIMUM距離(Lsup范數(shù))即dist=max(abs(Ak-Bk))進行計算,其中Ak和Bk分別是輸入模型A和所存原型B的秩k(變量k自1變至p)的各分量。注意“abs”是“絕對值”的通??s寫。存在著另一個范數(shù)例如L2范數(shù),例如dist=square root(sum(Ak-Bk)2)。認為L2范數(shù)是歐幾里德的范數(shù)而L1和Lsup范數(shù)是“非歐幾里德的”范數(shù),然而它們都意味著對距離關系中每個分量的差值的處理。其他歐幾里德或非歐幾里德范數(shù)(例如匹配/不匹配)是ANN領域內(nèi)專業(yè)人員所知道的。在ZISC神經(jīng)元中,L1或Lsup范數(shù)之間的選擇由存于神經(jīng)元中的稱為“范數(shù)”位號的單個位的值所確定。
另一方面,“上下文”的概念是由ZISC神經(jīng)元引進的新概念。上下文可以有利地用于區(qū)別不同類型的輸入模型。例如,上下文可用于區(qū)別大寫字符和小寫字符(或區(qū)別不同類型的字體)。在ZISC神經(jīng)元中,此方案使用存于神經(jīng)元中的本地上下文Cxt和ZISC芯片的公共寄存器中保持的全局上下文CXT加以實施。其結(jié)果是,上下文方案允許選擇已經(jīng)學習了確定的上下文的神經(jīng)元并且禁止ANN中的所有其他神經(jīng)元。在識別期間,將全局上下文值與存于每個神經(jīng)元中的本地上下文進行比較,如果發(fā)現(xiàn)它們完全相同,則選擇該神經(jīng)元,否則將它禁止。其結(jié)果是,上下文允許將ANN或者配置為單個神經(jīng)元網(wǎng)絡或者配置為組中所有神經(jīng)元都具有相同本地上下文的單獨神經(jīng)元組的布置。對于ZISC神經(jīng)元而言,上下文(本地或全局)是用7位進行編碼的值。
因此在ZISC神經(jīng)元中有一個稱為本地范數(shù)/上下文(No/cxt)寄存器的特定寄存器,用于存儲1位范數(shù)號和7位上下文cxt信號。在磨合/學習過程結(jié)束時,自動地將存于ANN中的全局范數(shù)/上下文裝載入本地范數(shù)/上下文寄存器的內(nèi)容中。1位范數(shù)和7位上下文信號應用于ZISC芯片的控制邏輯電路中。
迄今為止,只有一個范數(shù)已經(jīng)用于所存原型的分量的整體性。在ZISC神經(jīng)元中,應用于每個分量的范數(shù)使用運算符“差分的絕對值”。然后在L1范數(shù)的情況下將連續(xù)值相加或者在Lsup范數(shù)的情況下選擇它們的最大值。然而,由于各分量的特性,在某些例子中,根據(jù)應用情況為輸入模型/所存原型的每個分量將可能不同的范數(shù)關聯(lián)起來應該是值得的。例如,如果將子圖像特性化的所存原型的兩個分量分別用于描述一個彩色索引和子圖像中該彩色索引的象素數(shù)量,則將匹配/不匹配范數(shù)應用于與彩色索引相關的分量以及將基于絕對值的范數(shù)應用于與象素數(shù)量相關的分量是有用的。當使用傳統(tǒng)ANN時,此方案的主要困難在于在硅芯片中需要相當數(shù)量的記憶體和邏輯電路來將不同范數(shù)與輸入向量/所存原型的各分量進行關聯(lián)以及在這些具體條件下實現(xiàn)距離估計過程。
其結(jié)果是,目前尚無具備此高度希望的特征的技術(shù)。事實上,以上所述美國專利中描述的人工神經(jīng)網(wǎng)絡允許每個神經(jīng)元只利用一個范數(shù),因此對于所存原型的所有分量而言它是相同的。這對于推廣傳統(tǒng)的基于輸入空間映射算法的神經(jīng)網(wǎng)絡的使用是一個嚴重的限制,尤其當需要處理具有不同特性的分量的輸入模型/所存原型時,對于使用ZISC神經(jīng)元構(gòu)成的ANN而言更是如此。
技術(shù)內(nèi)容因此本發(fā)明的一個主要目的是提供一種用于將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡的輸入模型的每個分量關聯(lián)起來的方法和電路。
本發(fā)明的另一個目的是提供一種用于將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡的輸入模型的每個分量關聯(lián)起來以便允許使用距離估計過程中的不同范數(shù)的方法和電路。
本發(fā)明的又一個目的是提供一種當需要處理具有不同特性的分量的輸入模型時用于將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡的輸入模型的每個分量關聯(lián)起來的方法和電路。
本發(fā)明的又一個目的是提供一種用于將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡的輸入模型的每個分量關聯(lián)起來的方法和電路,其中所有范數(shù)都記憶于全局記憶體內(nèi)。
本發(fā)明的還有一個目的是提供一種用于將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡的輸入模型的每個分量關聯(lián)起來的適用于處理若干組范數(shù)的方法和電路。
本發(fā)明的又一個目的是提供一種用于將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡的輸入模型的每個分量關聯(lián)起來的方法和電路,其中范數(shù)記憶于神經(jīng)元內(nèi)。
這些將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡(ANN)的輸入模型的每個分量關聯(lián)起來的本發(fā)明的方法和電路用于完成這些和其他相關目的。一組稱為“分量”范數(shù)的范數(shù)記憶于ANN的特定記憶裝置中。在第一實施例中,改進的ANN配備有一個對所有神經(jīng)元都是公共的用于記憶所有分量范數(shù)的全局記憶體。對于輸入模型的每個分量,神經(jīng)元在完成距離估計過程中的基本的(或部分的)計算中可以在就地存儲于神經(jīng)元中的本地分量范數(shù)和存于全局記憶體中的全局分量范數(shù)之間進行選擇。然后使用一個“距離”范數(shù)將基本計算組合起來以便確定輸入模型與每個所存原型之間的最后距離。在第二實施例中,該組分量范數(shù)記憶于神經(jīng)元本身內(nèi)。當ANN集成于一片芯片內(nèi)時,此實施方式允許明顯地使占用的硅面積優(yōu)化。因此神經(jīng)元的原型分量記憶裝置適用于實現(xiàn)全局記憶體功能從而在物理上不再需要專門的全局記憶體。
在所附權(quán)利要求書中提出了認為是本發(fā)明的特性的新穎特征。然而結(jié)合附圖參照閱讀以下詳細的說明書,將能更好地理解本發(fā)明本身以及這些和其他相關目的和本發(fā)明的優(yōu)點。
圖1原理性地顯示一個改進的人工神經(jīng)網(wǎng)絡(ANN)的框體系結(jié)構(gòu),該人工神經(jīng)網(wǎng)絡包括根據(jù)本發(fā)明的一個用于記憶與輸入模型/所存原型相關聯(lián)的一組分量范數(shù)的全局記憶體和多個神經(jīng)元。
圖2是用于歸納本發(fā)明的方法的主要步驟的流程圖。
圖3顯示限于一個神經(jīng)元的圖1的框體系結(jié)構(gòu),用于闡述全局記憶體的內(nèi)部組成和神經(jīng)元的主要元素。
圖4闡述圖1中改進的ANN的操作,用于指出用于計算輸入模型與所存原型之間的最后距離的距離估計過程中地址總線的作用,其中輸入模型/所存原型的每個分量可能具有不同范數(shù)。
圖5顯示通過實施相應數(shù)量的全局記憶體的已經(jīng)適合于使用數(shù)個上下文的圖1中改進的ANN的體系結(jié)構(gòu)。
圖6顯示根據(jù)本發(fā)明的已經(jīng)修改為增加內(nèi)部地實現(xiàn)全局記憶體功能的能力的圖3的神經(jīng)元。
圖7顯示圖1中改進的ANN的框體系結(jié)構(gòu),其中當該改進的ANN集成于一片芯片中時該改進的ANN包括圖6的神經(jīng)元以便使占用的硅面積優(yōu)化。
圖8闡述當不實施任何上下文時圖7中改進的ANN的操作,尤其是功能標志寄存器的作用。
圖9闡述當實施一個上下文時圖7中改進的ANN的操作,尤其是功能標志寄存器的作用。
實施方式本發(fā)明的基本原理是使用一個與距離估計過程中輸入模型/所存原型的每個分量相關聯(lián)的范數(shù)(即如以上所述的運算符)。此范數(shù)(對于每個分量它可能都不同)此處以下稱為“分量”范數(shù)或簡單地稱為C_norm。C_norm或者就地存于神經(jīng)元內(nèi)或者存于對于所有ANN都是公共的“全局記憶體”內(nèi)。在此情況下,全局記憶體記憶全組C-norm,以便對于預定輸入模型分量而言,相同范數(shù)與所有神經(jīng)元都是關聯(lián)的。在第一情況下C_norm標為“本地C_norm”,而在第二情況下標為“全局C_norm”,或者分別簡稱為L_C_norm和G_C_norm。當將一個輸入模型與神經(jīng)元中的一個所存原型進行比較時,使用與每一對相應的分量(Ak,Bk)相關聯(lián)的C_norm對每一對相應的分量(Ak,Bk)所作的處理操作將能提供一個基本的(或部分的)距離值。使用稱為“距離”范數(shù)的第二范數(shù)把為每個分量獲取的基本距離值組合起來以便提供一個最后距離值。例如,在L1范數(shù)中,C_norm是“絕對值”運算符以及該距離范數(shù)是“相加”運算符。在Lsup范數(shù)中,如果C_norm仍然是“絕對值”運算符,則現(xiàn)在距離范數(shù)是“最大值”運算符。取決于分量和距離范數(shù)的特性,該最后值可以考慮為或者是純算術(shù)意義上的距離(例如如果使用L1或Lsup范數(shù)的話)或者不是。然而,為了對于以上所述的US專利的闡述簡便起見,將在下面描述中使用的名詞“距離”和“范數(shù)”必須被理解為通用的。換言之,輸入向量和所存原型之間的比較的結(jié)果值也將稱為“距離”,即使它無法全部滿足算術(shù)定義的所有準則也是如此。以下將參照所述“距離”范數(shù)進行描述,當所述“距離”范數(shù)就地存于每個神經(jīng)元中時,它簡單地標為L_D_norm,當它對ANN的所有神經(jīng)元是公共時,它標為G_D_norm。
主要地,全局記憶體(通常是一組寄存器)是一個獨立記憶體。以下此處描述的新穎解法既不增加硅芯片上輸入/輸出接點(I/O)的數(shù)量,又不要求主計算機中的特定數(shù)據(jù)預處理(在識別階段)。此外,與所有神經(jīng)元中存在的原型分量記憶裝置即放置于組成ANN的神經(jīng)元中的所有原型記憶體的總和相比較,所加記憶體數(shù)量非常小。其結(jié)果是,此原理能夠?qū)嵤┒辉黾?1)主計算機中數(shù)據(jù)的預處理時間,(2)估計/記憶裝置的復雜程度,和(3)用于集成ANN的硅芯片中I/O的數(shù)量。此外,通過專用一個神經(jīng)元(或更多個)以實現(xiàn)此記憶體功能可以進一步使硅區(qū)域優(yōu)化,這將在以后更詳細地加以解釋。
圖1原理性地顯示根據(jù)本發(fā)明的第一實施例的改進的人工神經(jīng)網(wǎng)絡(ANN)10的框體系結(jié)構(gòu)。ANN 10由一個ANN 11和剛才所述的標為12的全局記憶體組成。全局記憶體12設計為用于存儲p個分量范數(shù)(即每個分量一個)。從主計算機或控制邏輯電路(未示出)輸入的數(shù)據(jù)通過作為標準的數(shù)據(jù)輸入總線13饋送入ANN 11。ANN 11由通常標為14的多個獨立的神經(jīng)元14-1至14-n組成。在圖1中所示具體實施方式
中,神經(jīng)元14基本上是一個只是稍加修改的傳統(tǒng)ZISC神經(jīng)元。在圖1中,每個神經(jīng)元例如14-1包括一個距離估計器15-1和一個用于存儲原型分量的通常稱為原型記憶體的本地記憶體16-1。距離估計器15-1通過數(shù)據(jù)輸入總線13連至主計算機和連至其原型記憶體16-1以便完成輸入模型與所存原型之間的距離估計,即通過處理作為標準的每對相應的分量而計算基本距離。它還包括寄存器17-1和18-1以便分別記憶用于完成此基本距離計算的L_C_norm和L_D_norm。一個選代方案是具有一個對于整個ANN 10都是公共的用于通過一條專用總線向每個神經(jīng)元14饋送G_D_norm的單個寄存器。在說明的現(xiàn)階段,ANN 11的體系結(jié)構(gòu)和神經(jīng)元14-1的體系結(jié)構(gòu)(如果我們排除寄存器17-1)實際上是以上所述的美國專利中詳細地描述的那種。然而,對于該文檔而言,ZISC神經(jīng)元的結(jié)構(gòu)已經(jīng)稍微修改以便考慮到現(xiàn)在標為15-1的通過標為G_C_norm總線19的總線連至全局記憶體12和連至所述寄存器17-1的距離估計器。此外,標為20的地址總線不但如ZISC芯片中實現(xiàn)的那樣連至放置于每個神經(jīng)元14-1至14-n中的原型記憶體,而且連至全局記憶體12以使與每個輸入模型分量相關聯(lián)的相應的范數(shù)能夠從中輸出。
應該注意到能夠?qū)?shù)個改進的ANN組合為單個ANN,它因而或者包括數(shù)個全局記憶體(每個改進的ANN各一個)或者所有ANN只包括一個全局記憶體。另一方面,還可設計一種改進的ANN 10,其中在每個神經(jīng)元中復現(xiàn)全局記憶體功能以便為存于其中的原型來記憶各具體C_norm。
仍然參照圖1,改進的ANN 10的操作原理相對地比較簡單。為闡述方便起見,假設全局記憶體12由作為標準的一組寄存器構(gòu)造而成。使用以下假設,即輸入模型分量是以順序方式提供給改進的ANN 10的,每當主計算機通過數(shù)據(jù)輸入總線13提供一個輸入模型分量至改進的ANN時,它指向全局記憶體12中的確定的地址以便輸出相應的G_C_norm以及通過地址總線20指向所有原型記憶體16-1至16-n中的確定的地址以便選擇相應的原型分量。其結(jié)果是,在每個神經(jīng)元14中,對應于該地址的G_C_norm(或L_C_norm)、所存原型分量和輸入模型分量可同時用于距離估計器15中。每個神經(jīng)元14然后使用相關聯(lián)的G_C_norm(或L_C_norm)完成輸入模型分量與相應的所存原型分量之間的基本的(或部分的)距離計算。將基本距離組合以便使用作為標準的所選L_D_norm來更新距離。此過程順序地繼續(xù)下去,直至所有輸入模型的分量都已經(jīng)處理過并且獲得最后距離值。
應該理解,當輸入模型分量以并行方式提供給改進的ANN 10時,可以使用相同方法。用于實施本發(fā)明的又一個方式也可是將G_C_norm與主計算機中的輸入模型分量關聯(lián)起來以便一起饋送至改進的ANN10。在此情況下,可以將全局記憶體功能嵌埋于主計算機本身之內(nèi)。然而,此解決方法在此處并不詳細,因為它具有某些缺點,尤其是它將顯著地增加主計算機的處理時間和/或I/O的數(shù)量。
圖2顯示用于歸納這些處理步驟的流程圖。
圖3顯示圖1中限于全局記憶體和只一個神經(jīng)元的體系結(jié)構(gòu)。具體地它顯示用于記憶G_C_nrom和第一神經(jīng)元14-1的主要元素的全局記憶體的內(nèi)部組織,第一神經(jīng)元基本上是一個現(xiàn)在根據(jù)本發(fā)明的原理修改的ZISC神經(jīng)元。
全局記憶體12的內(nèi)部組織原理性地顯示于圖3左側(cè)。如圖3中顯然可見的,有對應于輸入模型/所存原型的p個分量的p個記憶體位置,該輸入模型/所存原型被一個由主計算機通過地址總線20所發(fā)送的地址(地址1至地址p)進行訪問。在每個記憶體位置處存儲著與一個地址相關聯(lián)的G_C_norm的編碼值。兩個連續(xù)的地址可能表示或者是相同運算符或者是兩個不同運算符。在后一種情況下,存于addr 1和addr 2處的范數(shù)G_C_norm 1和G_C_norm 2可以分別是例如差值的絕對值和匹配/不匹配運算符。
現(xiàn)在回至圖3的右側(cè),其中更詳細地顯示神經(jīng)元14-1的主要元素。距離估計器15-1首先包括框21-1、22-1和23-1???1-1標為C_dist eval,因為它完成一對相應的分量的即相同秩的分量的基本距離計算。此框通過數(shù)據(jù)輸入總線13連至主計算機以及連至原型記憶體16-1。標為D_dist eval的框22-1由表示存于寄存器18-1中的距離范數(shù)(例如在Lsup范數(shù)的情況下的“最大值”運算符)的運算符所控制,以及當分量的計數(shù)增加時,用計算的基本距離(部分結(jié)果)來更新距離。當所有分量都已處理完后,標為dist寄存器的框23-1將最后距離存儲起來。距離估計器15-1、原型記憶體16-1(通過地址總線20連至主計算機)和用于記憶L_D_norm的寄存器18-1實際上與以上所述美國專利中給出的描述兼容?,F(xiàn)在根據(jù)本發(fā)明的距離估計器15-1還包括一個雙向多路復用器24-1,它一方面連至寄存器17-1,另一方面連至G_C_norm總線19。多路復用器由存于范數(shù)狀態(tài)寄存器25-1中的一個狀態(tài)位進行控制以便選擇準備施加于框21-1的控制輸入端上的L_C_norm或G_C_norm。然而,L_C_norm寄存器17-1、1位范數(shù)狀態(tài)寄存器25-1和多路復用器24-1并非是必要的框,C_dist eval 21-1能夠直接由存于全局記憶體12內(nèi)的G_C_范數(shù)通過總線19進行控制。
每當一個輸入模型分量由主計算機通過數(shù)據(jù)輸入總線13送至神經(jīng)元14-1時,存于與其相關聯(lián)的全局記憶體中的G_C_norm(在由主計算機定義的地址處)也同時通過G_C_norm總線10傳輸至改進的神經(jīng)元14-1。就地存于原型記憶體16-1中的原型分量(對應于該地址的)是直接可用的。這是在主計算機控制下完成全局記憶體12和作為標準的原型記憶體16-1兩者的尋址功能的地址總線20的作用?,F(xiàn)在,取決于存于用于控制多路復用器24-1的1位范數(shù)狀態(tài)寄存器25-1中的二進制值,可以或者選擇記憶于寄存器17-1中的L_C_norm或者選擇存于全局記憶體12中的G_C_norm。所選范數(shù)在完成所考慮的一對分量的基本距離計算中用于控制框21-1。然后使用存于L_D_norm寄存器18-1中的L_D_norm,在框22-1中更新輸入模型與所存原型之間的距離,以及如同在ZISC神經(jīng)元中所實現(xiàn)的,通過一個循環(huán)過程繼續(xù)執(zhí)行距離估計過程,直至已經(jīng)處理輸入模型的所有分量和已經(jīng)估計最后距離“dist”并且將它記憶于寄存器23-1中。應該注意,不像ZISC ANN那樣其中只能使用L1或Lsup范數(shù)來獲取最后距離,現(xiàn)在不再存在這類限制,本發(fā)明的改進的ANN 10在這方面提供多得更多的靈活性。
現(xiàn)在參照圖4更詳細地描述作為本發(fā)明主要特征的圖1的改進的ANN 10的操作,具體的是對輸入模型分量和具有與其相關聯(lián)的C_norm的所存原型分量同時進行處理的原理。對于每個輸入模型分量,主計算機(或控制邏輯)發(fā)出一個地址以便用于同時訪問全局記憶體12中相關聯(lián)的G_C_norm和相應的所存原型分量。我們給出一個實際例子。第一地址(addr 1)在全局記憶體12的第一位置選擇G_C_norm和如圖4a中所示的神經(jīng)元14-1至14-n的每個原型記憶體16中的第一原型分量comp 1。因此當?shù)谝惠斎肽P头至筐佀腿敫倪M的ANN 10中時,G_C_norm 1和第一原型分量comp 1為第一基本距離計算而同時與其相關聯(lián)。然后當?shù)诙斎肽P头至筐佀腿敫倪M的ANN 10時,它以相同方式與第二范數(shù)G_C_norm 2以及在如圖4b中所示的地址addr 2處的第二原型分量comp 2相關聯(lián)以便更新所述第一基本距離計算的部分結(jié)果。這些步驟被重復,直至已經(jīng)處理最后輸入模型分量。應該理解,如果在此例中各地址是連續(xù)的,它們也可以是隨機地址而不需要任何實際硬件修改。
當不同類型的原型存于一個ANN中時,使用上下文即如上所述的賦予每個所存原型的具體標記來選擇確定類型的原型。在此情況下,為每個分量使用一個G_C_norm可能是有用的,它將取決于上下文。改進的ANN 10的體系結(jié)構(gòu)完全適用于滿足此目的,因為有可能按照需要實施許多全局記憶體來記憶不同G_C_norm配置。
圖5顯示現(xiàn)在標為10′的圖1的改進的ANN 10的變動方案,它已經(jīng)適合于根據(jù)本發(fā)明的另一個顯著特征通過實施兩個上下文來處理兩組G_C_norm而不是一組。通過也用于啟動改進的ANN 10′中的合適的神經(jīng)元組的上下文來選擇一組確定的G_C_norm組?,F(xiàn)在轉(zhuǎn)向圖5,改進的ANN 10′包括兩個標為12-1和12-2的全局記憶體(為與以上所述兼容)和多個仍然標為14-1和14-n的神經(jīng)元。一個稱為上下文總線26的附加總線將一個用于在主計算機中(或控制邏輯中)存儲全局上下文的全局上下文寄存器連至稱為選擇單元的專用框。這些選擇單元分別標為全局記憶體12-1和12-2中的27-1和27-2以及神經(jīng)元14-1和14-2中的28-1和28-n。應該注意,在ZISC神經(jīng)元中早已存在類似的用于上下文實施的選擇單元(為簡明起見圖1和3中未在神經(jīng)元14中表示它們)。在圖5中,全局記憶體和神經(jīng)元與圖1的相應的框12和14的區(qū)別只在于選擇單元的增加。主要地,選擇單元27或28包含一個用于存儲本地上下文的寄存器和一個用于完成由主計算機所選全局上下文與本地上下文之間的比較操作的比較器。取決于該比較的結(jié)果,只啟動一組確定的神經(jīng)元組,同時禁止其他神經(jīng)元。改進的ANN 10′的體系結(jié)構(gòu)不限于如圖5所示的兩個上下文的實施,它給予電路設計人員以大的靈活性。改進的ANN 10′的操作與以上參照圖4a和4b描述的改進的ANN 10基本上相同。
然而,G_C_norm記憶裝置(在圖5的情況下是兩個全局記憶體12-1和12-2)可以加以優(yōu)化以便避免實施與上下文一樣多的全局記憶體。在某些情況下,當記憶體并未全部利用時或當它們實際上并非全都必要時,避免記憶體的浪費可能是值得的。可以根據(jù)本發(fā)明的另一個顯著特征來滿足此目的,就是使一個神經(jīng)元14(或更多)專用于記憶G_C_norm而不是如同已經(jīng)實現(xiàn)的那樣使用原型分量。其結(jié)果是,在物理上不再需要全局記憶體12,它的功能有效地由這一專用神經(jīng)元實現(xiàn)。最后,一個稱為功能標志位的新標志位被賦予每個神經(jīng)元以便給出其功能G_C_norm記憶化或原型分量記憶化。在第一種情況下,只利用神經(jīng)元的記憶體和上下文選擇功能,而在第二種情況下,它用作完成距離估計的標準。
轉(zhuǎn)向圖6,現(xiàn)在標為14′-1的改進的神經(jīng)元具有一個內(nèi)部結(jié)構(gòu),它直接從圖1的一個神經(jīng)元14-1中導得。以上所述的功能標志位存于標為29-1的功能標志寄存器中,功能標志寄存器29-1用于控制選擇器30-1。取決于功能標志位的值,選擇器30-1或者向C-dist估計器21-1提供一個原型分量,或者向G_C_norm總線19傳輸一個G_C_norm以供與其連接的所有所選神經(jīng)元加以利用。因此,神經(jīng)元14′-1具有兩個操作模型。在第一模型中,神經(jīng)元14′-1猶如神經(jīng)元14-1一樣地工作,而在第二模型中它起著全局記憶體12的作用(唯一的代價是增加功能標志寄存器29-1和選擇器30-1)。因而,神經(jīng)元14′-1中的原型記憶體16-1現(xiàn)在適用于存儲兩類不同類型的數(shù)據(jù)原型分量或G_C_norm。
圖7顯示當圖6的改進的神經(jīng)元根據(jù)本發(fā)明用于記憶G_C_norm時圖1的改進的ANN 10的體系結(jié)構(gòu)。這個標為10′的變動方案允許減少為實現(xiàn)G_C_norm記憶化所需記憶體的數(shù)量。在圖7中,圖6的神經(jīng)元14′-1中所示某些電路框已經(jīng)合并為一個標為原型單元31-1的單元。由于其選擇單元(對于上下文)及其功能標志寄存器(對于其操作模型)的幫助,選擇包含G_C_norm的專用神經(jīng)元。每當一個輸入模型分量饋送入改進的ANN 10′時,記憶于原型單元中的合適的G_C_norm即被輸出和與其相關聯(lián),以便用于ANN 10′的所有其他剩余神經(jīng)元中的距離估計。
現(xiàn)將參照圖8和9闡述圖7的改進的ANN 10′的操作。圖8闡述不需要專用一個改進的神經(jīng)元來存儲G_C_norm的情況。在此情況下,所有功能標志寄存器保持一個零值以及所有神經(jīng)元14′都按照標準操作,缺省范數(shù)(例如L1)則用于距離估計。
當使用單個上下文和當需要不同G_C_norm用于輸入模型分量時,只需要一個改進的神經(jīng)元來完成此任務?,F(xiàn)在轉(zhuǎn)向圖9,假設改進的神經(jīng)元14′-1專用于記憶G_C_norm,其功能標志寄存器29-1設置為1。其結(jié)果是,其原型單元31-1的記憶化裝置用于存儲G_C_norm而禁止其距離估計器15-1。這可以推廣至數(shù)個上下文。由于許多改進的神經(jīng)元是不同的上下文,它們專用于G_C_norm記憶化任務,即它們的功能標志寄存器設置為1和它們的記憶化裝置只用于記憶G_C_norm。
以上所述方法甚至可以進一步推廣至并行計算機系統(tǒng)中的距離估計。
雖然已經(jīng)相對于本發(fā)明的優(yōu)選實施例具體地描述了本發(fā)明,專業(yè)人員應該理解,可以在不背離本發(fā)明的實質(zhì)和范圍的情況下在形式和細節(jié)上作出以上和其他改變。
權(quán)利要求
1.一種改進的ANN,在估計輸入模型與存于ANN的神經(jīng)元中的原型之間的最后距離的過程中,用于將一個分量范數(shù)(C_norm)與具有p個分量的輸入模型中的每個分量關聯(lián)起來,所述改進的ANN包括-數(shù)據(jù)輸入傳輸裝置,用于施加輸入模型分量于每個神經(jīng)元;-全局記憶化裝置,用于存儲p個分量范數(shù)和施加所述p個分量范數(shù)于每個神經(jīng)元;-多個n個神經(jīng)元;每個神經(jīng)元包括--一個原型記憶體,用于存儲一個原型的p個分量;及--連至所述原型記憶體、連至所述全局記憶化裝置和連至所述數(shù)據(jù)輸入傳輸裝置的距離估計裝置;-尋址裝置,用于同時將輸入模型分量、相應的與其相關聯(lián)的分量范數(shù)和相應的所存原型分量施加于每個神經(jīng)元中的所述距離估計裝置上;-用于將距離范數(shù)(D_norm)施加于距離估計裝置上的裝置;其中所述距離估計裝置適合于使用與其相關聯(lián)的相應分量范數(shù)來執(zhí)行輸入模型的相應的分量與所存原型之間的基本的(或部分的)距離計算和適合于組合距離估計過程中的所述基本計算以便使用距離范數(shù)(D_norm)來確定最后距離。
2.權(quán)利要求1的改進的ANN,其中所述全局記憶化裝置包含一個對ANN的所有神經(jīng)元都是公共的用于記憶稱為全局分量范數(shù)(G_C_norm)的分量范數(shù)的物理記憶體。
3.權(quán)利要求1的改進的ANN,其中所述全局記憶化裝置包含一個放置于每個神經(jīng)元中用于記憶稱為本地分量范數(shù)(L_C_norm)的分量范數(shù)的專用記憶體。
4.權(quán)利要求1的改進的ANN,其中所述全局記憶化裝置包含一個對ANN的所有神經(jīng)元都是公共的用于記憶稱為全局分量范數(shù)(G_C_norm)的分量范數(shù)的物理全局記憶體和多個放置于每個神經(jīng)元中用于記憶稱為本地分量范數(shù)(L_C_norm)的分量范數(shù)的專用記憶體。
5.權(quán)利要求4的改進的ANN,還包括用于或者選擇G_C_norm或者選擇L_C_norm以便用作C_norm的裝置。
6.權(quán)利要求1的改進的ANN,其中所述用于施加距離范數(shù)(D_norm)的裝置或者包含一個對所有神經(jīng)元都是公共的寄存器(G_D_norm)或者在每個神經(jīng)元內(nèi)包含一個本地寄存器(L_D_norm)。
7.一種改進的ANN,在估計輸入模型與適合于劃分為對應于m個不同全局上下文的m組神經(jīng)元的ANN的神經(jīng)元中所存的原型之間的最后距離的過程中,適用于將一個分量范數(shù)(C_norm)與具有p個分量的輸入模型中的每個分量關聯(lián)起來,所述改進的ANN包括-數(shù)據(jù)輸入傳輸裝置,用于施加輸入模型分量于每個神經(jīng)元;-上下文傳輸裝置,用于施加全局上下文于每個神經(jīng)元;-連至所述上下文傳輸裝置的多個m個全局記憶化裝置,適用于存儲p個具有確定的上下文的分量范數(shù)以及通過一條C_norm總線施加所述p個分量范數(shù)于每個神經(jīng)元;每個全局記憶化裝置包括-一個用于存儲p個分量范數(shù)的記憶體;及-用于存儲本地上下文的裝置以及響應于全局上下文和適用于與存于其中的本地上下文進行比較以便只啟動其本地上下文與全局上下文匹配的神經(jīng)元而禁止其他神經(jīng)元的裝置;-多個n個神經(jīng)元;每個神經(jīng)元包括——一個原型記憶體,用于存儲一個原型的p個分量;及——連至所述原型記憶體、連至所述全局記憶化裝置和連至所述數(shù)據(jù)輸入傳輸裝置的的距離估計裝置;——用于存儲本地上下文的裝置以及響應于全局上下文和適用于與存于其中的本地上下文進行比較以便只啟動其本地上下文與全局上下文匹配的神經(jīng)元而禁止其他神經(jīng)元的裝置;-尋址裝置,用于同時將輸入模型分量、相應的與其相關聯(lián)的分量范數(shù)和相應的所存原型分量施加于每個神經(jīng)元中的所述距離估計裝置;-用于將距離范數(shù)(D_norm)施加于距離估計裝置上的裝置;其中所述距離估計裝置適合于使用與其相關聯(lián)的相應分量范數(shù)來完成輸入模型的相應分量與所存原型之間的基本的(部分的)距離計算和適合于組合距離估計過程中的所述基本計算以便使用距離范數(shù)(D_norm)來確定最后距離。
8.一種改進的ANN,在估計輸入模型與存于ANN的神經(jīng)元中的原型之間的最后距離的過程中,適用于將一個分量范數(shù)(C_norm)與具有p個分量的輸入模型中的每個分量關聯(lián)起來,所述改進的ANN包括-數(shù)據(jù)輸入傳輸裝置,用于施加輸入模型分量于每個神經(jīng)元;-多個n個神經(jīng)元;每個神經(jīng)元包括——一個能夠或者存儲原型的p個分量或者存儲p個分量范數(shù)以及通過一條C_norm總線施加所述p個分量范數(shù)于每個神經(jīng)元的記憶體;——適合于或者施加原型分量于距離估計裝置(標準模型)或者通過C_norm總線施加p個分量范數(shù)于每個神經(jīng)元(C_norm模型)的裝置;——適合于選擇任何一個模型的裝置;及——連至所述原型記憶體、連至所述全局記憶化裝置和連至所述數(shù)據(jù)輸入傳輸裝置的的距離估計裝置;——用于存儲本地上下文的裝置以及響應于全局上下文和適用于與存于其中的本地上下文進行比較以便只啟動其本地上下文與全局上下文匹配的神經(jīng)元而禁止其他神經(jīng)元的裝置;-尋址裝置,用于同時將輸入模型分量、相應的與其相關聯(lián)的分量范數(shù)和相應的所存原型分量施加于每個神經(jīng)元中的所述距離估計裝置;-用于將距離范數(shù)(D_norm)施加于距離估計裝置上的裝置;其中所述距離估計裝置適合于使用與其相關聯(lián)的相應分量范數(shù)來完成輸入模型的相應分量與所存原型之間的基本的(部分的)距離計算和適合于組合距離估計過程中的所述基本計算以便使用距離范數(shù)(D_norm)來確定最后距離。
9.一種改進的ANN,在估計輸入模型與適合于劃分為對應于m個不同全局上下文的m組神經(jīng)元的ANN的神經(jīng)元中所存原型之間的最后距離的過程中,適用于將一個分量范數(shù)(C_norm)與具有p個分量的輸入模型中的每個分量關聯(lián)起來,所述改進的ANN包括-數(shù)據(jù)輸入傳輸裝置,用于施加輸入模型分量于每個神經(jīng)元;-多個n個神經(jīng)元;每個神經(jīng)元包括——一個能夠或者存儲原型的p個分量或者存儲p個分量范數(shù)以及通過一條C_norm總線施加所述p個分量范數(shù)于每個神經(jīng)元的記憶體;——適合于或者施加原型分量于距離估計裝置(標準模型)或者通過C_norm總線施加p個分量范數(shù)于每個神經(jīng)元(C_norm模型)的裝置;——適合于選擇任何一個模型的裝置;及——連至所述原型記憶體、連至所述全局記憶化裝置和連至所述數(shù)據(jù)輸入傳輸裝置的的距離估計裝置;——用于存儲本地上下文的裝置以及響應于全局上下文和適用于與存于其中的本地上下文進行比較以便只啟動其本地上下文與全局上下文匹配的神經(jīng)元而禁止其他神經(jīng)元的裝置;-尋址裝置,用于同時將輸入模型分量、相應的與其相關聯(lián)的分量范數(shù)和相應的所存原型分量施加于每個神經(jīng)元中的所述距離估計裝置上;-用于將距離范數(shù)(D_norm)施加于距離估計裝置上的裝置;其中所述距離估計裝置適合于使用與其相關聯(lián)的相應分量范數(shù)來完成輸入模型的相應分量與所存原型之間的基本的(部分的)距離計算和適合于組合距離估計過程中的所述基本計算以便使用距離范數(shù)(D_norm)來確定最后距離。
10.一種方法,在使用距離范數(shù)來估計存于一個外部(主)記憶體內(nèi)的輸入模型(具有p個分量)與人工神經(jīng)網(wǎng)絡(ANN)的每個神經(jīng)元的原型之間的最后距離的過程中,用于將一個分量范數(shù)與所述輸入模型中的每個分量關聯(lián)起來以及與存于n個神經(jīng)元內(nèi)的所有原型的相應分量關聯(lián)起來,所述方法包括以下步驟a)為每個神經(jīng)元將最后距離復位為零;b)指向?qū)谝粋€分量的地址;c)將對應于該地址的輸入模型分量提供給每個神經(jīng)元;d)獲取對應于該地址的分量范數(shù);e)使用每個神經(jīng)元的分量范數(shù)來計算基本距離;f)使用每個神經(jīng)元的距離范數(shù)來更新距離;g)重復步驟b)至f),直至已經(jīng)處理過所有p個分量,從而允許為每個神經(jīng)元估計最后距離。
11.一種方法,在使用距離范數(shù)來估計存于一個外部(主)記憶體內(nèi)的輸入模型(具有p個分量)與人工神經(jīng)網(wǎng)絡(ANN)的每組具有一個確定的上下文的至少一組的每個神經(jīng)元的原型之間的最后距離的過程中,用于將一個分量范數(shù)與所述輸入模型的每個分量關聯(lián)起來以及與劃分為每組具有確定的上下文的多組m組的n個神經(jīng)元內(nèi)存儲的至少一組原型的相應分量關聯(lián)起來,所述方法包括以下步驟a)設置一個上下文值;b)為每個具有此上下文值的神經(jīng)元將最后距離復位為零;c)指向?qū)谝粋€分量的地址;d)將對應于該地址的輸入模型分量提供給每個具有此上下文值的神經(jīng)元;e)獲取對應于該地址的分量范數(shù);f)使用每個所述具有此上下文值的神經(jīng)元的分量范數(shù)來計算基本距離;g)使用每個所述具有此上下文值的神經(jīng)元的距離范數(shù)來更新距離;h)重復步驟c)至g),直至已經(jīng)處理過所有p個分量,從而允許為每個所述具有此上下文值的神經(jīng)元估計最后距離。
全文摘要
本發(fā)明的方法和電路的目的在于在距離估計過程中將一個范數(shù)與提供給基于輸入空間映射算法的人工神經(jīng)網(wǎng)絡(ANN)的輸入模型中的每個分量關聯(lián)起來。一組稱為“分量”范數(shù)的范數(shù)記憶于ANN的特定記憶化裝置中。當ANN集成于一片硅芯片內(nèi)時,此實施方式允許明顯地使占用的硅面積優(yōu)化。
文檔編號G06N3/063GK1333518SQ0112286
公開日2002年1月30日 申請日期2001年7月12日 優(yōu)先權(quán)日2000年7月13日
發(fā)明者基斯蘭·I·特里米奧里斯, 帕斯卡爾·坦諾夫 申請人:國際商業(yè)機器公司