本發(fā)明涉及神經(jīng)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及神經(jīng)網(wǎng)絡(luò)計算核信息處理方法和系統(tǒng)。
背景技術(shù):
神經(jīng)形態(tài)工程由carvermead在1990年提出,意在用大規(guī)模集成電路來模擬生物神經(jīng)系統(tǒng)架構(gòu),構(gòu)建神經(jīng)形態(tài)計算系統(tǒng)。早期的神經(jīng)形態(tài)計算系統(tǒng)一般通過模擬電路實現(xiàn),但近些年來數(shù)字電路和數(shù)?;旌想娐芬苍絹碓蕉嗟谋簧窠?jīng)形態(tài)工程所使用。目前,神經(jīng)形態(tài)工程與神經(jīng)形態(tài)電路是國際上新興的研究熱點之一。傳統(tǒng)的神經(jīng)形態(tài)計算平臺,旨在通過模擬電路仿真大腦神經(jīng)元模型和離子通道活動,使用數(shù)字電路與片上存儲構(gòu)建連接和路由,從而能十分方便更改神經(jīng)元連接圖譜。。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,采用計算核的方式完成大規(guī)模的信息處理任務(wù),其中,計算核內(nèi)神經(jīng)元的軸突最多通過突觸連接到256個神經(jīng)元。在承載神經(jīng)網(wǎng)絡(luò)運算時,這限制了神經(jīng)網(wǎng)絡(luò)每一層的輸出都不能大于256,即下一層的神經(jīng)元數(shù)不能超過256,且,一個計算核所能夠處理的前端計算核的數(shù)量也是有限的,即在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,計算核之間的連接限制,極大的限制了神經(jīng)網(wǎng)絡(luò)的信息處理能力。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種神經(jīng)網(wǎng)絡(luò)計算核信息處理方法和系統(tǒng),可以擴(kuò)展神經(jīng)網(wǎng)絡(luò)的信息處理能力。其中,所述方法包括:
確定前端計算核復(fù)用組,所述前端計算核復(fù)用組包括至少兩個前端計算核;
根據(jù)所述前端計算核復(fù)用組,配置當(dāng)前計算核的復(fù)用規(guī)則,所述復(fù)用規(guī)則為將運算步劃分為至少兩個運算周期,且所述運算周期的數(shù)量大于或等于所述前端計算核的數(shù)量,將所述前端計算核復(fù)用組中的各前端計算核元分別與所述運算周期一一對應(yīng);
根據(jù)所述復(fù)用規(guī)則,在當(dāng)前運算步,分別接收各所述前端計算核輸出的神經(jīng)元信息。
在其中一個實施例中,所述將運算步劃分為至少兩個運算周期,包括:
將運算步等間隔劃分為至少兩個運算周期。
在其中一個實施例中,所述配置當(dāng)前計算核內(nèi)各神經(jīng)元的復(fù)用規(guī)則,包括:
分別配置當(dāng)前計算核內(nèi)各神經(jīng)元的樹突和胞體的復(fù)用規(guī)則。
在其中一個實施例中,所述前端計算核輸出的神經(jīng)元信息,包括:
前端計算核持續(xù)輸出的人工神經(jīng)元信息。
在其中一個實施例中,在確定前端計算核復(fù)用組的步驟之前,所述方法還包括:
確定當(dāng)前計算核的信息處理模式為復(fù)用模式,所述信息處理模式還包括非復(fù)用模式。
在其中一個實施例中,通過設(shè)置前端計算核復(fù)用組,使得當(dāng)前計算核按照設(shè)定好的復(fù)用規(guī)則,在當(dāng)前運算步的各運算周期,分別接收不同的前端計算核發(fā)送的神經(jīng)元信息,以使當(dāng)前計算核在當(dāng)前運算步的時長內(nèi),能夠接收更多的前端計算核發(fā)送的信息,提高了計算核信息接收的能力,從而提高整個神經(jīng)網(wǎng)絡(luò)的信息處理能力。
在其中一個實施例中,通過將運算步等間隔劃分為運算周期的方法,使得當(dāng)前計算核可以按照設(shè)定好的時間間隔接收不同的前端計算核發(fā)送的神經(jīng)元信息,而不用再去對運算周期進(jìn)行時長的計量,實現(xiàn)方式更加簡單可靠,提高了神經(jīng)網(wǎng)絡(luò)的信息處理效率。
在其中一個實施例中,通過分別配置當(dāng)前計算核內(nèi)的神經(jīng)元的樹突和胞體的復(fù)用規(guī)則,可以使當(dāng)前計算核的信息處理更有效率。
在其中一個實施例中,所述接收的前端計算核輸出的神經(jīng)元信息為持續(xù)輸出的人工神經(jīng)元信息,可以使得當(dāng)前計算核處理按照傳統(tǒng)的信息發(fā)送方式發(fā)送前端計算核發(fā)送的神經(jīng)元信息。
在其中一個實施例中,提供的信息處理模式,可以使得當(dāng)前計算核選擇是否工作在復(fù)用模式下,兼容傳統(tǒng)的神經(jīng)信息處理方式,提高神經(jīng)網(wǎng)絡(luò)的整體信息處理能力。
本發(fā)明還提供一種神經(jīng)網(wǎng)絡(luò)計算核信息處理系統(tǒng),包括:
復(fù)用組確定模塊,用于確定前端計算核復(fù)用組,所述前端計算核復(fù)用組包括至少兩個前端計算核;
運算周期分配模塊,用于根據(jù)所述前端計算核復(fù)用組,配置當(dāng)前計算核的復(fù)用規(guī)則,所述復(fù)用規(guī)則為將運算步劃分為至少兩個運算周期,且所述運算周期的數(shù)量大于或等于所述前端計算核的數(shù)量,將所述前端計算核復(fù)用組中的各前端計算核元分別與所述運算周期一一對應(yīng);
神經(jīng)元信息接收模塊,用于根據(jù)所述復(fù)用規(guī)則,在當(dāng)前運算步,分別接收各所述前端計算核輸出的神經(jīng)元信息。
在其中一個實施例中,所述運算周期分配模塊,用于將運算步等間隔劃分為至少兩個運算周期。
在其中一個實施例中,所述運算周期分配模塊,用于分別配置當(dāng)前計算核內(nèi)各神經(jīng)元的樹突和胞體的復(fù)用規(guī)則。
在其中一個實施例中,所述神經(jīng)元信息接收模塊,用于接收所述前端計算核持續(xù)輸出的人工神經(jīng)元信息。
在其中一個實施例中,還包括處理模式確定模塊,用于確定當(dāng)前計算核的信息處理模式為復(fù)用模式,所述信息處理模式還包括非復(fù)用模式。
在其中一個實施例中,通過設(shè)置前端計算核復(fù)用組,使得當(dāng)前計算核按照設(shè)定好的復(fù)用規(guī)則,在當(dāng)前運算步的各運算周期,分別接收不同的前端計算核發(fā)送的神經(jīng)元信息,以使當(dāng)前計算核在當(dāng)前運算步的時長內(nèi),能夠接收更多的前端計算核發(fā)送的信息,提高了計算核信息接收的能力,從而提高整個神經(jīng)網(wǎng)絡(luò)的信息處理能力。
在其中一個實施例中,通過將運算步等間隔劃分為運算周期的方法,使得當(dāng)前計算核可以按照設(shè)定好的時間間隔接收不同的前端計算核發(fā)送的神經(jīng)元信息,而不用再去對運算周期進(jìn)行時長的計量,實現(xiàn)方式更加簡單可靠,提高了神經(jīng)網(wǎng)絡(luò)的信息處理效率。
在其中一個實施例中,通過分別配置當(dāng)前計算核內(nèi)的神經(jīng)元的樹突和胞體的復(fù)用規(guī)則,可以使當(dāng)前計算核的信息處理更有效率。
在其中一個實施例中,所述接收的前端計算核輸出的神經(jīng)元信息為持續(xù)輸出的人工神經(jīng)元信息,可以使得當(dāng)前計算核處理按照傳統(tǒng)的信息發(fā)送方式發(fā)送前端計算核發(fā)送的神經(jīng)元信息。
在其中一個實施例中,提供的信息處理模式,可以使得當(dāng)前計算核選擇是否工作在復(fù)用模式下,兼容傳統(tǒng)的神經(jīng)信息處理方式,提高神經(jīng)網(wǎng)絡(luò)的整體信息處理能力。
附圖說明
圖1為一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理方法的流程示意圖;
圖2為另一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理方法的流程示意圖;
圖3為一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理系統(tǒng)的結(jié)構(gòu)示意圖;
圖4為另一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理系統(tǒng)的結(jié)構(gòu)示意圖;
圖5為另一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理方法的示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理方法的流程示意圖,如圖1所示的神經(jīng)網(wǎng)絡(luò)計算核信息處理方法,包括:
步驟s100,確定前端計算核復(fù)用組,所述前端計算核復(fù)用組包括至少兩個前端計算核。
具體的,為使所述當(dāng)前計算核在一個運算步內(nèi)能夠接收更多的前端計算核輸入的信息,將前端計算核在一個運算步內(nèi)進(jìn)行復(fù)用,需要確定進(jìn)行復(fù)用的前端計算核的數(shù)量和范圍,可以根據(jù)神經(jīng)網(wǎng)絡(luò)所執(zhí)行的任務(wù)的需求,靈活設(shè)定任意數(shù)量的計算核進(jìn)行復(fù)用,只要復(fù)用后,計算核用于發(fā)送信息的時長夠用即可。
所述運算步(step),為計算核進(jìn)行信息處理的一個固定的時長,神經(jīng)網(wǎng)絡(luò)中所有的神經(jīng)元,均按照所述的運算步同步處理數(shù)據(jù)。
步驟s200,根據(jù)所述前端計算核復(fù)用組,配置當(dāng)前計算核的復(fù)用規(guī)則,所述復(fù)用規(guī)則為將運算步劃分為至少兩個運算周期,且所述運算周期的數(shù)量大于或等于所述前端計算核的數(shù)量,將所述前端計算核復(fù)用組中的各前端計算核元分別與所述運算周期一一對應(yīng)。
具體的,所述將運算步劃分為至少兩個運算周期,即,將一個step劃分為多個運算周期(也可稱為phase),為保證進(jìn)行復(fù)用的前端計算核都能與所述的運算周期進(jìn)行對應(yīng),需要將運算周期的個數(shù)設(shè)定為大于或等于進(jìn)行復(fù)用的所述前端計算核的數(shù)量。
所述將所述前端計算核復(fù)用組中的各前端計算核分別與所述運算周期一一對應(yīng),是指將前端計算核發(fā)送的信息,只在一個與之對應(yīng)的運算周期內(nèi)發(fā)送。在實際的神經(jīng)網(wǎng)絡(luò)的使用中,也可以將一個前端計算核與多個運算周期進(jìn)行對應(yīng),或一個運算周期與多個前端計算核進(jìn)行對應(yīng),從而進(jìn)一步的提高當(dāng)前計算核的信息接收能力,但其基本的原理,均與前端計算核和運算周期一一相同,因此不再贅述,實際使用中根據(jù)需求進(jìn)行靈活的設(shè)定即可。
步驟s300,根據(jù)所述復(fù)用規(guī)則,在當(dāng)前運算步,分別接收各所述前端計算核輸出的神經(jīng)元信息。
具體的,當(dāng)前計算核設(shè)定好復(fù)用規(guī)則后,在當(dāng)前的運算步內(nèi)的各運算周期,只接收與當(dāng)前運算周期對應(yīng)的前端計算核發(fā)送的神經(jīng)元信息即可。
在本實施例中,通過設(shè)置前端計算核復(fù)用組,使得當(dāng)前計算核按照設(shè)定好的復(fù)用規(guī)則,在當(dāng)前運算步的各運算周期,分別接收不同的前端計算核發(fā)送的神經(jīng)元信息,以使當(dāng)前計算核在當(dāng)前運算步的時長內(nèi),能夠接收更多的前端計算核發(fā)送的信息,提高了計算核信息接收的能力,從而提高整個神經(jīng)網(wǎng)絡(luò)的信息處理能力。
在其中一個實施例中,所述將運算步劃分為至少兩個運算周期,包括將運算步等間隔劃分為至少兩個運算周期。
具體的,也可將所述運算步進(jìn)行非等間隔的劃分,如有的運算周期長,有的運算周期短,以使輸出的神經(jīng)元信息的信息量大的前端計算核,對應(yīng)于相對較長的運算周期。從而保證神經(jīng)元信息的接收完整性。其運算周期的長短的分配,根據(jù)需求靈活設(shè)定。
在本實施例中,通過將運算步等間隔劃分為運算周期的方法,使得當(dāng)前計算核可以按照設(shè)定好的時間間隔接收不同的前端計算核發(fā)送的神經(jīng)元信息,而不用再去對運算周期進(jìn)行時長的計量,實現(xiàn)方式更加簡單可靠,提高了神經(jīng)網(wǎng)絡(luò)的信息處理效率。
在其中一個實施例中,所述配置當(dāng)前計算核內(nèi)各神經(jīng)元的復(fù)用規(guī)則,包括分別配置當(dāng)前計算核內(nèi)各神經(jīng)元的樹突和胞體的復(fù)用規(guī)則。
具體的,當(dāng)前計算核中的各神經(jīng)元的樹突,用于接收前端神經(jīng)元發(fā)送的信息,當(dāng)前計算核中的各神經(jīng)元的胞體,用于計算所述樹突接收到的信息。在當(dāng)前計算核的復(fù)用規(guī)則中,將計算核中的各神經(jīng)元的樹突和胞體分別配置相應(yīng)的復(fù)用規(guī)則,如,在當(dāng)前step的哪些phase,用于樹突接收前端神經(jīng)元輸出的神經(jīng)元信息,所述胞體在當(dāng)前step的哪個phase進(jìn)行歷史膜電位信息的處理等,因其處理的信息不沖突,所述指定的胞體的對應(yīng)phase可以與所述樹突所對應(yīng)的phase重合。
為給當(dāng)前神經(jīng)元預(yù)留時間進(jìn)行當(dāng)前step的信息的計算,所述樹突的胞體的復(fù)用后,會在所有樹突和胞體的對應(yīng)的phase后,在step的后面預(yù)留至少一個phase,供當(dāng)前神經(jīng)元計算使用。
在本實施例中,通過分別配置當(dāng)前計算核內(nèi)的神經(jīng)元的樹突和胞體的復(fù)用規(guī)則,可以使當(dāng)前計算核的信息處理更有效率。
在其中一個實施例中,所述前端計算核輸出的神經(jīng)元信息,包括前端計算核持續(xù)輸出的人工神經(jīng)元信息。
具體的,在當(dāng)前計算核進(jìn)行信息接收時進(jìn)行復(fù)用時,若前端計算核是采用傳統(tǒng)的非復(fù)用的發(fā)送方式時,需在前端計算核為人工神經(jīng)元,且發(fā)送方式為持續(xù)發(fā)送。
在本實施例中,所述接收的前端計算核輸出的神經(jīng)元信息為持續(xù)輸出的人工神經(jīng)元信息,可以使得當(dāng)前計算核處理按照傳統(tǒng)的信息發(fā)送方式發(fā)送前端計算核發(fā)送的神經(jīng)元信息。
圖2為另一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理方法的流程示意圖,如圖2所示的神經(jīng)網(wǎng)絡(luò)計算核信息處理方法,包括:
步驟s90,確定當(dāng)前計算核的信息處理模式為復(fù)用模式,所述信息處理模式還包括非復(fù)用模式。
具體的,當(dāng)前計算核可以選擇工作在復(fù)用模式,也可選擇工作在非復(fù)用模式,所述非復(fù)用模式即為傳統(tǒng)技術(shù)中的工作模式。
步驟s100,確定前端計算核復(fù)用組,所述前端計算核復(fù)用組包括至少兩個前端計算核。
步驟s200,根據(jù)所述前端計算核復(fù)用組,配置當(dāng)前計算核的復(fù)用規(guī)則,所述復(fù)用規(guī)則為將運算步劃分為至少兩個運算周期,且所述運算周期的數(shù)量大于或等于所述前端計算核的數(shù)量,將所述前端計算核復(fù)用組中的各前端計算核元分別與所述運算周期一一對應(yīng)。
步驟s300,根據(jù)所述復(fù)用規(guī)則,在當(dāng)前運算步,分別接收各所述前端計算核輸出的神經(jīng)元信息。
在本實施例中,提供的信息處理模式,可以使得當(dāng)前計算核選擇是否工作在復(fù)用模式下,兼容傳統(tǒng)的神經(jīng)信息處理方式,提高神經(jīng)網(wǎng)絡(luò)的整體信息處理能力。
圖3為一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖3所示的神經(jīng)網(wǎng)絡(luò)計算核信息處理系統(tǒng),包括:
復(fù)用組確定模塊100,用于確定前端計算核復(fù)用組,所述前端計算核復(fù)用組包括至少兩個前端計算核。
運算周期分配模塊200,用于根據(jù)所述前端計算核復(fù)用組,配置當(dāng)前計算核的復(fù)用規(guī)則,所述復(fù)用規(guī)則為將運算步劃分為至少兩個運算周期,且所述運算周期的數(shù)量大于或等于所述前端計算核的數(shù)量,將所述前端計算核復(fù)用組中的各前端計算核元分別與所述運算周期一一對應(yīng)。用于將運算步等間隔劃分為至少兩個運算周期。用于分別配置當(dāng)前計算核內(nèi)各神經(jīng)元的樹突和胞體的復(fù)用規(guī)則。
神經(jīng)元信息接收模塊300,用于根據(jù)所述復(fù)用規(guī)則,在當(dāng)前運算步,分別接收各所述前端計算核輸出的神經(jīng)元信息。用于接收所述前端計算核持續(xù)輸出的人工神經(jīng)元信息。
在本實施例中,通過設(shè)置前端計算核復(fù)用組,使得當(dāng)前計算核按照設(shè)定好的復(fù)用規(guī)則,在當(dāng)前運算步的各運算周期,分別接收不同的前端計算核發(fā)送的神經(jīng)元信息,以使當(dāng)前計算核在當(dāng)前運算步的時長內(nèi),能夠接收更多的前端計算核發(fā)送的信息,提高了計算核信息接收的能力,從而提高整個神經(jīng)網(wǎng)絡(luò)的信息處理能力。通過將運算步等間隔劃分為運算周期的方法,使得當(dāng)前計算核可以按照設(shè)定好的時間間隔接收不同的前端計算核發(fā)送的神經(jīng)元信息,而不用再去對運算周期進(jìn)行時長的計量,實現(xiàn)方式更加簡單可靠,提高了神經(jīng)網(wǎng)絡(luò)的信息處理效率。通過分別配置當(dāng)前計算核內(nèi)的神經(jīng)元的樹突和胞體的復(fù)用規(guī)則,可以使當(dāng)前計算核的信息處理更有效率。所述接收的前端計算核輸出的神經(jīng)元信息為持續(xù)輸出的人工神經(jīng)元信息,可以使得當(dāng)前計算核處理按照傳統(tǒng)的信息發(fā)送方式發(fā)送前端計算核發(fā)送的神經(jīng)元信息。
圖4為另一個實施例的神經(jīng)網(wǎng)絡(luò)計算核信息處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖4所示的神經(jīng)網(wǎng)絡(luò)計算核信息處理系統(tǒng),包括:
處理模式確定模塊90,用于確定當(dāng)前計算核的信息處理模式為復(fù)用模式,所述信息處理模式還包括非復(fù)用模式。
復(fù)用組確定模塊100,用于確定前端計算核復(fù)用組,所述前端計算核復(fù)用組包括至少兩個前端計算核。
運算周期分配模塊200,用于根據(jù)所述前端計算核復(fù)用組,配置當(dāng)前計算核的復(fù)用規(guī)則,所述復(fù)用規(guī)則為將運算步劃分為至少兩個運算周期,且所述運算周期的數(shù)量大于或等于所述前端計算核的數(shù)量,將所述前端計算核復(fù)用組中的各前端計算核元分別與所述運算周期一一對應(yīng)。
神經(jīng)元信息接收模塊300,用于根據(jù)所述復(fù)用規(guī)則,在當(dāng)前運算步,分別接收各所述前端計算核輸出的神經(jīng)元信息。
在本實施例中,提供的信息處理模式,可以使得當(dāng)前計算核選擇是否工作在復(fù)用模式下,兼容傳統(tǒng)的神經(jīng)信息處理方式,提高神經(jīng)網(wǎng)絡(luò)的整體信息處理能力。
在其中一個實施例中,可以通過寄存器的方式,實現(xiàn)當(dāng)前計算核的復(fù)用,如表1所示:
表1
圖5為結(jié)合表1給出的本實施例的示意圖,表1給出了當(dāng)前計算核內(nèi)的神經(jīng)元的樹突和胞體的復(fù)用的寄存器的實現(xiàn)方式之一,其中d_type,標(biāo)識樹突的處理模式的選擇,當(dāng)其為0時,是現(xiàn)有的處理模式,不復(fù)用,當(dāng)其為1時,當(dāng)前神經(jīng)元的樹突采用復(fù)用模式。所述的位寬為1,表示利用1個bit的字節(jié)描述此變量。d_start_phase為樹突計算起始有效運算周期,d_end_phase為樹突計算最后有效運算周期,兩者配合使用,用于在寄存器中指明復(fù)用的運算周期的位置。表1中后半部的胞體與樹突部分相同。
以上所述實施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。
以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。