TW200923803A - Hardware neural network learning and recall architecture - Google Patents
Hardware neural network learning and recall architecture Download PDFInfo
- Publication number
- TW200923803A TW200923803A TW96144692A TW96144692A TW200923803A TW 200923803 A TW200923803 A TW 200923803A TW 96144692 A TW96144692 A TW 96144692A TW 96144692 A TW96144692 A TW 96144692A TW 200923803 A TW200923803 A TW 200923803A
- Authority
- TW
- Taiwan
- Prior art keywords
- neural network
- learning
- architecture
- hardware
- recall
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 58
- 230000006870 function Effects 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 25
- 230000002441 reversible effect Effects 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 239000000463 material Substances 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 15
- 238000011161 development Methods 0.000 abstract description 5
- 239000010410 layer Substances 0.000 description 31
- 238000010586 diagram Methods 0.000 description 11
- 230000004913 activation Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000571 coke Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Machine Translation (AREA)
Description
200923803 九、發明說明: 【發明所屬之技術領域】 本發明係關於硬體類神經網路懷回想架構,特別是指—種同時具 有回錄㈣功能及學習(Learaing)功能的硬體類神經網路架構。 【先前技術】 現今許多的人工智慧細領域巾,__路技術已逐輪演著重要 的角色。在大部分的應财,_經網路収以軟_方式在—般的計算 機上面實現,雖絲具了·,但運算速針分耗時。學⑽過程僅能進 行離線(Off-Line)的運算’阻礙了應用範圍的拓展。類神經網路在運算時 需要進行大#的數學運算’這些透過軟體實現的系統只能於高速的計算機 上順利執行,而無法在低階的嵌人式系統中進行應用。隨著科技的發展, 人們嘗試以硬體來實賴神,_路,藉以提高速度及魏。有些硬體僅能 針對特定用途的類神經網路架構及參數進行設計,開發時間長且限制了移 植性;另一些硬體則使用大量的邏輯元件、佔據龐大晶片面積,耗費成本。 習知關於類神經網路技術的專利如下所述: L美國專利第5,087,826號:其提出的架構乃對於每個神經元的鏈結 皆使用一個乘法器運算輸入與鍵值的乘積(iw),以形成一個二維 的陣列架構,運算速度雖快但耗費大量的硬體成本且產生大量的 匯流排,不利於設計。 2. CNAPS ( Dan Hammerstrom, "A VLSI architecture for high-performance, low-cost, on-chip learning," Proceedings of 200923803
International Joint Conference on Neural Networks, 1990, pp. 537-544. Dan Hammerstrom, Digital VLSI for Neural Networks, The Handbook of Brain Theory and Neural Networks, Second Edition, Michael Arbib, MIT Press,2003.): CNAPS的優點在於每個運算節點内建了加法與 乘法器’且可藉由指令匯流排輸入指令控制其運算,每個節點相 裏於一個簡單的算數單元(Arithmetic Unit ),所以在計算不同類神 經網路的演算法有很大的彈性。應用該架構於類神經網路的硬體 開發上,由於運算節點使用相同架構,可以很容易的進行節點數 - 量的調整。报可惜的,該架構使用的控制指令十分繁複,故需搭 配軟體進行指令的編譯,也沒有專屬於活化函數運算的硬體架 構,並因採用了通用性的架構,因而在運算速度上有所犧牲。 3.美國專利第5,〇91,864號:其提出的架構雖沒有CNAps那樣的彈 性’但其架構精簡且更容易設計及使用,不僅提升了運算的速度 也降低了 的成本,同時也簡化了控制單元的複雜度,縮短 U Μ發的週期。其輸人資料是採料接的方式傳遞,亦即資料會先 :傳入第一個運算單元,經過兩個週期後才會傳入第二個運算單 : A 為資料纟】達各個處理單元的時間不同,也增添了控制單 元設計的難度。其巾較可取的部分是精_化錄的數量Q减 構考量到-轉列的特性,f料是配合時脈週期—筆筆的進行輸 入與輸出’因此運算單元並不需要同時進行活化函數的計算,進 而將活化函數從神經元中取出,獨立置放於陣列的回傳部分僅 需叹冲-個活化函數即可完成運算,也不會因此耽誤到運算的速 200923803 度此外該架構設計了_組移位暫存器,可以將運算完畢的資料 先儲存,再—筆筆往回傳遞,傳遞關時所有運算單元可立即進 行下-筆資料的運算,充分的節树間。縣構的缺點是沒有學 各部分的_ ’僅能針對訓練完成賴路進行回想運算。 4·美國專利第5,799,134號:其所提出的架構與美國專利第5,_料 號的概念相似,但輸人資料是採用並聯方式連接,亦即所有運算 單元於同-時刻接收到烟的輸人訊號。並藉由在運算單元中增 () 添減法器及乡工11使得運算的變化更加紐。但職沒有學習部 分的機制,僅能執行類神經網路的回想功能。 由此可見,上述習用技術仍有諸多缺失及不足,實非一良善之設計, 而亟待加以改良。同時,習知的技術僅提供回想的功能,學習的功能仍須 透過主機始能完成。 本案發明人鑑於上述習用技術所衍生的各項缺點及不足,乃亟思加以 改良創新’並經多年苦心孤指潛心研究後,終於成功研發完成本件硬體類 U 神經網路學習與回想架構。 : 【發明内容】 : 本發明之目的即在於提供硬體類神經網路學習與回想架構,係同時具 備有回想功能與學習功能的類神經網路架構。 可達成上述發明目的之硬體類神經網路學習與回想架構,係由運算單 元(Proc⑽ Unit,PE )、活化函數(Activation Function )、控制匯流排(Control
Bus)、輸入資料匯流排(input Data Bus)、權重資料匯流排(Weight Data 200923803
Bus )、位址匯流排(Address Bus )、學習區塊(Leaming Block )、控制單元 (Control Unit)及多工器(Mux)所組成;藉由環狀串列多資料匯流排架 構,進行倒傳遞類神經網路的運算,使其具有回想與學習的完整功能;讓 使用者可以根據倒傳遞架構的不同,調整陣列中運算單元的數量,而不需 要再重新規劃及設計整個系統,期望透過這樣的設計開發,將類神經網路 的應用延伸到低階的嵌入式系統中,將可以帶動新一代的應用;本發明可 改善以往類神經網路硬體架構,在透過較少的邏輯元件數目且兼具彈性的 f、 同時,還能達到更佳的執行效能者。 【實施方式】 請參閱圖一、圖二及圖三,為本發明硬體類神經網路學習與回想架構 之實施架構示意圖、運算單元所代表的節點示意圖及環形架構示意圖,由 圖中可知,本發明硬體類神經網路學習與回想架構丨,係由運算單元(Pr〇cess Unit, PE) U、活化函數(Activation Function ) 12、控制匯流排(Control Bus ) 13、輸入資料匯流排(Input Data Bus ) 14、權重資料匯流排(Weight Data Bus ) 15、位址匯流排(Address Bus) 16、學習區塊(Learning Block) 17、控制 單元(Control Unit) 18、多工器(Mux) 19所組成;本發明乃以環狀串列 多資料匯流排架構(Single Instruction-Bus Multiple Data-Bus,SIMD)架構作 為基礎,將所有的運算單元11鏈結成一個一維的運算單元(PE)陣列2 ; 所有的運算單元11連接到同一個控制匯流排13,並於同一時刻進行相同的 運算,其中輸入資料匯流排14是傳送類神經網路中各層的輸入值χ以及逆 向過程中的J值;由於硬體共構的緣故,在逆向運算的過程中,本發明依然 200923803 使用運算單元陣列2進行 輸入資料匯流排Μ同樣需要進行在修正後轉重值產生的同時, 間,她咖—_立睛==/㈣《細存的時 陣列2中,而不至概誤運算的時^排Μ來卿重值存人運算單元 考麵财縣值__若全部接顺辟幻s,當運算單元η 錄量幢流排也料雜卿元18 _增加’故本發明 僅==重細流排15,即可將所有的權重值於運算前先儲存於運 鼻早兀11内。由於運料元_2僅朗― 權重值能儲存在適當的運算單元u内,本發明固匯二排14,為了讓 號,並透過位址嶋16給晴單it u位址,該=了進行編 來列斷在權重資額流排上㈣料該儲存在_處理單元:u位址= 定處理單元η内記憶體的某一段位址,因此並不7° =,而不是指 有利於簡化纽設計與降低成本。 ’齡址線’ 由於倒傳遞類神經網路的運算乃為多層的架構,除了輸入層每 ΓΓ入樹—層運算後犧,再加上每1都是進行她^ 模式,因此可以使用相同的運算單元(ΡΕ)來進疒_ 延异 用叫進行隱藏層第-個節點的運算,同樣也使用找同層的運弁。亦即使 點的運算,各運算單摘代表的網路節點可以關二來第個知 僅需要數量等同最大單層隱藏層個數的運算單元,即η '來 類神經網路運算,大幅的縮減了硬體的使用量。棘η 多層的倒傳遞 =運算單元陣列運篁〜 單—層後,會將運算結果繼續使用於下一層的運算, ^ ,因此本發明將運算結 200923803 果直接傳送到輪人資料匯流排進行下-層的運算,形成-環形架構3,如圖 二所不,由於資料直接可輸人進行運算,不需經由控制單元18再做處理, 將有助於縮短運算的時間。 請參閱圖四,為本發明之運算單元模型示意圖,由於本發明需要進行 倒傳遞類神_路的運算,基於速度及祕元件侧健財量,將採用 如圖四之運算單元4。如此一來,僅需要簡單的控制堆疊架構的 s己憶體411及先進先出(FIF〇)仔列架構的記憶體412的寫入與讀取,以 f、及累加器内部資料的清除’即可完成運算工作。另一方面,由於控制堆疊 架構的記憶體411及先進先出仵列架構的記麵412 , (Multiplier) 42、加法器(Accumulator) 43相互之間的匯流排各自獨立,十分適合採用 官線的方式,將運算拆解成若干個可以獨立執行的階段,所有資料緊鄰著 在各個階段中進行運算,如此一來可以大幅的提昇運算效能。 由於倒傳遞類神經網路在逆向運算的過程中,靠近輸出層的修正後權 重鋪最先制·算絲’但在前向運算的過針卻反而是#近輸入層的權 J重值最先被使用。為了使學習過程計算出的修正後權重值能以正確的順序 立即存入對應的運算單元十,本發明於每個運算單元内部設計一個堆疊架 構的記憶體411來存放漁值,縮短等待權重值更新的時間。且由於堆叠 僅需要進行讀寫的控制,外部不需要額外指定記憶體位址,可以減少控制 單元的複雜度及硬體成本。 在逆向計算的過程中,同樣需要使用權重值來進行計算,愈靠近輸出 層的權重值愈先被使用。為了充分的利用現有硬體,共用運算單元陣列的 200923803 硬體對逆向過程巾的部分公式進行計算。且由於勒運算的過程中,愈靠 近輸出層的權重值愈先被計算,其權重值順序與前向運算完全不同,且分 屬於不同的運算單元巾,因而無法直接制運算單元堆疊时放的權重值 進行計算,故在運算單元内部設置了一個先進先出仵列架構的記憶體412 來存放權重值。 由於輪入資料匯流排44 一次僅能傳送一筆資料,故前一層的輸出僅需 要-次輸出-科可,因此#運算單元_運算完料,會各自將結果存 於單Μ的暫存ϋ (Register) 45巾,接著控解元會將移位(_訊號致 月b«此時所有運算單元陣列將形同一組移位暫存器,將運算結果—個接一 個的往前傳遞出來。運算單元4 _外設計—個暫存器45用於儲存計算結 果,其存在的目的在於將運算的結果與運算過㈣資__來,亦即當 運算的結果依雜贿遞的触巾,運算單元仍_不受影響進行下一層 運算,避免閒置的時間。 請參閱圖五,為本發明之學習區塊硬體架構示意圖,由圖中可知,由 於運算單凡陣刺特性,—個雜僅會回傳—個輪岐果,纽於此除了 共構的部分以外,其他的·並杨驗SI·架構。故本㈣設計了一 個硬體學習區塊5連接於運算單元陣列,專門進行倒傳遞類神經網路學習 部分的運算,且由於設計採職料流的概念,資料由各堆疊或彳宁列一筆筆 讀出與存人’ 神經網路節點數量的改變並不會影響學躯塊5内的架 構,仍可順利進行運算。該學龍塊5内運算崎程可以簡略劃分成計算 L計算~以及物三個部分,其中標號的部分用以區分整體流程的順 11 200923803 序’其中重要的訊號所代表的運算數值如下列表1所示 表1重點訊號說明 訊號 訊號數値 —---η a① Σ^Γ'-Ο ^ ~ k b② b③ —---- e; ④ υ;(}-υ;) ~ ~ ⑤ ⑧ ηΥ;-'δ] ~~ ⑨ αΔ< (,(〇 ⑩ ----- < (,-1) +,(卜 ΐχγ = <(i) 、賢种岬袅肩路T各層的輸入與輸出分別存入 學習區塊5内的各層輸入堆疊(¥__)51與各層輸出堆疊仏 ayer
Output Staek) % (流程①),其中各層的輸人與輸出值即為運算單元陣列的 輸入值與、U化函數計算之輸出值。當前向運算完成後,會先由各層輸出隹疊中讀出輸出層的輸出值,並與訓練樣本的目標值進行運算求以並存入 求出的同時會被傳送到輸入資料匯流排由運算單元 万佇列中(流程⑤)。5Σοτ.νΟ 陣列進行* -g-gr ,. . en 層的h Μ程⑥以 1傳入學習區塊5内供後續再求—— 田L 存八件列後,開始自各層輸入堆疊51讀出各層的輸入 值,並配合運算的時機自〜撤Aw㈣中讀以與“進行運算, 最後 12 200923803 將求出新的AW (流程⑨)。將新求出的“與舊的權重值W進行運算’可 求《正後的權重值,並將結果存人你_中,W存人制關時也將被 傳送到《資龍流排上,同步更新·單講顺對應的權重值。 »運算的過程巾,愈靠近輸人層的輸人與輸丨絲愈先被計算出 來1在逆_咐巾,爾W-娜賴算,且 愈靠近輸⑽驗值愈先被使用。出於順序上的考量,本發用兩個堆 叠將前向運算各層的輸人與輸出值分別存人其中,以供逆向運算的過程使 由於脈即可計算出—㈣,但後續運算幾個時脈才需要讀出一個 為了使運算流程更為賴,本發鶴每個時脈算㈣5先存到作列中, 方便後續運算可以逐_讀人計算減少控制單福複雜程度。在運算的過程 中,每完成-層的計算件列内的憎全部被讀出,隨後又存入前一層舻, 以丁歹j的大小僅需等同於最大單層節點數即可。 系先進行權重值初始化時會將隨機產钱權重值存放於運算單元陣 列中,同時也將相同的值储存於學習區塊的你先進先出記憶體(wF】⑼ 53 ίI* 予習的過程中修正後的權重值被計算出來,儲存到w先進先出記憶 的同時,也將透過權重資料匯流排同步更新到運算單元陣列内對應的 隹叠中即虽逆向運算完成時,運算單元堆疊内存放的權重值也完成更新, T以立即進行前向運算,並於前向運算的過程中,再自w先贱出記憶體 "賣出權重值更新到運算單元陣列中對應的仔列以逆向運算使用。 該^先進先出記憶體(△〜FIFO) 54在系統初始化的過程中,内部 々數值將會全部清除為〇,並於隨後的運算中健存權重值的修正量。 13 200923803 為了節省控制單元的設計,資料的存放順序關係採用堆疊或佇列架構 儲存。但依運算的需求,某些資料需要重複的進行讀取。為了節省時間及 pi化控制單元的設計’讓資料不需重新加載,故有些堆疊或仔列這些會設 計-個保存位址的功能,保留目前記憶體_取位址,當重啟的訊號送達 時’會回到保留位址重新將資料讀出。這些部分包括:運算單元的堆疊、 學習區塊内存放各層輸入的堆疊,以及學習區塊内存放權重值的仔列。 4參咖六,為本發明之控制單元整誠程示意圖,由财可知,該 〇彳工制早7L的目的是控制整_流程,即於適#的時機傳送控觀號,由於 所有數值皆使用側及堆疊儲存,大幅了簡化了控制單摘複雜程度,因 此控制早疋只需要控制各仔列堆疊的存取清除、累加器清除及各單元輸入 錢的選料可完成整體運算。當控鮮元接㈣起始訊號(包括:權重 值初始化、批次學習、進行回想三種),則由起始狀態進入下-階的狀態並 進仃動作’當完成指定動作時會回傳—完成訊號。 ο,前向運算過程中僅會使用到運算單元堆疊⑽存的權重值,為縮短等 领存的時間,堆疊更新完成即回傳完成訊號,並可立即進行前向運算。 =有獨立_重健流排,目此堆疊更新完後仍可於前向運算的過程持 辆^仃ΡΕ符列的更新’並於逆向運算之開始前,先判斷仲列的更新是否已 、二7^成,等待更新完成後才進行逆向運算。 控制單元的流程概略可分為以下階段: ⑴初始化:僅在學習之初執行—次,目岐瓶數錢的權重值 值分別存放到運算單元_的堆疊鱗列巾,以及進行各單元 14 200923803 的重置作業; ⑵當财缝值私料單元_的堆疊後,使用 早w歹J進仃倒傳遞類神經網路的前向運算並將結果傳入 活化函數計算出各層的輪出; (3)
⑷ 逆向運算:當前向運算完成,學f區塊進行倒傳遞類神經網路 的逆向運算’最終的目的為修正權重值;又可以簡略劃分成計 恥、計算心以及输三個部分,其中在計算*程中需 要使用運算單元陣列進行計算; 權重值更新:在逆向運算的難中,修正後的權重值被計算出 來的同時,將之存入運算單元陣列的堆疊中;堆疊更新後,緊 接著進行佇列的權重值更新; ⑴完成上述階段的運算後,使用不同的訓練樣本反覆的進行階段 ⑵到階段⑷運算,直到學習完成即可結束類神經網路的 訓練。 各流程的順序_如®七所示。其中在逆向運算的過程中,當輪出層 第一個5計算出來後,會陸續將5傳入運算單元陣列進行運算求出 : ’並接著算出前—層W再傳人運算單轉列運算,直至所有隱 藏層的5計算完畢為止。 心 本發明所餘之硬體類神經網路學習與㈤想架構,與其他習用技術相 互比較時,更具備下列優點: 15 200923803 1. 本發明之硬麵神經網路學習與回想架構,係同時具有回想與 功能。 2. 本發明之硬體類神經網路學習與回想架構,可讓使用者可以根據倒 傳遞架構的不同,調整陣列中運算單元的數量,而不需要再重新規 劃及設計整個系統’期望透過這樣的設計開發,將類神經_的應 用延伸到低階的嵌入式系統t,將可以帶動新一代的應用。 3. 本發明之硬體類神經網路學習與回想架構,將可改善以往類神經網 路硬體架構,在透雜少的騎猶數目且兼具雜的同時,還能 達到更佳的執行效能者。 4. 本發明之硬體類神經網路學習與回縣構,係具有簡化系統複雜 度、適用範圍廣、設置成本低廉及體積小等優點。 上列詳細說明係針對本發明之—可行實施例之具體說明,惟該實施例 並非用以關本發明之補範JU,凡未本發明技藝精神所為之等效實 施或變更,均應包含於本案之專利範圍中。 练上所述’本案不但在技術思想上確屬創新並能較習用物品增進上 述多項功效’麟充分符合新雜及進步性之法定發明專件,麦依法 提出申凊’懇請貴局核准本件發明專利申請案,以勵發明,至感德便。 【圖式簡單說明】 圖-為本發明硬體類神經網路學習與回想架構之實施架構示意圖; 圖二為本發明之運算單元所代表的節點示意圖; 圖三為本發明之環形架構示意圖; 16 200923803 圖四為本發明之運算單元模塑示意圖; 圖五為本發明之學習區塊硬體架構示意圖; 圖六為本發明之控制單元整體流程示意圖;以及 圖七為本發明之硬體運算流程說明示意圖。 【主要元件符號說明】 I 硬體類神經網路學習與回想架構 II 運算單元(Process Unit, PE ) () 12 活化函數(ActivationFunction) 13 控制匯流排(Control Bus) 14 輸入資料匯流排(Input Data Bus) 15 權重資料匯流排(Weight Data Bus) 16 位址匯流排(Address Bus ) 17 學習區塊(Learning Block ) 18 控制單元(Control Unit) £ \ XJ 19 多工器(Mux) ' 2 運算單元陣列 ' 3 環形架構 4 運算單元 411 堆疊(Stack)架構的記憶體 412 先進先出(FIFO)佇列架構的記憶體 42 乘法器(Multiplier) 17 200923803 加法器(Accumulator) 43 44 輸入資料匯流排 45 暫存器(Register) 5 學習區塊 51 各層輸入堆疊(Layer Input Stack) 52 各層輸出堆疊(Layer Output Stack) 53 w先進先出記憶體(wFIFO) 54 Aw先進先出記憶體(Δ\νFIFO) 18
Claims (1)
- 200923803 十、申請專利範圍: 1. 一種硬體類神經網路學習與回想架構,係包括: -運算單元_,係域贿料元戦械,並餅化函數、控制 匯流排、輸入資料匯流排、權重資料匯流排及位址匯流排相介接;其 中所有的運算單元皆連接到同-個控麵流排,並於同—時刻進行相 同的運算: -學習區塊,係言史置於控制單元及運算單元陣列之間,並與控制匯流 排、輸人資料酿排及權重資料隨排相介接;可紐倒傳遞類神經 • 網路學習部分的運算; -控制單元’係與學習區塊、控制匯流排、位址匯流排相介接,並同 時透過多jhH與輸人資料匯流排及權重資料匯流排相介接;該控制單 元乃用來控制整體架構的流程,即於適當的時機傳送控制訊號; 本發明藉由環狀串列多資料匯流排架構來進行倒傳遞類神經網路的運 算’使其具有回想與學習的完整功能。 Ο 2_如申睛專利範圍第1項所述之硬體類神經網路學習與回想架構,其中 : 該輸入資料匯流排,乃用來傳送類神經網路中各層的輸入值x以及逆 - 向運算過程中的5值。 警 3·如申請專利範圍第1項所述之硬體類神經網路學習與回想架構,其中 該權重資料匯流排,乃用來將所有的權重值存入運算單元陣列中。 4.如申請專利範圍第1項所述之硬體類神經網路學習與回想架構,其中 該位址匯流排,乃用來給定運算單元位址,該運算單元位址僅用來判 斷在權重資料匯流排上的資料該儲存在那個處理單元内。 19 200923803 申月專利la财1項所叙硬麵神_路學習與回 該倒傳遞類神經網路的運算乃為多層的架構,除了輪入:外,t ::入都是前一層運算後的輸出,再加上每一層都是進行相同的運 鼻、’ ®此可使用相同的運算單元來進行不同層的運算。 6. 4巾%專利㈣第丨項所述之頻類神經網路學習與回想架構,其中 〜運算單7L ’包含-堆疊架構的記憶體及—先進先出㈣架構的記憶 體0 〇 7·如巾吻專她财6項所述之棚類神_路學習與回想架構,其中 該堆疊架構的記憶體、先進先出仔列架構的記憶體、乘法器及加法器, 其相互之間的匯流排各自獨立,可採用管線方式將運算拆解成若干個 可以獨立執行的階段,並將所有資料緊轉在各個階段中進行運算。 8.如申請專利範圍第6項所述之硬體類神經網路學習與回想架構,其中 *玄堆疊架構的§己憶體’將用來存放權重值,以縮短等待權重值更新的 時間。 〇 9.如申請專利範圍第6項所述之硬體類神經網路學習與回想架構,其中 : 該先進先出佇列架構的記憶體,乃用來存放於逆向運算過程中所產生 ; 的權重值。 10·如申請專利範圍第1項所述之硬體類神經網路學習與回想架構,其中 該運算單元内可設計-個暫存器用於儲存計算結果,用來將運算的結 果與運算過程的資料區隔開,當運算的結果依序往回傳遞的過程中, 運算單元仍能夠不受影響進行下一層運算。 20 200923803 11.如巾π專利圍第1項所述之硬體類神經網路學習與回想架構,其中 該學習區塊内運算的流程,可以簡略劃分成計算$、計算“以及計算 冰三個部分。 12_如f料纖圍第丨獅述之硬體轉酬路判與回想賴,其中 該控制單元所接㈣的起始減,包括:觀值初始化、批次學習及 進行回想二種,將由祕狀態進人下—階的狀態並進行動作,當完成 指定動作時會回傳一完成訊號。 气S 13.如中料利範圍第丨項所述之硬體_經鱗學雜回脑構,其中 該控制單元的流程概略可分為以下階段: ⑴初始化:僅在學習之初執行—次,目的是將亂數產的的權重值 值分別存放到運算單元陣列的堆疊與符列中,以及進行各單元 的重置作業; ⑵前向運算:每當所有權重值存入運算單元陣列的堆疊後,使用 運算單元陣列進行倒傳遞類神經網路的前向運算並將結果傳入 〇 活化函數計算出各層的輸出; : ⑴逆向運算:當前向運算完成,學習區塊進行倒傳遞類神經網路 . 的逆向運算,最終的目的為修正權重值;又可以簡略劃分成計 算5、計算Δνν以及計算你三個部分,其中在計算j的過程中需 要使用運算單元陣列進行計算; ⑷權重值更新:在逆向運算的過程巾,修正後_重值被計算出 來的同時,將之存入運算單元陣列的堆疊中。堆疊更新後,緊 21 200923803 接著進行佇列的權重值更新; (5)完成上述階段的運算後,使用不同的訓練樣本反覆的進行階段 (2)到階段(4)運算,直到學習完成即可結束類神經網路的 訓練。22
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW96144692A TW200923803A (en) | 2007-11-26 | 2007-11-26 | Hardware neural network learning and recall architecture |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW96144692A TW200923803A (en) | 2007-11-26 | 2007-11-26 | Hardware neural network learning and recall architecture |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW200923803A true TW200923803A (en) | 2009-06-01 |
Family
ID=44728782
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW96144692A TW200923803A (en) | 2007-11-26 | 2007-11-26 | Hardware neural network learning and recall architecture |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TW200923803A (zh) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI417797B (zh) * | 2010-02-04 | 2013-12-01 | Univ Nat Taipei Technology | A Parallel Learning Architecture and Its Method for Transferred Neural Network |
| TWI480813B (zh) * | 2011-11-09 | 2015-04-11 | 高通公司 | 以機率性的方式使用記憶體對神經網路的突觸權重進行儲存的方法和裝置 |
| CN106156851A (zh) * | 2016-06-24 | 2016-11-23 | 科大讯飞股份有限公司 | 面向深度学习业务的加速装置及方法 |
| US9600762B2 (en) | 2013-04-12 | 2017-03-21 | Qualcomm Incorporated | Defining dynamics of multiple neurons |
| US9805304B2 (en) | 2015-05-21 | 2017-10-31 | Google Inc. | Prefetching weights for use in a neural network processor |
| TWI608429B (zh) * | 2015-10-08 | 2017-12-11 | 上海兆芯集成電路有限公司 | 具有神經記憶體之神經網路單元以及集體將接收自神經記憶體之資料列進行移位之神經處理單元陣列 |
| US11399079B2 (en) | 2018-02-14 | 2022-07-26 | Eingot Llc | Zero-knowledge environment based networking engine |
-
2007
- 2007-11-26 TW TW96144692A patent/TW200923803A/zh unknown
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI417797B (zh) * | 2010-02-04 | 2013-12-01 | Univ Nat Taipei Technology | A Parallel Learning Architecture and Its Method for Transferred Neural Network |
| TWI480813B (zh) * | 2011-11-09 | 2015-04-11 | 高通公司 | 以機率性的方式使用記憶體對神經網路的突觸權重進行儲存的方法和裝置 |
| US9111222B2 (en) | 2011-11-09 | 2015-08-18 | Qualcomm Incorporated | Method and apparatus for switching the binary state of a location in memory in a probabilistic manner to store synaptic weights of a neural network |
| TWI585695B (zh) * | 2013-04-12 | 2017-06-01 | 高通公司 | 用於定義多個神經元的動態的方法、設備及電腦可讀取媒體 |
| US9600762B2 (en) | 2013-04-12 | 2017-03-21 | Qualcomm Incorporated | Defining dynamics of multiple neurons |
| TWI636368B (zh) * | 2015-05-21 | 2018-09-21 | 谷歌有限責任公司 | 用於執行類神經網路計算之電路及方法 |
| US9805304B2 (en) | 2015-05-21 | 2017-10-31 | Google Inc. | Prefetching weights for use in a neural network processor |
| US10049322B2 (en) | 2015-05-21 | 2018-08-14 | Google Llc | Prefetching weights for use in a neural network processor |
| US10878316B2 (en) | 2015-05-21 | 2020-12-29 | Google Llc | Prefetching weights for use in a neural network processor |
| US11281966B2 (en) | 2015-05-21 | 2022-03-22 | Google Llc | Prefetching weights for use in a neural network processor |
| US11853865B2 (en) | 2015-05-21 | 2023-12-26 | Google Llc | Prefetching weights for use in a neural network processor |
| TWI608429B (zh) * | 2015-10-08 | 2017-12-11 | 上海兆芯集成電路有限公司 | 具有神經記憶體之神經網路單元以及集體將接收自神經記憶體之資料列進行移位之神經處理單元陣列 |
| CN106156851A (zh) * | 2016-06-24 | 2016-11-23 | 科大讯飞股份有限公司 | 面向深度学习业务的加速装置及方法 |
| CN106156851B (zh) * | 2016-06-24 | 2019-04-05 | 科大讯飞股份有限公司 | 面向深度学习业务的加速装置及方法 |
| US11399079B2 (en) | 2018-02-14 | 2022-07-26 | Eingot Llc | Zero-knowledge environment based networking engine |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW200923803A (en) | Hardware neural network learning and recall architecture | |
| JP7474586B2 (ja) | テンソル計算データフロー加速器半導体回路 | |
| Park et al. | 7.6 A 65nm 236.5 nJ/classification neuromorphic processor with 7.5% energy overhead on-chip learning using direct spike-only feedback | |
| US12182064B2 (en) | Multiple accumulate busses in a systolic array | |
| US11422773B1 (en) | Multiple busses within a systolic array processing element | |
| TW201232429A (en) | High-speed hardware back-propagation and recurrent type artificial neural network with flexible architecture | |
| CN110543939A (zh) | 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构 | |
| TW201128542A (en) | Parallel learning architecture of back propagation artificial neural networks and mthod thereof | |
| CN115719088B (zh) | 一种支持存内cnn的中间缓存调度电路装置 | |
| CN112639726B (zh) | 用于执行并行计算的方法和系统 | |
| CN111047022A (zh) | 一种计算装置及相关产品 | |
| CN113869507A (zh) | 一种基于脉动阵列的神经网络加速器卷积计算装置与方法 | |
| CN117273100A (zh) | 网络结构可配置的类脑芯片架构 | |
| CN104679670A (zh) | 一种面向fft和fir的共享数据缓存结构及管理方法 | |
| Huan et al. | A 3D tiled low power accelerator for convolutional neural network | |
| CN109583577B (zh) | 运算装置及方法 | |
| CN110232441B (zh) | 一种基于单向脉动阵列的堆栈式自编码系统及方法 | |
| CN119866499A (zh) | 神经网络处理器 | |
| CN111047021B (zh) | 一种计算装置及相关产品 | |
| CN118503203B (zh) | 基于标准单元的可配置存内计算架构及其编译器 | |
| JPH04316153A (ja) | ニューロプロセッサ | |
| WO2022179075A1 (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
| JPH05159087A (ja) | ニューロプロセッサ | |
| Mahapatra et al. | A parallel formulation of back-propagation learning on distributed memory multiprocessors | |
| CN111078623A (zh) | 片上网络处理系统和片上网络数据处理方法 |