用于可伸縮神經(jīng)突觸網(wǎng)絡(luò)的方法
【專利摘要】本發(fā)明的實(shí)施例提供了一種包括保持一個(gè)或者多個(gè)組成原型的庫的方法。每個(gè)組成原型與神經(jīng)突觸程序關(guān)聯(lián)。該方法還包括根據(jù)一個(gè)或者多個(gè)搜索參數(shù)搜索庫。選擇滿足搜索參數(shù)的至少一個(gè)組成原型。通過應(yīng)用一個(gè)或者多個(gè)與選擇的組成原型關(guān)聯(lián)的規(guī)則,生成或者延伸神經(jīng)突觸網(wǎng)絡(luò)。
【專利說明】
用于可伸縮神經(jīng)突觸網(wǎng)絡(luò)的方法
[0001 ]本發(fā)明在政府的支持下基于國防部高級(jí)研究計(jì)劃署(DARPA)授予的皿0011-09-C- 0002做出。在本發(fā)明中,政府具有某些的權(quán)利。
技術(shù)領(lǐng)域
[0002] 本發(fā)明設(shè)及神經(jīng)形態(tài)和神經(jīng)突觸計(jì)算,并且特別地,設(shè)及可伸縮(scalable)神經(jīng) 突觸網(wǎng)絡(luò)的組成原型(compositional prototype)。
【背景技術(shù)】
[0003] 神經(jīng)形態(tài)和神經(jīng)突觸計(jì)算(也稱為人造神經(jīng)網(wǎng)絡(luò))是由生物大腦啟發(fā)的計(jì)算系統(tǒng)。 例如,神經(jīng)形態(tài)和神經(jīng)突觸計(jì)算可W包括各種電子電路并且/或者可W在由生物大腦的神 經(jīng)啟發(fā)的處理元素之間創(chuàng)建連接。
[0004] 在生物系統(tǒng)中,神經(jīng)模塊的軸突與另一個(gè)神經(jīng)元的樹突之間的接觸點(diǎn)稱為突觸, 并且對(duì)于突觸,兩個(gè)神經(jīng)元分別稱為前突觸和后突觸。W突觸傳導(dǎo)率方式存儲(chǔ)我們的個(gè)體 體驗(yàn)的實(shí)質(zhì)。突觸傳導(dǎo)率可W隨著時(shí)間根據(jù)前突觸和后突觸神經(jīng)元的相對(duì)棘波時(shí)間 (relative spike time)變化。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的一個(gè)實(shí)施例提供了一種方法,包括:保持一個(gè)或者多個(gè)組成原型的庫。每 個(gè)組成原型與神經(jīng)突觸程序關(guān)聯(lián)。該方法還包括根據(jù)一個(gè)或者多個(gè)捜索參數(shù),捜索該庫。選 擇滿足捜索參數(shù)的至少一個(gè)組成原型。通過應(yīng)用一個(gè)或者多個(gè)與選擇的組成原型關(guān)聯(lián)的規(guī) 貝1J,生成或者延伸神經(jīng)形態(tài)網(wǎng)絡(luò)。
[0006] 本發(fā)明的另一個(gè)實(shí)施例提供了一種方法,該方法包括分析一個(gè)或者多個(gè)模型文 件。每個(gè)模型文件包含與神經(jīng)突觸核屯、有關(guān)的信息。該方法還包括識(shí)別模型文件中的一個(gè) 或者多個(gè)唯一核屯、模式W及分配利用相應(yīng)唯一標(biāo)識(shí)符識(shí)別的每個(gè)唯一核屯、模式。對(duì)于識(shí)別 的每個(gè)唯一核屯、模式,根據(jù)對(duì)唯一核屯、模式的相應(yīng)唯一標(biāo)識(shí)符的重復(fù),在模型文件中定位 唯一核屯、模式的每個(gè)實(shí)例;W及替換利用對(duì)應(yīng)于唯一核屯、模式的組成原型定位的每個(gè)實(shí) 例。
[0007] 本發(fā)明的另一個(gè)實(shí)施例提供了一種方法,該方法包括:對(duì)核屯、程序組成提供編程 環(huán)境。該方法還包括利用編程環(huán)境,記錄與核屯、程序組成關(guān)聯(lián)的一個(gè)或者多個(gè)用戶動(dòng)作。對(duì) 于記錄的每個(gè)用戶動(dòng)作,保持包含與用戶動(dòng)作有關(guān)的元數(shù)據(jù)的相應(yīng)元數(shù)據(jù)記錄,并且使數(shù) 據(jù)庫記錄與類似元數(shù)據(jù)聚類,W識(shí)別與核屯、程序組成有關(guān)的一個(gè)或者多個(gè)模式。
[000引參考下面的描述、所附權(quán)利要求書W及附圖,將理解本發(fā)明的運(yùn)些W及其他特征、 方案和優(yōu)點(diǎn)。
【附圖說明】
[0009]圖1示出根據(jù)本發(fā)明實(shí)施例的示例性神經(jīng)形態(tài)核屯噸路;
[0010] 圖2示出根據(jù)本發(fā)明實(shí)施例的具有輸入連接器和輸出連接器的示例性核屯、電路;
[0011] 圖3示出根據(jù)本發(fā)明實(shí)施例的包含多個(gè)互連核屯、電路的基于神經(jīng)形態(tài)核屯、的示例 性架構(gòu);
[0012]圖4示出根據(jù)本發(fā)明實(shí)施例的圖3中基于神經(jīng)形態(tài)核屯、的架構(gòu)的高級(jí)方框圖;
[OOU]圖5示出根據(jù)本發(fā)明實(shí)施例的示例性粉。程序(corelet);
[0014] 圖6示出根據(jù)本發(fā)明實(shí)施例的示例性復(fù)雜核屯、程序;
[0015] 圖7是示出根據(jù)本發(fā)明實(shí)施例的用于程序組成的框架的高級(jí)方框圖;
[0016] 圖8示出根據(jù)本發(fā)明實(shí)施例的示例性網(wǎng)絡(luò)連通性置換;
[0017]圖9示出根據(jù)本發(fā)明實(shí)施例的另一個(gè)示例性連通性置換;
[0018] 圖10示出根據(jù)本發(fā)明實(shí)施例的核屯、程序的輸入連接器的示例性二維區(qū)域;
[0019] 圖11示出根據(jù)本發(fā)明實(shí)施例的粉。程序的輸入連接器的另一個(gè)示例性二維區(qū)域;
[0020] 圖12示出根據(jù)本發(fā)明實(shí)施例的核屯、程序的輸入連接器的另一個(gè)示例性二維區(qū)域;
[0021] 圖13示出根據(jù)本發(fā)明實(shí)施例的示例性突觸粉。;
[0022] 圖14示出根據(jù)本發(fā)明實(shí)施例的示例性交叉開關(guān)陣列(crossbar);
[0023] 圖15示出根據(jù)本發(fā)明實(shí)施例添加示例性換能器核屯、程序;
[0024] 圖16示出根據(jù)本發(fā)明實(shí)施例的多個(gè)示例性核屯、程序組成原型(CCP),每個(gè)CCP都具 有作為通用組件的卷積網(wǎng)絡(luò);
[0025] 圖17示出根據(jù)本發(fā)明實(shí)施例的示例性專用捜索;
[0026] 圖18示出根據(jù)本發(fā)明實(shí)施例的規(guī)則的示例性應(yīng)用;
[0027] 圖19是根據(jù)本發(fā)明實(shí)施例的用于生成或者延伸神經(jīng)形態(tài)網(wǎng)絡(luò)的示例性流程圖;W 及
[0028] 圖20是示出用于實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的信息處理系統(tǒng)的高級(jí)方框圖。
【具體實(shí)施方式】
[0029] 本發(fā)明設(shè)及可伸縮神經(jīng)突觸網(wǎng)絡(luò)的組成原型。本發(fā)明的一個(gè)實(shí)施例提供了一種包 括保持一個(gè)或者多個(gè)組成原型的庫的方法。每個(gè)組成原型與神經(jīng)突觸程序關(guān)聯(lián)。該方法還 包括根據(jù)一個(gè)或者多個(gè)捜索參數(shù)捜索庫。選擇滿足捜索參數(shù)的至少一個(gè)組成原型。通過應(yīng) 用一個(gè)或者多個(gè)與選擇的組成原型關(guān)聯(lián)的規(guī)則,生成或者延伸神經(jīng)形態(tài)網(wǎng)絡(luò)。
[0030] 本發(fā)明的另一個(gè)實(shí)施例提供了一種包括分析一個(gè)或者多個(gè)模型文件的方法。每個(gè) 模型文件包含與神經(jīng)突觸核屯、有關(guān)的信息。該方法還包括識(shí)別模型文件中的一個(gè)或者多個(gè) 唯一核屯、模式(unique core pattern),并且指定與相應(yīng)唯一標(biāo)識(shí)符關(guān)聯(lián)的每個(gè)唯一核屯、 模式。對(duì)于識(shí)別的每個(gè)唯一核屯、模式,根據(jù)唯一核屯、模式的相應(yīng)唯一標(biāo)識(shí)符的重復(fù)定位模 型文件中的唯一核屯、模式的每個(gè)實(shí)例,并且代替利用對(duì)應(yīng)于唯一核屯、模式的組成原型定位 的每個(gè)實(shí)例。
[0031] 本發(fā)明的另一個(gè)實(shí)施例提供了一種對(duì)核屯、程序組成提供編程環(huán)境的方法。該方法 還包括利用該編程環(huán)境記錄與核屯、程序組成關(guān)聯(lián)的一個(gè)或者多個(gè)操作。對(duì)于記錄的每個(gè)用 戶操作,保持包含與用戶操作有關(guān)的元數(shù)據(jù)的相應(yīng)數(shù)據(jù)庫,并且聚類具有相同元數(shù)據(jù)的數(shù) 據(jù)庫記錄,W識(shí)別一個(gè)或者多個(gè)與核屯、程序組成有關(guān)的模式。
[0032] 在本說明書中,可互換地使用術(shù)語神經(jīng)形態(tài)和神經(jīng)突觸。
[0033] 如在此使用的術(shù)語電子神經(jīng)元表示在由生物大腦神經(jīng)的啟發(fā)的處理元之間創(chuàng)建 連接的架構(gòu)。盡管在此利用包括電子電路的電子神經(jīng)元描述了本發(fā)明的特定說明性實(shí)施 例,但是本發(fā)明并不局限于電子電路。能夠?qū)⒏鶕?jù)本發(fā)明實(shí)施例的神經(jīng)形態(tài)計(jì)算實(shí)現(xiàn)為包 括電路系統(tǒng)的神經(jīng)形態(tài)和神經(jīng)突觸架構(gòu),并且能夠附加實(shí)現(xiàn)為計(jì)算機(jī)模擬。實(shí)際上,本發(fā)明 的實(shí)施例能夠取完全硬件實(shí)施例、完全軟件實(shí)施例或者既含有硬件元件又含有軟件元件的 實(shí)施例。
[0034] 如在此使用的術(shù)語神經(jīng)突觸程序表示神經(jīng)突觸網(wǎng)絡(luò)。神經(jīng)突觸程序制定與如下有 關(guān)的信息:神經(jīng)元性能和動(dòng)態(tài)(例如,闊值參數(shù)、漏泄參數(shù)、延遲參數(shù)、復(fù)位參數(shù)等等),該神 經(jīng)元性能和動(dòng)態(tài)確定對(duì)輸入棘波的電子神經(jīng)元響應(yīng);神經(jīng)元的突觸連接(例如,通過突觸交 叉開關(guān)陣列形成的突觸連接);軸突性能(例如,軸突類型);W及應(yīng)當(dāng)將神經(jīng)元輸出棘波送 到的一個(gè)或者多個(gè)目的地。
[0035] 在此使用的術(shù)語神經(jīng)突觸網(wǎng)絡(luò)表示神經(jīng)突觸程序的例示。神經(jīng)突觸網(wǎng)絡(luò)可W是硬 件、模擬或者二者的舉例說明。例如,神經(jīng)突觸程序可W生成神經(jīng)突觸網(wǎng)絡(luò)的一個(gè)或者多個(gè) 實(shí)例,其中該實(shí)例可W駐留在單個(gè)核屯、中、多個(gè)核屯、中或者多個(gè)忍片中。
[0036] 如在此使用的術(shù)語神經(jīng)形態(tài)核屯、電路表示由神經(jīng)突觸程序描述的示例性神經(jīng)突 觸網(wǎng)絡(luò)。
[0037] 本發(fā)明的實(shí)施例有助于組成神經(jīng)突觸程序。本發(fā)明的實(shí)施例還有助于組成神經(jīng)突 觸程序的抽象。軟件的一個(gè)實(shí)施例提供神經(jīng)突觸程序的抽象。
[0038] 如在此使用的術(shù)語核屯、程序和核屯、程序編程語言表示提供神經(jīng)突觸程序的抽象 的軟件的優(yōu)選實(shí)施例。通過組成核屯、程序,可W組成神經(jīng)突觸程序。
[0039] 如在此使用的術(shù)語模型文件表示神經(jīng)突觸程序、神經(jīng)突觸網(wǎng)絡(luò)或者二者的機(jī)器可 讀表示(例如,JS0N、二進(jìn)制等等)。
[0040] 圖1示出根據(jù)本發(fā)明實(shí)施例的示例性神經(jīng)形態(tài)核屯、電路10。核屯、電路10包括多個(gè) 電子神經(jīng)元("神經(jīng)元")11和多個(gè)電子傳入軸突("軸突")15。神經(jīng)元11和軸突15通過包括多 個(gè)電子突觸器件("突觸")31的mXn交叉開關(guān)陣列12互連,其中m和n是大于或者等于1的整 數(shù)。交叉開關(guān)陣列12還包含多行/軸突路徑26和多列樹突路徑34。每個(gè)軸突15連接到交叉開 關(guān)陣列12的相應(yīng)軸突路徑26。每個(gè)神經(jīng)元11連接到交叉開關(guān)陣列12的相應(yīng)樹突路徑34。每 個(gè)突觸31使軸突15與神經(jīng)元11互連,其中對(duì)于突觸31,軸突15和神經(jīng)元11分別表示前突觸 神經(jīng)元的軸突和后突觸神經(jīng)元的樹突。
[0041 ]每個(gè)神經(jīng)元11分別通過互連軸突15接收引發(fā)事件(firing event)(例如,輸入棘 波)。每個(gè)神經(jīng)元11都具有相應(yīng)神經(jīng)元狀態(tài)和一組可配置神經(jīng)元性能和/或者動(dòng)態(tài)。根據(jù)收 到的引發(fā)事件、其當(dāng)前神經(jīng)元狀態(tài)及其神經(jīng)元性能和動(dòng)態(tài),神經(jīng)元可W基于神經(jīng)元活化功 能生成引發(fā)事件(例如,輸出棘波)。示例性神經(jīng)元活化功能可W是漏泄積分和引發(fā)(leaky integr曰te-曰nd-f ire)O
[0042]在本說明書中,假定術(shù)語目標(biāo)目的地指引發(fā)事件的目的地。每個(gè)引發(fā)事件都具有 將引發(fā)事件發(fā)送到的相應(yīng)目標(biāo)目的地。假定術(shù)語目標(biāo)軸突指作為目標(biāo)目的地的軸突15。神 經(jīng)元11生成的引發(fā)事件傳播到目標(biāo)軸突15,其中目標(biāo)軸突15可W象神經(jīng)元11 一樣駐留于核 屯、電路10中,也可W駐留于包含在包括多個(gè)互連屯、電路10的基于神經(jīng)形態(tài)核屯、的架構(gòu)中的 不同核屯、電路10中。
[0043] -個(gè)或者多個(gè)軸突15可W接收外部輸入,諸如來自一個(gè)或者多個(gè)感測(cè)換能器的感 測(cè)輸入,配置該換能器W提供感測(cè)輸入。在一個(gè)實(shí)施例中,每個(gè)感測(cè)輸入都傳播到目標(biāo)軸突 15,作為引發(fā)事件。一個(gè)或者多個(gè)神經(jīng)元11可W生成作為外部輸出提供的引發(fā)事件。在一個(gè) 實(shí)施例中,外部輸出表示送到一個(gè)或者多個(gè)效應(yīng)器或者致動(dòng)器的電動(dòng)機(jī)輸出(例如,電動(dòng)機(jī) 控制系統(tǒng),配置該電動(dòng)機(jī)控制系統(tǒng),W響應(yīng)一個(gè)或者多個(gè)神經(jīng)元11生成的引發(fā)事件,生成電 動(dòng)機(jī)輸出)。外部雙向通信環(huán)境可W將感測(cè)輸入提供到核屯、電路10并且消耗來自核屯、電路 10的電動(dòng)機(jī)輸出。在另一個(gè)實(shí)施例中,外部輸出代表對(duì)一個(gè)或者多個(gè)軟件模塊、可視化或者 顯示提供的信號(hào)(例如,指出在視野內(nèi)存在特定類或者一組輸入的特定模式的信號(hào))。
[0044] 利用接收引發(fā)事件并且根據(jù)神經(jīng)元活化功能生成引發(fā)事件的互補(bǔ)金屬氧化物半 導(dǎo)體(CMOS)邏輯口,實(shí)現(xiàn)神經(jīng)元11和軸突15。在一個(gè)實(shí)施例中,神經(jīng)元11和軸突15包含根據(jù) 神經(jīng)元活化功能生成引發(fā)事件的比較器電路。在一個(gè)實(shí)施例中,利用一位靜態(tài)隨機(jī)存取存 儲(chǔ)器(SRAM)單元實(shí)現(xiàn)突觸31。每次選擇一個(gè)生成引發(fā)事件的神經(jīng)元11,并且將該引發(fā)事件 傳送到目標(biāo)軸突15,其中目標(biāo)軸突15可W駐留于同一個(gè)核屯、電路10中或者具有許多核屯、電 路10的較大系統(tǒng)中的某個(gè)其他位置(例如,包括多個(gè)互連核屯、電路10的基于神經(jīng)形態(tài)核屯、 的架構(gòu))。
[0045] 圖2示出根據(jù)本發(fā)明實(shí)施例具有輸入連接器50和輸出連接器60的示例性核屯、電路 10。核屯、電路10通過一個(gè)或者多個(gè)輸入連接器50接收諸如感測(cè)輸入的外部輸入。每個(gè)輸入 連接器50包含一個(gè)或者多個(gè)引腳70。引腳70可W是連接引腳70C或者斷開引腳70D(圖8)。軸 突15通過輸入連接器50的連接引腳70C接收外部輸入。
[0046] 核屯、電路10通過一個(gè)或者多個(gè)輸出連接器60提供諸如電動(dòng)機(jī)輸出的外部輸出。每 個(gè)輸出連接器60包含一個(gè)或者多個(gè)引腳70。通過輸出連接器60的連接引腳70C,提供神經(jīng)元 11生成的棘波/引發(fā)事件,作為外部輸出。
[0047] 圖3示出根據(jù)本發(fā)明實(shí)施例包含多個(gè)互連核屯、電路10的基于神經(jīng)形態(tài)核屯、的示例 性架構(gòu)100。每個(gè)核屯、電路10采用互聯(lián)網(wǎng)絡(luò)75W將神經(jīng)元引發(fā)事件傳遞到其他核屯、電路10。
[0048] 圖4示出根據(jù)本發(fā)明實(shí)施例的圖3所述基于神經(jīng)形態(tài)核屯、的架構(gòu)100的高級(jí)方框 圖。在一個(gè)實(shí)施例中,基于神經(jīng)形態(tài)核屯、的架構(gòu)100包含至少一個(gè)存儲(chǔ)單元110。如上所述, 核屯、程序代表提供神經(jīng)突觸程序的抽象的軟件的優(yōu)選實(shí)施例??蒞解釋或者編譯核屯、程 序,W生成裝載到基于神經(jīng)形態(tài)核屯、的架構(gòu)100的一個(gè)或者多個(gè)存儲(chǔ)單元110中的神經(jīng)突觸 程序的組成元件(即,神經(jīng)元性能和動(dòng)態(tài)、突觸連接、軸突性能和目的地等等)。
[0049] 圖5示出根據(jù)本發(fā)明實(shí)施例的示例性核屯、程序200。在一個(gè)實(shí)施例中,核屯、程序200 是描述包含一個(gè)或者多個(gè)核屯、電路10的神經(jīng)突觸網(wǎng)絡(luò)的神經(jīng)突觸程序的軟件抽象。核屯、程 序200封裝所有網(wǎng)絡(luò)間連通性和所有核屯、間生理過程(例如,神經(jīng)元性能和動(dòng)態(tài)),而僅暴露 送到網(wǎng)絡(luò)或者來自網(wǎng)絡(luò)的外部輸入和外部輸出。例如,核屯、程序200可W提供網(wǎng)絡(luò)的一個(gè)或 者多個(gè)核屯、電路10的結(jié)構(gòu)描述。
[0050] 在一個(gè)實(shí)施例中,核屯、程序200是用于對(duì)核屯、電路10的一部分(即,一小部分)、核 屯、電路10、或者代表多個(gè)互連核屯、電路10的至少兩個(gè)核屯、程序200編程的靜態(tài)配置。例如, 核屯、程序200包含與核屯、程序200收到的輸入220、核屯、程序200提供的輸出230、核屯、程序 200的功能和/或利用核屯、程序200對(duì)神經(jīng)網(wǎng)絡(luò)電路的一部分編程的成本有關(guān)的信息。
[0051 ] 核屯、程序200可W應(yīng)用于不同類型的神經(jīng)形態(tài)核屯、電路。在一個(gè)實(shí)施例中,核屯、程 序200是用于對(duì)核屯、電路10的一部分(即,一小部分)或者核屯、電路10編程的靜態(tài)配置文件。 還可W W分層結(jié)構(gòu)方式組成核屯、程序200,使得核屯、程序200可W用于對(duì)代表多個(gè)互連核屯、 電路10的兩個(gè)或者多個(gè)核屯、程序200編程。核屯、程序200可W對(duì)神經(jīng)網(wǎng)絡(luò)電路100的核屯、電 路10的神經(jīng)元活化編程。核屯、程序200可W對(duì)核屯、電路10編程從而執(zhí)行的活化的其他例子 包含圖像/視頻中的邊緣檢測(cè)、視頻中的運(yùn)動(dòng)歷史軌跡、對(duì)象分類、機(jī)器人環(huán)境下的感覺響 應(yīng)、W及聲音濾波。
[0052] 在一個(gè)實(shí)施例中,核屯、程序200可W包括C個(gè)組成單元("組成子核屯、程序"),其中C 是大于或者等于1的整數(shù)。每個(gè)子核屯、程序定義如下中的一個(gè):核屯、電路10的一部分(即,一 小部分)、核屯、電路10、多個(gè)核屯、電路或者反過來定義一個(gè)或者多個(gè)互連核屯、電路10的一部 分的核屯、程序200。
[0053] 核屯、程序200經(jīng)由輸入連接器50接收一個(gè)或者多個(gè)輸入220。每個(gè)輸入220可W代 表來自另一個(gè)核屯、程序200的引發(fā)事件或者來自傳感器單元120的感測(cè)輸入(圖4)。在一個(gè) 實(shí)施例中,輸入連接器50包含輸入映射表,該輸入映射表保持核屯、程序200收到的每個(gè)輸入 220的路由信息。根據(jù)該輸入映射表,收到的每個(gè)輸入220或者映射到核屯、電路10的目標(biāo)軸 突15,或者映射到核屯、程序200中的子核屯、程序的輸入連接器50。類似地,核屯、程序200的子 核屯、程序收到的每個(gè)輸入又映射到包含在子核屯、程序中的核屯、電路10的目標(biāo)軸突15或者 映射到其子核屯、程序中的一個(gè)子核屯、程序。
[0054] 在另一個(gè)實(shí)施例中,核屯、程序200可W沒有組成子核屯、程序。例如,橫跨多個(gè)互連 核屯、電路10的核屯、程序200可W沒有任何組成子核屯、程序。
[0055] 每個(gè)輸出230可W表示神經(jīng)元11生成的引發(fā)事件。在一個(gè)實(shí)施例中,核屯、程序200 的子核屯、程序提供的每個(gè)輸出映射到如下中的一個(gè):核屯、電路10的目標(biāo)軸突15、核屯、程序 200中的子核屯、程序的輸入連接器50、或者核屯、程序200的輸出連接器60。
[0056] 核屯、程序200提供一個(gè)或者多個(gè)輸出230。每個(gè)輸出230可W通過輸出連接器60路 由到另一個(gè)核屯、程序200或者電動(dòng)機(jī)單元130(圖4)。在一個(gè)實(shí)施例中,輸出連接器60包含輸 出映射表,該輸出映射表保持核屯、程序200提供的每個(gè)輸出230的路由信息。根據(jù)該輸出映 射表,每個(gè)輸出230映射到如下中的一個(gè):另一個(gè)核屯、程序200或者電動(dòng)機(jī)單元130。子核屯、 程序的輸出可W映射到核屯、程序200的輸出(請(qǐng)參見例如圖6)。使用具有映射表的輸入連接 器50和輸出連接器60有助于在許多分層水平W分層核屯、程序組成中的分層連通性映射。
[0057] 圖6示出根據(jù)本發(fā)明實(shí)施例的示例性復(fù)雜核屯、程序300。復(fù)雜核屯、程序300是具有 多個(gè)子核屯、程序210的組合的核屯、程序200。如圖6所示的核屯、程序C是由兩個(gè)子核屯、程序 210構(gòu)成的示例性復(fù)雜核屯、程序300。具體地說,Corelet C是第一子核屯、程序Corelet A和 第二子核屯、程序Corelet B組合。第一子核屯、程序Corelet A通過相應(yīng)輸入連接器50 (Corelet A的輸入連接器)接收第一輸入Iai和第二輸入Ia2,并且通過相應(yīng)輸出連接器60 (Corelet A的輸出連接器)提供第一輸出Oai和第二輸出〇A2。第二子核屯、程序Corelet B通 過相應(yīng)輸入連接器50(Corelet B的輸入連接器)接收第一輸入Ibi和第二輸入Ib2,并且通過 相應(yīng)輸出連接器60(Corelet B的輸出連接器)提供第一輸出化1和第二輸出化2。
[005引復(fù)雜核屯、程序300通過相應(yīng)輸入連接器50接收一個(gè)或者多個(gè)輸入220。每個(gè)輸入 220可W代表來自另一個(gè)核屯、程序200的輸出或者來自傳感器單元120的感測(cè)輸入。在一個(gè) 實(shí)施例中,輸入連接器50包括輸入映射表,該輸入映射表保持復(fù)雜核屯、程序200收到的每個(gè) 輸入220的路由選擇信息。根據(jù)輸入映射表,收到的每個(gè)輸入220作為輸入映射到復(fù)雜核屯、 程序300的子核屯、程序210的輸入連接器50。例如,如圖6所示,Corelet C收到的第一輸入Ii 映射到第二子核屯、程序Corelet B的輸入連接器50,作為第一輸入IbiXoreletC收到的第二 輸入12映射到第一子核屯、程序Corelet A的輸入連接器50,作為第二輸入Ia2。
[0059] 復(fù)雜核屯、程序300通過相應(yīng)輸出連接器60提供一個(gè)或者多個(gè)輸出230。每個(gè)輸出 230代表來自復(fù)雜核屯、程序300的子核屯、程序210的輸出。在一個(gè)實(shí)施例中,輸出連接器60包 含輸出映射表,該輸出映射表保持復(fù)雜核屯、程序300提供的每個(gè)輸出230的路由選擇信息。 根據(jù)輸出映射表,每個(gè)輸出230作為輸入映射到另一個(gè)核屯、程序200的輸入連接器50,或者 作為外部輸出(例如,作為對(duì)外部電動(dòng)機(jī)單元130提供的電動(dòng)機(jī)輸出,或者作為對(duì)軟件模塊、 可視化或者顯示提供的信號(hào))。例如,如圖6所示,Core 1 et C通過Core 1 et C的輸出連接器60 提供第一輸出化和第二輸出化。
[0060] 如果子核屯、程序Corelet A和Corelet B是第一核屯、電路10和第二核屯、電路10的 抽象,則Core 1 et C代表兩個(gè)互連核屯、電路10的抽象。
[0061] 圖7是示出根據(jù)本發(fā)明實(shí)施例用于程序組成的框架400的高級(jí)方框圖。通過識(shí)別跨 越多個(gè)程序遞歸的結(jié)構(gòu),框架400識(shí)別共同使用的結(jié)構(gòu)??蚣?00概括該遞歸結(jié)構(gòu)并且將該 遞歸結(jié)構(gòu)表示為組成原型460。組成原型460可W通過神經(jīng)突觸程序的不同抽象運(yùn)行。每個(gè) 組成原型460可W用于生成遞歸結(jié)構(gòu)的多個(gè)實(shí)例,從而實(shí)現(xiàn)有效程序組成。
[0062] 框架400包含庫單元410和填入單元420。配置填入單元420, W識(shí)別一個(gè)或者多個(gè) 遞歸結(jié)構(gòu)。對(duì)于識(shí)別的每個(gè)遞歸結(jié)構(gòu),填入單元420生成相應(yīng)組成原型460。填入單元420可 W W許多方式生成組成原型460。例如,可W利用定義單元421預(yù)定義組成原型460,可W利 用挖掘單元422挖掘組成原型460、可W利用生成單元423有計(jì)劃地生成組成原型460、也可 W利用計(jì)算單元424參數(shù)化計(jì)算組成原型460。
[0063] 每個(gè)組成原型460包含至少一個(gè)相應(yīng)標(biāo)記461和一組相應(yīng)規(guī)則462。標(biāo)記461包含與 相應(yīng)組成原型460有關(guān)的諸如應(yīng)用、功能、編碼方案等等的元數(shù)據(jù)信息。填入單元420標(biāo)記利 用一個(gè)或者多個(gè)相應(yīng)標(biāo)記461生成的每個(gè)組成原型。在一個(gè)實(shí)施例中,標(biāo)記461可W基于用 戶輸入。在另一個(gè)實(shí)施例中,可W自動(dòng)生成標(biāo)記461。然后,在庫單元410中保持生成的每個(gè) 組成原型。
[0064] 框架400還包括捜索單元430、選擇單元440和應(yīng)用單元450。捜索單元430有助于利 用標(biāo)記在庫單元410中捜索組成原型。利用選擇單元440可W選擇具有與所捜索的組成原型 匹配的標(biāo)記的組成原型。應(yīng)用單元450應(yīng)用選擇的組成原型或者包含在該組成原型中的規(guī) 則生成或者延伸神經(jīng)形態(tài)網(wǎng)絡(luò)。
[0065] 至少存在S類不同組成原型:網(wǎng)絡(luò)連通性置換、核屯、原型W及核屯、程序組成原型。
[0066] 多個(gè)核屯、程序200之間的連通性可能復(fù)雜,因?yàn)楸仨毧紤]到許多因素,諸如核屯、程 序的性能、核屯、程序的組成W及在神經(jīng)形態(tài)網(wǎng)絡(luò)中正在使用核屯、程序的方式。運(yùn)樣,每個(gè)核 屯、程序200的輸入連接器50、輸出連接器60中的每個(gè)可W要求重新安排尺寸和引腳。填入單 元420可W生成可應(yīng)用于不同核屯、程序200的可再用網(wǎng)絡(luò)連通性置換??蚣?00使得能夠在 不同核屯、程序開發(fā)者/編程者之間有效表示、創(chuàng)建和共享不同的網(wǎng)絡(luò)連通性置換。庫單元 410可W包含一個(gè)或者多個(gè)通用網(wǎng)絡(luò)連通性置換(例如,二維圖像連通性模式)和一個(gè)或者 多個(gè)專用網(wǎng)絡(luò)連通性置換(例如,分抽樣特征向量)。提供可再用網(wǎng)絡(luò)連通性置換的庫可W 增加代碼再用、縮短復(fù)雜核屯、程序系統(tǒng)的開發(fā)時(shí)間、W及提高開發(fā)者/編程者的生產(chǎn)率。此 夕h再用測(cè)試網(wǎng)絡(luò)連通性置換提高網(wǎng)絡(luò)組成精度并且縮短調(diào)試時(shí)間。
[0067] 圖8示出根據(jù)本發(fā)明實(shí)施例的示例性網(wǎng)絡(luò)連通性置換。在本說明書中,假設(shè)S指一 組源,并且假設(shè)巧旨一組目標(biāo)。網(wǎng)絡(luò)連通性置換可W應(yīng)用于使一組源S與一組目標(biāo)T互連,其 中S中的每個(gè)源連接到T中的最多一個(gè)目標(biāo),并且其中T中的每個(gè)目標(biāo)從S中的最多一個(gè)源接 收。
[0068] 在本說明書中,假設(shè)P指定義網(wǎng)絡(luò)連通性置換的置換向量。因此,T = P(S),其中Tj = P(Si)暗指帥的目標(biāo)T痛接到S中的源Si。
[0069] 例如,如圖8所示,一組源S可W包含第一組連接器引腳70,諸如連接器引腳Si、 &、……和S7。該組目標(biāo)T可W包含第二組連接器引腳70,諸如連接器引腳Ti、T2、……和T7。置 換向量?=[5,0,3,1,0,6,4]定義使連接器引腳。與連接器引腳55、連接器引腳13與連接器 弓側(cè)S3、連接器引腳T4與連接器引腳Si、連接器引腳Ts與連接器引腳S6、W及連接器引腳T?與 連接器引腳S4互連的網(wǎng)絡(luò)連通性置換。應(yīng)用的網(wǎng)絡(luò)連通性置換僅是一部分置換,因?yàn)槿鐖D8 所示,未連接所有連接器引腳一連接器引腳Si、S3、S4、Ss、Ss、Tl、T3、T4、Ts和T?是連接引腳 70C,而連接器引腳S2、S7、T2和Ts是斷開引腳70D。
[0070] 例如,在核屯、程序編程環(huán)境下,網(wǎng)絡(luò)連通性置換可W通過連接器的適配器應(yīng)用于 核屯、程序200的連接器。連接器可W具有多個(gè)網(wǎng)絡(luò)連通性置換。每個(gè)網(wǎng)絡(luò)連通性置換分別滿 足不同的需要,并且可W由不同的用戶(例如,核屯、程序創(chuàng)造者、核屯、程序的用戶等等)連 接。一個(gè)網(wǎng)絡(luò)連通性置換可W與連接器的第一側(cè)(例如,左側(cè))關(guān)聯(lián),并且不同網(wǎng)絡(luò)連通性置 換可W與連接器的第二側(cè)(例如,右側(cè))關(guān)聯(lián)。例如,T.busFrom(S,P)或者S.busTo(T,p-i),其 中Fi是P的反置換。
[0071] 作為另一個(gè)例子,核屯、程序的連接器可W包含一個(gè)或者多個(gè)內(nèi)部置換向量。該置 換向量可W由核屯、程序/連接器的編程者或者用戶設(shè)定。
[0072] 在另一個(gè)實(shí)施例中,可W挖掘(例如,利用挖掘單元422,在本說明書中如下所做的 詳細(xì)描述)網(wǎng)絡(luò)連通性置換。
[0073] 在又另一個(gè)實(shí)施例中,能夠根據(jù)核屯、程序200的性能有計(jì)劃地生成網(wǎng)絡(luò)連通性置 換。例如,接收大小為nXm像素的圖像的核屯、程序200可W具有大小為nm的連接器。轉(zhuǎn)置對(duì) 圖像應(yīng)用的公用網(wǎng)絡(luò)連通性模式,其中轉(zhuǎn)置圖像的圖像維數(shù)。
[0074] 例如,4 X 6圖像可W由下面提供的矩陣A表示:
[0075]
[0076] 獲得的6X4轉(zhuǎn)置圖像可由下面提供的矩陣B表示:
[0077]
[0078] 用于轉(zhuǎn)置該圖像的網(wǎng)絡(luò)連通性置換由下面提供的置換向量P定義:
[0(J79] P = reshape (mapbox( 4,6,4,6,1,1,1),,1,[])
[0080] =[1,5,9,13,17,21,2,6,10,14,18,22,3,7,11,15,19,23,4,8,12,16,20,24]
[0081] 圖9示出根據(jù)本發(fā)明實(shí)施例的另一個(gè)示例性連通性置換。當(dāng)一個(gè)W上的源連接器 和一個(gè)W上的目標(biāo)連接器連接在一起時(shí),利用置換陣列能夠描述引腳分配,在每個(gè)源連接 器與每個(gè)目標(biāo)連接器之間一個(gè)置換。當(dāng)存在多個(gè)目標(biāo)連接器時(shí),能夠?qū)⑺鼈儾⒅脼殚L(zhǎng)度等 于目標(biāo)連接器的長(zhǎng)度之和的單行。
[0082] 在一個(gè)實(shí)施例中,對(duì)于當(dāng)前連接器類,對(duì)每個(gè)置換(例如,link(A,[l,3,4],D,[l, 7,6]))應(yīng)用IinkO命令。在另一個(gè)實(shí)施例中,可W采用通用陣列形式。
[0083] 具有多對(duì)多連接器的網(wǎng)絡(luò)連通性置換的使用例子包含:將多個(gè)濾波器的輸出采集 到一個(gè)特征向量方格中;鋪擱(tiling)核屯、程序,使得核屯、程序具有二維輸入連接器和二 維輸出連接器,并且將其復(fù)制在(鋪擱塊的)格子上,從而將該鋪擱塊的輸入連接器并置為 一個(gè)大輸入,并且類似地將所有輸出組合為一個(gè)大輸出。鋪擱核屯、程序?qū)崿F(xiàn)從大輸入到各 鋪擱塊的輸入的一到多置換模式。還實(shí)現(xiàn)從所有鋪擱塊輸出到大輸出連接器的多到一置 換。
[0084] 例如,圖9所示的多連接器網(wǎng)絡(luò)連通性置換將=個(gè)向量交織為一個(gè)輸入。第一連接 器A包含第一組連接器引腳70,諸如連接器引腳Al、A2、……、和As。第二連接器B包含第二組 連接器引腳70,諸如連接器引腳Bi、B2、……和B6。第=連接器C包含第=組連接器引腳70,諸 如連接器引腳Ci、C2、……、和C6。第四連接器D包含第四組連接器引腳70,諸如連接器引腳 Di、D2、......和 Di8。
[0085] 第一置換向量PU第二置換向量P2和第=置換向量P3用于在多個(gè)連接器A、B、C和D 之間鏈接連接器引腳70。具體地說,第一置換向量口1 = [1,4,7,10,13,16]定義網(wǎng)絡(luò)連通性 置換,該網(wǎng)絡(luò)連通性置換使連接器引腳Al與連接器引腳化、連接器引腳A2與連接器引腳〇4、 連接器引腳A3與連接器引腳化、連接器引腳A4與連接器引腳化0、連接器引腳As與連接器引腳 〇13、^及連接器引腳46與連接器引腳〇16互連。第二置換向量口2=[2,5,8,11,14,17]定義網(wǎng) 絡(luò)連通性置換,該網(wǎng)絡(luò)連通性置換使連接器引腳Bi與連接器引腳化、連接器引腳B2與連接器 弓側(cè)〇5、連接器引腳B3與連接器引腳〇8、連接器引腳B4與連接器引腳Dll、連接器引腳Bs與連 接器引腳化4、W及連接器引腳Bs與連接器引腳Di7互連。第S置換向量P3= [3,6,9,12,15, 1引定義網(wǎng)絡(luò)連通性置換,該網(wǎng)絡(luò)連通性置換使連接器引腳Cl與連接器引腳化、連接器引腳 C2與連接器引腳化、連接器引腳C3與連接器引腳化、連接器引腳C4與連接器引腳化2、連接器 引腳Cs與連接器引腳DlS、W及連接器引腳Cs與連接器引腳化8互連。
[0086] 圖10示出根據(jù)本發(fā)明實(shí)施例的核屯、程序200的輸入連接器20的示例性二維區(qū)域 500。在一個(gè)實(shí)施例中,區(qū)域500是反映輸入連接器50的維度的二維陣列。例如,如圖10所示, 區(qū)域500可W是對(duì)應(yīng)于輸入圖像的相鄰像素的補(bǔ)片(patch)的16 X 16陣列。在內(nèi)部將來自輸 入連接器50的信號(hào)分配到核屯、程序200的互連核屯、電路10。
[0087] 圖11示出根據(jù)本發(fā)明實(shí)施例的核屯、程序200的輸入連接器50的另一個(gè)示例性二維 區(qū)域510。在一個(gè)實(shí)施例中,區(qū)域510是一行多個(gè)二維陣列500,其中每個(gè)二維陣列500反映核 屯、程序200中的子核屯、程序的輸入連接器50的維度。例如,圖11中的Corelet T(N)是包括N 個(gè)子核屯、程序的核屯、程序200。區(qū)域510可W是一行N個(gè)16 X 16陣列,其中每個(gè)16 X 16陣列反 映 Corelet T(N)中的子核屯、程序的輸入連接器50的維度。根據(jù)連通性置換,在內(nèi)部對(duì)來自 Corelet T(N)的輸入連接器50的信號(hào)去交織并且將其分配到Corelet T(N)中的子核屯、程 序的輸入連接器50。根據(jù)本發(fā)明實(shí)施例,運(yùn)種連通性置換的遞歸性可W形成組成原型的基 礎(chǔ)。
[0088] 圖12示出根據(jù)本發(fā)明實(shí)施例的核屯、程序200的輸入連接器50的另一個(gè)示例性二維 區(qū)域520。在一個(gè)實(shí)施例中,區(qū)域520是包括多個(gè)二維陣列500的多行510的列,其中每行510 反映核屯、程序200中的核屯、程序的輸入連接器50的維度,并且其中行510的每個(gè)二維陣列 500反過來反映核屯、程序200中的子核屯、程序的輸入連接器50的維度。例如,圖12所示的 Corelet T(MXN)是包括M個(gè)子核屯、程序的核屯、程序200,其中每個(gè)子核屯、程序是Corelet T (N)。區(qū)域520可W是包括N個(gè)16 X 16陣列的M行510的列,其中每個(gè)行510反映 Corelet T(MX N)中的Corelet T(N)的輸入連接器50的維度,并且其中行510的每個(gè)16X16反映 Corelet T (N)中的子核屯、程序的輸入連接器50的維度。根據(jù)連通性置換,在內(nèi)部,對(duì)來自Corelet T(M XN)的輸入連接器50的信號(hào)去并置并且將其分配到Corelet T(MXN)中的Corelet T(N)的 輸入連接器50。根據(jù)本發(fā)明實(shí)施例,運(yùn)種連通性置換的遞歸性質(zhì)可W形成組成原型的基礎(chǔ)。
[0089] 在一個(gè)實(shí)施例中,可W將網(wǎng)絡(luò)連通性置換存儲(chǔ)于庫單元410中,作為如下中的一 個(gè):實(shí)現(xiàn)為查找表的連接器引腳號(hào)的向量;連接器引腳的散列映射;隨機(jī)連通性性能或者利 用參數(shù)的功能調(diào)用。網(wǎng)絡(luò)連通性置換可W添加有一個(gè)或者多個(gè)標(biāo)記,諸如維度(例如,1D、 2D、3D等等)、置換名稱(例如,轉(zhuǎn)置、反轉(zhuǎn)、交織等等)、互連的源核屯、程序和目標(biāo)核屯、程序 200、W及有計(jì)劃地定義的參數(shù)。
[0090] 當(dāng)將兩個(gè)連接器提供為捜索參數(shù)時(shí),捜索單元430根據(jù)連接器的性能關(guān)于網(wǎng)絡(luò)連 通性置換捜索庫410。當(dāng)將兩個(gè)核屯、程序200設(shè)置為捜索參數(shù)時(shí),捜索單元430根據(jù)核屯、程序 200和相應(yīng)參數(shù)關(guān)于網(wǎng)絡(luò)連通性置換捜索庫410。與捜索參數(shù)匹配的網(wǎng)絡(luò)連通性置換可W包 含一組規(guī)則462。通過評(píng)估該規(guī)則,W例示兩個(gè)連接器之間的連接,應(yīng)用單元450應(yīng)用網(wǎng)絡(luò)連 通性置換。
[0091] 在一個(gè)實(shí)施例中,兩個(gè)連接器之間的連通性是雙向的。每個(gè)方向一個(gè)的兩個(gè)不同 網(wǎng)絡(luò)連通性置換可W應(yīng)用于兩個(gè)連接器之間的連接。
[0092] 在一個(gè)實(shí)施例中,兩個(gè)連接器之間的連通性可W例如根據(jù)一個(gè)或者多個(gè)學(xué)習(xí)規(guī)則 隨著時(shí)間發(fā)生變化。連通性置換可W包含一組要應(yīng)用于兩個(gè)連接器之間的連接的學(xué)習(xí)規(guī) 則。
[0093] 圖13示出根據(jù)本發(fā)明實(shí)施例的示例性神經(jīng)突觸核屯、600。核屯、600是能夠通過其對(duì) 許多電路編程的基底。任意給定實(shí)例中的核屯、600的特定配置反映核屯、電路10中例示的特 定神經(jīng)突觸程序。核屯、600包括多個(gè)神經(jīng)元11和多個(gè)軸突15。神經(jīng)元11和軸突15通過包括多 個(gè)突觸31的二維交叉開關(guān)陣列12互連。核屯、600還包括多個(gè)軸突緩沖器15B。每個(gè)軸突緩沖 器15B接收引發(fā)事件,并且將該引發(fā)事件發(fā)送到目標(biāo)軸突15。核屯、電路600還包括用于在每 個(gè)軸突11中實(shí)現(xiàn)隨機(jī)模式的偽隨機(jī)數(shù)發(fā)生器6。
[0094] 如圖13所示,核屯、電路10連接到有助于路由神經(jīng)元引發(fā)事件的網(wǎng)絡(luò)接口 7。
[00M]交叉開關(guān)陣列原型表示核屯、電路10中的突觸連通性模式。交叉開關(guān)陣列原型可W 是可變大小的。在一個(gè)實(shí)施例中,交叉開關(guān)陣列原型可W表示256X256交叉開關(guān)陣列12、較 小的部分交叉開關(guān)陣列12或者較大的交叉開關(guān)陣列12。
[0096] 核屯、原型表示核屯、電路10中的突觸連通性的模式W及附加信息,諸如神經(jīng)元類 型、軸突類型和核屯、電路10的其他核屯、電路性能。例如,核屯、原型可W包含如下中的一個(gè)或 者多個(gè):二進(jìn)制或者加權(quán)突觸矩陣、神經(jīng)元性能向量、軸突性能向量等等。
[0097] 采用核屯、原型節(jié)省計(jì)算資源;通過在多個(gè)核屯、實(shí)例之間共享一個(gè)原型,減少存儲(chǔ) 器需要;提供更易讀的和/或更壓縮的代碼;減少錯(cuò)誤機(jī)會(huì);有助于代碼再用;W及通過在模 型文件中使用核屯、原型,減小模型文件的大小。
[0098] 圖14示出根據(jù)本發(fā)明實(shí)施例的示例性交叉開關(guān)陣列12??蒞利用諸如突觸權(quán)重 SWo、SWi、SW2、SW3和洲4的不同突觸權(quán)重對(duì)交叉開關(guān)陣列12編程。在一個(gè)實(shí)施例中,結(jié)合不同 軸突類型,利用二進(jìn)制交叉開關(guān)陣列,可用于實(shí)現(xiàn)不同突觸權(quán)重。
[0099] 挖掘單元422可W W許多方式自動(dòng)檢測(cè)核屯、原型。例如,挖掘單元422可W分析存 儲(chǔ)器中的模型文件或者圖形模式。每個(gè)核屯、電路10或者一小部分核屯、電路10分配有相應(yīng)散 列密鑰。通過對(duì)唯一散列密鑰的重復(fù)計(jì)數(shù),建立相同核屯、電路10。然后,利用單個(gè)核屯、原型 代替相同核屯、模式的多個(gè)實(shí)例。
[0100] 作為另一個(gè)例子,挖掘單元422可W使核屯、模式與對(duì)生成核屯、模式的功能或者核 屯、程序200的參數(shù)調(diào)用(parametric call)關(guān)聯(lián)。例如,具有相同輸入?yún)?shù)的核屯、程序200的 每個(gè)例示可W導(dǎo)致創(chuàng)建相同核屯、電路10和交叉開關(guān)陣列12。因此,可W將運(yùn)些核屯、電路10 保存為具有關(guān)聯(lián)核屯、程序調(diào)用的模式。例如,可W將分路器核屯、程序核保存為"splitter, corelet(256,4)-core#r。作為另一個(gè)例子,可W將卷積核核屯、保存為乂NVkerneiai 1 1;0 0 0廣1 -1 -l])-core#r'。
[0101] 可W將核屯、原型表示為并且保存為如下中的一個(gè):二進(jìn)制突觸的矩陣;突觸權(quán)重 的矩陣;x-y連接的散列映射(稀疏矩陣);隨機(jī)連通性性能(例如,連通性概率矩陣);利用參 數(shù)、軸突性能的向量的功能調(diào)用;W及/或者神經(jīng)元性能。當(dāng)例如有計(jì)劃地定義交叉開關(guān)陣 列時(shí),可W利用如下中的一個(gè)或者多個(gè)標(biāo)記核屯、原型:密度;連通性程度;軸突和神經(jīng)元利 用率;交叉開關(guān)陣列矩陣(例如,托普利茲、Positive、分塊對(duì)角、阿達(dá)瑪化adamard))的靜態(tài) 性能、動(dòng)態(tài)性能(例如,編碼方案、給定輸入速率的期望發(fā)放速率)、核屯、標(biāo)號(hào)(例如,分路器、 加法器、液體狀態(tài)機(jī)等等)、核屯、功能和用途的文本描述(例如,16 X 16輸入圖像的3 X 3濾波 器)、其所屬的核屯、程序(多個(gè)標(biāo)號(hào))、方法和參數(shù)。
[0102] 捜索單元430關(guān)于核屯、原型根據(jù)標(biāo)號(hào)、文本和/或者標(biāo)記捜索庫單元410。應(yīng)用單元 450生成與提供的捜索參數(shù)匹配的核屯、原型的核屯、實(shí)例,并且使基準(zhǔn)返回核屯、實(shí)例。
[0103] 核屯、程序組成原型(CCP)由一個(gè)或者多個(gè)核屯、程序和核屯、程序之間的網(wǎng)絡(luò)連通性 表示。其可W是應(yīng)用、核屯、程序系統(tǒng)或者較大核屯、程序的子網(wǎng)絡(luò)的一部分。填入單元420使 采集核屯、程序中的核屯、程序C與一個(gè)或者多個(gè)定義核屯、程序功能性關(guān)聯(lián)。利用關(guān)聯(lián)核屯、程 序功能性標(biāo)記核屯、程序C。填入單元420識(shí)別包含兩個(gè)或多個(gè)核屯、程序Cl和Cj的不同核屯、程 序組成原型。組成原型特征化組成Cl和Cj的方式。對(duì)于類似功能性的其他核屯、程序,填入單 元420概括組成原型,并且將組成原型與關(guān)聯(lián)核屯、程序一起存儲(chǔ)于庫單元410中。對(duì)于核屯、 程序例示和組成,可W概括并且重復(fù)組成原型,W創(chuàng)建較大的神經(jīng)形態(tài)系統(tǒng)。
[0104] 可用核屯、程序功能性可W包含:數(shù)學(xué)功能(例如,布爾運(yùn)算器、邏輯功能、控制邏 輯);信號(hào)處理功能(例如,F(xiàn)FT/DFT、諸如高斯金字塔的濾波器運(yùn)算、卷積濾波器、ID空間濾 波器、2D空間濾波器、W及諸如色彩直方圖、多規(guī)模圖像處理、顯著性W及TrueNodh轉(zhuǎn)換的 圖像處理和特征提取運(yùn)算);路由選擇核屯、程序(例如,ID路由器、2D路由器)、判定與控制 (例如,有限狀態(tài)機(jī)、卡爾曼濾波器);拓?fù)涔δ埽ɡ纾致菲?、合并器、贏者通吃);分類器 (例如,支持向量機(jī)(SVM)、可堆疊分類器、卷積網(wǎng)絡(luò))、視頻處理(例如,時(shí)空濾波器、運(yùn)動(dòng)歷 史、光流);維度(例如,ID、2D);棘波編碼方案(例如,速率編碼、二進(jìn)制編碼、短促脈沖串長(zhǎng) 度編碼、時(shí)間一棘波編碼等等);隨機(jī)性(例如,非隨機(jī)、隨機(jī)神經(jīng)元、隨機(jī)突觸、偽隨機(jī)交叉 開關(guān)陣列等等);W及學(xué)習(xí)能力(例如,可編程、自適應(yīng)、可訓(xùn)練)。
[0105] 可W在庫單元410中將CCP另存為如下中的一個(gè):具有關(guān)聯(lián)參數(shù)和連通性模式的相 應(yīng)核屯、程序200的實(shí)例;一個(gè)或者多個(gè)核屯、程序200、利用關(guān)聯(lián)參數(shù)的功能調(diào)用;代表能夠與 其他子網(wǎng)絡(luò)鏈接的子網(wǎng)絡(luò)的模型文件。可W利用如下標(biāo)記中的一個(gè)或者多個(gè)標(biāo)記CCP:相應(yīng) 核屯、程序的名稱;核屯、程序功能性;應(yīng)用;核屯、程序的文本描述;與核屯、程序的一個(gè)或者多 個(gè)輸入連接器和一個(gè)或者多個(gè)輸出連接器有關(guān)的信息;使用信息;靜態(tài)性能(例如,核屯、程 序參數(shù)、核屯、程序大小、核屯、利用統(tǒng)計(jì)、功率消耗);動(dòng)態(tài)性能(例如,編碼方法、期望的發(fā)放 速率(對(duì)于給定輸入速率)、基于帖/非帖的處理、復(fù)位請(qǐng)求、基于學(xué)習(xí)的、等等);隨機(jī)性能 (例如,隨機(jī)網(wǎng)絡(luò)、偽隨機(jī)連通性、圖性能)、CCP已經(jīng)組成/使用的父核屯、程序200(多個(gè)標(biāo) 記);核屯、程序共同使用的方法和參數(shù)。
[0106] 捜索單元430關(guān)于諸如應(yīng)用、功能性、文本等等的基于CCP的捜索參數(shù)捜索庫單元 410。通過使其他標(biāo)記組合,可W對(duì)獲得的捜索結(jié)果濾波。根據(jù)包含在與捜索參數(shù)匹配的CCP 中的規(guī)則,配置應(yīng)用單元450, W執(zhí)行如下中的至少一個(gè):(1)給出CCP核屯、程序中的一個(gè)或 者多個(gè),在CCP中創(chuàng)建剩余核屯、程序并且連接剩余核屯、程序,W形成較大網(wǎng)絡(luò);(2)給出CCP 核屯、程序中的一個(gè)或者多個(gè),與CCP中的剩余核屯、程序的一個(gè)或者多個(gè)模型文件鏈接檢驗(yàn) 關(guān)聯(lián)核屯、程序的編碼方案并且根據(jù)需要如下所述添加一個(gè)或者多個(gè)換能器核屯、程序;W及 (4)檢驗(yàn)連通性順序并且根據(jù)需要添加一個(gè)或者多個(gè)置換。
[0107] 圖15示出根據(jù)本發(fā)明實(shí)施例添加示例性換能器核屯、程序。如圖15所示,為了連接 W不同棘波編碼方案運(yùn)行的第一核屯、程序200(Corelet A)和第二核屯、程序200(Corelet B),在兩個(gè)核屯、程序200之間添加換能器核屯、程序800。換能器核屯、程序800是用作第一核屯、 程序200與第二核屯、程序200之間的中間橋的核屯、程序200,其將棘波/引發(fā)事件從第一核屯、 程序200的輸出編碼方案轉(zhuǎn)換為要求的輸入編碼方案并且輸入第二核屯、程序200的引腳配 置。
[0108] 當(dāng)將第一核屯、程序200和第二核屯、程序200提供為對(duì)捜索單元430的捜索參數(shù)時(shí), 捜索單元430返回與第一核屯、程序200和第二核屯、程序200的性能匹配的CCP。該CCP包括在 兩個(gè)核屯、程序200之間添加換能器核屯、程序800的規(guī)則。當(dāng)應(yīng)用單元450應(yīng)用規(guī)則時(shí),例示并 且連接換能器核屯、程序800,從而有助于組成第一核屯、程序200和第二核屯、程序200。
[0109] 圖16示出多個(gè)示例性核屯、程序組成原型(CCP),每個(gè)CCP具有作為通用組件的卷積 網(wǎng)絡(luò)。在一個(gè)實(shí)施例中,當(dāng)關(guān)于含有適合表示特征提取器的特定卷積網(wǎng)絡(luò)核屯、程序200的分 類器的CCP而查詢庫單元410時(shí),捜索單元430返回多個(gè)CCP用于用戶選擇,諸如第一CCP (CCP1)、第二CCP(CCP2)和第SCCP(CCP3)。返回的每個(gè)CCP都是將卷積網(wǎng)絡(luò)核屯、程序200連 接到不同分類器核屯、程序850的核屯、程序200。用戶可W通過選擇單元440選擇CCP中的哪個(gè) 返回而應(yīng)用。例如,應(yīng)用第一 CCP的規(guī)則生成SVM分類器851,并且利用第一置換Pl將卷積網(wǎng) 絡(luò)核屯、程序200連接到SVM分類器851。應(yīng)用第二CCP的規(guī)則生成可堆疊分類器852,并且利用 第二置換P2將卷積網(wǎng)絡(luò)核屯、程序200連接到可堆疊分類器852。應(yīng)用第SCCP的規(guī)則生成SVM 分類器853,并且利用第S置換P3將卷積網(wǎng)絡(luò)核屯、程序200連接到基數(shù)SVM分類器851。換能 器核屯、程序800還可W用于將卷積網(wǎng)絡(luò)核屯、程序200連接到分類器核屯、程序850。
[0110] 類似地,如果用戶查詢分類器核屯、程序850,則可W返回包含將卷積網(wǎng)絡(luò)核屯、程序 200用作特征提取器的規(guī)則的CCP。
[0111] 圖17示出根據(jù)本發(fā)明實(shí)施例的示例性專用捜索。庫單元410還可W包含特定應(yīng)用 的應(yīng)用子系統(tǒng)和完整應(yīng)用系統(tǒng)。應(yīng)用系統(tǒng)可W包括多個(gè)組件。每個(gè)組件可W具有一個(gè)或者 多個(gè)替換核屯、程序,如圖17所示??蒞呈現(xiàn)從庫單元410選取的多個(gè)選項(xiàng)供用戶選擇。例如, 當(dāng)用戶選擇特征提取器時(shí),生成適當(dāng)?shù)倪B通性,并且呈現(xiàn)適合選擇的特征提取器的分類器 供用戶選擇。
[0112] 圖18示出根據(jù)本發(fā)明實(shí)施例的規(guī)則的示例性應(yīng)用。每個(gè)用戶選擇都可W調(diào)用一個(gè) 或者多個(gè)規(guī)則。通過利用每個(gè)用戶選擇應(yīng)用規(guī)則,迭代地生成完整系統(tǒng)。根據(jù)輸入數(shù)據(jù)、選 擇的核屯、程序200W及應(yīng)用連通性,匹配編碼方案,并且在核屯、程序200中傳播并且使用時(shí) 間信息。
[0113] 框架400是可伸縮的,并且可W在分布式計(jì)算架構(gòu)中采用。通過挖掘現(xiàn)有的核屯、程 序200和應(yīng)用,可W自動(dòng)填入庫單元410。
[0114] 在分布式計(jì)算環(huán)境中,核屯、程序200能夠跨越多個(gè)主機(jī)獨(dú)立例示。用戶從庫單元 410中選擇組成原型。通過利用例如MPI庫在處理之間交換消息,可W在不同主機(jī)上實(shí)現(xiàn)跨 核屯、程序組成。
[0115] 可W W各種方式自動(dòng)識(shí)別組成原型和網(wǎng)絡(luò)連通性置換并且將其并入庫單元410 中。例如,在線處理包含將在數(shù)據(jù)庫中記錄連接兩個(gè)或者更多個(gè)核屯、程序200的每個(gè)操作的 代碼嵌入網(wǎng)絡(luò)生成軟件。數(shù)據(jù)庫記錄識(shí)別兩個(gè)或者更多個(gè)核屯、程序200和核屯、程序200之間 的網(wǎng)絡(luò)連通性置換。通過將含有相同核屯、程序200對(duì)的數(shù)據(jù)庫記錄聚類在一起并且分析其 連通性置換,可W挖掘數(shù)據(jù)庫記錄。作為另一個(gè)例子,離線處理包含分析一組模型文件,其 中每個(gè)模型文件都含有具有關(guān)于一對(duì)核屯、程序的元數(shù)據(jù)的網(wǎng)絡(luò)。從模型文件和輸入/輸出 映射文件提取與核屯、程序之間的連通性有關(guān)的信息。然后,根據(jù)提取的信息,每個(gè)連接器的 連接器引腳再映射到神經(jīng)元和軸突。然后,根據(jù)確定目標(biāo)軸突,確定核屯、程序的連接器引腳 之間的關(guān)聯(lián)連通性。通過列出連接引腳號(hào),可W獲得一對(duì)核屯、程序之間的置換。
[0116] 圖19是根據(jù)本發(fā)明實(shí)施例用于生成或者延伸神經(jīng)形態(tài)網(wǎng)絡(luò)的示例性流程圖700。 在處理方框701,保持一個(gè)或者多個(gè)組成原型。在處理方框702,根據(jù)一個(gè)或者多個(gè)捜索參 數(shù),捜索組成原型。在處理方框703,識(shí)別與捜索參數(shù)匹配的組成原型。在處理方框704,根據(jù) 與識(shí)別的組成原型關(guān)聯(lián)的一個(gè)或者多個(gè)規(guī)則,生成或者延伸神經(jīng)形態(tài)網(wǎng)絡(luò)。
[0117] 圖20是示出用于實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的信息處理系統(tǒng)300的高級(jí)方框圖。計(jì) 算機(jī)系統(tǒng)包含一個(gè)或者多個(gè)諸如處理器302的處理器。處理器302連接到通信基礎(chǔ)設(shè)施304 (例如,通信總線、交疊開關(guān)矩陣(cross-over bar))。
[0118] 計(jì)算機(jī)系統(tǒng)能夠包含顯示界面306,該顯示界面306轉(zhuǎn)發(fā)來自通信基礎(chǔ)設(shè)施304(或 者來自未示出的帖緩沖器)的圖、文本和數(shù)據(jù),W顯示于顯示單元308上。計(jì)算機(jī)系統(tǒng)還包含 主存儲(chǔ)器310,優(yōu)選地包含隨機(jī)存取存儲(chǔ)器(RAM),并且還可W包含二級(jí)存儲(chǔ)器312。二級(jí)存 儲(chǔ)器312可W包含例如硬盤驅(qū)動(dòng)器314和/或者代表例如軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器和/或者光 盤驅(qū)動(dòng)器的可移除存儲(chǔ)驅(qū)動(dòng)器316??梢瞥鎯?chǔ)驅(qū)動(dòng)器316W本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員眾所 周知的方式對(duì)可移除存儲(chǔ)單元318進(jìn)行讀取和/或者寫入??梢瞥鎯?chǔ)單元318代表例如利 用可移除存儲(chǔ)驅(qū)動(dòng)器316讀出和寫入的軟盤、壓縮盤、磁帶或者光盤等等。應(yīng)當(dāng)明白,可移除 存儲(chǔ)單元318包含內(nèi)部存儲(chǔ)了計(jì)算機(jī)軟件和/或者數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)。
[0119] 在替換實(shí)施例中,二級(jí)存儲(chǔ)器312可W包含用于使計(jì)算機(jī)程序或者其他指令裝載 到計(jì)算機(jī)系統(tǒng)中的其他類似裝置。運(yùn)種裝置可W包含例如可移除存儲(chǔ)單元320和界面322。 運(yùn)種裝置的例子可W包含程序封裝和封裝界面(諸如在視頻游戲設(shè)備中建立的)、可移除存 儲(chǔ)忍片(諸如,EPROM或者PROM) W及關(guān)聯(lián)套接口、W及允許軟件和數(shù)據(jù)從可移除存儲(chǔ)單元 320傳遞到計(jì)算機(jī)系統(tǒng)的其他可移除存儲(chǔ)單元320和接口 322。
[0120] 計(jì)算機(jī)系統(tǒng)還可W包含通信接口 324。通信接口 324使得在計(jì)算機(jī)系統(tǒng)與外部設(shè)備 之間傳遞軟件和數(shù)據(jù)。通信接口324的例子可W包含:調(diào)制解調(diào)器、網(wǎng)絡(luò)接口(諸如W太網(wǎng) 卡)、通信端口或者PCMCIA槽和卡等等。通過通信接口 324傳遞的軟件和數(shù)據(jù)處于信號(hào)的形 式,該信號(hào)形式可W包含例如電子信號(hào)、電磁信號(hào)、光信號(hào)或者能夠由通信接口 324接收的 其他信號(hào)。提供運(yùn)些信號(hào),W通過通信路徑(即,信道)326與接口324通信。該通信路徑326承 載信號(hào)并且可W利用電線或者電纜、光纖、電話線、蜂窩電話鏈路、RF鏈路和/或者其他通信 信道實(shí)現(xiàn)。
[0121 ]在本說明書中,通常利用術(shù)語"計(jì)算機(jī)程序介質(zhì)"、"計(jì)算機(jī)可用介質(zhì)"和"計(jì)算機(jī)可 讀介質(zhì)"指諸如主存儲(chǔ)器310和二級(jí)存儲(chǔ)器312、可移除存儲(chǔ)驅(qū)動(dòng)器316和安裝在硬盤驅(qū)動(dòng)器 314中的硬盤的介質(zhì)。
[0122] 計(jì)算機(jī)程序(還稱為計(jì)算機(jī)控制邏輯)存儲(chǔ)于主存儲(chǔ)器310和/或者二級(jí)存儲(chǔ)器312 中。還可W通過計(jì)算機(jī)接口324接收計(jì)算機(jī)程序。運(yùn)種計(jì)算機(jī)程序當(dāng)運(yùn)行時(shí)能夠使計(jì)算機(jī)系 統(tǒng)執(zhí)行在此討論的本發(fā)明的特征。特別是,計(jì)算機(jī)程序當(dāng)運(yùn)行時(shí)能夠使處理器302執(zhí)行計(jì)算 機(jī)系統(tǒng)的特征。因此,運(yùn)種計(jì)算機(jī)程序代表計(jì)算機(jī)系統(tǒng)的控制器。
[0123] 本發(fā)明可W是系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可W包括計(jì)算機(jī) 可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個(gè)方面的計(jì)算機(jī)可讀程序指令。
[0124] 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可W是可W保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形 設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可W是一-但不限于一一電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ) 設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的 更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存 儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器化PROM或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、便攜式 壓縮盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上 存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、W及上述的任意合適的組合。運(yùn)里所使用的計(jì)算 機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無線電波或者其他自由傳播的電磁波、通 過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸 的電信號(hào)。
[0125] 運(yùn)里所描述的計(jì)算機(jī)可讀程序指令可W從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/ 處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計(jì)算機(jī)或外 部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可W包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān) 計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì) 算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,W供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì) 算機(jī)可讀存儲(chǔ)介質(zhì)中。
[0126] 用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序指令可W是匯編指令、指令集架構(gòu)(ISA)指令、 機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者W-種或多種編程語言的 任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言一諸如 Smalltalk^++等,W及常規(guī)的過程式編程語言一諸如"C"語言或類似的編程語言。計(jì)算機(jī) 可讀程序指令可W完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú) 立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī) 或服務(wù)器上執(zhí)行。在設(shè)及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可W通過任意種類的網(wǎng)絡(luò)一包 括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計(jì)算機(jī),或者,可W連接到外部計(jì)算機(jī)(例如利 用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實(shí)施例中,通過利用計(jì)算機(jī)可讀程序指令 的狀態(tài)信息來個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程口陣列(FPGA)或可 編程邏輯陣列(PLA),該電子電路可W執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個(gè)方 面。
[0127] 運(yùn)里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/ 或框圖描述了本發(fā)明的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框W及流程圖和/ 或框圖中各方框的組合,都可W由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
[0128] 運(yùn)些計(jì)算機(jī)可讀程序指令可W提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù) 處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得運(yùn)些指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù) 處理裝置的處理器執(zhí)行時(shí),生成了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功 能/動(dòng)作的裝置。也可W把運(yùn)些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,運(yùn)些指 令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備W特定方式工作,從而,存儲(chǔ)有指令的 計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中 規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。
[0129] 也可W把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它 設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,W生 成計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的 指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。
[0130] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程 序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在運(yùn)點(diǎn)上,流程圖或框圖中的每個(gè)方框可W代 表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用 于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也 可WW不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可W基本并行地執(zhí) 行,它們有時(shí)也可W按相反的順序執(zhí)行,運(yùn)依所設(shè)及的功能而定。也要注意的是,框圖和/或 流程圖中的每個(gè)方框、W及框圖和/或流程圖中的方框的組合,可W用執(zhí)行規(guī)定的功能或動(dòng) 作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可W用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
【主權(quán)項(xiàng)】
1. 一種方法,包括: 保持一個(gè)或者多個(gè)組成原型的庫,其中每個(gè)組成原型與一個(gè)或者多個(gè)神經(jīng)突觸程序關(guān) 聯(lián); 根據(jù)一個(gè)或者多個(gè)搜索參數(shù),搜索所述庫; 選擇滿足所述搜索參數(shù)的至少一個(gè)組成原型;以及 通過應(yīng)用一個(gè)或者多個(gè)與選擇的組成原型關(guān)聯(lián)的規(guī)則,生成或者延伸神經(jīng)突觸網(wǎng)絡(luò)。2. 根據(jù)權(quán)利要求1所述的方法,其中所述規(guī)則控制如下中的一個(gè)或者多個(gè):將神經(jīng)突觸 程序添加到所述網(wǎng)絡(luò),將子網(wǎng)絡(luò)添加到所述網(wǎng)絡(luò),在所述網(wǎng)絡(luò)中添加連接,在所述網(wǎng)絡(luò)中添 加神經(jīng)元,改變所述網(wǎng)絡(luò)的一個(gè)或者多個(gè)參數(shù),應(yīng)用核心原型,以及增強(qiáng)所述網(wǎng)絡(luò)的功能 性。3. 根據(jù)權(quán)利要求1所述的方法,其中保持的所述組成原型包含如下中的至少一個(gè):組成 核心程序原型、核心原型、突觸交叉開關(guān)陣列原型、網(wǎng)絡(luò)連通性置換以及棘波編碼代碼轉(zhuǎn) 換。4. 根據(jù)權(quán)利要求1所述的方法,其中所述搜索參數(shù)包含如下中的至少一個(gè):神經(jīng)突觸程 序的名稱、核心電路功能性、網(wǎng)絡(luò)拓?fù)?、棘波編碼方案、以及網(wǎng)絡(luò)大小。5. 根據(jù)權(quán)利要求1所述的方法,其中選擇或者由給定網(wǎng)絡(luò)自動(dòng)計(jì)算所述搜索參數(shù),并且 應(yīng)用所述規(guī)則生成、延伸、增強(qiáng)或者維修同一個(gè)網(wǎng)絡(luò)。6. 根據(jù)權(quán)利要求1所述的方法,其中: 根據(jù)用戶選擇,選擇滿足所述搜索參數(shù)的至少一個(gè)組成原型;以及 應(yīng)用所述規(guī)則例示一個(gè)或者多個(gè)用于生成或者延伸所述網(wǎng)絡(luò)的神經(jīng)突觸程序。7. 根據(jù)權(quán)利要求1所述的方法,其中在分布式環(huán)境中例示所述神經(jīng)突觸程序。8. 根據(jù)權(quán)利要求1所述的方法,其中所述規(guī)則包含例示換能器核心程序,以互連運(yùn)行在 不同的棘波編碼方案的兩個(gè)神經(jīng)突觸程序。9. 根據(jù)權(quán)利要求1所述的方法,還包括: 通過根據(jù)一個(gè)或者多個(gè)模型文件自動(dòng)識(shí)別一個(gè)或者多個(gè)組成原型,填入所述庫。10. -種方法,包括: 分析一個(gè)或者多個(gè)模型文件,其中每個(gè)模型文件包含與神經(jīng)突觸核心有關(guān)的信息; 識(shí)別所述模型文件中的一個(gè)或者多個(gè)唯一核心模式; 分配利用相應(yīng)唯一標(biāo)識(shí)符識(shí)別的每個(gè)唯一核心模式;以及 對(duì)于識(shí)別的每個(gè)唯一核心模式: 根據(jù)對(duì)所述唯一核心模式的相應(yīng)唯一標(biāo)識(shí)符的重復(fù),在所述模型文件中定位所述唯一 核心模式的每個(gè)實(shí)例;以及 代替利用對(duì)應(yīng)于所述唯一核心模式的組成原型定位的每個(gè)實(shí)例。11. 根據(jù)權(quán)利要求10所述的方法,其中每個(gè)唯一標(biāo)識(shí)符都包括散列密鑰。12. 根據(jù)權(quán)利要求10所述的方法,其中識(shí)別的每個(gè)唯一核心模式與如下中的一個(gè)有關(guān): 神經(jīng)突觸核心、神經(jīng)突觸核心的一部分。13. 根據(jù)權(quán)利要求10所述的方法,其中每個(gè)組成原型包括如下中的一個(gè):核心原型、交 叉開關(guān)陣列原型。14. 根據(jù)權(quán)利要求10所述的方法,還包括: 將識(shí)別的每個(gè)唯一核心模式與對(duì)用于生成所述唯一核心模式的功能或者核心程序中 的一個(gè)的相應(yīng)參數(shù)調(diào)用關(guān)聯(lián)。15. 根據(jù)權(quán)利要求10所述的方法,其中 識(shí)別的每個(gè)唯一核心模式與兩個(gè)或者多個(gè)的核心程序之間的連通性置換有關(guān)。16. 根據(jù)權(quán)利要求15所述的方法,還包括: 根據(jù)一個(gè)或者多個(gè)算法,分析所述模型文件; 從每個(gè)模型文件中提取元數(shù)據(jù),其中從每個(gè)模型文件中提取的元數(shù)據(jù)識(shí)別生成所述模 型文件的核心程序;以及 根據(jù)從每個(gè)模型文件提取的元數(shù)據(jù),確定至少一個(gè)連通性置換。17. -種方法,包括: 對(duì)核心程序組成提供編程環(huán)境; 利用所述編程環(huán)境,記錄與核心程序組成關(guān)聯(lián)的一個(gè)或者多個(gè)用戶動(dòng)作; 對(duì)于記錄的每個(gè)用戶動(dòng)作,保持包含與所述用戶動(dòng)作有關(guān)的元數(shù)據(jù)的相應(yīng)元數(shù)據(jù)記 錄;以及 使數(shù)據(jù)庫記錄與類似元數(shù)據(jù)聚類,以識(shí)別與核心程序組成有關(guān)的一個(gè)或者多個(gè)模式。18. 根據(jù)權(quán)利要求17所述的方法,其中 識(shí)別的每個(gè)模式與兩個(gè)或者多個(gè)的核心程序之間的連通性置換有關(guān); 對(duì)于記錄的每個(gè)用戶動(dòng)作,所述用戶動(dòng)作的相應(yīng)數(shù)據(jù)庫記錄包含識(shí)別如下中的每個(gè)的 元數(shù)據(jù):兩個(gè)或者多個(gè)的核心程序以及用于連接所述兩個(gè)或者多個(gè)核心程序的連通性置 換;以及 使具有用于識(shí)別同一個(gè)核心程序的元數(shù)據(jù)的數(shù)據(jù)庫記錄聚類在一起。19. 根據(jù)權(quán)利要求17所述的方法,其中 識(shí)別的每個(gè)模式與組成原型有關(guān)。
【文檔編號(hào)】G06N3/063GK106022469SQ201610052235
【公開日】2016年10月12日
【申請(qǐng)日】2016年1月26日
【發(fā)明人】A.阿米爾, P.達(dá)塔, D.S.莫德哈, B.G.肖
【申請(qǐng)人】國際商業(yè)機(jī)器公司