WO2023130725A1 - Hardware implementation method and apparatus for reservoir computing model based on random resistor array, and electronic device - Google Patents
Hardware implementation method and apparatus for reservoir computing model based on random resistor array, and electronic device Download PDFInfo
- Publication number
- WO2023130725A1 WO2023130725A1 PCT/CN2022/112493 CN2022112493W WO2023130725A1 WO 2023130725 A1 WO2023130725 A1 WO 2023130725A1 CN 2022112493 W CN2022112493 W CN 2022112493W WO 2023130725 A1 WO2023130725 A1 WO 2023130725A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- voltage signal
- random
- output voltage
- reserve pool
- read voltage
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000011159 matrix material Substances 0.000 claims abstract description 114
- 230000015556 catabolic process Effects 0.000 claims abstract description 78
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 21
- 238000012804 iterative process Methods 0.000 claims description 11
- 125000004122 cyclic group Chemical group 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010801 machine learning Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 241000689227 Cora <basidiomycete fungus> Species 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000004540 process dynamic Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Definitions
- the present application relates to the field of machine learning and artificial intelligence, and in particular to a hardware implementation method, device and electronic equipment of a reserve pool calculation model based on a random resistance array.
- the reserve pool calculation model is proposed as an efficient neural network algorithm.
- the reserve pool calculation model consists of an input layer, a reserve pool layer containing nonlinear nodes, and a readout layer.
- the nodes in the reserve layer are initialized randomly, and the current state of each node is not only related to the input, but also depends on the previous state.
- neither the input weight nor the weight of the reserve pool node needs to be changed, only the final readout layer needs to be trained. This not only preserves the ability of the model to deal with timing problems, but also greatly shortens the model training time and reduces the difficulty of training. It is very suitable for edge computing application scenarios with limited computing power in the Internet of Things era.
- the storage-computing integrated hardware based on new neuromorphic devices can effectively reduce the migration of data between computing and storage units, and greatly reduce the vector matrix multiplication in the reserve pool calculation model through Kirchhoff's law and Ohm's law. Operation, thereby greatly improving processing speed and reducing system power consumption.
- the present application discloses a hardware implementation method, device and electronic equipment for a storage pool calculation model based on a random resistance array, which are used to provide a hardware implementation method and device for a storage pool calculation model based on a random resistance array.
- the present application provides a hardware implementation method of a reserve pool calculation model based on a random resistance array, which is applied to electronic equipment running the reserve pool calculation model, and the electronic equipment has a resistive switch device composed of multiple resistive switch devices such as The cross array and the printed circuit board circuit, the cross array of the resistive variable devices are electrically connected to the printed circuit board circuit; the number of the resistive variable devices is the same as the corresponding number of trained weights in the electronic equipment, so
- the storage pool calculation model based on the random resistance array includes a storage pool layer, and the method includes:
- the hardware implementation method of the reserve pool calculation model based on the random resistance array can obtain the random weight of the reserve pool layer generated based on the cross array of the resistive variable device, through Apply a breakdown voltage to the cross array of resistive switching devices to form a randomly distributed random resistance matrix, convert the input signal into a read voltage signal through the printed circuit board circuit, based on the read voltage signal and the random resistance matrix performing vector matrix multiplication to determine the output voltage signal, repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, Simulating the iterative process of the reserve pool layer until the output voltage signal is determined to be the final target output voltage signal when the input signal satisfies the output preset condition.
- the hardware implementation method of the calculation model of the reserve pool is to perform a breakdown operation by applying a breakdown voltage to the cross array of resistive switching devices composed of resistive switching devices, and to use the breakdown randomness of the resistive switching devices themselves to generate large-scale
- the random resistor array and the random weights formed by the random resistor array can efficiently implement the reserve pool calculation model in hardware, and provide the possibility for the hardware to efficiently implement the reserve pool calculation model in the edge computing application scenario with limited computing power.
- the random resistance matrix represents the breakdown voltage
- each of the resistive switching devices in the interleaved array of resistive switching devices is in a breakdown state or is not broken down at random state, and the random conductance state of each device after being subjected to breakdown, including a double random state.
- the converting the input signal into a read voltage signal through the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal includes :
- the input signal is converted into a read voltage signal through the printed circuit board circuit, the read voltage signal is applied to the random resistance matrix, and the read voltage signal and the The random resistance matrix is processed by vector matrix multiplication to determine the output voltage signal.
- the repeated conversion of the printed circuit board circuit from an input signal into a read voltage signal, and performing vector matrix multiplication on the basis of the read voltage signal and the random resistance matrix to determine the output voltage signal Step, simulating the cyclic iterative process of the reserve pool layer until the output voltage signal is determined to be the final target output voltage signal under the condition that the input signal satisfies the output preset condition, including:
- the reserve pool calculation model further includes a classification layer connected to the reserve pool layer, and the target output voltage signal includes a data set characterizing node characteristics in the determination of the output voltage After the signal is the final target output voltage signal, the method also includes:
- the target output voltage signal is input to the classification layer, and after the classification process is performed on the data set in the target output voltage signal, the prediction result is finally determined and output.
- the electronic device further includes an on-board digital processor electrically connected to the cross array of resistive switching devices and the printed circuit board circuit, and the on-board digital processor is used to perform the classification of the classification layer. number crunching.
- the present application also provides a hardware realization device of a reserve pool calculation model based on a random resistance array, which is applied to electronic equipment running the reserve pool calculation model, and the electronic equipment has a resistive switch composed of multiple resistive switch devices such as A cross array of devices and a printed circuit board circuit, the cross array of resistive variable devices is electrically connected to the printed circuit board circuit; the number of the resistive variable devices is the same as the number of corresponding trained weights in the electronic device,
- the storage pool calculation model based on the random resistance array includes a storage pool layer, and the device includes:
- a random weight acquisition module configured to acquire the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices
- a breakdown voltage applying module configured to form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices
- An output voltage determination module configured to convert the input signal into a read voltage signal through the printed circuit board circuit, and determine the output voltage signal by vector matrix multiplication based on the read voltage signal and the random resistance matrix;
- the target output voltage signal determination module is used to repeat the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, Simulating the cyclic iterative process of the reserve pool layer until the output voltage signal is determined to be the final target output voltage signal when the input signal is determined to meet the output preset condition.
- the output voltage signal determination module includes:
- the output voltage signal determination sub-module is used to convert the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff's law and Ohm's law performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix to determine an output voltage signal;
- the random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the cross array is in a breakdown state or a random state without breakdown, and the random state of each device after being broken down.
- Conductance states including double random states.
- the target output voltage signal determination module includes:
- the target output voltage signal determination sub-module is used to repeat the conversion of the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff law and Ohm's law, the read voltage signal and the random resistance matrix are subjected to vector matrix multiplication processing, and the step of determining the output voltage signal simulates the iterative process of the reserve pool layer until the input signal is determined to meet the output In the case of preset conditions, the output voltage signal is determined to be the final target output voltage signal.
- the reserve pool calculation model also includes a classification layer connected to the reserve pool layer, and the device also includes:
- the prediction result output module is configured to input the target output voltage signal into the classification layer, and finally determine and output the prediction result after the classification process is performed on the data sets in the target output voltage signal.
- the electronic equipment also includes an on-board digital processor electrically connected to the cross array of resistive variable devices and the printed circuit board circuit, and the on-board digital processor is used to perform digital operations on the classification layer.
- the beneficial effect of the hardware implementation device of the storage pool calculation model based on the random resistance array provided by the second aspect is the same as the hardware implementation method of the storage pool calculation model based on the random resistance array described in the first aspect or any possible implementation of the first aspect.
- the beneficial effects are the same, and will not be repeated here.
- the present application also provides an electronic device, including: one or more processors; and one or more machine-readable media having instructions stored thereon, when executed by the one or more processors , so that the device executes the hardware implementation device of the random resistance array-based reserve pool calculation model described in any possible implementation manner of the second aspect.
- the beneficial effect of the electronic device provided by the third aspect is the same as that of the hardware implementation device of the storage pool calculation model based on the random resistance array described in the second aspect or any possible implementation of the second aspect, and details are not repeated here.
- Fig. 1 shows a schematic structural diagram of a hardware implementation method of a reserve pool calculation model based on a random resistance array provided in an embodiment of the present application
- FIG. 2 shows a schematic structural diagram of another hardware implementation method of a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application
- Fig. 3 shows a schematic diagram of using a cross array of resistive devices to form random weights provided by the embodiment of the present application
- Fig. 4 shows a breakdown voltage distribution diagram of a resistive switch device cross array composed of a resistive switch device provided by an embodiment of the present application
- Fig. 5 shows a schematic structural diagram of a cross array of resistive switching devices and a printed circuit board circuit provided by an embodiment of the present application
- FIG. 6 shows a schematic diagram of a network structure for implementing a reserve pool calculation model provided by an embodiment of the present application
- FIG. 7 shows a schematic diagram of a network CORA dataset provided by an embodiment of the present application.
- Fig. 8 shows a schematic diagram of the accuracy rate of a reserve pool calculation model based on a random resistance array measured by hardware according to an embodiment of the present application
- Fig. 9 shows a schematic diagram of the comparison of the number of operands and power consumption between an electronic device running a reserve pool calculation model provided by an embodiment of the present application and a traditional CMOS digital circuit system hardware implementing the reserve pool calculation model;
- FIG. 10 shows a schematic structural diagram of a hardware implementation device for a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application
- FIG. 11 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application.
- FIG. 12 is a schematic structural diagram of a chip provided by an embodiment of the present application.
- the core of the present application is to provide a hardware implementation method of a reserve pool calculation model based on a random resistance array.
- Fig. 1 shows a schematic flowchart of a hardware implementation method of a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application, the hardware implementation method of the reserve pool calculation model is applied to an electronic device running the reserve pool calculation model, The electronic equipment has a resistive switching device cross array and a printed circuit board circuit composed of a plurality of resistive switching devices, and the resistive switching device cross array is electrically connected to the printed circuit board circuit; the number of the resistive switching devices The number of weights corresponding to the training in the electronic device is the same, and the reserve pool calculation model based on the random resistor array includes a reserve pool layer.
- the hardware implementation method of the reserve pool computing model includes:
- Step 101 Obtain the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices.
- the same number of resistive devices as the weights trained in the electronic device can be used to form a cross array of resistive devices to generate random weights of the reserve pool layer in the reserve pool calculation model.
- Step 102 Form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices.
- the random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the cross array of resistive switching devices is in a breakdown state or a non-breakdown state.
- the randomness of device breakdown can be used to form a randomly distributed breakdown-non-breakdown random state, and the random conductance state of each device after being broken down, Contains a double random resistor matrix, where the random distribution can be tuned by applying different breakdown voltages.
- Step 103 Convert the input signal into a read voltage signal through the printed circuit board circuit, and perform vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine an output voltage signal.
- the input signal can be converted into a read voltage signal through the printed circuit board circuit, the read voltage signal is applied to the random resistance matrix, and the The read voltage signal and the random resistance matrix are subjected to vector matrix multiplication processing to determine the output voltage signal.
- Step 104 repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, and simulating the reserve pool layer The loop iterative process until the output voltage signal is determined to be the final target output voltage signal in the case of determining that the input signal satisfies the output preset condition.
- the conversion of the input signal into a read voltage signal through the printed circuit board circuit can be repeated, and the read voltage signal is applied to the random resistance matrix, using Kirchhoff's law and Ohm's law Performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix to determine the output voltage signal, simulating the cyclic iteration process of the reserve pool layer, so as to realize the hardware implementation of the reserve pool layer until the
- the output voltage signal is the final target output voltage signal
- the target output voltage signal can be input to the classification layer, and the target output voltage signal can be output at the classification layer
- the prediction result is finally determined and output.
- the hardware implementation method of the above-mentioned reserve pool calculation model based on the random resistance array is to perform a breakdown operation by applying a breakdown voltage to the cross array of resistive switching devices composed of resistive switching devices, and to use the breakdown randomness of the resistive switching device itself
- a large-scale random resistor array is generated quickly and at low cost.
- the random weights formed by the random resistor array can efficiently implement the reserve pool calculation model in hardware, which provides a high-efficiency hardware implementation of the reserve pool calculation model in edge computing application scenarios with limited computing power. possible.
- the hardware implementation method of the storage pool calculation model based on the random resistance array can obtain the random weight of the storage pool layer generated based on the cross array of the resistive switching devices, and pass the cross array of the resistive switching devices Apply a breakdown voltage to form a randomly distributed random resistance matrix, convert the input signal into a read voltage signal through the printed circuit board circuit, and perform vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal , repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, simulating the cycle of the reserve pool layer An iterative process until the output voltage signal is determined to be the final target output voltage signal when it is determined that the input signal satisfies the output preset condition, wherein, due to the above-mentioned hardware implementation method of the reserve pool calculation model based on a random resistor array , the breakdown operation is performed by applying
- FIG. 2 shows a schematic flowchart of another hardware implementation method for a reserve pool calculation model based on a random resistor array provided in an embodiment of the present application, which is applied to an electronic device running a reserve pool calculation model, and the electronic device
- a cross array of resistance switching devices and a printed circuit board circuit composed of a plurality of resistance switching devices, the cross array of resistance switching devices and the printed circuit board circuit are electrically connected; the number of the resistance switching devices and the electronic equipment
- the number of weights corresponding to the training is the same
- the reserve pool calculation model based on the random resistance array includes a reserve pool layer
- the reserve pool calculation model also includes a classification layer connected to the reserve pool layer, as shown in Figure 2 , methods include:
- Step 201 Obtain the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices.
- the same number of resistive devices as the weights trained in the electronic device can be used to form a cross array of resistive devices to generate random weights of the reserve pool layer in the reserve pool calculation model.
- the resistive switching device may include any one of a memristor, a phase change memory, a ferroelectric tunneling device, or a magnetic random access memory, and may also include other resistive switching devices, which are not specifically limited in this embodiment of the present application , and can be adjusted according to actual application scenarios.
- Fig. 3 shows a schematic diagram of a random weight using a cross array of resistive switching devices provided by an embodiment of the present application.
- A represents a cross array of resistive switching devices composed of multiple resistive switching devices
- B represents a resistive switching device
- the measured conductance distribution diagram of the cross array of resistive switching devices composed of devices can use the resistive switching devices with the same number of trained weights in the electronic equipment to form the cross array A of resistive switching devices, and generate the reserve pool in the calculation model of the reserve pool
- the random weight of the layer, from the conductance distribution diagram B it can be seen that under a given breakdown voltage, the cross-array of resistive switching devices forms a random breakdown-unbreakdown random resistance array, and the device conductance value has Random distribution properties.
- a large number of random weights composed of random resistor arrays have good random characteristics and meet the requirements of the reserve pool calculation model.
- Step 202 Form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices.
- the random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the intersecting array of resistive switching devices is in a breakdown state or a random state without breakdown, and after being broken down Random conductance states for each device, including double random states.
- the randomness of device breakdown can be used to form a randomly distributed breakdown-non-breakdown random state, and the random conductance state of each device after being broken down, Contains a double random resistor matrix, where the random distribution can be tuned by applying different breakdown voltages.
- the value of the breakdown voltage is between 3.0 volts and 3.7 volts, and the breakdown operation is performed on the resistive switching device.
- the embodiment of the present application does not limit the specific value of the breakdown voltage, and it can be marked and adjusted according to the actual application scenario . Due to the randomness of the resistive switching device itself, whether the resistive switching device breaks down at a given breakdown voltage and the conductance after the breakdown operation are random, so a random distribution composed of breakdown and non-breakdown devices can be obtained
- the resistance array can adjust the random distribution by adjusting the size of the applied breakdown voltage, so that the large-scale random weight required by the reserve pool layer can be obtained quickly and at low cost, and the generated random resistance array can be used as the reserve pool layer
- the random weight matrix of is .
- Fig. 4 shows the distribution diagram of the breakdown voltage of a resistive switching device cross array composed of resistive switching devices provided by the embodiment of the present application.
- the breakdown voltage of the device is random, so when a given When the breakdown voltage is reached, whether the device breaks down and the conductance after the breakdown operation will obey the random distribution, so this randomness can be used to generate a large number of random weights required by the reserve pool layer in the reserve pool model quickly and at low cost.
- the random distribution can be further tuned by changing the breakdown voltage.
- Step 203 Convert the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff's law and Ohm's law to convert the read voltage signal Perform vector matrix multiplication processing with the random resistance matrix to determine the output voltage signal.
- Fig. 5 shows a schematic structural diagram of a cross array of resistive switching devices and a printed circuit board circuit provided by an embodiment of the present application.
- a random resistor array and a resistive switching device array (resistive switching device A cross array) C and a printed circuit board (PCB) circuit D and the resistive variable device cross array C is electrically connected to the printed circuit board circuit D.
- the size of the interleaved array of resistive switching devices composed of resistive switching devices may be 256Kb, and consists of 512 columns and 512 rows.
- the hardware system consists of a Field Programmable Gate Array (Field Programmable Gate Array, FPGA) with an ARM core, a resistive switching device cross array composed of resistive switching devices, and a high-speed PCB circuit.
- the PCB circuit contains common electronic devices such as digital-to-analog converters, multiplexers, analog-to-digital converters, and transconductance amplifiers.
- the read voltage is converted by the digital-to-analog converter and input to the array from the bit line through the decoding circuit.
- the result of the vector matrix multiplication is obtained by reading the current gathered at the source line.
- the result is converted by the analog-to-digital converter and amplified by the transconductance amplifier. Input to the onboard digital processor for subsequent calculations.
- Step 204 Repeat the conversion of the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and convert the The step of performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix, determining the output voltage signal, simulating the cyclic iteration process of the reserve pool layer, until it is determined that the input signal satisfies the output preset condition, The output voltage signal is determined as the final target output voltage signal.
- Step 205 Input the target output voltage signal into the classification layer, and after the classification process is performed on the data set in the target output voltage signal, the prediction result is finally determined and output.
- the electronic device further includes an onboard digital processor electrically connected to the cross array of resistive variable devices and the printed circuit board circuit, and the onboard digital processor is used to perform digital operations on the classification layer.
- FIG. 6 shows a schematic diagram of a network structure for implementing a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application.
- the network structure includes an input layer 01 and a reserve pool layer 02 , classification layer 03 and output layer 04, wherein the reserve pool layer is also a random weight layer, the classification layer is also a fully connected neural network layer or a linear regression layer, the input signal is input from the input layer, and after passing through the reserve pool layer, the Iteration completion judgment, when the iteration is not completed, return to the reserve pool layer for processing, until when the iteration is completed, output the signal to the classification layer, and finally output the prediction result from the output layer.
- the typical values of the number of nodes and the number of weights used in the reserve pool layer are 50 and 2500 respectively
- the classification layer is realized by two methods of multi-layer fully connected neural network or linear regression, wherein the multi-layer fully connected neural network can specifically be A double-layer fully connected layer with a structure of 2500-50-3 is used.
- the double-layer fully connected layer means that the number of nodes in each hidden layer in the neural network is 64, 256 and 10.
- the linear regression adopts the ridge regression method.
- the hardware platform of this application may include a ZYNQ XC7Z020 FPGA with an ARM core and a 256Kb resistive variable device array chip; the software platform is CPU: i7-6700K, GPU: GTX1060 6G, Pytorch: 1.6.0.
- FIG. 7 shows a schematic diagram of a network CORA data set provided by the embodiment of the present application.
- the CORA data set is typical data for node classification in neural networks set.
- Each node in the graph represents an academic article, and the connecting edge between points indicates that there is a citation relationship between two articles.
- the number of nodes is 2708, there are 7 categories in total, and the feature dimension of nodes is 1433.
- This application is tested on the CORA data set of the citation network, and its average recognition rate reaches 87.12%, and the number of operations and system energy consumption are reduced by about 300 times.
- FIG. 8 shows a schematic diagram of the accuracy of a hardware measured reserve pool calculation model provided by the embodiment of the present application. It can be seen from FIG. 8 that the reserve pool calculation model implemented on a hardware system based on a random resistor array It has a good performance on the CORA data set, with an average accuracy rate of 87.12%, which is comparable to the existing results based on traditional CMOS digital circuit systems.
- Fig. 9 shows a kind of random resistance array hardware system (the electronic device that runs the reserve pool calculation model) and the traditional CMOS digital circuit system hardware implementation reserve pool calculation model provided by the embodiment of the present application in terms of operands and power consumption comparison diagram. It can be seen that by using the hardware implementation scheme of the storage-computing integrated architecture based on random resistor arrays, the complexity of hardware implementation is greatly reduced, thereby greatly optimizing the number of operations and system power consumption, which is reduced by about 300 times.
- the hardware implementation method of the above-mentioned reserve pool calculation model based on the random resistance array is to perform a breakdown operation by applying a breakdown voltage to the cross array of resistive switching devices composed of resistive switching devices, and to use the breakdown randomness of the resistive switching device itself
- a large-scale random resistor array is generated quickly and at low cost.
- the random weights formed by the random resistor array can efficiently implement the reserve pool calculation model in hardware, which provides a high-efficiency hardware implementation of the reserve pool calculation model in edge computing application scenarios with limited computing power. possible.
- the hardware implementation method of the storage pool calculation model based on the random resistance array can obtain the random weight of the storage pool layer generated based on the cross array of the resistive switching devices, and by crossing the resistive switching devices
- the array applies a breakdown voltage to form a randomly distributed random resistance matrix, the input signal is converted into a read voltage signal through the printed circuit board circuit, and the output voltage is determined by vector matrix multiplication based on the read voltage signal and the random resistance matrix signal, repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, determining the output voltage signal based on the read voltage signal and the random resistance matrix, and simulating the step of the output voltage signal of the reserve pool layer
- the iterative process is repeated until the output voltage signal is determined to be the final target output voltage signal when it is determined that the input signal satisfies the output preset condition, wherein, due to the hardware implementation of the above-mentioned reserve pool calculation model based on a random resistance array
- the method is to perform a breakdown operation by applying
- Fig. 10 shows a schematic structural diagram of a hardware implementation device for a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application, which is applied to an electronic device running a reserve pool calculation model, and the electronic device has multiple resistive devices such as A cross array of resistive switching devices and a printed circuit board circuit are formed, and the cross array of resistive switching devices is electrically connected to the printed circuit board circuit; the number of the resistive switching devices and the corresponding trained The number of weights is the same, and the reserve pool calculation model based on the random resistance array includes a reserve pool layer.
- the hardware implementation device 300 of the reserve pool calculation model includes:
- a random weight acquisition module 301 configured to acquire the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices
- a breakdown voltage applying module 302 configured to form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices
- An output voltage determination module 303 configured to convert the input signal into a read voltage signal through the printed circuit board circuit, and perform matrix-vector multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal;
- the target output voltage signal determination module 304 is used to repeat the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing matrix-vector multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal. , simulating a cyclic iterative process of the reserve pool layer, until the output voltage signal is determined to be the final target output voltage signal under the condition that the input signal satisfies the output preset condition.
- the output voltage signal determination module includes:
- the output voltage signal determination sub-module is used to convert the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff's law and Ohm's law performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix to determine an output voltage signal;
- the random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the cross array is in a breakdown state or a random state without breakdown, and the random state of each device after being broken down.
- Conductance states including double random states.
- the target output voltage signal determination module includes:
- the target output voltage signal determination sub-module is used to repeat the conversion of the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff law and Ohm's law, the read voltage signal and the random resistance matrix are subjected to vector matrix multiplication processing, and the step of determining the output voltage signal simulates the iterative process of the reserve pool layer until the input signal is determined to meet the output In the case of preset conditions, the output voltage signal is determined to be the final target output voltage signal.
- the reserve pool calculation model also includes a classification layer connected to the reserve pool layer, and the device also includes:
- the prediction result output module is configured to input the target output voltage signal into the classification layer, and finally determine and output the prediction result after the classification process is performed on the data sets in the target output voltage signal.
- the electronic equipment also includes an on-board digital processor electrically connected to the cross array of resistive variable devices and the printed circuit board circuit, and the on-board digital processor is used to perform digital operations on the classification layer.
- the hardware implementation device for the calculation model of the reserve pool provided in the embodiment of the present application can obtain the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices, and apply a breakdown voltage to the intersecting array of resistive switching devices, forming a randomly distributed random resistance matrix, converting the input signal into a read voltage signal through the printed circuit board circuit, performing matrix-vector multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, and repeating the printing
- the circuit board circuit converts the input signal into a read voltage signal, and performs vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, simulating the cyclic iteration process of the reserve pool layer until the When it is determined that the input signal satisfies the output preset condition, the output voltage signal is determined to be the final target output voltage signal, wherein, due to the above-mentioned hardware implementation method of the reserve pool calculation model based on the random resistance array, the resistance A cross-array of resist
- a hardware implementation device for a reserve pool calculation model provided by the present application is applied to the hardware implementation of the reserve pool calculation model shown in any one of Figures 1 to 9 including a controller and at least one detection circuit electrically connected to the controller method, in order to avoid repetition, it is not repeated here.
- the electronic device in the embodiment of the present application may be a device, or may be a component, an integrated circuit, or a chip in a terminal.
- the device may be a mobile electronic device or a non-mobile electronic device.
- the mobile electronic device may be a mobile phone, a tablet computer, a notebook computer, a handheld computer, a vehicle electronic device, a wearable device, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook or a personal digital assistant (personal digital assistant).
- non-mobile electronic devices can be servers, network attached storage (Network Attached Storage, NAS), personal computer (personal computer, PC), television (television, TV), teller machine or self-service machine, etc., this application Examples are not specifically limited.
- Network Attached Storage NAS
- personal computer personal computer, PC
- television television
- teller machine or self-service machine etc.
- the electronic device in this embodiment of the present application may be a device with an operating system.
- the operating system may be an Android (Android) operating system, an ios operating system, or other possible operating systems, which are not specifically limited in this embodiment of the present application.
- FIG. 11 shows a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application.
- the electronic device 400 includes a processor 410 .
- the above-mentioned processor 410 can be a general central processing unit (central processing unit, CPU), a microprocessor, an application-specific integrated circuit (application-specific integrated circuit, ASIC), or one or more for controlling This application programs the implementation of integrated circuits.
- CPU central processing unit
- ASIC application-specific integrated circuit
- the electronic device 400 may further include a communication line 440 .
- Communication line 440 may comprise a pathway for communicating information between the above-described components.
- the electronic device may further include a communication interface 420 .
- a communication interface 420 There may be one or more communication interfaces 420 .
- Communication interface 420 may use any transceiver-like device for communicating with other devices or a communication network.
- the electronic device may further include a memory 430 .
- the memory 430 is used to store computer-executed instructions for implementing the solutions of the present application, and the execution is controlled by the processor.
- the processor is configured to execute the computer-executed instructions stored in the memory, so as to realize the method provided by the embodiment of the present application.
- the memory 430 can be a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, a random access memory (random access memory, RAM) or can store Other types of dynamic storage devices for information and instructions can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or Other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), magnetic disc storage medium or other magnetic storage device, or can be used to carry or store desired information in the form of instructions or data structures program code and any other medium that can be accessed by a computer, but is not limited to this.
- the memory 430 may exist independently, and is connected to the processor 410 through the communication line 440 .
- the memory 430 can also be integrated with the processor 410 .
- the computer-executed instructions in the embodiments of the present application may also be referred to as application program codes, which is not specifically limited in the embodiments of the present application.
- the processor 410 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 11 .
- a terminal device may include multiple processors, such as a first processor 4101 and a second processor 4102 in FIG. 11 .
- processors can be a single-core processor or a multi-core processor.
- FIG. 12 is a schematic structural diagram of a chip provided by an embodiment of the present application. As shown in FIG. 12 , the chip 500 includes one or more than two (including two) processors 410 .
- the chip further includes a communication interface 420 and a memory 430.
- the memory 430 may include a read-only memory and a random access memory, and provides operation instructions and data to the processor. A portion of the memory may also include non-volatile random access memory (NVRAM).
- NVRAM non-volatile random access memory
- the memory 430 stores the following elements, execution modules or data structures, or their subsets, or their extended sets.
- corresponding operations are executed by calling an operation instruction stored in a memory (the operation instruction may be stored in an operating system).
- the processor 410 controls the processing operation of any one of the terminal devices, and the processor 410 may also be called a central processing unit (central processing unit, CPU).
- CPU central processing unit
- the memory 430 may include read-only memory and random-access memory, and provides instructions and data to the processor.
- a portion of memory 430 may also include NVRAM.
- the memory, the communication interface, and the memory are coupled together through a bus system, where the bus system may include not only a data bus, but also a power bus, a control bus, and a status signal bus.
- the various buses are labeled as bus system 540 in FIG. 12 for clarity of illustration.
- a processor may be an integrated circuit chip with signal processing capabilities.
- each step of the above method can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software.
- the above-mentioned processor can be a general-purpose processor, a digital signal processor (digital signal processing, DSP), an ASIC, an off-the-shelf programmable gate array (field-programmable gate array, FPGA) or other programmable logic device, discrete gate or transistor logic devices, discrete hardware components.
- DSP digital signal processing
- ASIC application-the-shelf programmable gate array
- FPGA field-programmable gate array
- Various methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed.
- a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
- the steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
- the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
- a computer-readable storage medium is provided. Instructions are stored in the computer-readable storage medium. When the instructions are executed, the functions performed by the terminal device in the foregoing embodiments are realized.
- a chip is provided, the chip is applied in a terminal device, the chip includes at least one processor and a communication interface, the communication interface is coupled to at least one processor, and the processor is used to run instructions to implement the storage pool in the above embodiment.
- all or part of them may be implemented by software, hardware, firmware or any combination thereof.
- software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
- the computer program product comprises one or more computer programs or instructions. When the computer program or instructions are loaded and executed on the computer, the processes or functions described in the embodiments of the present application are executed in whole or in part.
- the computer may be a general purpose computer, a special purpose computer, a computer network, a terminal, user equipment or other programmable devices.
- the computer program or instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program or instructions may be downloaded from a website, computer, A server or data center transmits to another website site, computer, server or data center by wired or wireless means.
- the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrating one or more available media. Described usable medium can be magnetic medium, for example, floppy disk, hard disk, magnetic tape; It can also be optical medium, for example, digital video disc (digital video disc, DVD); It can also be a semiconductor medium, for example, solid state drive (solid state drive) , SSD).
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
A hardware implementation method and apparatus for a reservoir computing model based on a random resistor array, and an electronic device, which relate to the fields of machine learning and artificial intelligence. The method comprises: acquiring a random weight of a reservoir layer, which is generated on the basis of a resistance-variable device crossbar array; applying a breakdown voltage to the resistance-variable device crossbar array, so as to form a randomly distributed random resistance matrix; converting an input signal into a read voltage signal by means of a circuit of a printed circuit board, and performing, on the basis of the read voltage signal and the random resistance matrix, vector matrix multiplication to determine an output voltage signal; and repeating the step of converting an input signal into a read voltage signal by means of the circuit of the printed circuit board and performing, on the basis of the read voltage signal and the random resistance matrix, vector matrix multiplication to determine an output voltage signal, and then simulating a loop iteration process of the reservoir layer. Therefore, the efficient hardware realization of a large-scale random weight and a reservoir computing model is achieved, and in an edge computing application scenario in which the computing power is limited, the possibility is provided for the efficient hardware realization of the reservoir computing model.
Description
本申请要求于2022年01月04日提交中国专利局、申请号为202210002137.5、申请名称为“一种基于随机电阻阵列的储备池计算模型的硬件实现方法、装置及电子设备”的中国专利优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent submitted to the China Patent Office on January 04, 2022, with the application number 202210002137.5, and the application name "A hardware implementation method, device and electronic equipment for a storage pool calculation model based on a random resistor array" , the entire contents of which are incorporated in this application by reference.
本申请涉及机器学习及人工智能领域,尤其涉及一种基于随机电阻阵列的储备池计算模型的硬件实现方法、装置及电子设备。The present application relates to the field of machine learning and artificial intelligence, and in particular to a hardware implementation method, device and electronic equipment of a reserve pool calculation model based on a random resistance array.
随着机器学习及人工智能领域的发展,基于人工神经网络的深度学习技术也得到了迅猛发展,尤其在图像识别、自然语言处理等多个领域成果显著。然而,随着物联网时代的到来,许多新的应用场景如自动驾驶,以及智能家居等场景下,不仅需要我们可以处理静态任务,还需要我们具备实时处理动态任务的能力。传统循环神经网络及其变体可以有效的处理包含时序信息的动态系统,但是也存在着一些局限性,包括参数量大、计算量大、训练复杂、成本高,以及硬件实现困难等问题。上述问题导致循环神经网络在算力资源有限的应用场景中广泛受限。With the development of machine learning and artificial intelligence, deep learning technology based on artificial neural network has also developed rapidly, especially in many fields such as image recognition and natural language processing. However, with the advent of the Internet of Things era, many new application scenarios such as autonomous driving and smart home require us not only to be able to handle static tasks, but also to have the ability to process dynamic tasks in real time. The traditional recurrent neural network and its variants can effectively deal with dynamic systems containing timing information, but there are some limitations, including large number of parameters, large amount of calculation, complex training, high cost, and difficult hardware implementation. The above problems lead to the widespread limitation of recurrent neural networks in application scenarios with limited computing power resources.
为了解决上述问题,储备池计算模型作为一种高效的神经网络算法被提出。储备池计算模型作为一种特殊的循环神经网络,该模型由输入层、包含非线性节点的储备池层和读出层构成。储备层中的节点随机初始化,同时每个节点当前时刻的状态不仅与输入有关,还取决于前一时刻的状态。在对该模型的训练过程中,输入权重和储备池节点权重均不需要改变,只训练最后的读出层即可。这样可以既保留了模型处理时序问题的能力又大大缩短了模型训练时间,降低了训练难度,非常适合于物联网时代的算力有限的边缘计算应用场景。In order to solve the above problems, the reserve pool calculation model is proposed as an efficient neural network algorithm. As a special recurrent neural network, the reserve pool calculation model consists of an input layer, a reserve pool layer containing nonlinear nodes, and a readout layer. The nodes in the reserve layer are initialized randomly, and the current state of each node is not only related to the input, but also depends on the previous state. During the training process of the model, neither the input weight nor the weight of the reserve pool node needs to be changed, only the final readout layer needs to be trained. This not only preserves the ability of the model to deal with timing problems, but also greatly shortens the model training time and reduces the difficulty of training. It is very suitable for edge computing application scenarios with limited computing power in the Internet of Things era.
然而,由于摩尔定律已经逼近物理极限,晶体管尺寸难以进一步缩小,芯片算力和能效趋于瓶颈。同时,存算分离的传统冯诺依曼架构也面临着储存墙 和功耗墙问题,这导致传统硬件平台难以高效运行储备池计算模型。基于新型神经形态器件的存算一体硬件实现储备池计算模型方案可以有效减少数据在计算和存储单元间的迁移,通过基尔霍夫定律和欧姆定律大幅度降低储备池计算模型中的向量矩阵乘法运算,从而大幅度提高处理速度、降低系统功耗。However, as Moore's Law has approached the physical limit, it is difficult to further reduce the size of the transistor, and the computing power and energy efficiency of the chip tend to be the bottleneck. At the same time, the traditional Von Neumann architecture that separates storage and computing also faces the problem of storage walls and power consumption walls, which makes it difficult for traditional hardware platforms to efficiently run the reserve pool computing model. The storage-computing integrated hardware based on new neuromorphic devices can effectively reduce the migration of data between computing and storage units, and greatly reduce the vector matrix multiplication in the reserve pool calculation model through Kirchhoff's law and Ohm's law. Operation, thereby greatly improving processing speed and reducing system power consumption.
但是,由于储备池计算模型需要大规模随机权重,而现有通过传统数字电路生成随机权重然后映射到的神经形态器件阵列的方法十分低效且具有较高实施成本,使得基于新型神经形态器件的存算一体硬件实现储备池计算模型仍面临巨大挑战。However, because the reserve pool calculation model requires large-scale random weights, and the existing method of generating random weights through traditional digital circuits and then mapping them to neuromorphic device arrays is very inefficient and has high implementation costs, making the new neuromorphic device-based The storage-computing integrated hardware is still facing great challenges in implementing the reserve pool computing model.
发明内容Contents of the invention
有鉴于此,本申请公开了基于随机电阻阵列的储备池计算模型的硬件实现方法、装置及电子设备,用于提供一种基于随机电阻阵列的储备池计算模型的硬件实现的方法和装置。In view of this, the present application discloses a hardware implementation method, device and electronic equipment for a storage pool calculation model based on a random resistance array, which are used to provide a hardware implementation method and device for a storage pool calculation model based on a random resistance array.
第一方面,本申请提供一种基于随机电阻阵列的储备池计算模型的硬件实现方法,应用于运行储备池计算模型的电子设备,所述电子设备具有等多个阻变器件构成的阻变器件交叉阵列和印制电路板电路,所述阻变器件交叉阵列和所述印制电路板电路电连接;所述阻变器件的数量和所述电子设备中对应的训练好的权重数量相同,所述基于随机电阻阵列的储备池计算模型包括储备池层,所述方法包括:In the first aspect, the present application provides a hardware implementation method of a reserve pool calculation model based on a random resistance array, which is applied to electronic equipment running the reserve pool calculation model, and the electronic equipment has a resistive switch device composed of multiple resistive switch devices such as The cross array and the printed circuit board circuit, the cross array of the resistive variable devices are electrically connected to the printed circuit board circuit; the number of the resistive variable devices is the same as the corresponding number of trained weights in the electronic equipment, so The storage pool calculation model based on the random resistance array includes a storage pool layer, and the method includes:
获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重;Obtaining the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices;
通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵;forming a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices;
通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号;converting the input signal into a read voltage signal through the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal;
重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。Repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication to determine the output voltage signal based on the read voltage signal and the random resistance matrix, simulating the cyclic iteration of the reserve pool layer process until the output voltage signal is determined to be the final target output voltage signal when it is determined that the input signal satisfies the output preset condition.
采用上述技术方案的情况下,本申请实施例提供的基于随机电阻阵列的储 备池计算模型的硬件实现方法,可以获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重,通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵,通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号,重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号,其中,由于上述基于随机电阻阵列的储备池计算模型的硬件实现方法,是通过对阻变器件组成的阻变器件交叉阵列施加击穿电压进行击穿操作,利用阻变器件自身的击穿随机性迅速且低成本的生成了大规模随机电阻阵列,随机电阻阵列构成的随机权重可以高效地硬件实现储备池计算模型,为在算力有限地边缘计算应用场景下硬件高效实现储备池计算模型提供可能。In the case of adopting the above technical solution, the hardware implementation method of the reserve pool calculation model based on the random resistance array provided in the embodiment of the present application can obtain the random weight of the reserve pool layer generated based on the cross array of the resistive variable device, through Apply a breakdown voltage to the cross array of resistive switching devices to form a randomly distributed random resistance matrix, convert the input signal into a read voltage signal through the printed circuit board circuit, based on the read voltage signal and the random resistance matrix performing vector matrix multiplication to determine the output voltage signal, repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, Simulating the iterative process of the reserve pool layer until the output voltage signal is determined to be the final target output voltage signal when the input signal satisfies the output preset condition. The hardware implementation method of the calculation model of the reserve pool is to perform a breakdown operation by applying a breakdown voltage to the cross array of resistive switching devices composed of resistive switching devices, and to use the breakdown randomness of the resistive switching devices themselves to generate large-scale The random resistor array and the random weights formed by the random resistor array can efficiently implement the reserve pool calculation model in hardware, and provide the possibility for the hardware to efficiently implement the reserve pool calculation model in the edge computing application scenario with limited computing power.
在一种可能的实现方式中,所述随机电阻矩阵表征的是所述击穿电压下,所述阻变器件交叉阵列中的每个所述阻变器件处于击穿状态或未击穿的随机状态,以及受到击穿后每个器件的随机电导状态,包含双重随机状态。In a possible implementation manner, the random resistance matrix represents the breakdown voltage, each of the resistive switching devices in the interleaved array of resistive switching devices is in a breakdown state or is not broken down at random state, and the random conductance state of each device after being subjected to breakdown, including a double random state.
在一种可能的实现方式中,所述通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号,包括:In a possible implementation manner, the converting the input signal into a read voltage signal through the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal includes :
通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号。The input signal is converted into a read voltage signal through the printed circuit board circuit, the read voltage signal is applied to the random resistance matrix, and the read voltage signal and the The random resistance matrix is processed by vector matrix multiplication to determine the output voltage signal.
在一种可能的实现方式中,所述重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号,包括:In a possible implementation manner, the repeated conversion of the printed circuit board circuit from an input signal into a read voltage signal, and performing vector matrix multiplication on the basis of the read voltage signal and the random resistance matrix to determine the output voltage signal Step, simulating the cyclic iterative process of the reserve pool layer until the output voltage signal is determined to be the final target output voltage signal under the condition that the input signal satisfies the output preset condition, including:
重复所述通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述 读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。repeating the process of converting the input signal into a read voltage signal through the printed circuit board circuit, applying the read voltage signal to the random resistance matrix, and converting the read voltage signal to Perform vector matrix multiplication processing with the random resistance matrix, determine the step of output voltage signal, simulate the cycle iteration process of the reserve pool layer, until the input signal is determined to meet the output preset condition, determine the The output voltage signal is the final target output voltage signal.
在一种可能的实现方式中,所述储备池计算模型还包括和所述储备池层连接的分类层,所述目标输出电压信号中包括表征节点特征的数据集在所述确定所述输出电压信号为最终的目标输出电压信号之后,所述方法还包括:In a possible implementation manner, the reserve pool calculation model further includes a classification layer connected to the reserve pool layer, and the target output voltage signal includes a data set characterizing node characteristics in the determination of the output voltage After the signal is the final target output voltage signal, the method also includes:
将所述目标输出电压信号输入至所述分类层,在所述分类层对所述目标输出电压信号中的数据集进行分类处理后,最终确定并输出预测结果。The target output voltage signal is input to the classification layer, and after the classification process is performed on the data set in the target output voltage signal, the prediction result is finally determined and output.
在一种可能的实现方式中,所述电子设备还包括和阻变器件交叉阵列以及印制电路板电路电连接的板载数字处理器,所述板载数字处理器用于进行所述分类层的数字运算。In a possible implementation manner, the electronic device further includes an on-board digital processor electrically connected to the cross array of resistive switching devices and the printed circuit board circuit, and the on-board digital processor is used to perform the classification of the classification layer. number crunching.
第二方面,本申请还提供一种基于随机电阻阵列的储备池计算模型的硬件实现装置,应用于运行储备池计算模型的电子设备,所述电子设备具有等多个阻变器件构成的阻变器件交叉阵列和印制电路板电路,所述阻变器件交叉阵列和所述印制电路板电路电连接;所述阻变器件的数量和所述电子设备中对应的训练好的权重数量相同,所述基于随机电阻阵列的储备池计算模型包括储备池层,所述装置包括:In the second aspect, the present application also provides a hardware realization device of a reserve pool calculation model based on a random resistance array, which is applied to electronic equipment running the reserve pool calculation model, and the electronic equipment has a resistive switch composed of multiple resistive switch devices such as A cross array of devices and a printed circuit board circuit, the cross array of resistive variable devices is electrically connected to the printed circuit board circuit; the number of the resistive variable devices is the same as the number of corresponding trained weights in the electronic device, The storage pool calculation model based on the random resistance array includes a storage pool layer, and the device includes:
随机权重获取模块,用于获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重;a random weight acquisition module, configured to acquire the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices;
击穿电压施加模块,用于通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵;A breakdown voltage applying module, configured to form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices;
输出电压确定模块,用于通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号;An output voltage determination module, configured to convert the input signal into a read voltage signal through the printed circuit board circuit, and determine the output voltage signal by vector matrix multiplication based on the read voltage signal and the random resistance matrix;
目标输出电压信号确定模块,用于重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。The target output voltage signal determination module is used to repeat the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, Simulating the cyclic iterative process of the reserve pool layer until the output voltage signal is determined to be the final target output voltage signal when the input signal is determined to meet the output preset condition.
在一种可能的实现方式中,所述输出电压信号确定模块包括:In a possible implementation manner, the output voltage signal determination module includes:
输出电压信号确定子模块,用于通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号;The output voltage signal determination sub-module is used to convert the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff's law and Ohm's law performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix to determine an output voltage signal;
所述随机电阻矩阵表征的是所述击穿电压下,所述交叉阵列中的每个所述阻变器件处于击穿状态或未击穿的随机状态,以及受到击穿后每个器件的随机电导状态,包含双重随机状态。The random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the cross array is in a breakdown state or a random state without breakdown, and the random state of each device after being broken down. Conductance states, including double random states.
在一种可能的实现方式中,所述目标输出电压信号确定模块包括:In a possible implementation manner, the target output voltage signal determination module includes:
目标输出电压信号确定子模块,用于重复所述通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。The target output voltage signal determination sub-module is used to repeat the conversion of the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff law and Ohm's law, the read voltage signal and the random resistance matrix are subjected to vector matrix multiplication processing, and the step of determining the output voltage signal simulates the iterative process of the reserve pool layer until the input signal is determined to meet the output In the case of preset conditions, the output voltage signal is determined to be the final target output voltage signal.
所述储备池计算模型还包括和所述储备池层连接的分类层,所述装置还包括:The reserve pool calculation model also includes a classification layer connected to the reserve pool layer, and the device also includes:
预测结果输出模块,用于将所述目标输出电压信号输入至所述分类层,在所述分类层对所述目标输出电压信号中的数据集进行分类处理后,最终确定并输出预测结果。The prediction result output module is configured to input the target output voltage signal into the classification layer, and finally determine and output the prediction result after the classification process is performed on the data sets in the target output voltage signal.
所述电子设备还包括和阻变器件交叉阵列以及印制电路板电路电连接的板载数字处理器,所述板载数字处理器用于进行所述分类层的数字运算。The electronic equipment also includes an on-board digital processor electrically connected to the cross array of resistive variable devices and the printed circuit board circuit, and the on-board digital processor is used to perform digital operations on the classification layer.
第二方面提供的基于随机电阻阵列的储备池计算模型的硬件实现装置的有益效果与第一方面或第一方面任一可能的实现方式描述的基于随机电阻阵列的储备池计算模型的硬件实现方法的有益效果相同,此处不做赘述。The beneficial effect of the hardware implementation device of the storage pool calculation model based on the random resistance array provided by the second aspect is the same as the hardware implementation method of the storage pool calculation model based on the random resistance array described in the first aspect or any possible implementation of the first aspect. The beneficial effects are the same, and will not be repeated here.
第三方面,本申请还提供一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行第二方面任一可能的实现方式描述的基于随机电阻阵列的储备池计算模型的硬件实现装置。In a third aspect, the present application also provides an electronic device, including: one or more processors; and one or more machine-readable media having instructions stored thereon, when executed by the one or more processors , so that the device executes the hardware implementation device of the random resistance array-based reserve pool calculation model described in any possible implementation manner of the second aspect.
第三方面提供的电子设备的有益效果与第二方面或第二方面任一可能的实现方式描述的基于随机电阻阵列的储备池计算模型的硬件实现装置的有益效果相同,此处不做赘述。The beneficial effect of the electronic device provided by the third aspect is the same as that of the hardware implementation device of the storage pool calculation model based on the random resistance array described in the second aspect or any possible implementation of the second aspect, and details are not repeated here.
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行说明:In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will describe the drawings that need to be used in the description of the embodiments or the prior art:
图1示出了本申请实施例提供的一种基于随机电阻阵列的储备池计算模型的硬件实现方法的结构示意图;Fig. 1 shows a schematic structural diagram of a hardware implementation method of a reserve pool calculation model based on a random resistance array provided in an embodiment of the present application;
图2示出了本申请实施例提供的另一种基于随机电阻阵列的储备池计算模型的硬件实现方法的结构示意图;FIG. 2 shows a schematic structural diagram of another hardware implementation method of a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application;
图3示出了本申请实施例提供的一种使用阻变器件交叉阵列构成随机权重的示意图;Fig. 3 shows a schematic diagram of using a cross array of resistive devices to form random weights provided by the embodiment of the present application;
图4示出了本申请实施例提供的一种阻变器件组成的阻变器件交叉阵列的击穿电压分布图;Fig. 4 shows a breakdown voltage distribution diagram of a resistive switch device cross array composed of a resistive switch device provided by an embodiment of the present application;
图5示出了本申请实施例提供的一种阻变器件交叉阵列和印刷电路板电路的结构示意图;Fig. 5 shows a schematic structural diagram of a cross array of resistive switching devices and a printed circuit board circuit provided by an embodiment of the present application;
图6示出了本申请实施例提供的一种实现储备池计算模型的网络结构的示意图;FIG. 6 shows a schematic diagram of a network structure for implementing a reserve pool calculation model provided by an embodiment of the present application;
图7示出了本申请实施例提供的一种网络CORA数据集的示意图;FIG. 7 shows a schematic diagram of a network CORA dataset provided by an embodiment of the present application;
图8示出了本申请实施例提供的一种硬件实测基于随机电阻阵列的储备池计算模型准确率的示意图;Fig. 8 shows a schematic diagram of the accuracy rate of a reserve pool calculation model based on a random resistance array measured by hardware according to an embodiment of the present application;
图9示出了本申请实施例提供的一种运行储备池计算模型的电子设备和传统CMOS数字电路系统硬件实现储备池计算模型在操作数和功耗上的对比示意图;Fig. 9 shows a schematic diagram of the comparison of the number of operands and power consumption between an electronic device running a reserve pool calculation model provided by an embodiment of the present application and a traditional CMOS digital circuit system hardware implementing the reserve pool calculation model;
图10示出了本申请实施例提供的一种基于随机电阻阵列的储备池计算模型的硬件实现装置的结构示意图;FIG. 10 shows a schematic structural diagram of a hardware implementation device for a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application;
图11为本申请实施例提供的一种电子设备的硬件结构示意图;FIG. 11 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application;
图12为本申请实施例提供的芯片的结构示意图。FIG. 12 is a schematic structural diagram of a chip provided by an embodiment of the present application.
本申请的核心是提供了一种基于随机电阻阵列的储备池计算模型的硬件实现方法。图1示出了本申请实施例提供的一种基于随机电阻阵列的储备池计算模型的硬件实现方法的流程示意图,该储备池计算模型的硬件实现方法应用于运行储备池计算模型的电子设备,所述电子设备具有等多个阻变器件构成的阻变器件交叉阵列和印制电路板电路,所述阻变器件交叉阵列和所述印制电路板电路电连接;所述阻变器件的数量和所述电子设备中对应的训练好的权重数量相同,所述基于随机电阻阵列的储备池计算模型包括储备池层。如图1所示,储备池计算模型的硬件实现方法包括:The core of the present application is to provide a hardware implementation method of a reserve pool calculation model based on a random resistance array. Fig. 1 shows a schematic flowchart of a hardware implementation method of a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application, the hardware implementation method of the reserve pool calculation model is applied to an electronic device running the reserve pool calculation model, The electronic equipment has a resistive switching device cross array and a printed circuit board circuit composed of a plurality of resistive switching devices, and the resistive switching device cross array is electrically connected to the printed circuit board circuit; the number of the resistive switching devices The number of weights corresponding to the training in the electronic device is the same, and the reserve pool calculation model based on the random resistor array includes a reserve pool layer. As shown in Figure 1, the hardware implementation method of the reserve pool computing model includes:
步骤101:获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重。Step 101: Obtain the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices.
在本申请中,可以使用与所述电子设备中对应的训练好的权重数量相同的阻变器件构成阻变器件交叉阵列,生成储备池计算模型中储备池层的随机权重。In this application, the same number of resistive devices as the weights trained in the electronic device can be used to form a cross array of resistive devices to generate random weights of the reserve pool layer in the reserve pool calculation model.
步骤102:通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵。Step 102: Form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices.
其中,所述随机电阻矩阵表征的是所述击穿电压下,所述阻变器件交叉阵列中的每个所述阻变器件处于击穿状态或未击穿状态。Wherein, the random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the cross array of resistive switching devices is in a breakdown state or a non-breakdown state.
在本申请中,可以通过对阻变器件施加击穿电压,利用器件击穿的随机性形成随机分布的击穿-未击穿的随机状态,以及受到击穿后每个器件的随机电导状态,包含双重随机的电阻矩阵,其中,随机分布可以通过施加不同击穿电压调节。In this application, by applying a breakdown voltage to the resistive switching device, the randomness of device breakdown can be used to form a randomly distributed breakdown-non-breakdown random state, and the random conductance state of each device after being broken down, Contains a double random resistor matrix, where the random distribution can be tuned by applying different breakdown voltages.
步骤103:通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号。Step 103: Convert the input signal into a read voltage signal through the printed circuit board circuit, and perform vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine an output voltage signal.
在本申请中,可以通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号。In this application, the input signal can be converted into a read voltage signal through the printed circuit board circuit, the read voltage signal is applied to the random resistance matrix, and the The read voltage signal and the random resistance matrix are subjected to vector matrix multiplication processing to determine the output voltage signal.
步骤104:重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输 出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。Step 104: repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, and simulating the reserve pool layer The loop iterative process until the output voltage signal is determined to be the final target output voltage signal in the case of determining that the input signal satisfies the output preset condition.
在本申请中,可以重复所述通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,从而实现硬件实现储备池层,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号,可以将所述目标输出电压信号输入至所述分类层,在所述分类层对所述目标输出电压信号中的数据集进行分类处理后,最终确定并输出预测结果。In the present application, the conversion of the input signal into a read voltage signal through the printed circuit board circuit can be repeated, and the read voltage signal is applied to the random resistance matrix, using Kirchhoff's law and Ohm's law Performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix to determine the output voltage signal, simulating the cyclic iteration process of the reserve pool layer, so as to realize the hardware implementation of the reserve pool layer until the When the input signal satisfies the output preset condition, it is determined that the output voltage signal is the final target output voltage signal, and the target output voltage signal can be input to the classification layer, and the target output voltage signal can be output at the classification layer After the data set in the voltage signal is classified, the prediction result is finally determined and output.
在本申请中,上述基于随机电阻阵列的储备池计算模型的硬件实现方法,通过对阻变器件组成的阻变器件交叉阵列施加击穿电压进行击穿操作,利用阻变器件自身的击穿随机性迅速且低成本的生成了大规模随机电阻阵列,随机电阻阵列构成的随机权重可以高效地硬件实现储备池计算模型,为在算力有限地边缘计算应用场景下硬件高效实现储备池计算模型提供可能。In this application, the hardware implementation method of the above-mentioned reserve pool calculation model based on the random resistance array is to perform a breakdown operation by applying a breakdown voltage to the cross array of resistive switching devices composed of resistive switching devices, and to use the breakdown randomness of the resistive switching device itself A large-scale random resistor array is generated quickly and at low cost. The random weights formed by the random resistor array can efficiently implement the reserve pool calculation model in hardware, which provides a high-efficiency hardware implementation of the reserve pool calculation model in edge computing application scenarios with limited computing power. possible.
本申请实施例提供的基于随机电阻阵列的储备池计算模型的硬件实现方法,可以获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重,通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵,通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号,重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号,其中,由于上述基于随机电阻阵列的储备池计算模型的硬件实现方法,是通过对阻变器件组成的阻变器件交叉阵列施加击穿电压进行击穿操作,利用阻变器件自身的击穿随机性迅速且低成本的生成了大规模随机电阻阵列,随机电阻阵列构成的随机权重可以高效地硬件实现储备池计算模型,为在算力有限地边缘计算应用场景下硬件高效实现储备池计算模型提供可能。The hardware implementation method of the storage pool calculation model based on the random resistance array provided in the embodiment of the present application can obtain the random weight of the storage pool layer generated based on the cross array of the resistive switching devices, and pass the cross array of the resistive switching devices Apply a breakdown voltage to form a randomly distributed random resistance matrix, convert the input signal into a read voltage signal through the printed circuit board circuit, and perform vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal , repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, simulating the cycle of the reserve pool layer An iterative process until the output voltage signal is determined to be the final target output voltage signal when it is determined that the input signal satisfies the output preset condition, wherein, due to the above-mentioned hardware implementation method of the reserve pool calculation model based on a random resistor array , the breakdown operation is performed by applying a breakdown voltage to the cross array of resistive switching devices composed of resistive switching devices, using the breakdown randomness of the resistive switching device itself to generate a large-scale random resistance array quickly and at low cost, the random resistance array consists of The random weights can efficiently implement the reserve pool calculation model in hardware, and provide the possibility for hardware to efficiently implement the reserve pool calculation model in edge computing application scenarios with limited computing power.
可选的,图2示出了本申请实施例提供的另一种基于随机电阻阵列的储备 池计算模型的硬件实现方法的流程示意图,应用于运行储备池计算模型的电子设备,所述电子设备具有多个阻变器件构成的阻变器件交叉阵列和印制电路板电路,所述阻变器件交叉阵列和所述印制电路板电路电连接;所述阻变器件的数量和所述电子设备中对应的训练好的权重数量相同,所述基于随机电阻阵列的储备池计算模型包括储备池层,所述储备池计算模型还包括和所述储备池层连接的分类层,如图2所示,方法包括:Optionally, FIG. 2 shows a schematic flowchart of another hardware implementation method for a reserve pool calculation model based on a random resistor array provided in an embodiment of the present application, which is applied to an electronic device running a reserve pool calculation model, and the electronic device A cross array of resistance switching devices and a printed circuit board circuit composed of a plurality of resistance switching devices, the cross array of resistance switching devices and the printed circuit board circuit are electrically connected; the number of the resistance switching devices and the electronic equipment The number of weights corresponding to the training is the same, the reserve pool calculation model based on the random resistance array includes a reserve pool layer, and the reserve pool calculation model also includes a classification layer connected to the reserve pool layer, as shown in Figure 2 , methods include:
步骤201:获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重。Step 201: Obtain the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices.
在本申请中,可以使用与所述电子设备中对应的训练好的权重数量相同的阻变器件构成阻变器件交叉阵列,生成储备池计算模型中储备池层的随机权重。In this application, the same number of resistive devices as the weights trained in the electronic device can be used to form a cross array of resistive devices to generate random weights of the reserve pool layer in the reserve pool calculation model.
可选的,阻变器件可以包括忆阻器、相变存储器、铁电隧穿器件或磁性随机存储器中的任意一者,还可以包括其他阻变器件,本申请实施例对此不做具体限定,可以根据实际应用场景做具体调整。Optionally, the resistive switching device may include any one of a memristor, a phase change memory, a ferroelectric tunneling device, or a magnetic random access memory, and may also include other resistive switching devices, which are not specifically limited in this embodiment of the present application , and can be adjusted according to actual application scenarios.
图3示出了本申请实施例提供的一种使用阻变器件交叉阵列构成随机权重的示意图,如图3所示,A表示多个阻变器件构成的阻变器件交叉阵列,B表示阻变器件组成的阻变器件交叉阵列的实测电导分布图,可以使用与所述电子设备中对应的训练好的权重数量相同的阻变器件构成阻变器件交叉阵列A,生成储备池计算模型中储备池层的随机权重,从电导分布图B中可以看出在给定的击穿电压下,阻变器件交叉阵列形成了具有随机性的击穿-未击穿的随机电阻阵列,并且器件电导值具有随机分布特性。由随机电阻阵列构成的大量随机权重具有良好的随机特性,满足储备池计算模型要求。Fig. 3 shows a schematic diagram of a random weight using a cross array of resistive switching devices provided by an embodiment of the present application. As shown in Fig. 3, A represents a cross array of resistive switching devices composed of multiple resistive switching devices, and B represents a resistive switching device The measured conductance distribution diagram of the cross array of resistive switching devices composed of devices can use the resistive switching devices with the same number of trained weights in the electronic equipment to form the cross array A of resistive switching devices, and generate the reserve pool in the calculation model of the reserve pool The random weight of the layer, from the conductance distribution diagram B, it can be seen that under a given breakdown voltage, the cross-array of resistive switching devices forms a random breakdown-unbreakdown random resistance array, and the device conductance value has Random distribution properties. A large number of random weights composed of random resistor arrays have good random characteristics and meet the requirements of the reserve pool calculation model.
步骤202:通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵。Step 202: Form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices.
其中,所述随机电阻矩阵表征的是所述击穿电压下,所述阻变器件交叉阵列中的每个所述阻变器件处于击穿状态或未击穿的随机状态,以及受到击穿后每个器件的随机电导状态,包含双重随机状态。Wherein, the random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the intersecting array of resistive switching devices is in a breakdown state or a random state without breakdown, and after being broken down Random conductance states for each device, including double random states.
在本申请中,可以通过对阻变器件施加击穿电压,利用器件击穿的随机性形成随机分布的击穿-未击穿的随机状态,以及受到击穿后每个器件的随机电导状态,包含双重随机的电阻矩阵,其中,随机分布可以通过施加不同击穿电 压调节。In this application, by applying a breakdown voltage to the resistive switching device, the randomness of device breakdown can be used to form a randomly distributed breakdown-non-breakdown random state, and the random conductance state of each device after being broken down, Contains a double random resistor matrix, where the random distribution can be tuned by applying different breakdown voltages.
可选的,击穿电压的数值在3.0伏至3.7伏之间,对阻变器件进行击穿操作,本申请实施例对击穿电压的具体数值不做限定,可以根据实际应用场景做标记调整。由于阻变器件自身具有随机性,因此在给定击穿电压下阻变器件是否击穿以及击穿操作后电导均具有随机性,因此可以获得由击穿和未击穿器件组成的服从随机分布的电阻阵列,可以通过调整施加击穿电压的大小,实现对随机分布的调节,从而能够迅速且低成本的获得储备池层所需要的大规模随机权重,将生成的随机电阻阵列作为储备池层的随机权重矩阵。Optionally, the value of the breakdown voltage is between 3.0 volts and 3.7 volts, and the breakdown operation is performed on the resistive switching device. The embodiment of the present application does not limit the specific value of the breakdown voltage, and it can be marked and adjusted according to the actual application scenario . Due to the randomness of the resistive switching device itself, whether the resistive switching device breaks down at a given breakdown voltage and the conductance after the breakdown operation are random, so a random distribution composed of breakdown and non-breakdown devices can be obtained The resistance array can adjust the random distribution by adjusting the size of the applied breakdown voltage, so that the large-scale random weight required by the reserve pool layer can be obtained quickly and at low cost, and the generated random resistance array can be used as the reserve pool layer The random weight matrix of .
图4示出了本申请实施例提供的一种阻变器件组成的阻变器件交叉阵列的击穿电压分布图,如图4所示,器件的击穿电压具有随机性,因此当给定击穿电压时,器件是否击穿以及击穿操作后电导均将服从随机分布,所以可以利用该随机性迅速且低成本的大规模生成储备池模型中储备池层所需要的大量随机权重。同时,通过改变击穿电压可以进一步调节该随机分布。Fig. 4 shows the distribution diagram of the breakdown voltage of a resistive switching device cross array composed of resistive switching devices provided by the embodiment of the present application. As shown in Fig. 4, the breakdown voltage of the device is random, so when a given When the breakdown voltage is reached, whether the device breaks down and the conductance after the breakdown operation will obey the random distribution, so this randomness can be used to generate a large number of random weights required by the reserve pool layer in the reserve pool model quickly and at low cost. At the same time, the random distribution can be further tuned by changing the breakdown voltage.
步骤203:通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号。Step 203: Convert the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff's law and Ohm's law to convert the read voltage signal Perform vector matrix multiplication processing with the random resistance matrix to determine the output voltage signal.
在本申请中,图5示出了本申请实施例提供的一种阻变器件交叉阵列和印刷电路板电路的结构示意图,如图5所示,随机电阻阵列和阻变器件阵列(阻变器件交叉阵列)C和印刷电路板(PCB)电路D,所述阻变器件交叉阵列C和所述印制电路板电路D电连接。其中,阻变器件组成的阻变器件交叉阵列的大小可以示256Kb,由512列512行构成。In this application, Fig. 5 shows a schematic structural diagram of a cross array of resistive switching devices and a printed circuit board circuit provided by an embodiment of the present application. As shown in Fig. 5, a random resistor array and a resistive switching device array (resistive switching device A cross array) C and a printed circuit board (PCB) circuit D, and the resistive variable device cross array C is electrically connected to the printed circuit board circuit D. Wherein, the size of the interleaved array of resistive switching devices composed of resistive switching devices may be 256Kb, and consists of 512 columns and 512 rows.
在本申请中,硬件系统由带有ARM核的现场可编程门阵列(Field Programmable Gate Array,FPGA)、阻变器件组成的阻变器件交叉阵列以及高速PCB电路构成。PCB电路上含有数字模拟转换器、多路选通器、模拟数字转换器、跨导放大器等常用电子器件。读电压通过数字模拟转换器转换后通过译码电路从位线输入到阵列中,向量矩阵乘法的结果通过读取源线端汇聚电流得到,该结果通过模拟数字转换器转换以及跨导放大器放大后输入到板载数字处理器中进行后续计算。In this application, the hardware system consists of a Field Programmable Gate Array (Field Programmable Gate Array, FPGA) with an ARM core, a resistive switching device cross array composed of resistive switching devices, and a high-speed PCB circuit. The PCB circuit contains common electronic devices such as digital-to-analog converters, multiplexers, analog-to-digital converters, and transconductance amplifiers. The read voltage is converted by the digital-to-analog converter and input to the array from the bit line through the decoding circuit. The result of the vector matrix multiplication is obtained by reading the current gathered at the source line. The result is converted by the analog-to-digital converter and amplified by the transconductance amplifier. Input to the onboard digital processor for subsequent calculations.
步骤204:重复所述通过所述印制电路板电路将输入信号转换为读电压信 号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。Step 204: Repeat the conversion of the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and convert the The step of performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix, determining the output voltage signal, simulating the cyclic iteration process of the reserve pool layer, until it is determined that the input signal satisfies the output preset condition, The output voltage signal is determined as the final target output voltage signal.
步骤205:将所述目标输出电压信号输入至所述分类层,在所述分类层对所述目标输出电压信号中的数据集进行分类处理后,最终确定并输出预测结果。Step 205: Input the target output voltage signal into the classification layer, and after the classification process is performed on the data set in the target output voltage signal, the prediction result is finally determined and output.
在本申请中,所述电子设备还包括和阻变器件交叉阵列以及印制电路板电路电连接的板载数字处理器,所述板载数字处理器用于进行所述分类层的数字运算。In the present application, the electronic device further includes an onboard digital processor electrically connected to the cross array of resistive variable devices and the printed circuit board circuit, and the onboard digital processor is used to perform digital operations on the classification layer.
示例的,图6示出了本申请实施例提供的一种实现基于随机电阻阵列的储备池计算模型的网络结构的示意图,如图6所示,该网络结构包括输入层01、储备池层02、分类层03和输出层04,其中,储备池层也即是随机权重层,分类层也即是全连接神经网络层或线性回归层,输入信号从输入层输入,经过储备池层后,进行迭代完成判断,当迭代未完成时,重新返回储备池层进行处理,直至当迭代完成时,输出信号至分类层,最终从输出层输出预测结果。As an example, FIG. 6 shows a schematic diagram of a network structure for implementing a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application. As shown in FIG. 6 , the network structure includes an input layer 01 and a reserve pool layer 02 , classification layer 03 and output layer 04, wherein the reserve pool layer is also a random weight layer, the classification layer is also a fully connected neural network layer or a linear regression layer, the input signal is input from the input layer, and after passing through the reserve pool layer, the Iteration completion judgment, when the iteration is not completed, return to the reserve pool layer for processing, until when the iteration is completed, output the signal to the classification layer, and finally output the prediction result from the output layer.
可选的,储备池层采用的节点数和权重数的典型值分别为50和2500,分类层采用多层全连接神经网络或线性回归两种方法实现,其中,多层全连接神经网络具体可以采用双层全连接层,结构为2500-50-3,双层全连接层是指神经网络中每个隐藏层的结点个数为64,256和10,线性回归采用岭回归方法。Optionally, the typical values of the number of nodes and the number of weights used in the reserve pool layer are 50 and 2500 respectively, and the classification layer is realized by two methods of multi-layer fully connected neural network or linear regression, wherein the multi-layer fully connected neural network can specifically be A double-layer fully connected layer with a structure of 2500-50-3 is used. The double-layer fully connected layer means that the number of nodes in each hidden layer in the neural network is 64, 256 and 10. The linear regression adopts the ridge regression method.
可选的,本申请硬件平台可以包括带有ARM核的ZYNQ XC7Z020 FPGA和256Kb阻变器件阵列芯片;软件平台为CPU:i7-6700K,GPU:GTX1060 6G,Pytorch:1.6.0。Optionally, the hardware platform of this application may include a ZYNQ XC7Z020 FPGA with an ARM core and a 256Kb resistive variable device array chip; the software platform is CPU: i7-6700K, GPU: GTX1060 6G, Pytorch: 1.6.0.
本申请在实验中具体引用网络CORA数据集,图7示出了本申请实施例提供的一种网络CORA数据集的示意图,如图7所示,CORA数据集是神经网络中节点分类的典型数据集。图中每一个节点表示一篇学术文章,点与点的连接边表示两篇文章存在引用关系。节点个数是2708个,共有7个类别,节点特征维度是1433。本申请在引文网络CORA数据集上进行测试,其平均识别率达到87.12%,操作数与系统能耗降低约300倍。This application specifically refers to the network CORA data set in the experiment. Figure 7 shows a schematic diagram of a network CORA data set provided by the embodiment of the present application. As shown in Figure 7, the CORA data set is typical data for node classification in neural networks set. Each node in the graph represents an academic article, and the connecting edge between points indicates that there is a citation relationship between two articles. The number of nodes is 2708, there are 7 categories in total, and the feature dimension of nodes is 1433. This application is tested on the CORA data set of the citation network, and its average recognition rate reaches 87.12%, and the number of operations and system energy consumption are reduced by about 300 times.
示例的,图8示出了本申请实施例提供的一种硬件实测储备池计算模型准确率的示意图,从图8中可以看出,在基于随机电阻阵列的硬件系统上实现的储备池计算模型在CORA数据集上有良好表现,平均准确率达到87.12%,与现有基于传统CMOS数字电路系统实现的结果相当。As an example, FIG. 8 shows a schematic diagram of the accuracy of a hardware measured reserve pool calculation model provided by the embodiment of the present application. It can be seen from FIG. 8 that the reserve pool calculation model implemented on a hardware system based on a random resistor array It has a good performance on the CORA data set, with an average accuracy rate of 87.12%, which is comparable to the existing results based on traditional CMOS digital circuit systems.
示例的,图9示出了本申请实施例提供的一种随机电阻阵列硬件系统(运行储备池计算模型的电子设备)和传统CMOS数字电路系统硬件实现储备池计算模型在操作数和功耗上的对比示意图。可以看出,通过使用基于随机电阻阵列的存算一体架构硬件实施方案,大幅度降低了硬件实现复杂度,从而极大地优化了操作数和系统功耗,降低约300倍。Exemplarily, Fig. 9 shows a kind of random resistance array hardware system (the electronic device that runs the reserve pool calculation model) and the traditional CMOS digital circuit system hardware implementation reserve pool calculation model provided by the embodiment of the present application in terms of operands and power consumption comparison diagram. It can be seen that by using the hardware implementation scheme of the storage-computing integrated architecture based on random resistor arrays, the complexity of hardware implementation is greatly reduced, thereby greatly optimizing the number of operations and system power consumption, which is reduced by about 300 times.
在本申请中,上述基于随机电阻阵列的储备池计算模型的硬件实现方法,通过对阻变器件组成的阻变器件交叉阵列施加击穿电压进行击穿操作,利用阻变器件自身的击穿随机性迅速且低成本的生成了大规模随机电阻阵列,随机电阻阵列构成的随机权重可以高效地硬件实现储备池计算模型,为在算力有限地边缘计算应用场景下硬件高效实现储备池计算模型提供可能。In this application, the hardware implementation method of the above-mentioned reserve pool calculation model based on the random resistance array is to perform a breakdown operation by applying a breakdown voltage to the cross array of resistive switching devices composed of resistive switching devices, and to use the breakdown randomness of the resistive switching device itself A large-scale random resistor array is generated quickly and at low cost. The random weights formed by the random resistor array can efficiently implement the reserve pool calculation model in hardware, which provides a high-efficiency hardware implementation of the reserve pool calculation model in edge computing application scenarios with limited computing power. possible.
本申请实施例提供的储基于随机电阻阵列的储备池计算模型的硬件实现方法,可以获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重,通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵,通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号,重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵确定进行向量矩阵乘法输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号,其中,由于上述基于随机电阻阵列的储备池计算模型的硬件实现方法,是通过对阻变器件组成的交叉阵列施加击穿电压进行击穿操作,利用阻变器件自身的击穿随机性迅速且低成本的生成了大规模随机电阻阵列,随机电阻阵列构成的随机权重可以高效地硬件实现储备池计算模型,为在算力有限地边缘计算应用场景下硬件高效实现储备池计算模型提供可能。The hardware implementation method of the storage pool calculation model based on the random resistance array provided in the embodiment of the present application can obtain the random weight of the storage pool layer generated based on the cross array of the resistive switching devices, and by crossing the resistive switching devices The array applies a breakdown voltage to form a randomly distributed random resistance matrix, the input signal is converted into a read voltage signal through the printed circuit board circuit, and the output voltage is determined by vector matrix multiplication based on the read voltage signal and the random resistance matrix signal, repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, determining the output voltage signal based on the read voltage signal and the random resistance matrix, and simulating the step of the output voltage signal of the reserve pool layer The iterative process is repeated until the output voltage signal is determined to be the final target output voltage signal when it is determined that the input signal satisfies the output preset condition, wherein, due to the hardware implementation of the above-mentioned reserve pool calculation model based on a random resistance array The method is to perform a breakdown operation by applying a breakdown voltage to a cross-array composed of resistive switching devices, and use the randomness of the breakdown of the resistive switching device itself to generate a large-scale random resistance array quickly and at low cost. The weight can efficiently realize the calculation model of the reserve pool in hardware, which provides the possibility for the hardware to efficiently realize the calculation model of the reserve pool in the edge computing application scenario with limited computing power.
图10示出了本申请实施例提供的基于随机电阻阵列的储备池计算模型的 硬件实现装置的结构示意图,应用于运行储备池计算模型的电子设备,所述电子设备具有等多个阻变器件构成的阻变器件交叉阵列和印制电路板电路,所述阻变器件交叉阵列和所述印制电路板电路电连接;所述阻变器件的数量和所述电子设备中对应的训练好的权重数量相同,所述基于随机电阻阵列的储备池计算模型包括储备池层,如图10所示,储备池计算模型的硬件实现装置300包括:Fig. 10 shows a schematic structural diagram of a hardware implementation device for a reserve pool calculation model based on a random resistance array provided by an embodiment of the present application, which is applied to an electronic device running a reserve pool calculation model, and the electronic device has multiple resistive devices such as A cross array of resistive switching devices and a printed circuit board circuit are formed, and the cross array of resistive switching devices is electrically connected to the printed circuit board circuit; the number of the resistive switching devices and the corresponding trained The number of weights is the same, and the reserve pool calculation model based on the random resistance array includes a reserve pool layer. As shown in FIG. 10 , the hardware implementation device 300 of the reserve pool calculation model includes:
随机权重获取模块301,用于获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重;A random weight acquisition module 301, configured to acquire the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices;
击穿电压施加模块302,用于通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵;A breakdown voltage applying module 302, configured to form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices;
输出电压确定模块303,用于通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行矩阵向量乘法确定输出电压信号;An output voltage determination module 303, configured to convert the input signal into a read voltage signal through the printed circuit board circuit, and perform matrix-vector multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal;
目标输出电压信号确定模块304,用于重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行矩阵向量乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。The target output voltage signal determination module 304 is used to repeat the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing matrix-vector multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal. , simulating a cyclic iterative process of the reserve pool layer, until the output voltage signal is determined to be the final target output voltage signal under the condition that the input signal satisfies the output preset condition.
可选的,所述输出电压信号确定模块包括:Optionally, the output voltage signal determination module includes:
输出电压信号确定子模块,用于通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号;The output voltage signal determination sub-module is used to convert the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff's law and Ohm's law performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix to determine an output voltage signal;
所述随机电阻矩阵表征的是所述击穿电压下,所述交叉阵列中的每个所述阻变器件处于击穿状态或未击穿的随机状态,以及受到击穿后每个器件的随机电导状态,包含双重随机状态。The random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the cross array is in a breakdown state or a random state without breakdown, and the random state of each device after being broken down. Conductance states, including double random states.
可选地,所述目标输出电压信号确定模块包括:Optionally, the target output voltage signal determination module includes:
目标输出电压信号确定子模块,用于重复所述通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中, 利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。The target output voltage signal determination sub-module is used to repeat the conversion of the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff law and Ohm's law, the read voltage signal and the random resistance matrix are subjected to vector matrix multiplication processing, and the step of determining the output voltage signal simulates the iterative process of the reserve pool layer until the input signal is determined to meet the output In the case of preset conditions, the output voltage signal is determined to be the final target output voltage signal.
所述储备池计算模型还包括和所述储备池层连接的分类层,所述装置还包括:The reserve pool calculation model also includes a classification layer connected to the reserve pool layer, and the device also includes:
预测结果输出模块,用于将所述目标输出电压信号输入至所述分类层,在所述分类层对所述目标输出电压信号中的数据集进行分类处理后,最终确定并输出预测结果。The prediction result output module is configured to input the target output voltage signal into the classification layer, and finally determine and output the prediction result after the classification process is performed on the data sets in the target output voltage signal.
所述电子设备还包括和阻变器件交叉阵列以及印制电路板电路电连接的板载数字处理器,所述板载数字处理器用于进行所述分类层的数字运算。The electronic equipment also includes an on-board digital processor electrically connected to the cross array of resistive variable devices and the printed circuit board circuit, and the on-board digital processor is used to perform digital operations on the classification layer.
本申请实施例提供的储备池计算模型的硬件实现装置,可以获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重,通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵,通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行矩阵向量乘法确定输出电压信号,重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号,其中,由于上述基于随机电阻阵列的储备池计算模型的硬件实现方法,是通过对阻变器件组成的阻变器件交叉阵列施加击穿电压进行击穿操作,利用阻变器件自身的击穿随机性迅速且低成本的生成了大规模随机电阻阵列,随机电阻阵列构成的随机权重可以高效地硬件实现储备池计算模型,为在算力有限地边缘计算应用场景下硬件高效实现储备池计算模型提供可能。The hardware implementation device for the calculation model of the reserve pool provided in the embodiment of the present application can obtain the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices, and apply a breakdown voltage to the intersecting array of resistive switching devices, forming a randomly distributed random resistance matrix, converting the input signal into a read voltage signal through the printed circuit board circuit, performing matrix-vector multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, and repeating the printing The circuit board circuit converts the input signal into a read voltage signal, and performs vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, simulating the cyclic iteration process of the reserve pool layer until the When it is determined that the input signal satisfies the output preset condition, the output voltage signal is determined to be the final target output voltage signal, wherein, due to the above-mentioned hardware implementation method of the reserve pool calculation model based on the random resistance array, the resistance A cross-array of resistive variable devices composed of variable devices applies a breakdown voltage for breakdown operation, and a large-scale random resistance array is generated quickly and at low cost by using the breakdown randomness of the resistive variable device itself. The random weights formed by the random resistance array can be efficiently The computing model of the reserve pool is realized by the hardware, which provides the possibility for the hardware to efficiently realize the computing model of the reserve pool in the edge computing application scenario with limited computing power.
本申请提供的一种储备池计算模型的硬件实现装置,应用于包括控制器以及与控制器电连接的至少一个检测电路的如图1至图9任一所示的储备池计算模型的硬件实现方法,为避免重复,这里不再赘述。A hardware implementation device for a reserve pool calculation model provided by the present application is applied to the hardware implementation of the reserve pool calculation model shown in any one of Figures 1 to 9 including a controller and at least one detection circuit electrically connected to the controller method, in order to avoid repetition, it is not repeated here.
本申请实施例中的电子设备可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性 的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。The electronic device in the embodiment of the present application may be a device, or may be a component, an integrated circuit, or a chip in a terminal. The device may be a mobile electronic device or a non-mobile electronic device. Exemplarily, the mobile electronic device may be a mobile phone, a tablet computer, a notebook computer, a handheld computer, a vehicle electronic device, a wearable device, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook or a personal digital assistant (personal digital assistant). assistant, PDA), etc., non-mobile electronic devices can be servers, network attached storage (Network Attached Storage, NAS), personal computer (personal computer, PC), television (television, TV), teller machine or self-service machine, etc., this application Examples are not specifically limited.
本申请实施例中的电子设备可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。The electronic device in this embodiment of the present application may be a device with an operating system. The operating system may be an Android (Android) operating system, an ios operating system, or other possible operating systems, which are not specifically limited in this embodiment of the present application.
图11示出了本申请实施例提供的一种电子设备的硬件结构示意图。如图11所示,该电子设备400包括处理器410。FIG. 11 shows a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application. As shown in FIG. 11 , the electronic device 400 includes a processor 410 .
如图11所示,上述处理器410可以是一个通用中央处理器(central processing unit,CPU),微处理器,专用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。As shown in Figure 11, the above-mentioned processor 410 can be a general central processing unit (central processing unit, CPU), a microprocessor, an application-specific integrated circuit (application-specific integrated circuit, ASIC), or one or more for controlling This application programs the implementation of integrated circuits.
如图11所示,上述电子设备400还可以包括通信线路440。通信线路440可包括一通路,在上述组件之间传送信息。As shown in FIG. 11 , the electronic device 400 may further include a communication line 440 . Communication line 440 may comprise a pathway for communicating information between the above-described components.
可选的,如图11所示,上述电子设备还可以包括通信接口420。通信接口420可以为一个或多个。通信接口420可使用任何收发器一类的装置,用于与其他设备或通信网络通信。Optionally, as shown in FIG. 11 , the electronic device may further include a communication interface 420 . There may be one or more communication interfaces 420 . Communication interface 420 may use any transceiver-like device for communicating with other devices or a communication network.
可选的,如图11所示,该电子设备还可以包括存储器430。存储器430用于存储执行本申请方案的计算机执行指令,并由处理器来控制执行。处理器用于执行存储器中存储的计算机执行指令,从而实现本申请实施例提供的方法。Optionally, as shown in FIG. 11 , the electronic device may further include a memory 430 . The memory 430 is used to store computer-executed instructions for implementing the solutions of the present application, and the execution is controlled by the processor. The processor is configured to execute the computer-executed instructions stored in the memory, so as to realize the method provided by the embodiment of the present application.
如图11所示,存储器430可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于 携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器430可以是独立存在,通过通信线路440与处理器410相连接。存储器430也可以和处理器410集成在一起。As shown in Figure 11, the memory 430 can be a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, a random access memory (random access memory, RAM) or can store Other types of dynamic storage devices for information and instructions can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or Other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), magnetic disc storage medium or other magnetic storage device, or can be used to carry or store desired information in the form of instructions or data structures program code and any other medium that can be accessed by a computer, but is not limited to this. The memory 430 may exist independently, and is connected to the processor 410 through the communication line 440 . The memory 430 can also be integrated with the processor 410 .
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。Optionally, the computer-executed instructions in the embodiments of the present application may also be referred to as application program codes, which is not specifically limited in the embodiments of the present application.
在具体实现中,作为一种实施例,如图11所示,处理器410可以包括一个或多个CPU,如图11中的CPU0和CPU1。In a specific implementation, as an example, as shown in FIG. 11 , the processor 410 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 11 .
在具体实现中,作为一种实施例,如图11所示,终端设备可以包括多个处理器,如图11中的第一处理器4101和第二处理器4102。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。In a specific implementation, as an example, as shown in FIG. 11 , a terminal device may include multiple processors, such as a first processor 4101 and a second processor 4102 in FIG. 11 . Each of these processors can be a single-core processor or a multi-core processor.
图12是本申请实施例提供的芯片的结构示意图。如图12所示,该芯片500包括一个或两个以上(包括两个)处理器410。FIG. 12 is a schematic structural diagram of a chip provided by an embodiment of the present application. As shown in FIG. 12 , the chip 500 includes one or more than two (including two) processors 410 .
可选的,如图12所示,该芯片还包括通信接口420和存储器430,存储器430可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。Optionally, as shown in FIG. 12, the chip further includes a communication interface 420 and a memory 430. The memory 430 may include a read-only memory and a random access memory, and provides operation instructions and data to the processor. A portion of the memory may also include non-volatile random access memory (NVRAM).
在一些实施方式中,如图12所示,存储器430存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。In some implementations, as shown in FIG. 12 , the memory 430 stores the following elements, execution modules or data structures, or their subsets, or their extended sets.
在本申请实施例中,如图12所示,通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。In the embodiment of the present application, as shown in FIG. 12 , corresponding operations are executed by calling an operation instruction stored in a memory (the operation instruction may be stored in an operating system).
如图12所示,处理器410控制终端设备中任一个的处理操作,处理器410还可以称为中央处理单元(central processing unit,CPU)。As shown in FIG. 12, the processor 410 controls the processing operation of any one of the terminal devices, and the processor 410 may also be called a central processing unit (central processing unit, CPU).
如图12所示,存储器430可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器430的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图12中将各种总线都标为总线系统540。As shown in FIG. 12, the memory 430 may include read-only memory and random-access memory, and provides instructions and data to the processor. A portion of memory 430 may also include NVRAM. For example, in the application, the memory, the communication interface, and the memory are coupled together through a bus system, where the bus system may include not only a data bus, but also a power bus, a control bus, and a status signal bus. However, the various buses are labeled as bus system 540 in FIG. 12 for clarity of illustration.
如图12所示,上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实 现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。As shown in FIG. 12 , the methods disclosed in the foregoing embodiments of the present application may be applied to or implemented by a processor. A processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software. The above-mentioned processor can be a general-purpose processor, a digital signal processor (digital signal processing, DSP), an ASIC, an off-the-shelf programmable gate array (field-programmable gate array, FPGA) or other programmable logic device, discrete gate or transistor logic devices, discrete hardware components. Various methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
一方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令被运行时,实现上述实施例中由终端设备执行的功能。In one aspect, a computer-readable storage medium is provided. Instructions are stored in the computer-readable storage medium. When the instructions are executed, the functions performed by the terminal device in the foregoing embodiments are realized.
一方面,提供一种芯片,该芯片应用于终端设备中,芯片包括至少一个处理器和通信接口,通信接口和至少一个处理器耦合,处理器用于运行指令,以实现上述实施例中由储备池计算模型的硬件实现方法执行的功能。On the one hand, a chip is provided, the chip is applied in a terminal device, the chip includes at least one processor and a communication interface, the communication interface is coupled to at least one processor, and the processor is used to run instructions to implement the storage pool in the above embodiment. The functions performed by the hardware implementation method of the computing model.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。In the above embodiments, all or part of them may be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product comprises one or more computer programs or instructions. When the computer program or instructions are loaded and executed on the computer, the processes or functions described in the embodiments of the present application are executed in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, a terminal, user equipment or other programmable devices. The computer program or instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program or instructions may be downloaded from a website, computer, A server or data center transmits to another website site, computer, server or data center by wired or wireless means. The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrating one or more available media. Described usable medium can be magnetic medium, for example, floppy disk, hard disk, magnetic tape; It can also be optical medium, for example, digital video disc (digital video disc, DVD); It can also be a semiconductor medium, for example, solid state drive (solid state drive) , SSD).
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。Although the present application has been described in conjunction with various embodiments herein, those skilled in the art can understand and realize the disclosure by viewing the drawings, the disclosure, and the appended claims during the implementation of the claimed application. Other Variations of Embodiments. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that these measures cannot be combined to advantage.
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。Although the application has been described in conjunction with specific features and embodiments thereof, it will be apparent that various modifications and combinations can be made thereto without departing from the spirit and scope of the application. Accordingly, the specification and drawings are merely illustrative of the application as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of this application. Obviously, those skilled in the art can make various changes and modifications to the application without departing from the spirit and scope of the application. In this way, if these modifications and variations of the application fall within the scope of the claims of the application and their equivalent technologies, the application also intends to include these modifications and variations.
Claims (10)
- 一种基于随机电阻阵列的储备池算模型的硬件实现方法,其特征在于,应用于运行储备池计算模型的电子设备,所述电子设备具有多个阻变器件构成的阻变器件交叉阵列和印制电路板电路,所述阻变器件交叉阵列和所述印制电路板电路电连接;所述阻变器件的数量和所述电子设备中对应的训练好的权重数量相同,所述基于随机电阻阵列的储备池计算模型包括储备池层,所述方法包括:A hardware implementation method of a reserve pool calculation model based on a random resistance array, characterized in that it is applied to electronic equipment running the reserve pool calculation model, and the electronic equipment has a resistive variable device cross array composed of a plurality of resistive variable devices and printed circuit boards. printed circuit board circuit, the resistive variable device cross array is electrically connected to the printed circuit board circuit; the number of the resistive variable device is the same as the corresponding number of trained weights in the electronic device, and the random resistance based The reservoir computing model of the array includes a reservoir layer, the method comprising:获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重;Obtaining the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices;通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的,用于映射所述储备池层随机权重的随机电阻矩阵;forming a randomly distributed random resistance matrix for mapping random weights of the reserve pool layer by applying a breakdown voltage to the intersecting array of resistive switching devices;通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号;converting the input signal into a read voltage signal through the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal;重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。Repeating the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication to determine the output voltage signal based on the read voltage signal and the random resistance matrix, simulating the cyclic iteration of the reserve pool layer process until the output voltage signal is determined to be the final target output voltage signal when it is determined that the input signal satisfies the output preset condition.
- 根据权利要求1所述的方法,其特征在于,所述随机电阻矩阵表征的是所述击穿电压下,所述阻变器件交叉阵列中的每个所述阻变器件处于击穿状态或未击穿的随机状态,以及受到击穿后每个器件的随机电导状态,包含双重随机状态。The method according to claim 1, characterized in that, the random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the intersecting array of resistive switching devices is in a breakdown state or not The random state of the breakdown, and the random conductance state of each device after being subjected to the breakdown, contains a double random state.
- 根据权利要求1所述的方法,其特征在于,所述通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号,包括:The method according to claim 1, wherein the input signal is converted into a read voltage signal through the printed circuit board circuit, and the output is determined by vector matrix multiplication based on the read voltage signal and the random resistance matrix. Voltage signals, including:通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号。The input signal is converted into a read voltage signal through the printed circuit board circuit, the read voltage signal is applied to the random resistance matrix, and the read voltage signal and the The random resistance matrix is processed by vector matrix multiplication to determine the output voltage signal.
- 根据权利要求3所述的方法,其特征在于,所述重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代 过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号,包括:The method according to claim 3, wherein the repeating the printed circuit board circuit converts the input signal into a read voltage signal, and performs vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output The step of voltage signal simulates the cyclic iteration process of the reserve pool layer until the output voltage signal is determined to be the final target output voltage signal under the condition that the input signal satisfies the output preset condition, including:重复所述通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。repeating the process of converting the input signal into a read voltage signal through the printed circuit board circuit, applying the read voltage signal to the random resistance matrix, and converting the read voltage signal to Perform vector matrix multiplication processing with the random resistance matrix, determine the step of output voltage signal, simulate the cycle iteration process of the reserve pool layer, until the input signal is determined to meet the output preset condition, determine the The output voltage signal is the final target output voltage signal.
- 根据权利要求1所述的方法,其特征在于,所述储备池计算模型还包括和所述储备池层连接的分类层,所述目标输出电压信号中包括表征节点特征的数据集在所述确定所述输出电压信号为最终的目标输出电压信号之后,所述方法还包括:The method according to claim 1, wherein the reserve pool calculation model further comprises a classification layer connected to the reserve pool layer, and the target output voltage signal includes a data set representing node characteristics in the determined After the output voltage signal is the final target output voltage signal, the method further includes:将所述目标输出电压信号输入至所述分类层,在所述分类层对所述目标输出电压信号中的数据集进行分类处理后,最终确定并输出预测结果。The target output voltage signal is input to the classification layer, and after the classification process is performed on the data set in the target output voltage signal, the prediction result is finally determined and output.
- 根据权利要求5所述的方法,其特征在于,所述电子设备还包括和阻变器件交叉阵列以及印制电路板电路电连接的板载数字处理器,所述板载数字处理器用于进行所述分类层的数字运算。The method according to claim 5, wherein the electronic equipment further comprises an onboard digital processor electrically connected to the cross array of resistive switching devices and the printed circuit board circuit, and the onboard digital processor is used to perform the Number crunching at the classification layer.
- 一种基于随机电阻阵列的储备池计算模型的硬件实现装置,其特征在于,应用于运行储备池计算模型的电子设备,所述电子设备具有多个阻变器件构成的阻变器件交叉阵列和印制电路板电路,所述阻变器件交叉阵列和所述印制电路板电路电连接;所述阻变器件的数量和所述电子设备中对应的训练好的权重数量相同,所述基于随机电阻阵列的储备池计算模型包括储备池层,所述装置包括:A hardware realization device of a reserve pool calculation model based on a random resistance array, characterized in that it is applied to electronic equipment running the reserve pool calculation model, and the electronic equipment has a resistive variable device cross array composed of a plurality of resistive variable devices and printed circuit boards. printed circuit board circuit, the resistive variable device cross array is electrically connected to the printed circuit board circuit; the number of the resistive variable device is the same as the corresponding number of trained weights in the electronic device, and the random resistance based The reserve pool calculation model of the array includes a reserve pool layer, and the device includes:随机权重获取模块,用于获取基于所述阻变器件交叉阵列生成的所述储备池层的随机权重;a random weight acquisition module, configured to acquire the random weight of the reserve pool layer generated based on the intersecting array of resistive switching devices;击穿电压施加模块,用于通过对所述阻变器件交叉阵列施加击穿电压,形成随机分布的随机电阻矩阵;A breakdown voltage applying module, configured to form a randomly distributed random resistance matrix by applying a breakdown voltage to the intersecting array of resistive switching devices;输出电压确定模块,用于通过所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出 电压信号;The output voltage determination module is used to convert the input signal into a read voltage signal through the printed circuit board circuit, and perform vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal;目标输出电压信号确定模块,用于重复所述印制电路板电路将输入信号转换为读电压信号,基于所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。The target output voltage signal determination module is used to repeat the step of converting the input signal into a read voltage signal by the printed circuit board circuit, and performing vector matrix multiplication based on the read voltage signal and the random resistance matrix to determine the output voltage signal, Simulating the cyclic iterative process of the reserve pool layer until the output voltage signal is determined to be the final target output voltage signal when the input signal is determined to meet the output preset condition.
- 根据权利要求7所述的装置,其特征在于,所述输出电压信号确定模块包括:The device according to claim 7, wherein the output voltage signal determination module comprises:输出电压信号确定子模块,用于通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号;The output voltage signal determination sub-module is used to convert the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff's law and Ohm's law performing vector matrix multiplication processing on the read voltage signal and the random resistance matrix to determine an output voltage signal;所述随机电阻矩阵表征的是所述击穿电压下,所述阻变器件交叉阵列中的每个所述阻变器件处于击穿状态或未击穿的随机状态,以及受到击穿后每个器件的随机电导状态,包含双重随机状态。The random resistance matrix represents that under the breakdown voltage, each of the resistive switching devices in the intersecting array of resistive switching devices is in a breakdown state or a random state without breakdown, and each Random conductance states of the device, including double random states.
- 根据权利要求8所述的装置,其特征在于,所述目标输出电压信号确定模块包括:The device according to claim 8, wherein the target output voltage signal determination module comprises:目标输出电压信号确定子模块,用于重复所述通过所述印制电路板电路将输入信号转换为读电压信号,将所述读电压信号施加至所述随机电阻矩阵中,利用基尔霍夫定律和欧姆定律将所述读电压信号和所述随机电阻矩阵进行向量矩阵乘法处理,确定输出电压信号这一步骤,模拟所述储备池层的循环迭代过程,直至在确定所述输入信号满足输出预设条件的情况下,确定所述输出电压信号为最终的目标输出电压信号。The target output voltage signal determination sub-module is used to repeat the conversion of the input signal into a read voltage signal through the printed circuit board circuit, apply the read voltage signal to the random resistance matrix, and use Kirchhoff law and Ohm's law, the read voltage signal and the random resistance matrix are subjected to vector matrix multiplication processing, and the step of determining the output voltage signal simulates the iterative process of the reserve pool layer until the input signal is determined to meet the output In the case of preset conditions, the output voltage signal is determined to be the final target output voltage signal.所述储备池计算模型还包括和所述储备池层连接的分类层,所述装置还包括:The reserve pool calculation model also includes a classification layer connected to the reserve pool layer, and the device also includes:预测结果输出模块,用于将所述目标输出电压信号输入至所述分类层,在所述分类层对所述目标输出电压信号中的数据集进行分类处理后,最终确定并输出预测结果。The prediction result output module is configured to input the target output voltage signal into the classification layer, and finally determine and output the prediction result after the classification process is performed on the data sets in the target output voltage signal.所述电子设备还包括和阻变器件交叉阵列以及印制电路板电路电连接的板载数字处理器,所述板载数字处理器用于进行所述分类层的数字运算。The electronic equipment also includes an on-board digital processor electrically connected to the cross array of resistive variable devices and the printed circuit board circuit, and the on-board digital processor is used to perform digital operations on the classification layer.
- 一种电子设备,其特征在于,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行权利要求7-9任一所述的储备池计算模型的硬件实现装置。An electronic device comprising: one or more processors; and one or more machine-readable media having instructions stored thereon which, when executed by the one or more processors, cause the The device executes the hardware realization device of the reserve pool calculation model described in any one of claims 7-9.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002137.5 | 2022-01-04 | ||
CN202210002137.5A CN114330697A (en) | 2022-01-04 | 2022-01-04 | Hardware implementation method and device of reserve pool calculation model based on random resistor array and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023130725A1 true WO2023130725A1 (en) | 2023-07-13 |
Family
ID=81022218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/112493 WO2023130725A1 (en) | 2022-01-04 | 2022-08-15 | Hardware implementation method and apparatus for reservoir computing model based on random resistor array, and electronic device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114330697A (en) |
WO (1) | WO2023130725A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114330697A (en) * | 2022-01-04 | 2022-04-12 | 中国科学院微电子研究所 | Hardware implementation method and device of reserve pool calculation model based on random resistor array and electronic equipment |
CN116777727B (en) * | 2023-06-21 | 2024-01-09 | 北京忆元科技有限公司 | Integrated memory chip, image processing method, electronic device and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200279012A1 (en) * | 2019-03-01 | 2020-09-03 | International Business Machines Corporation | Resistive Memory Device For Matrix-Vector Multiplications |
CN112308221A (en) * | 2020-10-14 | 2021-02-02 | 成都市深思创芯科技有限公司 | Working memory hardware implementation method based on reserve pool calculation |
CN112488308A (en) * | 2020-12-18 | 2021-03-12 | 清华大学 | Reserve pool computing system based on dynamic memristor |
CN114330697A (en) * | 2022-01-04 | 2022-04-12 | 中国科学院微电子研究所 | Hardware implementation method and device of reserve pool calculation model based on random resistor array and electronic equipment |
-
2022
- 2022-01-04 CN CN202210002137.5A patent/CN114330697A/en active Pending
- 2022-08-15 WO PCT/CN2022/112493 patent/WO2023130725A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200279012A1 (en) * | 2019-03-01 | 2020-09-03 | International Business Machines Corporation | Resistive Memory Device For Matrix-Vector Multiplications |
CN112308221A (en) * | 2020-10-14 | 2021-02-02 | 成都市深思创芯科技有限公司 | Working memory hardware implementation method based on reserve pool calculation |
CN112488308A (en) * | 2020-12-18 | 2021-03-12 | 清华大学 | Reserve pool computing system based on dynamic memristor |
CN114330697A (en) * | 2022-01-04 | 2022-04-12 | 中国科学院微电子研究所 | Hardware implementation method and device of reserve pool calculation model based on random resistor array and electronic equipment |
Non-Patent Citations (1)
Title |
---|
WANG SHAOCONG, LI YI, WANG DINGCHEN, ZHANG WOYU, CHEN XI, DONG DANIAN, WANG SONGQI, ZHANG XUMENG, LIN PENG, GALLICCHIO CLAUDIO, XU: "Echo state graph neural networks with analogue random resistor arrays", 30 December 2021 (2021-12-30), XP093076835, Retrieved from the Internet <URL:https://arxiv.org/ftp/arxiv/papers/2112/2112.15270.pdf> DOI: 10.48550/arxiv.2112.15270 * |
Also Published As
Publication number | Publication date |
---|---|
CN114330697A (en) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Long et al. | ReRAM-based processing-in-memory architecture for recurrent neural network acceleration | |
WO2023130725A1 (en) | Hardware implementation method and apparatus for reservoir computing model based on random resistor array, and electronic device | |
CN110546611B (en) | Reducing power consumption in a neural network processor by skipping processing operations | |
US20180095930A1 (en) | Field-Programmable Crossbar Array For Reconfigurable Computing | |
CN108090565A (en) | Accelerated method is trained in a kind of convolutional neural networks parallelization | |
Jain et al. | Neural network accelerator design with resistive crossbars: Opportunities and challenges | |
US11756610B2 (en) | Apparatus and method with in-memory delay dependent processing | |
KR102618546B1 (en) | 2-dimensional array based neuromorphic processor and operating method for the same | |
US11887647B2 (en) | Deep learning accelerator and random access memory with separate memory access connections | |
WO2021206973A1 (en) | Integrated circuit device with deep learning accelerator and random access memory | |
CN113010213A (en) | Simplified instruction set storage and calculation integrated neural network coprocessor based on resistance change memristor | |
Cao et al. | Neural-pim: Efficient processing-in-memory with neural approximation of peripherals | |
Sun et al. | Low-consumption neuromorphic memristor architecture based on convolutional neural networks | |
WO2022031446A1 (en) | Optimized sensor fusion in deep learning accelerator with integrated random access memory | |
US20220147808A1 (en) | Compiler configurable to generate instructions executable by different deep learning accelerators from a description of an artificial neural network | |
JP7507549B2 (en) | Neuromorphic device and method for processing multi-bit neuromorphic operations with a neuromorphic device | |
KR20220145143A (en) | Neural network apparatus and operating method of the same | |
US20220044102A1 (en) | Fault tolerant artificial neural network computation in deep learning accelerator having integrated random access memory | |
US20220147809A1 (en) | Deep learning accelerators with configurable hardware options optimizable via compiler | |
Senthilkumar et al. | An improved fuzzy cellular neural network (IFCNN) for an edge detection based on parallel RK (5, 6) approach | |
CN107992942B (en) | Convolutional neural network chip and convolutional neural network chip operation method | |
US12135671B2 (en) | Video compression in removable storage device having deep learning accelerator and random access memory | |
Yang et al. | High-performance convolutional neural network emulation via FPGA-integrated memristive circuitry | |
CN115481562B (en) | Multi-parallelism optimization method and device, recognition method and electronic equipment | |
US20210400286A1 (en) | Video Compression in Removable Storage Device having Deep Learning Accelerator and Random Access Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22918181 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |