一種全連接神經網絡結構的制作方法
【技術領域】
[0001]本發(fā)明涉及神經網絡構造技術,特別涉及一種全連接神經網絡結構。
技術背景
[0002]人類大腦的神經網絡由近千億個神經元組成,每個神經元通過樹突或軸突相連接。當神經元收到刺激時,該神經元通過樹突或軸突末端的突觸將刺激信號傳遞給其他神經元,所有神經元刺激信號的抽象集合使得人腦產生邏輯思維等智能行為。而如何通過人工硬件模擬大腦神經網絡結構一直是人工智能領域的一個研究難題。
[0003]近年來,深度學習作為一種行之有效的神經網絡方法興起,得到了廣泛研究和應用。深度學習的神經網絡結構是一種多層神經元結構,相鄰兩層神經元之間通過全連接的方式互聯。深度學習方法的有效性與網絡規(guī)模(包括神經元數量和連接數量)相關,具有實際應用價值的深度學習網絡連接規(guī)模達到百億(10G)以上,而人腦新皮層的連接(突觸)數量達到150T(150萬億)。
[0004]現有技術中可基于CPU或CPU和GPU的結合來模擬人腦神經網絡結構,目前很多深度學習算法實現就是采用這種方案。由于CPU只能夠進行串行計算,因此單純使用CPU來模擬人腦神經網絡結構,其設備成本巨大且運算效率很低。2012年6月,Google公司的Google Brain項目用16000臺電腦搭建模擬了一個人腦神經網絡,連接數量達到10億。2013年斯坦福大學在一項研究中,使用了 16臺服務器實現了 100億網絡連接,每個服務器包含兩個四核CPU、四個GPU和一個帶寬適配器來模擬人腦神經網絡結構,利用了 GPU的并行運行功能,該模擬系統的運算效率相對于之前的CPU模擬有所提高,然而這樣一個模擬系統的花費也在2萬美元。如果用這種方案實現人腦新皮層規(guī)模的神經網絡,成本至少需要3億美元,這還不考慮互聯很功耗成本。因此,采用CPU和GPU等傳統計算體系不是解決深度學習方法應用的有效途徑。
[0005]此外,無論是基于CPU還是基于CPU和GPU的結合,其人工神經網絡系統的運轉還是要依靠計算機程序來模擬人腦神經網絡的深層學習過程。即若脫離了計算機程序的控制,現有技術中單純依靠硬件系統無法模擬人腦神經網絡的活動過程。
【發(fā)明內容】
[0006]有鑒于此,本發(fā)明實施例提供了一種全連接神經網絡結構,實現低成本的人腦神經網絡結構。
[0007]本發(fā)明實施例提供的一種全連接神經網絡結構,包括:至少兩個全連接神經網絡層,其中:
[0008]每一層全連接神經網絡層由輸入導線層、輸出導線層和位于其中的塑性器件層構成,輸入導線層和輸出導線層分別包括至少一根導線,且輸入、輸出兩層導線層的導線縱橫交叉,塑性器件位于縱橫交叉點處,分別與輸入、輸出導線層連接;輸出導線層中每一根導線的末端連接一神經元模擬器;
[0009]所述至少兩個全連接神經網絡層依次連接,將上一個全連接神經網絡層的輸出作為下一個全連接神經網絡層的輸入,以形成深度學習網絡。
[0010]利用本發(fā)明實施例提供的全連接神經網絡結構,通過塑性器件作為上、下層刺激的傳遞媒介(突觸),既可以模擬人腦神經反應曲線,又因為塑性器件耗能小,成本低,使得利用塑性器件構成的全連接深度學習神經網絡成為現實,相比于現有技術構建的全連接神經網絡結構,成本可以降低五個數量級。因此,也只有采用這種新的結構,人腦規(guī)模的模擬才能成為可能。
[0011]另外,本發(fā)明實施例提供的全連接神經網絡結構,結構規(guī)整,便于利用成熟的集成電路生產工藝進行大規(guī)模生產制造,其連接數量能夠達到甚至超越人類大腦的神經突觸數量。
【附圖說明】
[0012]圖1是本發(fā)明一實施例提供的一種全連接神經網絡層的結構示意圖。
[0013]圖2是本發(fā)明一實施例提供的一種全連接神經網絡結構的結構示意圖。
[0014]圖3是本發(fā)明一實施例提供的一種全連接神經網絡結構的結構示意圖。
[0015]圖4是本發(fā)明一實施例提供的一種全連接神經網絡結構的結構示意圖。
【具體實施方式】
[0016]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖對本發(fā)明作進一步的詳細描述。
[0017]圖1是本發(fā)明一實施例提供的一種全連接神經網絡層的結構示意圖。如圖1所示,該全連接神經網絡層包括輸入導線層1、輸出導線層2和位于兩層導線層1、2之間的塑性器件層3。導線層1和導線層2均由多根并行排列的導線構成,且導線層1和導線2縱橫交叉。其中,上層導線層2通過塑性器件層3與下層導線層1實現全連接。
[0018]在輸出導線層2的每一根導線的末端均設置有一個神經元模擬器4。這些神經元模擬器4除了具備存儲功能外,還有計算(累積)、判斷(是否超過閾值)和發(fā)放(向后續(xù)神經元發(fā)放刺激信號,發(fā)放后清除累積)功能。其將所在導線所連接的塑性器件的接收信息進行累加,并根據累加結果判斷是否超過閾值,在超過閾值的情況下,輸出脈沖信息。
[0019]在本發(fā)明一實施例中,神經元模擬器4可以由電容電阻等傳統器件組成,也可以用憶阻器構成;可以根據成本、存儲容量或者電路實現方式來選擇任一一種。
[0020]在圖1所示的神經網絡結構中,輸入導線層1模擬的是神經網絡結構的輸入,輸出導線層2模擬的是神經網絡結構的輸出。其中,輸出導線層2末端的神經元模擬器4類似與人腦神經元;導線層1和導線層2中的每一根導線用于傳導刺激信號,因而可以類比為人腦神經網絡的樹突或軸突;塑性器件3用于將刺激信號傳遞給下一層導線層,可類比為人腦神經網絡中的突觸。
[0021]當對導線層1的每一根導線同時施加相應的脈沖信號時,導線層1的每根導線對應傳遞/不傳遞對應的脈沖信號,并通過塑性器件將脈沖信號傳遞給導線層2中的每根導線,導線層2末端的神經元模擬器將對應導線上每一個塑性器件的響應累加起來,如果累加值超過一預定閥值,則該神經元模擬器對應的神經元輸出一脈沖,并認為該神經元被激活。
[0022]圖1所示的全連接神經網絡層模擬的是深度學習網絡中的某一層神經激勵過程。根據需要,將多個圖1所述的全連接神經網絡層輸入輸出首尾相連即可以形成一深度學習神經網絡。
[0023]全連接神經網絡層的數量由所要實現深層學習算法的復雜度而定,因而全連接神經網絡層的具體數量并不能用于限制本發(fā)明的保護范圍。
[0024]可以通過塑性器件兩端的電壓值,來調整塑性器件的連通強度。通過調整塑性器件的連通強度又可以執(zhí)行不同的深度學習算法,以及也構造出具有特定功能的神經網絡,例如用于映射、變換、特征提取、分類、識別等神經網絡。
[0025]同時,作為深層學習網絡每一層的全連接神經網絡層中輸出神經元的數目也是由大腦的功能所確定,大腦功能要求越強,所需要的輸出神經元數量越多。在本發(fā)明某一實施例中,單層輸出神經元的個數為10000個。
[0026]憶阻器(memristor)是一種具備阻值記憶功能的塑性器件,其阻值可以根據電壓大小變化,而且既使斷電后,其阻值仍可保留,這種特性跟人腦神經的突觸較為類似。為此,本發(fā)明一實施例中,可以利用憶阻器作為塑性器件,通過調節(jié)憶阻器的電阻來控制塑性器件的連通強度,以執(zhí)行不同的深度學習算法。圖2是本發(fā)明一實施例提供的一種全連接神經網絡結構的結構示意圖。在圖2所示的全連接神經網絡結構中,每一個塑性器件與一開關5連接,通過控制每個塑性器件對應的開關5來控制塑性器件的工作與否。一旦某一開關5斷開,