TWM563580U - 電路規劃結果產生系統 - Google Patents
電路規劃結果產生系統 Download PDFInfo
- Publication number
- TWM563580U TWM563580U TW107202385U TW107202385U TWM563580U TW M563580 U TWM563580 U TW M563580U TW 107202385 U TW107202385 U TW 107202385U TW 107202385 U TW107202385 U TW 107202385U TW M563580 U TWM563580 U TW M563580U
- Authority
- TW
- Taiwan
- Prior art keywords
- array
- neuron
- circuit
- processing unit
- planning result
- Prior art date
Links
Landscapes
- Feedback Control In General (AREA)
Abstract
一種電路規劃結果產生系統的一儲存單元儲存多個神經元陣列,每一神經元陣列包含多個各對應一乘法運算的權重值。當該電路規劃結果產生系統的一處理單元將每一神經元陣列依照一相似條件分配至多個陣列群組的其中一者,並根據每一陣列群組之所有神經元陣列產生對應的電路資料及邏輯閘數量,每一電路資料包含多個對應該等乘法運算的運算邏輯電路,接著,該處理單元根據每一陣列群組之所有電路資料中選擇對應邏輯閘數量最少或對應最先分配的神經元陣列的電路資料作為該陣列群組的一共用電路資料,並產生一包含該等共用電路資料的電路規劃結果。
Description
本新型是有關於一種電路規劃結果產生系統,特別是指一種涉及自動最佳化的電路規劃結果產生系統。
類神經網路(Artificial Neural Network;ANN)別稱神經網路或人工神經網路,是由大量的神經元(Neurons)彼此連結而成的網路系統。經過訓練後的類神經網路可憑藉複雜的數學模型進行複雜的資訊處理,舉凡影像辨識、自然語言分析、人類行為或自然現象的預測或統計等工作,皆是類神經網路的應用範疇。
參閱圖1,圖1是現有類神經網路技術中常見的一神經元運算模型。在該神經元運算模型中,X
0至X
N分別代表多個被輸入該神經元運算模型的輸入變數。W
0至W
N分別代表該神經元運算模型中的多個權重變數。f(u)代表該神經元運算模型的一轉換函數(Transfer Function),且該轉換函數也可被稱作一激勵函數(Activation Function)。u代表該等變數(X
0~X
N)分別乘上對應的該等預設權重(W
0~W
N)後加總的結果。y代表將u套入該轉換函數後得到的結果。y及u可分別以下列的數學式表示:
在一類神經網路的訓練(training)過程中,是將大量的樣本(sample)資料轉換為該等輸入變數(即X
0至X
N)所構成的多個輸入矩陣,並將該等輸入矩陣輸入至該類神經網路,以供該類神經網路進行學習。在學習的過程中,該類神經網路將該等輸入矩陣與該等權重變數(即W
0至W
N)所構成的多個權重矩陣進行交叉的乘法運算,並根據運算後的輸出結果對原有的該等權重矩陣進行最佳化的調整。
值得注意的是,每一個輸入變數與每一個權重變數的乘法運算,皆需要一個對應的乘法器來執行,且每一乘法器包含兩個分別供該輸入變數及該權重變數輸入的輸入端,以及一用於將該輸入變數及該權重變數之運算結果輸出的輸出端。
若該類神經網路在訓練完成後總共定義出一萬個權重矩陣,且假設每一個權重矩陣皆的尺寸皆為三乘三,而包含九個權重變數,則若欲將該類神經網路商品化而實施為一類神經網路晶片,即代表該類神經網路晶片內在無記憶體時需要建置九萬個乘法器,才能完整實施該等權重矩陣所代表的乘法運算。或者在類神經網路晶片內建立大量記憶體以減少乘法器的數目,才能完整實施該等權重矩陣所代表的乘法運算。然而,大量的乘法器或記憶體需求將使得該類神經網路晶片擁有較高的布線複雜度及電路面積,同時也使該類神經網路晶片的製造成本難以縮減。若欲將該類神經網路商品化而實施為一類神經網路系統程式用於中央處理器( Central Processing Unit ) 或圖形處理器( Graphic Processing Unit )或數位信號處理器( Digital Signal Processor ),大量的乘法運算與記憶體讀寫需求將使得該類神經網路需要較高速度的處理器及記憶體。因此,如何針對類神經網路晶片的電路規劃進行最佳化,便成為本案欲解決的課題。
因此,本新型之目的,在於提供能針對類神經網路晶片進行電路最佳化的一種電路規劃結果產生系統。
本新型電路規劃結果產生系統包含一儲存單元及一電連接該儲存單元的處理單元。該儲存單元預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算。當該處理單元接收到一電路規劃結果產生指令時,將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件。接著,該處理單元根據該等陣列群組的每一神經元陣列的該等權重值,產生一對應的電路資料及一邏輯閘數量,每一電路資料包含對應該神經元陣列的該等權重值的該等乘法運算的多個運算邏輯電路,對應每一神經元陣列的該邏輯閘數量是對應該神經元陣列的該電路資料的該等運算電路所包含的多個邏輯閘的總數量。接著,該處理單元將每一陣列群組中,對應的該邏輯閘數量最少的該電路資料作為該陣列群組的一共用電路資料,並產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。
在本新型電路規劃結果產生系統的一些實施態樣中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。
在本新型電路規劃結果產生系統的一些實施態樣中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。
在本新型電路規劃結果產生系統的一些實施態樣中,該處理單元在產生該等電路資料之前,將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。
本新還型供了另一種電路規劃結果產生系統。
本新型的另一電路規劃結果產生系統包含一儲存單元及一電連接該儲存單元的處理單元。該儲存單元預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算。當該處理單元接收到一電路規劃結果產生指令時,將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件。接著,該處理單元根據每一陣列群組之該參考神經元陣列的該等權重值,產生一對應該陣列群組的共用電路資料,該共用電路資料包含多個運算邏輯電路,該等運算邏輯電路分別相關於該參考神經元陣列之該等權重值所對應的該等乘法運算,且每一運算邏輯電路包含至少一邏輯閘。接著,該處理單元產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。
在本新型另一電路規劃結果產生系統的一些實施態樣中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。
在本新型另一電路規劃結果產生系統的一些實施態樣中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。
在本新型另一電路規劃結果產生系統的一些實施態樣中,該處理單元在產生該等電路資料之前,將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。
本新型之功效在於:藉由實施本新型電路規劃結果產生方法,該處理單元能先將每一神經元陣列分配至該等陣列群組的其中一者後,再產生分別對應該等陣列群組的該等共用電路資料,以及包含該等共用電路資料的該電路規劃結果,該電路規劃結果能用於將該類神經網路實施為該類神經網路晶片,且能有效地減少該類神經網路晶片的邏輯閘數量,而達成對該類神經網路晶片的電路最佳化,故確實能達成本新型之目的。
在本新型被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖2,本新型電路規劃結果產生系統1之一第一實施例是用於產生一對應一已訓練完成之類神經網路的電路規劃結果,更具體地說,該電路規劃結果是用於將已訓練完成的該類神經網路實施為一實體的類神經網路晶片。且該電路規劃結果是相關於該類神經網路晶片中用於將多個變數分別與多個預設權重進行乘法運算所需的邏輯運算電路。
該電路規劃結果產生系統1包含一儲存單元11及一電連接該儲存單元11的處理單元12。該儲存單元11可例如為一硬碟或者一由多個硬碟所組成的硬碟陣列,該處理單元12可例如為一中央處理器或是由多個中央處理器作平行處理的模組,該處理單元12例如是設置於一主機板(圖未示出),並經由該主機板電連接該儲存單元11,但不以此為限。
該儲存單元11預先儲存多個以一預定順序排列的神經元陣列M,每一神經元陣列M包含多個權重值,且每一權重值對應一乘法運算。例如,若其中一權重值的數值為「15」,則該權重值所對應的該乘法運算為「乘以15」。在本實施例中,由於該類神經網路已經訓練完成,故每一權重值被設定為一固定的常數,且每一神經元陣列M例如為一3乘3的矩陣,而包含九個權重值,但並不以此為限。
舉例而言,該類神經網路晶片可例如是被應用在影像辨識領域,例如用於辨認一影像中是否存在一隻鳥,則每一神經元陣列M例如是作為一特徵濾波器(filter),而用於供該類神經網路根據該等神經元陣列M辨識該影像中是否存在該等神經元陣列M所代表的對應特徵(例如鳥的嘴、眼睛或翅膀),但並不以此為限。
同時參閱圖2及圖3,以下示例性地詳細說明本實施例的該電路規劃結果產生系統1如何實施一電路規劃結果產生方法。
首先,在步驟S1中,當該處理單元12接收到一電路規劃結果產生指令時,該處理單元12根據該等神經元陣列M的相似度而對該等神經元陣列M進行一分類程序,以將每一神經元陣列M分配至多個陣列群組的其中一者。該電路規劃結果產生指令例如是藉由一使用者操作一輸入設備(例如鍵盤或滑鼠)而產生,但不以此為限。
在該分類程序中,該處理單元12例如是先將該等神經元陣列M的其中一順序最優先者作為一參考神經元陣列M’,並將該參考神經元陣列M’分配至一新定義出的陣列群組中。接著,該處理單元12計算該參考神經元陣列M’與其他每一神經元陣列M之間的一總權重差,並根據每一權重差判斷該參考神經元陣列M’與其他每一神經元陣列M之間是否符合一相似條件。在本實施例中,該總權重差等於該參考神經元陣列M’之每一權重值,與其他每一神經元陣列M之對應的每一權重值之間的差的絕對值之總和,該相似條件為該總權重差小於一預定閥值,且該預定閥值可例如為5,但不以此為限。一旦該處理單元12判斷出該等神經元陣列M中的任一者與該參考神經元陣列M’符合該相似條件而作為一相似神經元陣列M*時,該處理單元12將該相似神經元陣列M*分配至該參考神經元陣列M’所屬的該陣列群組中。
為了便於說明,定義每一神經元陣列M所包含的九個權重值分別為由左而右、由上而下排列的第一權重值至第九權重值。以下方所示的一神經元陣列M1及一神經元陣列M2舉例來說,該神經元陣列M1的第一權重值為「9」,該神經元陣列M2的第一權重值則為「8」,因此,該神經元陣列M1及該神經元陣列M2之間的一第一權重差為「1」。同理,該神經元陣列M1及該神經元陣列M2的第二權重值皆為「36」,因此,該神經元陣列M1及該神經元陣列M2之間的一第二權重差為「0」。以此類推的,該神經元陣列M1及該神經元陣列M2之間的第三權重差至第九權重差分別為「0」、「0」、「0」、「2」、「1」、「0」、「0」。而該神經元陣列M1及該神經元陣列M2之間的總權重差,則等於該第一權重差至該第九權重差的總和,而等於「4」。 神經元陣列M1
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><b>9</b></td><td> 36 </td><td> 27 </td></tr><tr><td> 7 </td><td> 97 </td><td><b>35</b></td></tr><tr><td><b>36</b></td><td> 1 </td><td> 77 </td></tr></TBODY></TABLE>神經元陣列M2
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><b>8</b></td><td> 36 </td><td> 27 </td></tr><tr><td> 7 </td><td> 97 </td><td><b>33</b></td></tr><tr><td><b>37</b></td><td> 1 </td><td> 77 </td></tr></TBODY></TABLE>
特別說明的是,在本實施例中,該處理單元12例如是以窮極搜尋(英文為exhaustive search)的方式對該等神經元陣列M進行該分類程序,但不以此為限。舉例來說,假設該等神經元的數量為一千個,並以排列順序分別編號為神經元陣列M1至神經元陣列M1000,則該處理單元12例如是先以該神經元陣列M1作為該參考神經元陣列M’,而將其分配至一第一陣列群組中。接著,該處理單元12依序地將該神經元陣列M2至該神經元陣列M1000中與該神經元陣列M1符合該相似條件的每一者皆分配至該第一陣列群組。接著,該處理單元12將尚未被分配至任一陣列群組之所有神經元陣列M中順序最優先者作為一新的參考神經元陣列M’,而將其分配至一第二陣列群組中,並與其餘尚未被分配至任一陣列群組之所有神經元陣列M進行該相似條件的判斷,直至神經元陣列M1至神經元陣列M1000的每一者皆被分配至該等陣列群組的其中一者為止。如此一來,每一陣列群組中皆會存在一對應於該陣列群組且最先被分配制該陣列群組的參考神經元陣列M’,且每一陣列群組中之該參考神經元陣列M’與同一陣列群組中之其他所有神經元陣列M之間皆會符合該相似條件。需注意的是,每一陣列群組也可能僅包含該參考神經元陣列M’,而不包含與該參考神經元陣列M’相似的其他神經元陣列M。
在該處理單元12將每一神經元陣列M分配至該等陣列群組的其中一者後,接著進行步驟S2。
在步驟S2中,該處理單元12根據每一陣列群組之每一神經元陣列M的該等權重值,產生一對應該陣列群組且對應該神經元陣列M的電路資料,以及一對應該電路資料的邏輯閘數量。
舉例來說,若前述的該第一陣列群組中包含了神經元陣列M1、神經元陣列M2及神經元陣列M100,則在步驟S2中,該處理單元12會根據該第一陣列群組而產生一電路資料D1、一電路資料D2及一電路資料D100,以及對應的一邏輯閘數量N1、一邏輯閘數量N2及一邏輯閘數量N100。
在本實施例中,每一電路資料包含九個運算邏輯電路,該等運算邏輯電路分別相關於對應之該神經元陣列M之該等權重值所對應的九個乘法運算,且每一運算邏輯電路例如為一邏輯閘組合,而包含至少一邏輯閘、單一個用於供一變數輸入以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。該邏輯閘數量指示出該電路資料之該等運算邏輯電路所包含之所有邏輯閘的總數量。特別說明的是,由於該等權重值在本實施例中為常數,因此每一運算邏輯電路僅需單一個供變數輸入的輸入端。
補充說明的是,根據每一權重值產生對應的運算邏輯電路,係應用數位邏輯設計學科中關於算術運算電路設計之通常知識,例如可以乘法器、加法器、移位器,或暫存器等不同的邏輯電路實現相同的乘法運算,使得邏輯電路的邏輯閘數量不同,故在此不多加贅述。
以前述的該神經元陣列M1舉例來說,該神經元陣列M1的第一權重值至第九權重值分別為「9」、「36」、「27」、「7」、「97」、「35」、「36」、「1」及「77」,則對應於該神經元陣列M1之該電路資料的該等運算邏輯電路,則例如分別為「乘以9」、「乘以36」、「乘以27」、「乘以7」、「乘以97」、「乘以35」、「乘以36」、「乘以1」及「乘以77」的九個乘法器電路。而對應於該神經元陣列M1之該電路資料D1的該邏輯閘數量N1則等於該九個乘法器電路所包含之所有邏輯閘的總量。
在該處理單元12產生該等電路資料及對應的該等邏輯閘數量後,接著進行步驟S3。
在步驟S3中,該處理單元12從每一陣列群組所對應之所有電路資料中,選擇出其中一對應該陣列群組且作為一共用電路資料的電路資料。具體而言,每一陣列群組所對應的該共用電路資料,是該陣列群組所對應之所有電路資料中,所對應之該邏輯閘數量最少的該電路資料。換句話說,該共用電路資料所包含之該等運算邏輯電路所使用的邏輯閘,是對應同一陣列群組之所有電路資料中最少的。
承前例,假設該第一陣列群組中包含了該神經元陣列M1、該神經元陣列M2及該神經元陣列M100,且該神經元陣列M1、該神經元陣列M2及該神經元陣列M100所對應之該等電路資料及該等邏輯閘數量如下表所示。假設在該邏輯閘數量N1、該邏輯閘數量N2及該邏輯閘數量N100中,該邏輯閘數量N2的值是三者之中最小的,則在步驟S3中,該處理單元12會將該邏輯閘數量N2所對應的該電路資料M2作為對應該第一陣列群組的該共用電路資料。
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><b><u>第一陣列群組</u></b></td></tr><tr><td> 神經元陣列M1 </td><td> 電路資料M1 </td><td> 邏輯閘數量N1 </td></tr><tr><td> 神經元陣列M2 </td><td> 電路資料M2 </td><td> 邏輯閘數量N2 </td></tr><tr><td> 神經元陣列M100 </td><td> 電路資料M100 </td><td> 邏輯閘數量N100 </td></tr></TBODY></TABLE>
在該處理單元12選擇出每一陣列群組所對應的該共用電路資料後,接著進行步驟S4。
在步驟S4中,該處理單元12產生用於將該類神經網路實施為該類神經網路晶片的該電路規劃結果,且該電路規劃結果包含該等共用電路資料之該等運算邏輯電路。補充說明的是,在本實施例中,該電路規劃結果例如為一可被電腦設備存取、傳遞的電子檔案,且該電路規劃結果所包含的該等運算邏輯電路可例如是以多種不同的方式呈現,例如示意圖(Schematic Diagram)、佈線圖(Layout),或者是用以描述該等運算邏輯電路的程式碼等,但不以此為限。
以該電路規劃結果製造該類神經網路晶片的功效在於能有效地減少該類神經網路晶片的邏輯閘數量。承前例來說,該第一陣列群組中雖包含了神經元陣列M1、神經元陣列M2及神經元陣列M100,但是該電路規劃結果僅包含了該神經元陣列M2所對應的該電路資料M2,而未包含該電路資料M1及該電路資料M100。而由於該神經元陣列M1、神經元陣列M2及神經元陣列M100彼此之間存在較高的相似度,因此,當需要以該神經元陣列M1或神經元陣列M100進行乘法運算時,即使以該電路資料M2所包含的該等運算邏輯電路取代該電路資料M1及該電路資料M100,也不會造成太大的誤差。如此一來,能達成三個神經元陣列M共用單一筆電路資料,而大幅節省邏輯閘數量的效果。
進一步舉例說明的,若該儲存單元11儲存了一萬個神經元陣列M,且若欲在該類神經網路晶片中建置每一神經元陣列M之電路資料的運算邏輯電路,則該處理單元12總共需產生分別對應該等神經元陣列M的一萬筆電路資料,且該一萬筆電路資料總共包含了九萬個運算邏輯電路,如此一來,將會使得該類神經網路晶片中的電路數量相當龐大。
然而,若以本實施例的該電路規劃結果製造該類神經網路晶片,能夠有效地使每一陣列群組中的該等神經元陣列M共用對應該陣列群組的該共用電路資料,如此一來,假設在步驟S1中,該處理單元12共定義出三千個陣列群組,則步驟S4的該電路規劃結果便僅會包含三千筆電路資料的運算邏輯電路,而節省了百分之七十左右的邏輯閘數量。
再者,在本實施例中,該處理單元12是將每一陣列群組中邏輯閘數量最少的該筆電路資料作為該共用電路資料,因此能更進一步地節省邏輯閘數量。
在本新型電路規劃結果產生系統1之一第二實施例的硬體與該第一實施例相同,然而,該第二實施例所實施的該電路規劃結果產生方法與該第一實施例存在差異,以下就其差異處進行說明。
在第二實施例所實施的該電路規劃結果產生方法中,步驟S1與第一實施例相同,在此不再重述,但是在本實施例的步驟S2中,該處理單元12是僅根據每一陣列群組的該參考神經元陣列M’產生對應該參考神經元陣列M’的該電路資料,而不會對該參考神經元陣列M’以外的其他神經元陣列M產生電路資料。而且,該處理單元12是直接將該參考神經元陣列M’所對應的該電路資料作為對應該陣列群組的該共用電路資料,並進一步產生包含所有該等共用電路資料的該電路規劃結果。
在本新型電路規劃結果產生系統1之一第三實施例的硬體與該第一實施例相同,然而,該第三實施例所實施的該電路規劃結果產生方法與該第一實施例存在差異,以下就其差異處進行說明。
在第三實施例所實施的該電路規劃結果產生方法中,步驟S1與第一實施例相同,在此不再重述,但是在本實施例的步驟S2中,該處理單元12還先將該等神經元陣列M其中部分者所包含的部分權重值以一近似值更新。在本實施例中,該近似值等於2的x次方,且x為整數,具體而言,該處理單元12可例如是將數值為「7」或「9」的權重值以8「亦即2的3次方」更新、將數值為「15」或「17」的權重值以16「亦即2的4次方」更新、將數值為「31」或「33」的權重值以32「亦即2的5次方」更新,其餘以此類推。在將該等神經元陣列M其中部分者所包含的部分權重值以2的x次方進行更新後,該處理單元12才根據更新後的每一神經元陣列M的該等權重值,產生對應列的該電路資料。以2的冪次方取代部分權重值的效果在於,將2的冪次方作為乘數的運算邏輯電路能利用簡單的移位器(shifter)來實施,相較於非2的冪次方以外的數,其能進一步節省邏輯閘的數量。
綜上所述,本新型電路規劃結果產生系統1藉由實施該電路規劃結果產生方法,能先將每一神經元陣列M分配至該等陣列群組的其中一者後,再產生分別對應該等陣列群組的該等共用電路資料,以及包含該等共用電路資料的該電路規劃結果,該電路規劃結果能用於將該類神經網路實施為該類神經網路晶片,且能有效地減少該類神經網路晶片的邏輯閘數量,而達成對該類神經網路晶片的電路最佳化,故確實能達成本新型之目的。
惟以上所述者,僅為本新型之實施例而已,當不能以此限定本新型實施之範圍,凡是依本新型申請專利範圍及專利說明書內容所作之簡單的等效變化與修飾,皆仍屬本新型專利涵蓋之範圍內。
1‧‧‧電路規劃結果產生系統
11‧‧‧儲存單元
12‧‧‧處理單元
M‧‧‧神經元陣列
S1~S4‧‧‧步驟
11‧‧‧儲存單元
12‧‧‧處理單元
M‧‧‧神經元陣列
S1~S4‧‧‧步驟
本新型之其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一示意圖,繪示現有類神經網路技術的一神經元運算模型; 圖2是本新型電路規劃結果產生系統之一第一實施例的一方塊圖;及 圖3是一流程圖,示例性地說明該第一實施例如何實施一電路規劃結果產生方法。
Claims (8)
- 一種電路規劃結果產生系統,包含: 一儲存單元,預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算;及 一處理單元,電連接該儲存單元, 其中,當該處理單元接收到一電路規劃結果產生指令時,將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件; 接著,該處理單元根據該等陣列群組的每一神經元陣列的該等權重值,產生一對應的電路資料及一邏輯閘數量,每一電路資料包含對應該神經元陣列的該等權重值的該等乘法運算的多個運算邏輯電路,對應每一神經元陣列的該邏輯閘數量是對應該神經元陣列的該電路資料的該等運算電路所包含的多個邏輯閘的總數量; 接著,該處理單元將每一陣列群組中,對應的該邏輯閘數量最少的該電路資料作為該陣列群組的一共用電路資料,並產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。
- 如請求項1所述的電路規劃結果產生系統,其中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。
- 如請求項1所述的電路規劃結果產生系統,其中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。
- 如請求項1所述的電路規劃結果產生系統,其中,該處理單元在產生該等電路資料之前,將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。
- 一種電路規劃結果產生系統,包含: 一儲存單元,預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算;及 一處理單元,電連接該儲存單元, 其中,當該處理單元接收到一電路規劃結果產生指令時,將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件; 接著,該處理單元根據每一陣列群組之該參考神經元陣列的該等權重值,產生一對應該陣列群組的共用電路資料,該共用電路資料包含多個運算邏輯電路,該等運算邏輯電路分別相關於該參考神經元陣列之該等權重值所對應的該等乘法運算,且每一運算邏輯電路包含至少一邏輯閘; 接著,該處理單元產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。
- 如請求項5所述的電路規劃結果產生系統,其中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。
- 如請求項5所述的電路規劃結果產生系統,其中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。
- 如請求項5所述的電路規劃結果產生系統,其中,該處理單元在產生該等電路資料之前,將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107202385U TWM563580U (zh) | 2018-02-14 | 2018-02-14 | 電路規劃結果產生系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107202385U TWM563580U (zh) | 2018-02-14 | 2018-02-14 | 電路規劃結果產生系統 |
Publications (1)
Publication Number | Publication Date |
---|---|
TWM563580U true TWM563580U (zh) | 2018-07-11 |
Family
ID=63642020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107202385U TWM563580U (zh) | 2018-02-14 | 2018-02-14 | 電路規劃結果產生系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWM563580U (zh) |
-
2018
- 2018-02-14 TW TW107202385U patent/TWM563580U/zh unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10942986B2 (en) | Hardware implementation of convolutional layer of deep neural network | |
US20230041966A1 (en) | Activation Functions for Deep Neural Networks | |
JP7277449B2 (ja) | 汎用化画像処理の画像前処理 | |
CN111353579B (zh) | 利用反向传播为深度神经网络选择量化参数的方法和系统 | |
JP6823495B2 (ja) | 情報処理装置および画像認識装置 | |
JP2021508895A (ja) | ニューラルネットワークアレイの性能の改善 | |
JP6715900B2 (ja) | ニューラルネットワークのパラメータを適応させるための方法および装置 | |
US20220414439A1 (en) | Neuromorphic Synthesizer | |
US20190087718A1 (en) | Hardware Implementation of a Deep Neural Network with Variable Output Data Format | |
KR20170007151A (ko) | 인공 신경 네트워크를 실행하는 방법 및 장치 | |
US12020145B2 (en) | End-to-end data format selection for hardware implementation of deep neural networks | |
CN117408308A (zh) | 用于实施卷积神经网络加速器上的层的方法和装置 | |
Yang et al. | AUTO-PRUNE: Automated DNN pruning and mapping for ReRAM-based accelerator | |
CN112789627B (zh) | 一种神经网络处理器、数据处理方法及相关设备 | |
GB2568082A (en) | Hierarchical mantissa bit length selection for hardware implementation of deep neural network | |
US20210082119A1 (en) | Image semantic segmentation method, programmable logic circuit, system and electronic device | |
Guan et al. | Recursive binary neural network training model for efficient usage of on-chip memory | |
Arora et al. | Tensor slices: FPGA building blocks for the deep learning era | |
US20220405455A1 (en) | Methods and systems for congestion prediction in logic synthesis using graph neural networks | |
US20190251434A1 (en) | Method for establishing data-recognition model | |
CN117808045A (zh) | 用于对神经网络中的卷积层执行通道均衡的方法和系统 | |
TWM563580U (zh) | 電路規劃結果產生系統 | |
TWI659324B (zh) | 電路規劃結果產生方法與系統 | |
CN111027669A (zh) | 在现场可编程门阵列上实现深度神经网络的方法及装置 | |
JP7251354B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 |