本發(fā)明涉及人工神經(jīng)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及神經(jīng)元電路。
背景技術(shù):
隨著人工神經(jīng)網(wǎng)絡(luò)的研究深入,傳統(tǒng)的采用數(shù)字電路實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的缺點(diǎn)越來(lái)越明顯,用以實(shí)現(xiàn)所需的乘法和加法運(yùn)算和非線性變換所需的神經(jīng)元突觸電路規(guī)模龐大,功耗和體積巨大,難以適應(yīng)發(fā)展的需要。而模擬電路結(jié)構(gòu)簡(jiǎn)單、功耗低、運(yùn)算速度快,能顯著提高神經(jīng)網(wǎng)絡(luò)的運(yùn)算效率。模擬神經(jīng)元電路是模擬神經(jīng)網(wǎng)絡(luò)的基本單元之一。
Izhikevich模型是一種神經(jīng)元的數(shù)學(xué)模型,由Izhikevich提出,相關(guān)參考文獻(xiàn):Izhikevich E M.Simple model of spiking neurons.[J].IEEE Transactions on Neural Networks,2010,14(6):1569-1572。這種數(shù)學(xué)模型可以描述出神經(jīng)元的多種放電形式,其基本公式如下:
當(dāng)ν≥30mV,則有
其中,ν代表神經(jīng)元膜電位,u代表神經(jīng)元膜電位調(diào)整變量,a、b、c、d是無(wú)量綱參數(shù),t表示時(shí)間,I代表神經(jīng)元受到的刺激電流。該模型模擬的生理過(guò)程如下:神經(jīng)元受到神經(jīng)突觸的刺激電流以后,產(chǎn)生動(dòng)作脈沖(spike),膜電位ν開始上升,上升到一定程度(大約30mV)后,由于調(diào)整變量u的作用,ν又恢復(fù)到設(shè)定值c所表示的電位,同時(shí)u恢復(fù)到u+d。由于其參數(shù)a、b、c、d可以靈活設(shè)置,因此可以模擬多種神經(jīng)元的放電模式。
由于該模型中含有乘積和平方項(xiàng),用傳統(tǒng)的模擬CMOS(Complementary Metal Oxide Semiconductor,互補(bǔ)金屬氧化物半導(dǎo)體)電路實(shí)現(xiàn)起來(lái)較為復(fù)雜,神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)該模型一般用數(shù)字或軟件算法方式實(shí)現(xiàn)。然而,使用數(shù)字或軟件算法方式實(shí)現(xiàn)該模型的神經(jīng)元,功耗大,尤其是在大規(guī)模集成的時(shí)候,難以適應(yīng)未來(lái)發(fā)展的需要;同時(shí),在模擬神經(jīng)網(wǎng)絡(luò)中,需要將神經(jīng)元信號(hào)在數(shù)字和模擬之間不斷地轉(zhuǎn)換,需要大量的D/A和A/D轉(zhuǎn)換器,極大地增加電路的功耗和面積。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種神經(jīng)元電路,用以降低神經(jīng)元電路的功耗,減小神經(jīng)元電路的占用面積,該神經(jīng)元電路包括:
脈沖產(chǎn)生電路,通過(guò)第一Tau-cell電路結(jié)構(gòu)和第二Tau-cell電路結(jié)構(gòu),被構(gòu)造為用于模擬神經(jīng)脈沖振蕩;第一Tau-cell電路結(jié)構(gòu)中包括用于模擬神經(jīng)元膜電位ν的第一電容Cv;第二Tau-cell電路結(jié)構(gòu)中包括用于模擬神經(jīng)元膜電位調(diào)整變量u的第二電容Cu;
與脈沖產(chǎn)生電路連接的調(diào)整電路,用于對(duì)神經(jīng)元膜電位ν重賦值;
與脈沖產(chǎn)生電路連接的比較電路,用于對(duì)神經(jīng)元膜電位調(diào)整變量u重賦值。
本發(fā)明實(shí)施例的神經(jīng)元電路通過(guò)包括第一Tau-cell電路結(jié)構(gòu)和第二Tau-cell電路結(jié)構(gòu)的脈沖產(chǎn)生電路,與脈沖產(chǎn)生電路連接的調(diào)整電路和比較電路,可以實(shí)現(xiàn)基于Izhikevich模型的神經(jīng)元多種放電模式,相對(duì)于傳統(tǒng)模擬CMOS電路,該神經(jīng)元電路結(jié)構(gòu)簡(jiǎn)單;相對(duì)于使用數(shù)字或軟件算法方式實(shí)現(xiàn),功耗更低,無(wú)需大量的D/A和A/D轉(zhuǎn)換器,最大程度地減小了電路功耗和面積。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中:
圖1為本發(fā)明實(shí)施例中Tau-cell電路結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例中神經(jīng)元電路的一個(gè)具體實(shí)例圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例做進(jìn)一步詳細(xì)說(shuō)明。在此,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。
本發(fā)明實(shí)施例提出一種實(shí)現(xiàn)Izhikevich模型的神經(jīng)元電路,該神經(jīng)元電路是基于Tau-cell電路結(jié)構(gòu),利用Tau-cell電路結(jié)構(gòu)的運(yùn)算特性,實(shí)現(xiàn)基于Izhikevich模型的神經(jīng)元多種放電模式,該神經(jīng)元電路功耗低,占用面積小。
下面先介紹Tau-cell電路結(jié)構(gòu),本發(fā)明實(shí)施例中的神經(jīng)元電路采用了Tau-cell電路結(jié)構(gòu)。圖1為本發(fā)明實(shí)施例中Tau-cell電路結(jié)構(gòu)示意圖,如圖1所示,在該Tau-cell電路結(jié)構(gòu)中,M1、M2、M3、M4是NMOS器件,VDD是電源,GND為地,Vref表示某一電壓。Ic為電容上的電流,Vc為節(jié)點(diǎn)電壓。在該Tau-cell電路結(jié)構(gòu)中,M1、M2、M3、M4都工作在亞閾值區(qū)域,此時(shí)該Tau-cell電路結(jié)構(gòu)滿足跨導(dǎo)線性原理,可以得出如下關(guān)系式:
Iin·Iτ=I1·Iout
以上關(guān)于Tau-cell電路結(jié)構(gòu)的介紹來(lái)自參考文獻(xiàn):Chicca E,Stefanini F,Bartolozzi C,et al.Neuromorphic electronic circuits for building autonomous cognitive systems[J].Proceedings of the IEEE,2014,102(9):1367-1388。
本發(fā)明實(shí)施例中的神經(jīng)元電路包括:脈沖產(chǎn)生電路,通過(guò)第一Tau-cell電路結(jié)構(gòu)和第二Tau-cell電路結(jié)構(gòu),被構(gòu)造為用于模擬神經(jīng)脈沖振蕩;第一Tau-cell電路結(jié)構(gòu)中包括用于模擬神經(jīng)元膜電位ν的第一電容Cv;第二Tau-cell電路結(jié)構(gòu)中包括用于模擬神經(jīng)元膜電位調(diào)整變量u的第二電容Cu;與脈沖產(chǎn)生電路連接的調(diào)整電路,用于對(duì)神經(jīng)元膜電位ν重賦值;與脈沖產(chǎn)生電路連接的比較電路,用于對(duì)神經(jīng)元膜電位調(diào)整變量u重賦值。
下面結(jié)合圖2的示例說(shuō)明本發(fā)明實(shí)施例的神經(jīng)元電路的具體實(shí)施。當(dāng)然,本領(lǐng)域技術(shù)人員容易理解,圖2所示的具體電路結(jié)構(gòu)僅為實(shí)現(xiàn)本發(fā)明實(shí)施例神經(jīng)元電路的一個(gè)具體實(shí)例,在具體實(shí)施時(shí)完全可以將電路中的部分或全部結(jié)構(gòu)單元進(jìn)行變形,例如可以通過(guò)增加或增少晶體管來(lái)實(shí)現(xiàn)相同的功能,進(jìn)一步的,比如對(duì)于第一Tau-cell電路結(jié)構(gòu)或第二Tau-cell電路結(jié)構(gòu)中的晶體管、電容,調(diào)整電路或比較電路進(jìn)行結(jié)構(gòu)上的重新設(shè)計(jì),而保持電路各部分的實(shí)現(xiàn)原理相同。
如圖2所示,本例的神經(jīng)元電路中,第二Tau-cell電路結(jié)構(gòu)還包括第一NMOS器件M1,第二NMOS器件M2,第三NMOS器件M3,第四NMOS器件M4;
第一NMOS器件M1漏極與柵極短接;第一NMOS器件M1柵極連接第二NMOS器件M2柵極;第一NMOS器件M1源極接地;第二NMOS器件M2漏極接電源VDD;第二NMOS器件M2源極連接第二電容Cu正極和第三NMOS器件M3源極;第二電容Cu負(fù)極接地;第三NMOS器件M3漏極與柵極短接,并連接第一恒流源I1u輸出端;第一恒流源I1u輸入端接電源VDD;第三NMOS器件M3柵極連接第四NMOS器件M4柵極;第三NMOS器件M3源極連接第二恒流源I2u輸入端;第二恒流源I2u輸出端接地;第四NMOS器件M4源極接地;第四NMOS器件M4漏極接第三恒流源Iin輸出端和第四恒流源Idc輸出端;第三恒流源Iin輸出端連接第四恒流源Idc輸出端;第三恒流源Iin輸入端和第四恒流源Idc輸入端接電源VDD;
第一Tau-cell電路結(jié)構(gòu)還包括:第七NMOS器件M7,第八NMOS器件M8,第九NMOS器件M9,第十NMOS器件M10;
第七NMOS器件M7漏極與柵極短接,并連接第三恒流源Iin輸出端和第四恒流源Idc輸出端;第七NMOS器件M7柵極連接第八NMOS器件M8柵極;第七NMOS器件M7源極接地;第八NMOS器件M8漏極接電源VDD;第八NMOS器件M8源極連接第五恒流源I2v輸入端和第九NMOS器件M9源極;第五恒流源I2v輸出端接地;第九NMOS器件M3漏極與柵極短接,并連接第六恒流源I1v輸出端;第六恒流源I1v輸入端接電源VDD;第九NMOS器件M9柵極連接第十NMOS器件M10柵極;第九NMOS器件M9源極連接第一電容Cv正極;第一電容Cv負(fù)極接地;第十NMOS器件M10源極接地;
脈沖產(chǎn)生電路還包括:第五PMOS器件M5,第六PMOS器件M6,第十一PMOS器件M11,第十二PMOS器件M12,第十三PMOS器件M13,第七恒流源Id;
第五PMOS器件M5源極接電源VDD;第五PMOS器件M5漏極連接第一NMOS器件M1漏極;第五PMOS器件M5柵極連接比較電路輸入端;第六PMOS器件M6漏極連接第七恒流源Id輸出端;第七恒流源Id輸入端接電源VDD;第六PMOS器件M6源極連接第二電容Cu正極;第六PMOS器件M6柵極連接比較電路輸出端;第十一PMOS器件M11源極接電源VDD;第十一PMOS器件M11柵極連接第十二PMOS器件M12柵極和比較電路輸入端;第十一PMOS器件M11漏極連接第一電容Cv正極;第十二PMOS器件M12漏極與柵極短接,并連接第十NMOS器件M10漏極;第十二PMOS器件M12源極接電源VDD;第十三PMOS器件M13柵極連接比較電路輸出端;第十三PMOS器件M13源極連接第一電容Cv正極;第十三PMOS器件M13漏極連接調(diào)整電路輸出端。
具體實(shí)施時(shí)本發(fā)明實(shí)施例的神經(jīng)元電路工作在亞閾值區(qū)域。神經(jīng)元電路中的晶體管工作在亞閾值區(qū),工作在該區(qū)域的晶體管工作電流小,工作電壓也小,實(shí)驗(yàn)中神經(jīng)元電路的工作電壓可以低到1V以下,可以極大地減小功耗。
下面以圖2為例,詳細(xì)說(shuō)明本發(fā)明實(shí)施例的神經(jīng)元電路是如何實(shí)現(xiàn)基于Izhikevich模型的神經(jīng)元多種放電模式的。
為了可以更簡(jiǎn)化地實(shí)現(xiàn)Izhikevich模型的數(shù)學(xué)公式,我們將u和ν用電流的方式表達(dá),令:
v=Iv-100 (4)
u=Iu-100b (5)
將(4)式和(5)式帶入(1)式中,我們可以將(1)式簡(jiǎn)化為:
如圖2所示,在包括第七NMOS器件M7,第八NMOS器件M8,第九NMOS器件M9,第十NMOS器件M10的第一Tau-cell電路結(jié)構(gòu)中,由Tau-cell電路結(jié)構(gòu)的特點(diǎn)可以得到下面的關(guān)系式:
(Iin+Idc-Iu)·I1v=(I2v+ICv-I1v-Iv)·Iv (7)
其中ICv為第一電容Cv電流。(7)式兩邊同時(shí)除以I1v可以得到:
又由于本發(fā)明實(shí)施例的神經(jīng)元電路中MOS管工作在亞閾值區(qū),工作在該狀態(tài)的MOS管柵源電壓VGS與漏源電流ID之間的關(guān)系式為:
其中IS、n、Vt均是MOS管的本身的固有參數(shù)。
從電路的對(duì)稱性可以看出來(lái),M8的柵源電壓就等于第一電容Cv兩端的電壓,由(9)式可以得到:
VGS10表示M10的柵源電壓,將(10)式帶入(8)式,經(jīng)整理可得:
可見(jiàn),(11)式的形式與(1)式和(6)式相同。
類似地,在包括第一NMOS器件M1,第二NMOS器件M2,第三NMOS器件M3,第四NMOS器件M4的第二Tau-cell電路結(jié)構(gòu)中,由Tau-cell電路結(jié)構(gòu)的特點(diǎn)可以得到下面的關(guān)系式:
(ICu+I2u-I1u)·Iu=I1u·Iv (12)
其中ICu為第二電容Cu電流。(12)式移項(xiàng)可得:
ICu·Iu=I1u·Iv-(I2u-I1u)·Iu (13)
同樣地,由電路的對(duì)稱性可以看出,第二電容Cu兩端的電壓與M1的柵源電壓相同,因此有
經(jīng)過(guò)整理后,可以得到
可見(jiàn),(15)式的形式與(2)式相同。
上面介紹了本發(fā)明實(shí)施例的神經(jīng)元電路結(jié)構(gòu)是如何利用Tau-cell電路結(jié)構(gòu)去實(shí)現(xiàn)Izhikevich模型的基本表達(dá)式即(1)式和(2)式的。下面介紹本發(fā)明實(shí)施例的神經(jīng)元電路結(jié)構(gòu)是如何實(shí)現(xiàn)模型中的其他功能的,即實(shí)現(xiàn)即(3)式。
從圖2中可以看出,本發(fā)明實(shí)施例的神經(jīng)元電路結(jié)構(gòu)還包括一個(gè)比較電路和調(diào)整電路。在具體的實(shí)施例中,比較電路可以具體用于檢測(cè)第五PMOS器件M5和第十二PMOS器件M12柵極電壓的改變,在改變的幅度超過(guò)設(shè)定值時(shí),輸出重賦值電壓Vreset,使第六PMOS器件M6和第十三PMOS器件M13導(dǎo)通,重置第二電容Cu電流,通過(guò)調(diào)整電路重置第一電容Cv電流。電流Iv變化使得M5和M12的柵極電壓發(fā)生改變,比較電路通過(guò)檢測(cè)該柵極電壓的改變,產(chǎn)生相對(duì)應(yīng)的輸出,一旦比較改變的幅度超過(guò)某一設(shè)定值,比較電路輸出Vreset,使晶體管M6和M13導(dǎo)通,電流Id注入到第二電容Cu上,重置第二電容Cu上的電流,進(jìn)而改變ICu。調(diào)整電路的輸出電流注入到第一電容Cv上,改變第一電容Cv上電流,進(jìn)而改變ICv。
在具體的實(shí)施例中,調(diào)整電路包括第八恒流源I1v和第九恒流源Ic;第八恒流源I1v與第六恒流源I1v輸出電流大小相等;調(diào)整電路具體可以用于通過(guò)對(duì)第八恒流源I1v和第九恒流源Ic輸出電流的運(yùn)算比較,提供用于重置第一電容Cv電流的輸出電流。調(diào)整電路通過(guò)兩個(gè)電流之間的運(yùn)算比較,可以使得注入到第一電容Cv中的電流大小是合適的。
最后,通過(guò)改變參數(shù)Ic和Id的變化,就可以使代表神經(jīng)元?jiǎng)幼鞯腎Cv產(chǎn)生類似神經(jīng)元?jiǎng)幼麟娢坏母鞣N不同放電模式,使本發(fā)明實(shí)施例的神經(jīng)元電路可以模擬Izhikevich模型。
綜上所述,本發(fā)明實(shí)施例的神經(jīng)元電路通過(guò)包括第一Tau-cell電路結(jié)構(gòu)和第二Tau-cell電路結(jié)構(gòu)的脈沖產(chǎn)生電路,與脈沖產(chǎn)生電路連接的調(diào)整電路和比較電路,可以實(shí)現(xiàn)基于Izhikevich模型的神經(jīng)元多種放電模式,相對(duì)于傳統(tǒng)模擬CMOS電路,該神經(jīng)元電路結(jié)構(gòu)簡(jiǎn)單;相對(duì)于使用數(shù)字或軟件算法方式實(shí)現(xiàn),功耗更低,無(wú)需大量的D/A和A/D轉(zhuǎn)換器,最大程度地減小了電路功耗和面積。
進(jìn)一步的,在功耗方面,本發(fā)明實(shí)施例的神經(jīng)元電路中晶體管工作在亞閾值區(qū),工作在該區(qū)域的晶體管工作電流小,工作電壓也小,神經(jīng)元電路的工作電壓可以低到1V以下,可以極大地減小功耗。在集成度方面,本發(fā)明實(shí)施例的神經(jīng)元電路所用的晶體管數(shù)量少,可以提高集成度,應(yīng)用于超大規(guī)模的集成中。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。