TWI659324B - Method and system for generating circuit planning results - Google Patents

Method and system for generating circuit planning results Download PDF

Info

Publication number
TWI659324B
TWI659324B TW107105438A TW107105438A TWI659324B TW I659324 B TWI659324 B TW I659324B TW 107105438 A TW107105438 A TW 107105438A TW 107105438 A TW107105438 A TW 107105438A TW I659324 B TWI659324 B TW I659324B
Authority
TW
Taiwan
Prior art keywords
array
neuron
circuit
processing unit
neuron array
Prior art date
Application number
TW107105438A
Other languages
Chinese (zh)
Other versions
TW201935286A (en
Inventor
吳昕益
蕭文菁
Original Assignee
倍加科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 倍加科技股份有限公司 filed Critical 倍加科技股份有限公司
Priority to TW107105438A priority Critical patent/TWI659324B/en
Priority to CN201810776618.5A priority patent/CN110163352B/en
Priority to US16/268,197 priority patent/US11907834B2/en
Application granted granted Critical
Publication of TWI659324B publication Critical patent/TWI659324B/en
Publication of TW201935286A publication Critical patent/TW201935286A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Geometry (AREA)
  • Neurology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Feedback Control In General (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

一種電路規劃結果產生系統的一儲存單元儲存多個神經元陣列,每一神經元陣列包含多個各對應一乘法運算的權重值。當該電路規劃結果產生系統的一處理單元將每一神經元陣列依照一相似條件分配至多個陣列群組的其中一者,並根據每一陣列群組之所有神經元陣列產生對應的電路資料及邏輯閘數量,每一電路資料包含多個對應該等乘法運算的運算邏輯電路,接著,該處理單元根據每一陣列群組之所有電路資料中選擇對應邏輯閘數量最少或對應最先分配的神經元陣列的電路資料作為該陣列群組的一共用電路資料,並產生一包含該等共用電路資料的電路規劃結果。A storage unit of a circuit planning result generating system stores a plurality of neuron arrays, and each neuron array includes a plurality of weight values corresponding to a multiplication operation. When a processing unit of the circuit planning result generating system allocates each neuron array to one of a plurality of array groups according to a similar condition, and generates corresponding circuit data according to all the neuron arrays of each array group and Number of logic gates, each circuit data includes a plurality of arithmetic logic circuits corresponding to the multiplication operations, and then, the processing unit selects the least number of corresponding logic gates or the first allocated nerve according to all circuit data of each array group The circuit data of the meta array is used as a common circuit data of the array group, and a circuit planning result including the common circuit data is generated.

Description

電路規劃結果產生方法與系統Method and system for generating circuit planning results

本發明是有關於一種電路規劃結果產生方法,特別是指一種涉及自動最佳化的電路規劃結果產生方法。本發明還有關於能實施該電路規劃結果產生方法的一種電路規劃結果產生系統。The invention relates to a method for generating a circuit planning result, in particular to a method for generating a circuit planning result involving automatic optimization. The invention also relates to a circuit planning result generating system capable of implementing the circuit planning result generating method.

類神經網路(Artificial Neural Network;ANN)別稱神經網路或人工神經網路,是由大量的神經元(Neurons)彼此連結而成的網路系統。經過訓練後的類神經網路可憑藉複雜的數學模型進行複雜的資訊處理,舉凡影像辨識、自然語言分析、人類行為或自然現象的預測或統計等工作,皆是類神經網路的應用範疇。Artificial Neural Network (ANN), also known as neural network or artificial neural network, is a network system made up of a large number of neurons. The trained neural network can use complex mathematical models for complex information processing. For example, image recognition, natural language analysis, human behavior or natural phenomenon prediction or statistics are all applications of neural network.

參閱圖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可分別以下列的數學式表示: Referring to FIG. 1, FIG. 1 is a neuron operation model common in the existing neural network technology. In the neuron operation model, X 0 to X N respectively represent a plurality of input variables that are input to the neuron operation model. W 0 to W N respectively represent multiple weight variables in the neuron operation model. f (u) represents a transfer function of the neuron operation model, and the transfer function can also be called an activation function. u represents the result of multiplying the variables (X 0 ~ X N ) by the corresponding preset weights (W 0 ~ W N ). y represents the result obtained by inserting u into the conversion function. y and u can be expressed by the following mathematical formulas:

在一類神經網路的訓練(training)過程中,是將大量的樣本(sample)資料轉換為該等輸入變數(即X 0至X N)所構成的多個輸入矩陣,並將該等輸入矩陣輸入至該類神經網路,以供該類神經網路進行學習。在學習的過程中,該類神經網路將該等輸入矩陣與該等權重變數(即W 0至W N)所構成的多個權重矩陣進行交叉的乘法運算,並根據運算後的輸出結果對原有的該等權重矩陣進行最佳化的調整。 In the training process of a class of neural networks, a large amount of sample data is converted into multiple input matrices composed of the input variables (ie, X 0 to X N ), and the input matrices Input to the neural network for learning. In the learning process, this type of neural network performs multiplication operations on the input matrices and multiple weight matrices composed of the weight variables (that is, W 0 to W N ), and performs a multiplication operation on the output results after the operations. The original weighting matrices are optimized.

值得注意的是,每一個輸入變數與每一個權重變數的乘法運算,皆需要一個對應的乘法器來執行,且每一乘法器包含兩個分別供該輸入變數及該權重變數輸入的輸入端,以及一用於將該輸入變數及該權重變數之運算結果輸出的輸出端。It is worth noting that the multiplication of each input variable and each weight variable requires a corresponding multiplier to execute, and each multiplier contains two input terminals for the input variable and the weight variable respectively, And an output terminal for outputting the operation result of the input variable and the weight variable.

若該類神經網路在訓練完成後總共定義出一萬個權重矩陣,且假設每一個權重矩陣皆的尺寸皆為三乘三,而包含九個權重變數,則若欲將該類神經網路商品化而實施為一類神經網路晶片,即代表該類神經網路晶片內在無記憶體時需要建置九萬個乘法器,才能完整實施該等權重矩陣所代表的乘法運算。或者在類神經網路晶片內建立大量記憶體以減少乘法器的數目,才能完整實施該等權重矩陣所代表的乘法運算。然而,大量的乘法器或記憶體需求將使得該類神經網路晶片擁有較高的布線複雜度及電路面積,同時也使該類神經網路晶片的製造成本難以縮減。若欲將該類神經網路商品化而實施為一類神經網路系統程式用於中央處理器( Central Processing Unit ) 或圖形處理器( Graphic Processing Unit )或數位信號處理器( Digital Signal Processor ),大量的乘法運算與記憶體讀寫需求將使得該類神經網路需要較高速度的處理器及記憶體。因此,如何針對類神經網路晶片的電路規劃進行最佳化,便成為本案欲解決的課題。If this type of neural network defines a total of 10,000 weight matrices after training, and assuming that each weight matrix has a size of three by three and contains nine weight variables, if you want to use this type of neural network Commercialized and implemented as a type of neural network chip, which means that when there is no memory in this type of neural network chip, 90,000 multipliers need to be built in order to fully implement the multiplication operations represented by these weight matrices. Or build a large amount of memory in the neural network chip to reduce the number of multipliers, in order to fully implement the multiplication operations represented by these weight matrices. However, a large number of multipliers or memory requirements will make this type of neural network chip have higher wiring complexity and circuit area, and it will also make it difficult to reduce the manufacturing cost of this type of neural network chip. If this type of neural network is to be commercialized and implemented as a type of neural network system program for a central processing unit (Central Processing Unit) or a graphic processing unit (Graphic Processing Unit) or a digital signal processor (Digital Signal Processor), a large number of The multiplication operations and memory read and write requirements will make this type of neural network require higher speed processors and memory. Therefore, how to optimize the circuit planning of the neural network chip has become the subject to be solved in this case.

因此,本發明之其中一目的,在於提供能針對類神經網路晶片進行電路最佳化的一種電路規劃結果產生方法。Therefore, one object of the present invention is to provide a circuit planning result generation method capable of performing circuit optimization for a neural-like chip.

於是,本發明電路規劃結果產生方法由一電路規劃結果產生系統實施,該電路規劃結果產生系統包含一儲存單元,以及一電連接該儲存單元的處理單元,該儲存單元預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算。該電路規劃結果產生方法包含下列步驟:(A) 該處理單元將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件。(B) 該處理單元根據該等陣列群組的每一神經元陣列的該等權重值,產生一對應的電路資料及一邏輯閘數量,每一電路資料包含對應該神經元陣列的該等權重值的該等乘法運算的多個運算邏輯電路,對應每一神經元陣列的該邏輯閘數量是對應該神經元陣列的該電路資料的該等運算電路所包含的多個邏輯閘的總數量。(C) 該處理單元將每一陣列群組中,對應的該邏輯閘數量最少的該電路資料作為該陣列群組的一共用電路資料,並產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。Therefore, the circuit planning result generating method of the present invention is implemented by a circuit planning result generating system. The circuit planning result generating system includes a storage unit and a processing unit electrically connected to the storage unit. The storage unit stores a plurality of neuron arrays in advance. Each neuron array contains multiple weight values, and each weight value corresponds to a multiplication operation. The circuit planning result generating method includes the following steps: (A) the processing unit assigns each neuron array to one of a plurality of array groups, and the neuron array first assigned to each array group is used as the A reference neuron array of the array group, the reference neuron array and each of the other neuron arrays in the array group meet a similar condition related to the weight values. (B) The processing unit generates a corresponding circuit data and a number of logic gates according to the weight values of each neuron array of the array groups, and each circuit data includes the weights corresponding to the neuron array The number of logic circuits of the multiplication operation of the value, the number of the logic gates corresponding to each neuron array is the total number of the plurality of logic gates of the logic circuits corresponding to the circuit data of the neuron array. (C) The processing unit uses the circuit data corresponding to the least number of logic gates in each array group as a common circuit data of the array group, and generates an operation logic including the common circuit data Circuit planning results for the circuit.

在本發明電路規劃結果產生方法的一些實施態樣中,在步驟(A)中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。In some implementation aspects of the method for generating a circuit planning result of the present invention, in step (A), the processing unit first calculates the reference neuron array and each neuron array that has not been assigned to any array group. A total weight difference between the total weight difference equal to the sum of each weight value of the reference neuron array and the absolute value of the difference between each weight value corresponding to the neuron array, the processing unit and When it is determined that the reference neuron array and the neuron array meet the similar condition, the neuron array is allocated to the array group to which the reference neuron array belongs, and the similar condition is that the total weight difference is less than a predetermined Threshold.

在本發明電路規劃結果產生方法的一些實施態樣中,在步驟(B)中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。In some implementation aspects of the method for generating a circuit planning result of the present invention, in step (B), each operation logic circuit further includes a single input for a variable to perform the corresponding multiplication corresponding to the corresponding weight value. An input terminal of the operation, and a single output terminal for outputting the operation result of the multiplication operation.

在本發明電路規劃結果產生方法的一些實施態樣中,該電路規劃結果產生方法還包含一介於步驟(B)之前的步驟(E):該處理單元將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。In some implementation aspects of the method for generating a circuit planning result of the present invention, the method for generating a circuit planning result further includes a step (E) before step (B): the processing unit stores at least one of the neuron arrays. At least one of the weight values included is updated with an approximate value, where the approximate value is equal to the power of x and x is an integer.

本發明所提供的另一電路規劃結果產生方法由一電路規劃結果產生系統實施,該電路規劃結果產生系統包含一儲存單元,以及一電連接該儲存單元的處理單元,該儲存單元預先儲存有多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算,該電路規劃結果產生方法包含下列步驟:(A) 該處理單元將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件。(B)該處理單元根據每一陣列群組之該參考神經元陣列的該等權重值,產生一對應該陣列群組的共用電路資料,該共用電路資料包含多個運算邏輯電路,該等運算邏輯電路分別相關於該參考神經元陣列之該等權重值所對應的該等乘法運算,且每一運算邏輯電路包含至少一邏輯閘。(C)該處理單元產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。Another circuit planning result generating method provided by the present invention is implemented by a circuit planning result generating system. The circuit planning result generating system includes a storage unit and a processing unit electrically connected to the storage unit. The storage unit stores a plurality of storage units in advance. Neuron array, each neuron array contains multiple weight values, each weight value corresponds to a multiplication operation, the circuit planning result generation method includes the following steps: (A) the processing unit allocates each neuron array to multiple One of the array groups, the neuron array first assigned to each array group serves as a reference neuron array of the array group, the reference neuron array and other neurons in the array group Each of the arrays meets a similar condition related to the weight values. (B) The processing unit generates a pair of common circuit data corresponding to the array group according to the weight values of the reference neuron array of each array group, and the common circuit data includes a plurality of arithmetic logic circuits. The logic circuits are respectively related to the multiplication operations corresponding to the weight values of the reference neuron array, and each operation logic circuit includes at least one logic gate. (C) The processing unit generates a circuit planning result of the arithmetic logic circuits including the shared circuit data.

在本發明另一電路規劃結果產生方法的一些實施態樣中,在步驟(A)中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。In some implementation aspects of another method for generating a circuit planning result of the present invention, in step (A), the processing unit first calculates the reference neuron array and each nerve that has not been assigned to any array group. A total weight difference between the element arrays, the total weight difference being equal to the sum of each weight value of the reference neuron array and the absolute value of the difference between each weight value corresponding to the neuron array, the process When determining that the reference neuron array and the neuron array meet the similar conditions, the unit assigns the neuron array to the array group to which the reference neuron array belongs. The similarity condition is that the total weight difference is less than A predetermined threshold.

在本發明另一電路規劃結果產生方法的一些實施態樣中,在步驟(B)中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。In some implementation forms of another method for generating a circuit planning result according to the present invention, in step (B), each operation logic circuit further includes a single input for a variable to correspond to the corresponding weight value execution. An input terminal of the multiplication operation and a single output terminal for outputting an operation result of the multiplication operation.

在本發明另一電路規劃結果產生方法的一些實施態樣中,該電路規劃結果產生方法還包含一介於步驟(B)之前的步驟(E):該處理單元將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。In some implementation aspects of another method for generating a circuit planning result of the present invention, the method for generating a circuit planning result further includes a step (E) before step (B): the processing unit includes at least one of the neuron arrays. At least one of the weights included in the method is updated with an approximate value, where the approximate value is equal to the power of x and x is an integer.

本發明之另一目的,在於提供一種能實施該電路規劃結果產生方法的電路規劃結果產生系統Another object of the present invention is to provide a circuit planning result generating system capable of implementing the circuit planning result generating method.

本發明電路規劃結果產生系統包含一儲存單元及一電連接該儲存單元的處理單元。該儲存單元預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算。當該處理單元接收到一電路規劃結果產生指令時,將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件。接著,該處理單元根據該等陣列群組的每一神經元陣列的該等權重值,產生一對應的電路資料及一邏輯閘數量,每一電路資料包含對應該神經元陣列的該等權重值的該等乘法運算的多個運算邏輯電路,對應每一神經元陣列的該邏輯閘數量是對應該神經元陣列的該電路資料的該等運算電路所包含的多個邏輯閘的總數量。接著,該處理單元將每一陣列群組中,對應的該邏輯閘數量最少的該電路資料作為該陣列群組的一共用電路資料,並產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。The circuit planning result generating system of the present invention includes a storage unit and a processing unit electrically connected to the storage unit. The storage unit stores a plurality of neuron arrays in advance, and each neuron array includes a plurality of weight values, and each weight value corresponds to a multiplication operation. When the processing unit receives a circuit planning result generating instruction, each neuron array is assigned to one of a plurality of array groups, and the neuron array first assigned to each array group is used as the array group. A reference neuron array of the group meets a similar condition with respect to the weight values between each of the reference neuron array and each of the other neuron arrays in the array group. Then, the processing unit generates a corresponding circuit data and a number of logic gates according to the weight values of each neuron array of the array groups, and each circuit data includes the weight values corresponding to the neuron array. The number of logic circuits of the multiplication operation of the corresponding logic circuit is the total number of logic gates included in the logic circuits corresponding to the circuit data of the neuron array. Then, the processing unit uses the circuit data corresponding to the least number of logic gates in each array group as a common circuit data of the array group, and generates an arithmetic logic circuit including the common circuit data. Circuit planning results.

在本發明電路規劃結果產生系統的一些實施態樣中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。In some implementation aspects of the circuit planning result generation system of the present invention, the processing unit first calculates a total weight difference between the reference neuron array and each neuron array that has not been assigned to any array group. The total weight difference is equal to the sum of each weight value of the reference neuron array and the absolute value of the difference between each weight value corresponding to the neuron array, and the processing unit determines the reference neuron When the array and the neuron array meet the similar condition, the neuron array is allocated to the array group to which the reference neuron array belongs, and the similar condition is that the total weight difference is less than a predetermined threshold.

在本發明電路規劃結果產生系統的一些實施態樣中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。In some implementation forms of the circuit planning result generation system of the present invention, each operation logic circuit further includes a single input terminal for a variable input to perform the multiplication operation corresponding to the corresponding weight value, and a single An output terminal for outputting the operation result of the multiplication operation.

在本發明電路規劃結果產生系統的一些實施態樣中,該處理單元在產生該等電路資料之前,將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。In some implementation forms of the circuit planning result generation system of the present invention, before generating the circuit data, the processing unit updates at least one weight value included in at least one of the neuron arrays with an approximate value, wherein , The approximate value is equal to the power of x, and x is an integer.

本發明供的另一電路規劃結果產生系統包含一儲存單元及一電連接該儲存單元的處理單元。該儲存單元預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算。當該處理單元接收到一電路規劃結果產生指令時,將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件。接著,該處理單元根據每一陣列群組之該參考神經元陣列的該等權重值,產生一對應該陣列群組的共用電路資料,該共用電路資料包含多個運算邏輯電路,該等運算邏輯電路分別相關於該參考神經元陣列之該等權重值所對應的該等乘法運算,且每一運算邏輯電路包含至少一邏輯閘。接著,該處理單元產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。Another circuit planning result generating system provided by the present invention includes a storage unit and a processing unit electrically connected to the storage unit. The storage unit stores a plurality of neuron arrays in advance, and each neuron array includes a plurality of weight values, and each weight value corresponds to a multiplication operation. When the processing unit receives a circuit planning result generating instruction, each neuron array is assigned to one of a plurality of array groups, and the neuron array first assigned to each array group is used as the array group. A reference neuron array of the group meets a similar condition with respect to the weight values between each of the reference neuron array and each of the other neuron arrays in the array group. Then, the processing unit generates a pair of common circuit data corresponding to the array group according to the weight values of the reference neuron array of each array group, and the common circuit data includes a plurality of operation logic circuits, and the operation logic The circuits are respectively related to the multiplication operations corresponding to the weight values of the reference neuron array, and each operation logic circuit includes at least one logic gate. Then, the processing unit generates a circuit planning result of the operation logic circuits including the shared circuit data.

在本發明另一電路規劃結果產生系統的一些實施態樣中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。In some implementation aspects of another circuit planning result generation system of the present invention, the processing unit first calculates a total between the reference neuron array and each neuron array that has not been assigned to any array group. Weight difference, the total weight difference is equal to the sum of each weight value of the reference neuron array and the absolute value of the difference between each weight value corresponding to the neuron array, and the processing unit determines the reference When the neuron array and the neuron array meet the similar condition, the neuron array is allocated to the array group to which the reference neuron array belongs, and the similar condition is that the total weight difference is less than a predetermined threshold.

在本發明另一電路規劃結果產生系統的一些實施態樣中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。In some implementation forms of another circuit planning result generating system of the present invention, each operation logic circuit further includes a single input terminal for a variable input to perform the multiplication operation corresponding to the corresponding weight value, And a single output terminal for outputting the operation result of the multiplication operation.

在本發明另一電路規劃結果產生系統的一些實施態樣中,該處理單元在產生該等電路資料之前,將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。In some implementation forms of another circuit planning result generation system of the present invention, before generating the circuit data, the processing unit updates at least one weight value included in at least one of the neuron arrays with an approximate value. , Where the approximate value is equal to the power of x and x is an integer.

本發明之功效在於:藉由實施本發明電路規劃結果產生方法,該處理單元能先將每一神經元陣列分配至該等陣列群組的其中一者後,再產生分別對應該等陣列群組的該等共用電路資料,以及包含該等共用電路資料的該電路規劃結果,該電路規劃結果能用於將該類神經網路實施為該類神經網路晶片,且能有效地減少該類神經網路晶片的邏輯閘數量,而達成對該類神經網路晶片的電路最佳化,故確實能達成本發明之目的。The effect of the present invention is that, by implementing the method for generating a circuit planning result of the present invention, the processing unit can first allocate each neuron array to one of the array groups, and then generate corresponding array groups respectively. The shared circuit data, and the circuit planning result containing the shared circuit data, the circuit planning result can be used to implement the neural network into the neural network chip, and can effectively reduce the neural network The number of logic gates of the network chip optimizes the circuit of this type of neural network chip, so it can indeed achieve the purpose of cost invention.

在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。Before the present invention is described in detail, it should be noted that in the following description, similar elements are represented by the same numbers.

參閱圖2,本發明電路規劃結果產生系統1之一第一實施例是用於產生一對應一已訓練完成之類神經網路的電路規劃結果,更具體地說,該電路規劃結果是用於將已訓練完成的該類神經網路實施為一實體的類神經網路晶片。且該電路規劃結果是相關於該類神經網路晶片中用於將多個變數分別與多個預設權重進行乘法運算所需的邏輯運算電路。Referring to FIG. 2, a first embodiment of a circuit planning result generating system 1 of the present invention is used to generate a circuit planning result corresponding to a trained neural network or the like. More specifically, the circuit planning result is used for The trained neural network is implemented as a physical neural network chip. And the circuit planning result is related to a logic operation circuit in this type of neural network chip that is used to multiply a plurality of variables with a plurality of preset weights, respectively.

該電路規劃結果產生系統1包含一儲存單元11及一電連接該儲存單元11的處理單元12。該儲存單元11可例如為一硬碟或者一由多個硬碟所組成的硬碟陣列,該處理單元12可例如為一中央處理器或是由多個中央處理器作平行處理的模組,該處理單元12例如是設置於一主機板(圖未示出),並經由該主機板電連接該儲存單元11,但不以此為限。The circuit planning result generating system 1 includes a storage unit 11 and a processing unit 12 electrically connected to the storage unit 11. The storage unit 11 may be, for example, a hard disk or a hard disk array composed of multiple hard disks. The processing unit 12 may be, for example, a central processing unit or a module processed in parallel by multiple central processing units. The processing unit 12 is, for example, disposed on a motherboard (not shown), and is electrically connected to the storage unit 11 through the motherboard, but is not limited thereto.

該儲存單元11預先儲存多個以一預定順序排列的神經元陣列M,每一神經元陣列M包含多個權重值,且每一權重值對應一乘法運算。例如,若其中一權重值的數值為「15」,則該權重值所對應的該乘法運算為「乘以15」。在本實施例中,由於該類神經網路已經訓練完成,故每一權重值被設定為一固定的常數,且每一神經元陣列M例如為一3乘3的矩陣,而包含九個權重值,但並不以此為限。The storage unit 11 stores a plurality of neuron arrays M arranged in a predetermined order in advance. Each neuron array M includes a plurality of weight values, and each weight value corresponds to a multiplication operation. For example, if one of the weight values is "15", the multiplication operation corresponding to the weight value is "multiply by 15". In this embodiment, since this type of neural network has been trained, each weight value is set to a fixed constant, and each neuron array M is, for example, a 3 by 3 matrix, and contains nine weights. Value, but not limited to this.

舉例而言,該類神經網路晶片可例如是被應用在影像辨識領域,例如用於辨認一影像中是否存在一隻鳥,則每一神經元陣列M例如是作為一特徵濾波器(filter),而用於供該類神經網路根據該等神經元陣列M辨識該影像中是否存在該等神經元陣列M所代表的對應特徵(例如鳥的嘴、眼睛或翅膀),但並不以此為限。For example, this type of neural network chip can be used in the field of image recognition, for example, to identify whether a bird exists in an image, and each neuron array M is used as a feature filter, for example. , And is used by the neural network to identify whether there are corresponding features represented by the neuron array M (such as a bird's mouth, eyes, or wings) in the image according to the neuron array M, but it is not based on this. Limited.

同時參閱圖2及圖3,以下示例性地詳細說明本實施例的該電路規劃結果產生系統1如何實施一電路規劃結果產生方法。Referring to FIG. 2 and FIG. 3 at the same time, how to implement a circuit planning result generation method in the circuit planning result generation system 1 of this embodiment is exemplarily described in detail below.

首先,在步驟S1中,當該處理單元12接收到一電路規劃結果產生指令時,該處理單元12根據該等神經元陣列M的相似度而對該等神經元陣列M進行一分類程序,以將每一神經元陣列M分配至多個陣列群組的其中一者。該電路規劃結果產生指令例如是藉由一使用者操作一輸入設備(例如鍵盤或滑鼠)而產生,但不以此為限。First, in step S1, when the processing unit 12 receives a circuit planning result generation instruction, the processing unit 12 performs a classification procedure on the neuron arrays M according to the similarity of the neuron arrays M to Each neuron array M is assigned to one of a plurality of array groups. The circuit planning result generating instruction is generated, for example, by a user operating an input device (such as a keyboard or a mouse), but is not limited thereto.

在該分類程序中,該處理單元12例如是先將該等神經元陣列M的其中一順序最優先者作為一參考神經元陣列M’,並將該參考神經元陣列M’分配至一新定義出的陣列群組中。接著,該處理單元12計算該參考神經元陣列M’與其他每一神經元陣列M之間的一總權重差,並根據每一權重差判斷該參考神經元陣列M’與其他每一神經元陣列M之間是否符合一相似條件。在本實施例中,該總權重差等於該參考神經元陣列M’之每一權重值,與其他每一神經元陣列M之對應的每一權重值之間的差的絕對值之總和,該相似條件為該總權重差小於一預定閥值,且該預定閥值可例如為5,但不以此為限。一旦該處理單元12判斷出該等神經元陣列M中的任一者與該參考神經元陣列M’符合該相似條件而作為一相似神經元陣列M*時,該處理單元12將該相似神經元陣列M*分配至該參考神經元陣列M’所屬的該陣列群組中。In the classification procedure, for example, the processing unit 12 first assigns one of the order of the neuron arrays M as a reference neuron array M ′, and assigns the reference neuron array M ′ to a new definition. Out of the array group. Next, the processing unit 12 calculates a total weight difference between the reference neuron array M ′ and each other neuron array M, and judges the reference neuron array M ′ and each other neuron according to each weight difference. Whether the arrays M meet a similar condition. In this embodiment, the total weight difference is equal to the sum of the absolute values of the differences between each weight value of the reference neuron array M ′ and each weight value corresponding to each other neuron array M. A similar condition is that the total weight difference is less than a predetermined threshold, and the predetermined threshold may be, for example, 5 but is not limited thereto. Once the processing unit 12 determines that any one of the neuron arrays M and the reference neuron array M ′ meet the similar conditions and serves as a similar neuron array M *, the processing unit 12 processes the similar neurons The array M * is allocated to the array group to which the reference neuron array M 'belongs.

為了便於說明,定義每一神經元陣列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 9 36 27 7 97 35 36 1 77 神經元陣列M2 8 36 27 7 97 33 37 1 77 For the convenience of explanation, the nine weight values included in each neuron array M are defined as the first weight value to the ninth weight value arranged from left to right and top to bottom, respectively. For example, a neuron array M1 and a neuron array M2 shown below. For example, the first weight value of the neuron array M1 is "9", and the first weight value of the neuron array M2 is "8". Therefore, a first weight difference between the neuron array M1 and the neuron array M2 is "1". Similarly, the second weight value of the neuron array M1 and the neuron array M2 are both "36". Therefore, a second weight difference between the neuron array M1 and the neuron array M2 is "0" . By analogy, the third to ninth weight difference between the neuron array M1 and the neuron array M2 is "0", "0", "0", "2", "1", "0", "0". The total weight difference between the neuron array M1 and the neuron array M2 is equal to the sum of the first weight difference to the ninth weight difference, and is equal to "4". Neuron array M1 9 36 27 7 97 35 36 1 77 Neuron Array M2 8 36 27 7 97 33 37 1 77

特別說明的是,在本實施例中,該處理單元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。It is particularly noted that, in this embodiment, the processing unit 12 performs the classification procedure on the neuron arrays M in an exhaustive search manner, for example, but is not limited thereto. For example, if the number of the neurons is one thousand and they are numbered in the order of neuron array M1 to neuron array M1000, the processing unit 12 first uses the neuron array M1 as the reference, for example. The neuron array M 'is assigned to a first array group. Then, the processing unit 12 sequentially assigns each of the neuron array M2 to the neuron array M1000 and the neuron array M1 that meet the similar conditions to the first array group. Next, the processing unit 12 assigns the highest priority order among all the neuron arrays M that have not been assigned to any array group as a new reference neuron array M ′, and assigns it to a second array group. And perform the determination of the similar condition with all other neuron arrays M that have not been assigned to any array group until each of the neuron array M1 to the neuron array M1000 is assigned to the array group. So far. In this way, a reference neuron array M ′ corresponding to the array group and assigned to the array group first exists in each array group, and the reference neuron in each array group The similar condition is met between the array M 'and all other neuron arrays M in the same array group. It should be noted that each array group may also include only the reference neuron array M ', but not other neuron arrays M similar to the reference neuron array M'.

在該處理單元12將每一神經元陣列M分配至該等陣列群組的其中一者後,接著進行步驟S2。After the processing unit 12 allocates each neuron array M to one of the array groups, step S2 is then performed.

在步驟S2中,該處理單元12根據每一陣列群組之每一神經元陣列M的該等權重值,產生一對應該陣列群組且對應該神經元陣列M的電路資料,以及一對應該電路資料的邏輯閘數量。In step S2, the processing unit 12 generates a pair of circuit data corresponding to the array group and the neuron array M according to the weight values of each neuron array M of each array group, and a pair of corresponding Number of logic gates for circuit data.

舉例來說,若前述的該第一陣列群組中包含了神經元陣列M1、神經元陣列M2及神經元陣列M100,則在步驟S2中,該處理單元12會根據該第一陣列群組而產生一電路資料D1、一電路資料D2及一電路資料D100,以及對應的一邏輯閘數量N1、一邏輯閘數量N2及一邏輯閘數量N100。For example, if the foregoing first array group includes the neuron array M1, the neuron array M2, and the neuron array M100, then in step S2, the processing unit 12 will perform the calculation according to the first array group. A circuit data D1, a circuit data D2, and a circuit data D100 are generated, and a corresponding number of logic gates N1, a number of logic gates N2, and a number of logic gates N100 are generated.

在本實施例中,每一電路資料包含九個運算邏輯電路,該等運算邏輯電路分別相關於對應之該神經元陣列M之該等權重值所對應的九個乘法運算,且每一運算邏輯電路例如為一邏輯閘組合,而包含至少一邏輯閘、單一個用於供一變數輸入以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。該邏輯閘數量指示出該電路資料之該等運算邏輯電路所包含之所有邏輯閘的總數量。特別說明的是,由於該等權重值在本實施例中為常數,因此每一運算邏輯電路僅需單一個供變數輸入的輸入端。In this embodiment, each circuit data includes nine operation logic circuits, and the operation logic circuits are respectively related to nine multiplication operations corresponding to the weight values of the corresponding neuron array M, and each operation logic The circuit is, for example, a logic gate combination, including at least one logic gate, a single input terminal for a variable input to perform the multiplication operation corresponding to the corresponding weight value, and a single output terminal for the multiplication operation. The output of the operation result. The number of logic gates indicates the total number of all logic gates included in the operational logic circuits of the circuit data. It is specifically stated that, because the weight values are constant in this embodiment, each arithmetic logic circuit only needs a single input terminal for a variable input.

補充說明的是,根據每一權重值產生對應的運算邏輯電路,係應用數位邏輯設計學科中關於算術運算電路設計之通常知識,例如可以乘法器、加法器、移位器,或暫存器等不同的邏輯電路實現相同的乘法運算,使得邏輯電路的邏輯閘數量不同,故在此不多加贅述。It is added that the corresponding operation logic circuit is generated according to each weight value, which is the general knowledge about the design of arithmetic operation circuits in the discipline of digital logic design, such as multipliers, adders, shifters, or registers, etc. Different logic circuits implement the same multiplication operation, which makes the number of logic gates of the logic circuit different, so I won't go into details here.

以前述的該神經元陣列M1舉例來說,該神經元陣列M1的第一權重值至第九權重值分別為「9」、「36」、「27」、「7」、「97」、「35」、「36」、「1」及「77」,則對應於該神經元陣列M1之該電路資料的該等運算邏輯電路,則例如分別為「乘以9」、「乘以36」、「乘以27」、「乘以7」、「乘以97」、「乘以35」、「乘以36」、「乘以1」及「乘以77」的九個乘法器電路。而對應於該神經元陣列M1之該電路資料D1的該邏輯閘數量N1則等於該九個乘法器電路所包含之所有邏輯閘的總量。Taking the aforementioned neuron array M1 as an example, the first to ninth weight values of the neuron array M1 are "9", "36", "27", "7", "97", "97" "35", "36", "1", and "77" are those arithmetic logic circuits corresponding to the circuit data of the neuron array M1, such as "multiply by 9", "multiply by 36", Nine multiplier circuits of "multiply by 27", "multiply by 7", "multiply by 97", "multiply by 35", "multiply by 36", "multiply by 1" and "multiply by 77". The number N1 of logic gates corresponding to the circuit data D1 of the neuron array M1 is equal to the total number of all logic gates included in the nine multiplier circuits.

在該處理單元12產生該等電路資料及對應的該等邏輯閘數量後,接著進行步驟S3。After the processing unit 12 generates the circuit data and the corresponding number of the logic gates, it proceeds to step S3.

在步驟S3中,該處理單元12從每一陣列群組所對應之所有電路資料中,選擇出其中一對應該陣列群組且作為一共用電路資料的電路資料。具體而言,每一陣列群組所對應的該共用電路資料,是該陣列群組所對應之所有電路資料中,所對應之該邏輯閘數量最少的該電路資料。換句話說,該共用電路資料所包含之該等運算邏輯電路所使用的邏輯閘,是對應同一陣列群組之所有電路資料中最少的。In step S3, the processing unit 12 selects a pair of circuit data corresponding to the array group and serving as a common circuit data from all the circuit data corresponding to each array group. Specifically, the shared circuit data corresponding to each array group is the circuit data corresponding to the least number of logic gates among all the circuit data corresponding to the array group. In other words, the logic gates used by the operational logic circuits included in the shared circuit data are the least among all the circuit data corresponding to the same array group.

承前例,假設該第一陣列群組中包含了該神經元陣列M1、該神經元陣列M2及該神經元陣列M100,且該神經元陣列M1、該神經元陣列M2及該神經元陣列M100所對應之該等電路資料及該等邏輯閘數量如下表所示。假設在該邏輯閘數量N1、該邏輯閘數量N2及該邏輯閘數量N100中,該邏輯閘數量N2的值是三者之中最小的,則在步驟S3中,該處理單元12會將該邏輯閘數量N2所對應的該電路資料M2作為對應該第一陣列群組的該共用電路資料。 第一陣列群組 神經元陣列M1 電路資料M1 邏輯閘數量N1 神經元陣列M2 電路資料M2 邏輯閘數量N2 神經元陣列M100 電路資料M100 邏輯閘數量N100 Following the previous example, it is assumed that the first array group includes the neuron array M1, the neuron array M2, and the neuron array M100, and the neuron array M1, the neuron array M2, and the neuron array M100. The corresponding circuit information and the number of these logic gates are shown in the table below. Assuming that among the number of logic gates N1, the number of logic gates N2, and the number of logic gates N100, the value of the number of logic gates N2 is the smallest of the three, then in step S3, the processing unit 12 will change the logic The circuit data M2 corresponding to the gate number N2 is used as the common circuit data corresponding to the first array group. First array group Neuron array M1 Circuit Information M1 Number of logic gates N1 Neuron Array M2 Circuit Information M2 Number of logic gates N2 Neuron Array M100 Circuit Information M100 Number of logic gates N100

在該處理單元12選擇出每一陣列群組所對應的該共用電路資料後,接著進行步驟S4。After the processing unit 12 selects the shared circuit data corresponding to each array group, it proceeds to step S4.

在步驟S4中,該處理單元12產生用於將該類神經網路實施為該類神經網路晶片的該電路規劃結果,且該電路規劃結果包含該等共用電路資料之該等運算邏輯電路。補充說明的是,在本實施例中,該電路規劃結果例如為一可被電腦設備存取、傳遞的電子檔案,且該電路規劃結果所包含的該等運算邏輯電路可例如是以多種不同的方式呈現,例如示意圖(Schematic Diagram)、佈線圖(Layout),或者是用以描述該等運算邏輯電路的程式碼等,但不以此為限。In step S4, the processing unit 12 generates the circuit planning result for implementing the neural network as the neural network chip, and the circuit planning result includes the operational logic circuits of the shared circuit data. It is added that, in this embodiment, the circuit planning result is, for example, an electronic file that can be accessed and transmitted by computer equipment, and the operation logic circuits included in the circuit planning result may be, for example, multiple different It is presented in a manner such as a schematic diagram, a layout, or a code for describing such an operation logic circuit, but is not limited thereto.

以該電路規劃結果製造該類神經網路晶片的功效在於能有效地減少該類神經網路晶片的邏輯閘數量。承前例來說,該第一陣列群組中雖包含了神經元陣列M1、神經元陣列M2及神經元陣列M100,但是該電路規劃結果僅包含了該神經元陣列M2所對應的該電路資料M2,而未包含該電路資料M1及該電路資料M100。而由於該神經元陣列M1、神經元陣列M2及神經元陣列M100彼此之間存在較高的相似度,因此,當需要以該神經元陣列M1或神經元陣列M100進行乘法運算時,即使以該電路資料M2所包含的該等運算邏輯電路取代該電路資料M1及該電路資料M100,也不會造成太大的誤差。如此一來,能達成三個神經元陣列M共用單一筆電路資料,而大幅節省邏輯閘數量的效果。The effect of manufacturing the neural network chip based on the circuit planning result is that it can effectively reduce the number of logic gates of the neural network chip. Taking the previous example, although the first array group includes the neuron array M1, the neuron array M2, and the neuron array M100, the circuit planning result only includes the circuit data M2 corresponding to the neuron array M2. Without including the circuit data M1 and the circuit data M100. Because the neuron array M1, the neuron array M2, and the neuron array M100 have a high similarity with each other, when multiplication is required to be performed with the neuron array M1 or the neuron array M100, even if the The arithmetic logic circuits included in the circuit data M2 replace the circuit data M1 and the circuit data M100 without causing much error. In this way, it is possible to achieve the effect that the three neuron arrays M share a single piece of circuit data and greatly save the number of logic gates.

進一步舉例說明的,若該儲存單元11儲存了一萬個神經元陣列M,且若欲在該類神經網路晶片中建置每一神經元陣列M之電路資料的運算邏輯電路,則該處理單元12總共需產生分別對應該等神經元陣列M的一萬筆電路資料,且該一萬筆電路資料總共包含了九萬個運算邏輯電路,如此一來,將會使得該類神經網路晶片中的電路數量相當龐大。To further illustrate, if the storage unit 11 stores ten thousand neuron arrays M, and if an arithmetic logic circuit for the circuit data of each neuron array M is to be built in this type of neural network chip, this processing The unit 12 needs to generate a total of 10,000 circuit data corresponding to the neuron arrays M, and the 10,000 circuit data contains a total of 90,000 operation logic circuits. In this way, this type of neural network chip The number of circuits in it is quite large.

然而,若以本實施例的該電路規劃結果製造該類神經網路晶片,能夠有效地使每一陣列群組中的該等神經元陣列M共用對應該陣列群組的該共用電路資料,如此一來,假設在步驟S1中,該處理單元12共定義出三千個陣列群組,則步驟S4的該電路規劃結果便僅會包含三千筆電路資料的運算邏輯電路,而節省了百分之七十左右的邏輯閘數量。However, if the neural network chip is manufactured by using the circuit planning result of this embodiment, the neuron arrays M in each array group can effectively share the shared circuit data corresponding to the array group. First, assuming that in step S1, the processing unit 12 defines a total of three thousand array groups, the circuit planning result of step S4 will only include three thousand operation logic circuits of circuit data, and a percentage is saved. Number of logic gates around seventy.

再者,在本實施例中,該處理單元12是將每一陣列群組中邏輯閘數量最少的該筆電路資料作為該共用電路資料,因此能更進一步地節省邏輯閘數量。Furthermore, in this embodiment, the processing unit 12 uses the circuit data with the least number of logic gates in each array group as the shared circuit data, so the number of logic gates can be further saved.

在本發明電路規劃結果產生系統1之一第二實施例的硬體與該第一實施例相同,然而,該第二實施例所實施的該電路規劃結果產生方法與該第一實施例存在差異,以下就其差異處進行說明。The hardware of the second embodiment of the circuit planning result generation system 1 of the present invention is the same as the first embodiment, however, the method of generating the circuit planning result implemented by the second embodiment is different from the first embodiment. , The differences are explained below.

在第二實施例所實施的該電路規劃結果產生方法中,步驟S1與第一實施例相同,在此不再重述,但是在本實施例的步驟S2中,該處理單元12是僅根據每一陣列群組的該參考神經元陣列M’產生對應該參考神經元陣列M’的該電路資料,而不會對該參考神經元陣列M’以外的其他神經元陣列M產生電路資料。而且,該處理單元12是直接將該參考神經元陣列M’所對應的該電路資料作為對應該陣列群組的該共用電路資料,並進一步產生包含所有該等共用電路資料的該電路規劃結果。In the method for generating a circuit planning result implemented in the second embodiment, step S1 is the same as the first embodiment and will not be repeated here, but in step S2 of this embodiment, the processing unit 12 is only based on each The reference neuron array M ′ of an array group generates the circuit data corresponding to the reference neuron array M ′, and does not generate circuit data for the other neuron arrays M other than the reference neuron array M ′. Moreover, the processing unit 12 directly uses the circuit data corresponding to the reference neuron array M 'as the common circuit data corresponding to the array group, and further generates the circuit planning result including all such common circuit data.

在本發明電路規劃結果產生系統1之一第三實施例的硬體與該第一實施例相同,然而,該第三實施例所實施的該電路規劃結果產生方法與該第一實施例存在差異,以下就其差異處進行說明。The hardware of the third embodiment of the circuit planning result generation system 1 of the present invention is the same as the first embodiment, however, the method for generating the circuit planning result implemented by the third embodiment is different from the first embodiment. , The differences are explained below.

在第三實施例所實施的該電路規劃結果產生方法中,步驟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的冪次方以外的數,其能進一步節省邏輯閘的數量。In the method for generating a circuit planning result implemented in the third embodiment, step S1 is the same as that in the first embodiment, and will not be repeated here, but in step S2 of this embodiment, the processing unit 12 further Some of the weight values contained in the isoneuron array M are updated with an approximate value. In this embodiment, the approximate value is equal to the power of x, and x is an integer. Specifically, the processing unit 12 may, for example, change the weight value of the number “7” or “9” to 8 “that is, 2 Update the value of "3 to the power of 3", update the value of the value of "15" or "17" to 16 "that is, the power of 4 to the 2", update the value of the value to "31" or "33" to 32 That is, the power of 2 "is updated, and the rest can be deduced by analogy. After the partial weight values included in some of these neuron arrays M are updated to the power of 2 x, the processing unit 12 generates corresponding values based on the weight values of each of the updated neuron arrays M. Column of the circuit information. The effect of replacing part of the weight value with the power of 2 is that the arithmetic logic circuit using the power of 2 as a multiplier can be implemented using a simple shifter, compared to other than powers other than 2 This can further save the number of logic gates.

綜上所述,本發明電路規劃結果產生系統1藉由實施該電路規劃結果產生方法,能先將每一神經元陣列M分配至該等陣列群組的其中一者後,再產生分別對應該等陣列群組的該等共用電路資料,以及包含該等共用電路資料的該電路規劃結果,該電路規劃結果能用於將該類神經網路實施為該類神經網路晶片,且能有效地減少該類神經網路晶片的邏輯閘數量,而達成對該類神經網路晶片的電路最佳化,故確實能達成本發明之目的。In summary, by implementing the circuit planning result generating method 1 of the present invention, the circuit planning result generating system 1 can allocate each neuron array M to one of the array groups, and then generate corresponding responses. And other common circuit data of the array group, and the circuit planning result containing the common circuit data, the circuit planning result can be used to implement the neural network into the neural network chip, and can effectively The number of logic gates of this type of neural network chip is reduced, and the circuit of this type of neural network chip is optimized, so it can indeed achieve the purpose of cost invention.

惟以上所述者,僅為本發明之實施例而已,當不能以此限定本發明實施之範圍,凡是依本發明申請專利範圍及專利說明書內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。However, the above are only examples of the present invention. When the scope of implementation of the present invention cannot be limited in this way, any simple equivalent changes and modifications made in accordance with the scope of the patent application and the content of the patent specification of the present invention are still Within the scope of the invention patent.

1‧‧‧電路規劃結果產生系統1‧‧‧Circuit planning result generation system

11‧‧‧儲存單元11‧‧‧Storage Unit

12‧‧‧處理單元12‧‧‧ processing unit

M‧‧‧神經元陣列M‧‧‧ Neuron Array

S1~S4‧‧‧步驟Steps S1 ~ S4‧‧‧‧

本發明之其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一示意圖,繪示現有類神經網路技術的一神經元運算模型; 圖2是本發明電路規劃結果產生系統之一第一實施例的一方塊圖;及 圖3是一流程圖,示例性地說明該第一實施例如何實施一電路規劃結果產生方法。Other features and effects of the present invention will be clearly presented in the embodiment with reference to the drawings, wherein: FIG. 1 is a schematic diagram showing a neuron operation model of the existing neural network-like technology; FIG. 2 is the present invention A block diagram of a first embodiment of a circuit planning result generating system; and FIG. 3 is a flowchart illustrating how the first embodiment implements a method of generating a circuit planning result.

Claims (16)

一種電路規劃結果產生方法,由一電路規劃結果產生系統實施,該電路規劃結果產生系統包含一儲存單元,以及一電連接該儲存單元的處理單元,該儲存單元預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算,該電路規劃結果產生方法包含下列步驟:(A)該處理單元將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件;(B)該處理單元根據該等陣列群組的每一神經元陣列的該等權重值,產生一對應的電路資料及一邏輯閘數量,每一電路資料包含對應該神經元陣列的該等權重值的該等乘法運算的多個運算邏輯電路,對應每一神經元陣列的該邏輯閘數量是對應該神經元陣列的該電路資料的該等運算邏輯電路所包含的多個邏輯閘的總數量;及(C)該處理單元將每一陣列群組中,對應的該邏輯閘數量最少的該電路資料作為該陣列群組的一共用電路資料,並產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。A circuit planning result generating method is implemented by a circuit planning result generating system. The circuit planning result generating system includes a storage unit and a processing unit electrically connected to the storage unit. The storage unit stores a plurality of neuron arrays in advance. A neuron array includes multiple weight values, and each weight value corresponds to a multiplication operation. The circuit planning result generation method includes the following steps: (A) the processing unit assigns each neuron array to one of a plurality of array groups Or, the neuron array first assigned to each array group serves as a reference neuron array of the array group, and each of the reference neuron array and each of the other neuron arrays in the array group (B) The processing unit generates a corresponding circuit data and a number of logic gates according to the weight values of each neuron array of the array groups. A circuit data includes a plurality of operation logic circuits corresponding to the multiplication operations of the weight values of the neuron array, corresponding to each neuron array The number of logic gates is the total number of logic gates included in the operational logic circuits corresponding to the circuit data of the neuron array; and (C) the processing unit corresponds to the logic in each array group. The circuit data with the smallest number of gates is used as a common circuit data of the array group, and a circuit planning result of the operation logic circuits including the common circuit data is generated. 如請求項1所述的電路規劃結果產生方法,其中,在步驟(A)中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。The method for generating a circuit planning result according to claim 1, wherein in step (A), the processing unit first calculates the reference neuron array and each neuron array that has not been assigned to any array group. A total weight difference between the total weight difference equal to the sum of each weight value of the reference neuron array and the absolute value of the difference between each weight value corresponding to the neuron array, the processing unit and When it is determined that the reference neuron array and the neuron array meet the similar condition, the neuron array is allocated to the array group to which the reference neuron array belongs, and the similar condition is that the total weight difference is less than a predetermined Threshold. 如請求項1所述的電路規劃結果產生方法,其中,在步驟(B)中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。The method for generating a circuit planning result according to claim 1, wherein in step (B), each operation logic circuit further includes a single input for a variable to perform the corresponding multiplication corresponding to the corresponding weight value An input terminal of the operation, and a single output terminal for outputting the operation result of the multiplication operation. 如請求項1所述的電路規劃結果產生方法,還包含一介於步驟(B)之前的步驟(D):該處理單元將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。The method for generating a circuit planning result according to claim 1, further comprising a step (D) before step (B): the processing unit converts at least one weight value included in at least one of the neuron arrays to An approximation update, where the approximation is equal to the power of x and x is an integer. 一種電路規劃結果產生方法,由一電路規劃結果產生系統實施,該電路規劃結果產生系統包含一儲存單元,以及一電連接該儲存單元的處理單元,該儲存單元預先儲存有多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算,該電路規劃結果產生方法包含下列步驟:(A)該處理單元將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件;(B)該處理單元根據每一陣列群組之該參考神經元陣列的該等權重值,產生一對應該陣列群組的共用電路資料,該共用電路資料包含多個運算邏輯電路,該等運算邏輯電路分別相關於該參考神經元陣列之該等權重值所對應的該等乘法運算,且每一運算邏輯電路包含至少一邏輯閘;及(C)該處理單元產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。A circuit planning result generating method is implemented by a circuit planning result generating system. The circuit planning result generating system includes a storage unit and a processing unit electrically connected to the storage unit. The storage unit stores a plurality of neuron arrays in advance. Each neuron array includes multiple weight values, and each weight value corresponds to a multiplication operation. The circuit planning result generation method includes the following steps: (A) the processing unit assigns each neuron array to a plurality of array groups. One, the neuron array first assigned to each array group serves as a reference neuron array for the array group, and each of the reference neuron array and other neuron arrays in the array group A similar condition related to the weight values is met between them; (B) the processing unit generates a pair of common circuit data corresponding to the array group according to the weight values of the reference neuron array of each array group, The common circuit data includes a plurality of operation logic circuits, and the operation logic circuits are respectively related to the weight values of the reference neuron array. Corresponding to these multiplication operations, and each arithmetic logic circuit includes at least one logic gate; and (C) the result of the processing unit generates a programming circuit comprises an arithmetic logic circuit such those of the common circuit data. 如請求項5所述的電路規劃結果產生方法,其中,在步驟(A)中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。The method for generating a circuit planning result according to claim 5, wherein in step (A), the processing unit first calculates the reference neuron array and each neuron array that has not been assigned to any array group. A total weight difference between the total weight difference equal to the sum of each weight value of the reference neuron array and the absolute value of the difference between each weight value corresponding to the neuron array, the processing unit and When it is determined that the reference neuron array and the neuron array meet the similar condition, the neuron array is allocated to the array group to which the reference neuron array belongs, and the similar condition is that the total weight difference is less than a predetermined Threshold. 如請求項5所述的電路規劃結果產生方法,其中,在步驟(B)中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。The method for generating a circuit planning result according to claim 5, wherein in step (B), each arithmetic logic circuit further includes a single input for a variable to perform the corresponding multiplication corresponding to the corresponding weight value An input terminal of the operation, and a single output terminal for outputting the operation result of the multiplication operation. 如請求項5所述的電路規劃結果產生方法,還包含一介於步驟(B)之前的步驟(D):該處理單元將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。The method for generating a circuit planning result according to claim 5, further comprising a step (D) before step (B): the processing unit converts at least one weight value included in at least one of the neuron arrays to An approximation update, where the approximation is equal to the power of x and x is an integer. 一種電路規劃結果產生系統,包含:一儲存單元,預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算;及一處理單元,電連接該儲存單元,其中,當該處理單元接收到一電路規劃結果產生指令時,將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件;接著,該處理單元根據該等陣列群組的每一神經元陣列的該等權重值,產生一對應的電路資料及一邏輯閘數量,每一電路資料包含對應該神經元陣列的該等權重值的該等乘法運算的多個運算邏輯電路,對應每一神經元陣列的該邏輯閘數量是對應該神經元陣列的該電路資料的該等運算邏輯電路所包含的多個邏輯閘的總數量;接著,該處理單元將每一陣列群組中,對應的該邏輯閘數量最少的該電路資料作為該陣列群組的一共用電路資料,並產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。A circuit planning result generation system includes: a storage unit that stores a plurality of neuron arrays in advance, each neuron array includes a plurality of weight values, each weight value corresponding to a multiplication operation; and a processing unit electrically connected to the storage A unit, wherein when the processing unit receives a circuit planning result generating instruction, each neuron array is assigned to one of a plurality of array groups, and the neuron array is first assigned to each array group As a reference neuron array of the array group, the reference neuron array and each of the other neuron arrays in the array group meet a similar condition related to the weight values; then, the processing The unit generates a corresponding circuit data and a number of logic gates according to the weight values of each neuron array of the array groups. Each circuit data includes the multiplications corresponding to the weight values of the neuron array. A plurality of operation logic circuits for operation, the number of the logic gates corresponding to each neuron array is the operation logic corresponding to the circuit data of the neuron array The total number of multiple logic gates included in the circuit; then, the processing unit uses the circuit data corresponding to the least number of logic gates in each array group as a common circuit data of the array group, and generates a The circuit planning results of the operational logic circuits containing the shared circuit data. 如請求項9所述的電路規劃結果產生系統,其中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。The circuit planning result generating system according to claim 9, wherein the processing unit first calculates a total weight difference between the reference neuron array and each neuron array that has not been assigned to any array group. The total weight difference is equal to the sum of each weight value of the reference neuron array and the absolute value of the difference between each weight value corresponding to the neuron array, and the processing unit determines the reference neuron When the array and the neuron array meet the similar condition, the neuron array is allocated to the array group to which the reference neuron array belongs, and the similar condition is that the total weight difference is less than a predetermined threshold. 如請求項9所述的電路規劃結果產生系統,其中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。The circuit planning result generation system according to claim 9, wherein each operation logic circuit further includes a single input terminal for a variable input to perform the multiplication operation corresponding to the corresponding weight value, and a single An output terminal for outputting the operation result of the multiplication operation. 如請求項9所述的電路規劃結果產生系統,其中,該處理單元在產生該等電路資料之前,將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。The circuit planning result generating system according to claim 9, wherein before generating the circuit data, the processing unit updates at least one weight value included in at least one of the neuron arrays with an approximate value, wherein , The approximate value is equal to the power of x, and x is an integer. 一種電路規劃結果產生系統,包含:一儲存單元,預先儲存多個神經元陣列,每一神經元陣列包含多個權重值,每一權重值對應一乘法運算;及一處理單元,電連接該儲存單元,其中,當該處理單元接收到一電路規劃結果產生指令時,將每一神經元陣列分配至多個陣列群組的其中一者,最先被分配至每一陣列群組的該神經元陣列作為該陣列群組的一參考神經元陣列,該參考神經元陣列與該陣列群組中之其他神經元陣列的每一者之間符合一相關於該等權重值的相似條件;接著,該處理單元根據每一陣列群組之該參考神經元陣列的該等權重值,產生一對應該陣列群組的共用電路資料,該共用電路資料包含多個運算邏輯電路,該等運算邏輯電路分別相關於該參考神經元陣列之該等權重值所對應的該等乘法運算,且每一運算邏輯電路包含至少一邏輯閘;接著,該處理單元產生一包含該等共用電路資料之該等運算邏輯電路的電路規劃結果。A circuit planning result generation system includes: a storage unit that stores a plurality of neuron arrays in advance, each neuron array includes a plurality of weight values, each weight value corresponding to a multiplication operation; and a processing unit electrically connected to the storage A unit, wherein when the processing unit receives a circuit planning result generating instruction, each neuron array is assigned to one of a plurality of array groups, and the neuron array is first assigned to each array group As a reference neuron array of the array group, the reference neuron array and each of the other neuron arrays in the array group meet a similar condition related to the weight values; then, the processing The unit generates a pair of common circuit data corresponding to the array group according to the weight values of the reference neuron array of each array group. The common circuit data includes a plurality of operation logic circuits, and the operation logic circuits are respectively related to The multiplication operations corresponding to the weight values of the reference neuron array, and each operation logic circuit includes at least one logic gate; The processing unit generates a programming circuit comprising such a common result of such operation of the logic circuit information. 如請求項13所述的電路規劃結果產生系統,其中,該處理單元是先計算該參考神經元陣列與還未被分配至任一陣列群組的每一神經元陣列之間的一總權重差,該總權重差等於該參考神經元陣列之每一權重值,與該神經元陣列之對應的每一權重值之間的差的絕對值之總和,該處理單元並於判斷出該參考神經元陣列與該神經元陣列符合該相似條件時,將該神經元陣列分配至該參考神經元陣列所屬的該陣列群組中,該相似條件為該總權重差小於一預定閥值。The circuit planning result generation system according to claim 13, wherein the processing unit first calculates a total weight difference between the reference neuron array and each neuron array that has not been assigned to any array group. The total weight difference is equal to the sum of each weight value of the reference neuron array and the absolute value of the difference between each weight value corresponding to the neuron array, and the processing unit determines the reference neuron When the array and the neuron array meet the similar condition, the neuron array is allocated to the array group to which the reference neuron array belongs, and the similar condition is that the total weight difference is less than a predetermined threshold. 如請求項13所述的電路規劃結果產生系統,其中,每一運算邏輯電路還包含單一個用於供一變數輸入,以與對應之該權重值執行對應之該乘法運算的輸入端,以及單一個用於輸出該乘法運算之運算結果的輸出端。The circuit planning result generation system according to claim 13, wherein each operation logic circuit further includes a single input terminal for a variable input to perform the multiplication operation corresponding to the corresponding weight value, and a single An output terminal for outputting the operation result of the multiplication operation. 如請求項13所述的電路規劃結果產生系統,其中,該處理單元在產生該等電路資料之前,將該等神經元陣列其中至少一者所包含的其中至少一權重值以一近似值更新,其中,該近似值等於2的x次方,且x為整數。The circuit planning result generation system according to claim 13, wherein before the processing unit generates the circuit data, at least one weight value included in at least one of the neuron arrays is updated with an approximate value, wherein , The approximate value is equal to the power of x, and x is an integer.
TW107105438A 2018-02-14 2018-02-14 Method and system for generating circuit planning results TWI659324B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107105438A TWI659324B (en) 2018-02-14 2018-02-14 Method and system for generating circuit planning results
CN201810776618.5A CN110163352B (en) 2018-02-14 2018-07-13 Circuit planning result generation method and system
US16/268,197 US11907834B2 (en) 2018-02-14 2019-02-05 Method for establishing data-recognition model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107105438A TWI659324B (en) 2018-02-14 2018-02-14 Method and system for generating circuit planning results

Publications (2)

Publication Number Publication Date
TWI659324B true TWI659324B (en) 2019-05-11
TW201935286A TW201935286A (en) 2019-09-01

Family

ID=67348947

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107105438A TWI659324B (en) 2018-02-14 2018-02-14 Method and system for generating circuit planning results

Country Status (2)

Country Link
CN (1) CN110163352B (en)
TW (1) TWI659324B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150005610A1 (en) * 2013-06-28 2015-01-01 Stmicroelectronics, Inc. Low power biological sensing system
TW201710959A (en) * 2015-05-21 2017-03-16 咕果公司 Neural network processor
TW201729124A (en) * 2015-05-21 2017-08-16 咕果公司 Vector computation unit in a neural network processor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06195322A (en) * 1992-10-29 1994-07-15 Hitachi Ltd Information processor used as general purpose neurocomputer
CN103019656B (en) * 2012-12-04 2016-04-27 中国科学院半导体研究所 The multistage parallel single instruction multiple data array processing system of dynamic reconstruct
WO2014085975A1 (en) * 2012-12-04 2014-06-12 中国科学院半导体研究所 Dynamically reconfigurable multistage parallel single-instruction multi-data array processing system
US10482372B2 (en) * 2015-12-23 2019-11-19 Intel Corporation Interconnection scheme for reconfigurable neuromorphic hardware

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150005610A1 (en) * 2013-06-28 2015-01-01 Stmicroelectronics, Inc. Low power biological sensing system
TW201710959A (en) * 2015-05-21 2017-03-16 咕果公司 Neural network processor
TW201729124A (en) * 2015-05-21 2017-08-16 咕果公司 Vector computation unit in a neural network processor

Also Published As

Publication number Publication date
TW201935286A (en) 2019-09-01
CN110163352B (en) 2023-08-29
CN110163352A (en) 2019-08-23

Similar Documents

Publication Publication Date Title
JP6857286B2 (en) Improved performance of neural network arrays
US11610127B2 (en) Methods and systems for selecting quantisation parameters for deep neural networks using back-propagation
US11475284B2 (en) Information processing apparatus, neural network program, and processing method for neural network
KR20170007151A (en) Method and apparatus for executing artificial neural networks
KR20190107766A (en) Computing device and method
CN112789627B (en) Neural network processor, data processing method and related equipment
CN111353598A (en) Neural network compression method, electronic device and computer readable medium
US11475305B2 (en) Activation function functional block for electronic devices
Mao et al. Energy-efficient machine learning accelerator for binary neural networks
WO2022247092A1 (en) Methods and systems for congestion prediction in logic synthesis using graph neural networks
Guan et al. Recursive binary neural network training model for efficient usage of on-chip memory
TWI659324B (en) Method and system for generating circuit planning results
US10990525B2 (en) Caching data in artificial neural network computations
Ahn Computation of deep belief networks using special-purpose hardware architecture
JP7251354B2 (en) Information processing device, information processing program, and information processing method
JP7137067B2 (en) Arithmetic processing device, learning program and learning method
Morozov et al. Issues of implementing neural network algorithms on memristor crossbars
TWM563580U (en) Circuit planning result generation system
CN111382835A (en) Neural network compression method, electronic device and computer readable medium
CN112784206A (en) Winograd convolution operation method, device, equipment and storage medium
WO2020121030A1 (en) Caching data in artificial neural network computations
US20240143985A1 (en) Identifying one or more quantisation parameters for quantising values to be processed by a neural network
US20240135153A1 (en) Processing data using a neural network implemented in hardware
Li et al. Neuromorphic processor-oriented hybrid Q-format multiplication with adaptive quantization for tiny YOLO3
US20210326709A1 (en) Modifying structure of artificial neural networks by collocating parameters