Time series data processing system and method based on topologically reconfigurable physical reservoir
Through the physical reservoir timing data processing system based on topological reconstruction, the topological structure reconstruction of the physical reservoir is realized by using the coordinated work of the control module, storage module and computing module, which solves the problem of frequent replacement of physical reservoir materials, and improves the accuracy of chemical data prediction and system flexibility.
Patent Information
- Application Number
- CN202510250776.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-04
- Publication Date
- 2025-07-08
AI Technical Summary
In the prior art, physical reservoirs need to frequently replace materials when performing data processing in different sequences, resulting in inflexibility and cumbersome operation, affecting the accuracy of chemical data prediction.
The physical reservoir timing data processing system based on topological reconstruction is adopted. Through the coordinated work of the control module, storage module, weight topology module and computing module, the topology structure reconstruction of the physical reservoir is realized, avoiding the replacement of physical materials and using the weight matrix for data processing.
It improves the flexibility of topological structure and the accuracy of chemical data prediction, reduces the frequency of replacement of physical reservoir materials, and improves the processing efficiency of the system.
Smart Images

Figure CN120277351A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of reservoir computing, and in particular, to a time-series data processing system and method based on a physically reconfigurable reservoir. Background Art
[0002] With the development of artificial intelligence, more and more data processing tasks can be implemented using neural networks. However, in working environments with high requirements for power consumption and speed, we need a neural network system with high speed and low power consumption for processing. As an extended framework of recurrent neural networks, reservoir computing is very effective in processing time-series data and sequential data. Since the input layer weights and the liquid layer weights are pre-generated and fixed, the training cost of the liquid state machine is relatively low. The reservoir computing network has fewer layers and fewer parameters, so the computational complexity is small and the power consumption is low.
[0003] In the prior art, reservoir computing is often used in time-series data processing tasks. When performing time-series data processing (classification or prediction) tasks, taking the prediction of the substance concentration in a chemical experiment as an example, different chemical reactions or chemical reactions under different conditions often require different reservoir structures for processing. For physical reservoirs, the physical reservoir materials need to be frequently replaced, which not only affects the lifespan of the physical materials, but more importantly, it lacks flexibility, resulting in the cumbersome operation of predicting chemical data through the topological structure of the physical reservoir.
[0004] Therefore, there is an urgent need to propose a time-series data processing system and method based on a physically reconfigurable reservoir to solve the problem in the prior art that when performing different time-series data processing, the physical reservoir materials need to be frequently replaced, lacking flexibility. Summary of the Invention
[0005] In view of this, it is necessary to provide a time-series data processing system and method based on a physically reconfigurable reservoir to solve the problem in the prior art that when performing different time-series data processing, the physical reservoir materials need to be frequently replaced, lacking flexibility.
[0006] To solve the above problems, the present invention provides a time-series data processing system based on a physically reconfigurable reservoir, the system includes a control module, a storage module, a weight topology module, and a computing module; The control module is configured to, when receiving a reset signal, read the weight topology data, reservoir size data, and configuration data after topological reconstruction from the storage module according to the reset signal, configure the operating parameters of the ADC and DAC according to the configuration data, and control the storage module to send the weight topology data and the reservoir size data to the weight topology module; The weight topology module is used to transfer different row data of the weight matrices of each layer in the weight topology data to the calculation module row by row according to the reservoir size data and the timing of the calculation module; The calculation module is used to receive input timing data, perform vector multiplication operations on the input timing data, the state data of the physical neurons collected by the ADC, and different row data of the weight matrix, and perform data conversion through the DAC to transfer to the physical neurons. When the input timing data reception is completed, system output data is obtained; the system output data is the processing result of the input timing data.
[0007] In a possible implementation manner, the weight topology module includes an input layer sub-module, a reservoir sub-module, and a readout layer sub-module; the input layer sub-module includes an input layer weight FIFO, the reservoir sub-module includes a reservoir weight FIFO, and the readout layer sub-module includes a readout layer weight FIFO; the input layer weight FIFO is used to store the input layer weight matrix of the input layer in the weight topology data; the reservoir weight FIFO is used to store the reservoir weight matrix of the reservoir in the weight topology data; the readout layer weight FIFO is used to store the readout layer weight matrix of the readout layer in the weight topology data; The input layer sub-module is used to transfer each row of data in the input layer weight matrix of the input layer weight FIFO to the calculation module row by row; The reservoir sub-module is used to transfer each row of data in the reservoir weight matrix of the reservoir weight FIFO to the calculation module row by row; The readout layer sub-module is used to transfer each row of data in the readout layer weight matrix of the readout layer weight FIFO to the calculation module row by row.
[0008] In a possible implementation manner, the input layer sub-module is further used to read the data corresponding to the input layer of the weight topology data after topology reconstruction into the input layer weight matrix of the input layer weight FIFO, and during the operation, read each row of data in the input layer weight matrix in the input layer weight FIFO row by row and cache it to the register array, transfer a row of data in the register array to the input layer matrix of the calculation module, and when the calculation module finishes operating on a row of data in the input layer matrix, store the data in the register array back to the input layer weight FIFO again.
[0009] In a possible implementation manner, the calculation module includes a serial-to-parallel sub-module; The serial-to-parallel sub-module is used to transmit the state data of the physical neurons serially transmitted by the ADC in a parallel transmission manner through a shift register.
[0010] In a possible implementation, the computing module further includes an input layer matrix calculation sub-module; The input layer matrix calculation sub-module is used to read a row of data of the input layer matrix row by row, multiply the input timing data and a row of data of the input layer matrix correspondingly through a multiplier array and sum them through an adder tree to obtain a data of the input layer output vector, and store it in the register bank. When all the row data operations in the input layer weight matrix are completed, the input layer output vector in the register bank is determined as the input layer final output vector.
[0011] In a possible implementation, the computing module further includes a reservoir matrix calculation sub-module; The reservoir matrix calculation sub-module is used to read a row of data of the reservoir weight matrix row by row, multiply the state data parallelly transmitted by the serial-to-parallel sub-module and a row of data of the reservoir weight matrix correspondingly through a multiplier array and sum them through an adder tree to obtain a data of the reservoir output vector. When all the row data operations in the reservoir weight matrix are completed, the reservoir output vector in the register bank is determined as the reservoir final output vector.
[0012] In a possible implementation, the computing module further includes a readout layer matrix calculation sub-module; The readout layer matrix calculation sub-module is used to read a row of data of the readout layer weight matrix row by row, multiply the state data parallelly transmitted by the serial-to-parallel sub-module and a row of data of the readout layer weight matrix correspondingly through a multiplier array and sum them through an adder tree to obtain a data of the readout layer output vector. When all the row data operations in the readout layer weight matrix are completed, the readout layer output vector in the register bank is determined as the readout layer final output vector, and the readout layer final output vector is used as the system output data.
[0013] In a possible implementation, the computing module further includes a summation sub-module; The summation sub-module is used to sum the input layer final output vector and the reservoir final output vector in the register bank through an adder array to obtain a summation output vector, and store the summation output vector in the register bank.
[0014] In a possible implementation, the computing module further includes a parallel-to-serial sub-module; The parallel-to-serial sub-module is used to transmit the summation output vector in the register bank to the DAC in a serial transmission manner through the shift register.
[0015] On the other hand, the present invention also provides a method for processing time-series data based on a topologically reconfigurable physical reservoir, including: When a reset signal is received, read the weight topology data, reservoir size data, and configuration data after topological reconstruction according to the reset signal, and configure the operating parameters of the ADC and DAC according to the configuration data; Transmit the data of the weight matrix of each layer in the weight topology data row by row according to the reservoir size data and time series; Receive the input time-series data, perform vector multiplication operations on the different row data of the weight matrix according to the input time-series data and the state data of the physical neurons collected by the ADC, perform data conversion through the DAC and transmit it to the physical neurons, and when the input time-series data is received completely, obtain the system output data; the system output data is the processing result of the input time-series data.
[0016] The beneficial effects of the present invention are as follows: The system includes a control module, a storage module, a weight topology module, and a calculation module; the control module is used to, when a reset signal is received, read the weight topology data, reservoir size data, and configuration data after topological reconstruction from the storage module according to the reset signal, configure the operating parameters of the ADC and DAC according to the configuration data, and control the storage module to send the weight topology data and reservoir size data to the weight topology module; the weight topology module is used to transmit the different row data of the weight matrix of each layer in the weight topology data to the calculation module row by row according to the reservoir size data and the time series of the calculation module; the calculation module is used to receive the input time-series data, perform vector multiplication operations on the different row data of the weight matrix according to the input time-series data and the state data of the physical neurons collected by the ADC, perform data conversion through the DAC and transmit it to the physical neurons, and when the input time-series data is received completely, obtain the system output data; the system output data is the processing result of the input time-series data, so that the corresponding weight topology data after topological reconstruction can be determined according to the reset signal, without replacing the physical reservoir material, improving the flexibility of the topological structure, and then the input time-series data can be predicted according to the weight topology data after topological reconstruction, thereby improving the accuracy of the chemical data prediction result. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 It is a schematic structural diagram of an embodiment of a time-series data processing system based on a topologically reconfigurable physical reservoir provided by the present invention; Figure 2 It is a schematic structural diagram of an embodiment of the weight topology module provided by the present invention; Figure 3 It is a schematic structural diagram of an embodiment of the calculation module provided by the present invention; Figure 4Schematic diagram of a process of an embodiment of the embedded method based on topological reconstruction provided by the present invention. Detailed implementation manners
[0018] The preferred embodiments of the present invention will be specifically described below with reference to the accompanying drawings. The accompanying drawings form a part of this application and are used together with the embodiments of the present invention to explain the principles of the present invention, rather than to limit the scope of the present invention.
[0019] The function of the ADC (Analog-to-Digital Converter) is to convert an analog signal into a digital signal. An analog signal is a continuously varying voltage or current signal, usually from a sensor, a voltage source, etc.
[0020] The function of the DAC (Digital-to-Analog Converter) is to convert a digital signal into an analog signal. A digital signal is a discrete signal represented in digital form, usually from a computer, a microcontroller, etc.
[0021] As Figure 1 shown, a specific embodiment of the present invention discloses a timing data processing system based on a physically topologically reconfigurable reservoir. The system 100 includes a control module 101, a storage module 102, a weight topology module 103, and a calculation module 104; The control module 101 is configured to, when receiving a reset signal, read the weight topology data, reservoir size data, and configuration data after topological reconstruction from the storage module according to the reset signal, configure the operating parameters of the ADC 105 and the DAC 106 according to the configuration data, and control the storage module 102 to send the weight topology data and the reservoir size data to the weight topology module 103; The weight topology module 103 is configured to transfer different row data of the weight matrix of each layer in the weight topology data to the calculation module 104 row by row according to the reservoir size data and the timing of the calculation module; The calculation module 104 is configured to receive input timing data, perform input timing data calculation on different row data of the weight matrix according to the input timing data and the state data of the physical neuron 107 collected by the ADC, perform data conversion through the DAC 106 to transfer to the physical neuron 107, and obtain a system output vector when the input timing data reception is completed; the system output vector is the processing result of the input timing data.
[0022] It should be understood that: The time-series data processing system can be an embedded system, which can be deployed on an FPGA. The FPGA can be connected to a host computer (such as a computer) through a data line (serial port, axi4 interface, etc.). An SD card can be set in the card slot of the FPGA, and RAM can also be written into the FPGA. Among them, any method that can write configuration information into the embedded system can be used to replace this structure. The configuration information includes, but is not limited to, the weight topology data of the physical reservoir layer, the reservoir size data, and the configuration data of the external digital-to-analog converter and analog-to-digital converter. It can be applied to various chemical experiments to process the data used in chemical experiments. For example, temperature, gas concentration, etc. When predicting the temperature data in a chemical experiment, a certain amount of temperature data can be collected, and then these temperature data are sent to the system together with the reset signal as input time-series data through the host computer. The existing topological structure of the physical reservoir layer is fixed after being generated and lacks flexibility. The system can be combined with the physical reservoir layer, and different topological structures of the physical reservoir layer can be realized by controlling the data in the system. Specifically, the topological structure of the physical reservoir layer can be written into the weight matrix of the weight topology data of the storage module. When different experiments are carried out, according to the experimental requirements, the data in the weight matrix of the storage module can be modified through devices such as the host computer, SD card, and RAM, so as to perform topological structure reconstruction. Then, the data to be predicted can be processed through the weight topology data of the reconstructed topological structure to obtain more accurate data.
[0023] In a specific embodiment of the present invention, an embedded system can be combined with a physical reservoir, and the topological structure of the physical reservoir can be reconstructed by controlling the weight matrices of each layer of reservoir operations in the embedded system. Workers can modify the data in the weight matrix of the storage module through devices such as the host computer, SD card, and RAM according to the data required for the experiment currently. Thus, the topological structure is reconstructed, and the data in the weight matrix of the storage module becomes the data of the reconstructed topological structure. Then, workers can send a reset signal to the embedded system through devices such as the host computer, SD card, and RAM. The embedded system (sequential data processing system) is connected to the physical neurons through the ADC and DAC. The state of the physical neurons is collected through the ADC and converted into a digital signal and input into the embedded system. The data in the embedded system is converted into an analog quantity through the DAC and acts on the physical neurons. The embedded system includes a control module, a storage module, a weight topology module, and a calculation module. The control module can receive the input FPGA reset signal, and the FPGA reset signal may include the characteristics of the weight topology data to be processed. For example, when predicting temperature data, the weight topology data for reconstructing the topological structure can be determined as the topological structure data corresponding to the temperature. Then, the weight topology data, reservoir size data, and configuration data after the topological reconstruction of the physical reservoir can be read from the storage module. The control module can configure the operating parameters of the ADC and DAC according to the configuration data, thereby binding to the ADC and DAC. The weight topology data and reservoir size data can also be sent to the weight topology module. The weight topology module can transfer the different row data of the weight matrices of each layer in the weight topology data to the calculation module row by row according to the reservoir size data and the timing of the calculation module. The calculation module can receive the input sequential data transmitted by the control module, where the input sequential data is input in the form of a sequential vector. It can also receive the state data of the physical neurons collected by the ADC transmitted by the control module. Then, vector multiplication operations are performed on the different row data of the weight matrix through the input sequential data and the state data of the physical neurons. Data conversion is performed through the DAC and transmitted to the physical neurons. When the input sequential data reception is completed, a system output vector can be obtained. The system output vector can be the processing result of the input sequential data. Then, the processing result is output to devices such as the host computer.
[0024] Compared with the prior art, the system provided in this embodiment includes a control module, a storage module, a weight topology module, and a calculation module; the control module is configured to, when receiving a reset signal, read the weight topology data, reservoir size data, and configuration data after topology reconstruction from the storage module according to the reset signal, configure the operating parameters of the ADC and DAC according to the configuration data, and control the storage module to send the weight topology data and reservoir size data to the weight topology module; the weight topology module is configured to transfer different row data of the weight matrix of each layer in the weight topology data to the calculation module row by row according to the reservoir size data and the timing of the calculation module; the calculation module is configured to receive input timing data, perform a vector multiplication operation on the input timing data, the state data of physical neurons collected by the ADC, and different row data of the weight matrix, and perform data conversion through the DAC to transfer to the physical neurons, and obtain a system output vector when the input timing data reception is completed; the system output vector is the processing result of the input timing data, so that the corresponding weight topology data after topology reconstruction can be determined according to the reset signal, without replacing the physical reservoir material, improving the flexibility of the topology structure, and then the input timing data can be predicted according to the weight topology data after topology reconstruction, thereby improving the result accuracy of chemical data prediction.
[0025] In some embodiments of the present invention, the weight topology module includes an input layer sub-module, a reservoir sub-module, and a readout layer sub-module; the input layer sub-module includes an input layer weight FIFO, the reservoir sub-module includes a reservoir weight FIFO, and the readout layer sub-module includes a readout layer weight FIFO; the input layer weight FIFO is configured to store the input layer weight matrix of the input layer in the weight topology data; the reservoir weight FIFO is configured to store the reservoir weight matrix of the reservoir in the weight topology data; the readout layer weight FIFO is configured to store the readout layer weight matrix of the readout layer in the weight topology data; The input layer sub-module is configured to transfer each row data in the input layer weight matrix of the input layer weight FIFO to the calculation module row by row; The reservoir sub-module is configured to transfer each row data in the reservoir weight matrix of the reservoir weight FIFO to the calculation module row by row; The readout layer sub-module is configured to transfer each row data in the readout layer weight matrix of the readout layer weight FIFO to the calculation module row by row.
[0026] In a specific embodiment of the present invention, such as Figure 2As shown, the weight topology module 103 may include an input layer sub-module, a reservoir sub-module, and a readout layer sub-module. Among them, the input layer sub-module includes an input layer weight FIFO, the reservoir sub-module includes a reservoir weight FIFO, and the readout layer sub-module includes a readout layer weight FIFO. The weight topology module 103 reads data in the weight matrices of the input layer, reservoir, and readout layer from the storage module 102 according to the timing control of the calculation module 104, and connects different row data of the weight matrix to the calculation module according to the timing of the calculation module. The input layer weight FIFO is used to store the input layer weight data read from the storage module, and the input layer weighted topology structure is represented by the input layer weight data, that is, the connection topology between the input end and the reservoir. The input layer weights are represented in the form of a matrix, that is, the input layer weight matrix. The control module 101 can control the input layer sub-module, reservoir sub-module, and readout layer sub-module of the weight topology module, and send the weight data to the corresponding layer of the calculation module. Specifically: the input layer sub-module can transfer each row of data in the input layer weight matrix of the input layer weight FIFO to the calculation module row by row, the reservoir sub-module can transfer each row of data in the reservoir weight matrix of the reservoir weight FIFO to the calculation module row by row, and the readout layer sub-module can transfer each row of data in the readout layer weight matrix of the readout layer weight FIFO to the calculation module row by row.
[0027] In some embodiments of the present invention, the input layer sub-module is further configured to read the weight topology data corresponding to the input layer data of the topology reconstruction into the input layer weight matrix of the input layer weight FIFO, and when performing operations, read each row of data in the input layer weight matrix in the input layer weight FIFO row by row and cache it to the register array, transfer a row of data in the register array to the input layer matrix of the calculation module, and when the calculation module finishes operating on a row of data in the input layer matrix, store a row of data in the register array back to the input layer weight FIFO again.
[0028] In a specific embodiment of the present invention, the specific process of the control module controlling the input layer sub-module is as follows: When reading the data of the storage module, the data corresponding to the weight topology data of the topology reconstruction of the storage module at the position of the input layer weight data is read into the input layer weight matrix of the input layer weight FIFO. During the operation, each time a row of data in the input layer weight matrix is read out through the input layer weight FIFO and cached in the register array, that is, each row of data is read out row by row and cached in the register array, and is connected to the input layer matrix calculation sub-module in the calculation module through the mesh-type data, and the register array used for caching is connected to the input of the input layer weight FIFO. Furthermore, a row of data in the above register array can be transferred to the input layer matrix of the calculation module. When the calculation module finishes operating on a row of data in the input layer matrix, the data in the register array can be stored back into the input layer weight FIFO. Thus, the row data of the weight matrix is stored back into the input layer weight FIFO, and the access of the input layer weight FIFO is controlled by the control module.
[0029] The reservoir weight FIFO is the same in principle as the readout layer weight FIFO. The reservoir weight FIFO is used to store the corresponding reservoir weight data read from the weight topology data of the topology reconstruction of the storage module. The weighted topology structure of the reservoir is represented by the reservoir weight data, that is, the connection topology inside the reservoir. The reservoir weight is represented in the form of a matrix. When reading the data of the storage module, the data corresponding to the position of the reservoir weight data in the storage module is read into the reservoir weight matrix of the reservoir weight FIFO. During the operation, each time a row of data in the reservoir weight matrix is read out through the reservoir weight FIFO and transferred to the register array for caching, and is connected to the reservoir matrix calculation sub-module in the calculation unit through the mesh-type data, and the register array used for caching is connected to the input of the reservoir weight matrix, so as to store the row data of the reservoir weight matrix back into the reservoir weight matrix. The access of the reservoir weight FIFO is controlled by the control module.
[0030] The readout layer weight FIFO is used to store the corresponding readout layer weight data read from the weight topology data of the topology reconstruction of the storage module. The weighted topology structure of the readout layer is represented by the readout layer weight data, that is, the connection topology between the reservoir and the output end. The readout layer weight is represented in the form of a matrix. When reading the data of the storage module, the data corresponding to the position of the readout layer weight data in the storage module is read into the readout layer weight FIFO. During the operation, each time a row of data in the weight matrix is read out through the FIFO and transferred to the register array for caching, and is connected to the readout layer matrix calculation sub-module in the calculation unit through the mesh-type data, and the register array used for caching is connected to the input of the FIFO, so as to store the row data of the weight matrix back into the FIFO. The access of the readout layer weight FIFO is controlled by the control module.
[0031] Such as Figure 3As shown in the figure, the calculation module 104 may include a serial-to-parallel sub-module 1041, an input layer matrix calculation sub-module 1042, a reservoir matrix calculation sub-module 1043, a readout layer matrix calculation sub-module 1044, a summation sub-module 1045, and a parallel-to-serial sub-module 1046. Among them, the serial-to-parallel sub-module 1041 can receive the state data of physical neurons transmitted serially in the ADC. The serial-to-parallel sub-module 1041 can be used to sequentially store the state data of physical neurons into the register bank through a shift register to achieve parallel transmission to other modules. The register bank is connected to the reservoir matrix calculation sub-module 1043 and the readout layer matrix calculation sub-module 1044 through a mesh-type data, so that parallel calculations can be performed when operations are carried out in the reservoir matrix calculation sub-module 1043 and the readout layer matrix calculation sub-module 1044, accelerating the operation speed. The data in the register bank of this module is the neuron state vector. The input layer matrix calculation sub-module 1042 is used to sequentially read a row of data of the input layer matrix (i.e., the input layer weights in the input layer weight matrix), multiply the input timing data of the embedded system and a row of data of the input layer matrix through a multiplier array (inner product), and then sum through an adder tree to obtain one of the data of the input layer output vector, and store it in the register bank. When all rows of data in the input layer weight matrix are processed, the input layer output vector in the register bank can be determined as the input layer final output vector. The reservoir matrix calculation sub-module 1043 is used to sequentially read a row of data of the reservoir matrix (i.e., the reservoir weights in the reservoir weight matrix), multiply the state data of physical neurons transmitted in parallel by the serial-to-parallel sub-module 1041 and a row of data in the reservoir weight matrix through a multiplier array (inner product), and then sum through an adder tree to obtain one of the data of the reservoir output vector. When all rows of data in the reservoir weight matrix are processed, the reservoir output vector can be determined as the reservoir final output vector. The readout layer matrix calculation sub-module 1044 is used to sequentially read a row of data of the readout layer matrix (i.e., the readout layer weights in the readout layer weight matrix), multiply the state data of physical neurons transmitted in parallel by the serial-to-parallel sub-module 1041 and a row of data of the readout layer matrix through a multiplier array (inner product), and then sum through an adder tree to obtain one of the data of the readout layer output vector. When all rows of data in the readout layer weight matrix are processed, the readout layer output vector can be determined as the readout layer final output vector, and the readout layer final output vector is used as the system output vector. Among them, the operations of the input layer, the reservoir, and the readout layer are carried out simultaneously.
[0032] After both the input layer matrix calculation sub-module 1042 and the reservoir matrix calculation sub-module 1043 have completed processing, the summation sub-module 1045 can sum the final output vector of the input layer and the final output vector of the reservoir in the register bank through an adder array to obtain a summation output vector, and then store the summation output vector in the register bank. The serial conversion sub-module 1046 can transfer the summation output vector in the register bank to the DAC in a serial transmission manner through a shift register, and the DAC converts the summation output vector into an analog signal and inputs it into an external physical neuron. Detect whether the external input timing data has been completely input; if not, then continue to return to the step where the control module controls the ADC to collect the state data of the physical neuron; if so, then end the current system operation, and the final output vector of the output layer is used as the system output vector.
[0033] Furthermore, the overall process of the embedded system is as follows: First, the embedded system starts or generates a reset. The control module detects the reset signal and controls the data in the storage module to be read into the weight topology module and records the sizes of the input layer, the reservoir, and the output layer, as well as the ADC and DAC configuration data. Then the control module configures the ADC and DAC according to the ADC and DAC configuration data. Next, the control module controls the ADC to collect the state data of the physical neuron. Then the serial-to-parallel conversion sub-module converts the state data of the physical neuron of the ADC into parallel. Then the three layers of the input layer, the reservoir, and the output layer perform operations simultaneously. The input layer matrix calculation sub-module receives the system input and the input layer weight matrix in the weight topology module to perform matrix-vector multiplication to obtain the output of the input layer at this time step. The reservoir matrix calculation sub-module receives the state data of the physical neuron from the serial-to-parallel conversion sub-module and the reservoir weight matrix in the weight topology module to perform matrix-vector multiplication to obtain the reservoir feedback data at this time step. The output layer matrix calculation sub-module receives the state data of the physical neuron from the serial-to-parallel conversion sub-module and the output layer weight matrix in the weight topology module to perform matrix-vector multiplication to obtain the output of the output layer at the previous time step, which is used as the system output data. It can be seen that there is a one-cycle difference between the system input data and its corresponding system output data. Then the summation sub-module receives the output of the output layer and the reservoir feedback to perform a summation operation as the input of the reservoir. The parallel-to-serial module converts the input of the reservoir into serial data and inputs it into the DAC. The DAC converts the data into an analog signal and inputs it into an external physical neuron. Detect whether the external input is complete; if not, then continue to return to the step where the control module controls the ADC to collect the state data of the physical neuron; if so, then end the current system operation.
[0034] The embodiments of the present invention are embedded systems developed specifically for the field of reservoir computing, supporting the reconfiguration of the internal topology of physical reservoirs. The biggest feature is that the connections of physical neurons in the physical reservoir can be configured according to the weight matrix data in the system, which is completely different from the fixed form of the topology generation of existing physical reservoirs. By combining the physical reservoir with the embedded system and simulating the connections of physical neurons in the physical reservoir through the weight matrix in the embedded system, rather than actually connecting the physical neurons, a new idea for reservoir construction is provided. Utilizing the parallel computing advantage of hardware, the operations of each layer of reservoir computing can be performed in parallel, greatly accelerating the network processing speed.
[0035] In order to better implement the time-series data processing system based on a topologically reconfigurable physical reservoir in the embodiments of the present invention, correspondingly, the embodiments of the present invention also provide a time-series data processing method based on a topologically reconfigurable physical reservoir, as Figure 4 shown, the embedded method based on topological reconstruction includes: S401. When a reset signal is received, read the weight topology data, reservoir size data, and configuration data after topological reconstruction according to the reset signal, and configure the operating parameters of the ADC and DAC according to the configuration data; S402. Transmit the data of each layer's weight matrix in the weight topology data row by row according to the reservoir size data and time series; S403. Receive the input time-series data, perform vector multiplication operations on the input time-series data, the state data of physical neurons collected by the ADC, and different row data of the weight matrix, and perform data conversion through the DAC to transmit to the physical neurons. When the input time-series data reception is completed, obtain the system output data; the system output data is the processing result of the input time-series data.
[0036] The above-described embedded method based on topological reconstruction can implement the technical solutions described in the embodiments of the above-mentioned time-series data processing system based on a topologically reconfigurable physical reservoir. The specific implementation principles of the above-mentioned modules or units can be referred to the corresponding content in the embodiments of the above-mentioned time-series data processing system based on a topologically reconfigurable physical reservoir, and will not be elaborated here.
[0037] The above has introduced in detail the time-series data processing system and method based on a topologically reconfigurable physical reservoir provided by the present invention. Specific examples are used in this article to elaborate on the principles and implementation manners of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention; at the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation manners and application scopes. In summary, the content of this specification should not be construed as a limitation on the present invention.
Claims
1. A timing data processing system based on a physically topologically reconfigurable reservoir, characterized in that, The system includes a control module, a storage module, a weight topology module, and a calculation module; The control module is configured to, when receiving a reset signal, read the weight topology data, reservoir size data, and configuration data after topology reconstruction from the storage module according to the reset signal, configure the operating parameters of the ADC and DAC according to the configuration data, and control the storage module to send the weight topology data and the reservoir size data to the weight topology module; The weight topology module is configured to transfer different row data of the weight matrices of each layer in the weight topology data to the calculation module row by row according to the reservoir size data and the timing of the calculation module; The calculation module is configured to receive input timing data, perform vector multiplication operations on the input timing data, the state data of the physical neurons collected by the ADC, and different row data of the weight matrix, perform data conversion through the DAC to transfer to the physical neurons, and obtain system output data when the input timing data reception is completed; the system output data is the processing result of the input timing data.
2. The timing data processing system based on a physically topologically reconfigurable reservoir according to claim 1, wherein The weight topology module includes an input layer sub-module, a reservoir sub-module, and a readout layer sub-module; the input layer sub-module includes an input layer weight FIFO, the reservoir sub-module includes a reservoir weight FIFO, and the readout layer sub-module includes a readout layer weight FIFO; the input layer weight FIFO is configured to store the input layer weight matrix of the input layer in the weight topology data; the reservoir weight FIFO is configured to store the reservoir weight matrix of the reservoir in the weight topology data; the readout layer weight FIFO is configured to store the readout layer weight matrix of the readout layer in the weight topology data; The input layer sub-module is configured to transfer each row data in the input layer weight matrix of the input layer weight FIFO to the calculation module row by row; The reservoir sub-module is configured to transfer each row data in the reservoir weight matrix of the reservoir weight FIFO to the calculation module row by row; The readout layer sub-module is configured to transfer each row data in the readout layer weight matrix of the readout layer weight FIFO to the calculation module row by row.
3. The temporal data processing system based on a physically reservoir with topological reconfigurability according to claim 2, wherein The input layer sub-module is further configured to read the data corresponding to the input layer in the weight topology data after topology reconstruction into the input layer weight matrix of the input layer weight FIFO, and when performing operations, read each row data in the input layer weight matrix in the input layer weight FIFO row by row into the register array for caching, transfer one row data in the register array to the input layer matrix of the calculation module, and when the calculation module completes the operation on one row data of the input layer matrix, store the data in the register array back into the input layer weight FIFO again.
4. The temporal data processing system based on a physically topologically reconfigurable reservoir according to claim 3, wherein The calculation module includes a serial-to-parallel sub-module; The serial-to-parallel sub-module is configured to transmit the state data of the physical neurons serially transmitted by the ADC in a parallel transmission manner through a shift register.
5. The temporal data processing system based on a topologically reconfigurable physical reservoir according to claim 4, wherein The calculation module further includes an input layer matrix calculation sub-module; The input layer matrix calculation sub-module is used to read the data of one row of the input layer matrix row by row, multiply the input timing data and the data of one row of the input layer matrix correspondingly through a multiplier array and sum them up through an adder tree to obtain a data of the input layer output vector, and store it in the register bank. When all the row data operations in the input layer weight matrix are completed, the input layer output vector in the register bank is determined as the input layer final output vector.
6. The time series data processing system based on a physically topologically reconfigurable reservoir according to claim 5, wherein The calculation module further includes a reservoir matrix calculation sub-module; The reservoir matrix calculation sub-module is used to read the data of one row of the reservoir weight matrix row by row, multiply the state data transmitted in parallel by the serial-to-parallel sub-module and the data of one row of the reservoir weight matrix correspondingly through a multiplier array and sum them up through an adder tree to obtain a data of the reservoir output vector. When all the row data operations in the reservoir weight matrix are completed, the reservoir output vector in the register bank is determined as the reservoir final output vector.
7. The time series data processing system based on a topologically reconfigurable physical reservoir according to claim 1, wherein The calculation module further includes a readout layer matrix calculation sub-module; The readout layer matrix calculation sub-module is used to read the data of one row of the readout layer weight matrix row by row, multiply the state data transmitted in parallel by the serial-to-parallel sub-module and the data of one row of the readout layer weight matrix correspondingly through a multiplier array and sum them up through an adder tree to obtain a data of the readout layer output vector. When all the row data operations in the readout layer weight matrix are completed, the readout layer output vector in the register bank is determined as the readout layer final output vector, and the readout layer final output vector is used as the system output data.
8. The time series data processing system based on a physically reconfigurable reservoir according to claim 6, wherein The calculation module further includes a summation sub-module; The summation sub-module is used to sum up the input layer final output vector and the reservoir final output vector in the register bank through an adder array to obtain a summation output vector, and store the summation output vector in the register bank.
9. The time-series data processing system based on a physically reconfigurable reservoir according to claim 8, wherein The calculation module further includes a parallel-to-serial sub-module; The parallel-to-serial sub-module is used to transmit the summation output vector in the register bank to the DAC in a serial transmission manner through the shift register.
10. A method for processing time-series data based on a physically reservoir with topological reconfigurability, characterized in that Including: When receiving a reset signal, read the weight topology data, reservoir size data, and configuration data after topology reconstruction according to the reset signal, and configure the operating parameters of the ADC and DAC according to the configuration data; Transmit the data of the weight matrices of each layer in the weight topology data row by row according to the reservoir size data and timing; Receive input timing data, perform vector multiplication operations on the input timing data and the state data of the physical neurons collected by the ADC and the different row data of the weight matrix, and perform data conversion through the DAC to transmit to the physical neurons. When the input timing data reception is completed, obtain the system output data; the system output data is the processing result of the input timing data.