Reservoir device and process state prediction system
By designing a reserve pool device, the input weights and connection weights determined by the periodic function are used to process the sensor data of the time series, and the problem of long processing cycles and insufficient prediction accuracy in the prior art is solved, and high-precision process state prediction is achieved.
Patent Information
- Application Number
- CN202380054604.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-20
- Filing Date
- 2023-04-04
- Publication Date
- 2025-03-11
AI Technical Summary
In the prior art, the device equipped with a machine learning model has a long processing cycle and cannot capture the short-period behavior in the sensor data of the time series, resulting in insufficient prediction accuracy when predicting the process state.
A reserve pool device is designed to process the sensor data of the time series by inputting the weight multiplication unit and the connection weight multiplication unit, output the reserve pool feature amount, and use the periodic function to determine the input weight and connection weight to achieve fast processing and high-precision prediction.
The prediction accuracy of the process state prediction based on time series sensor data is improved, and the behavior changes in short periods can be captured, which significantly improves the accuracy of the prediction results.
Smart Images

Figure CN119604868A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a storage tank device and a process state prediction system. Background Art
[0002] In the past, in the field of manufacturing processes, sensor data of time series measured by various sensors was used to predict the process state (the state of the device during the execution of the manufacturing process (for example, whether the device has abnormalities, etc.)), and the prediction results were reported to monitor the process state. In addition, in order to improve the prediction accuracy when predicting the process state, the use of machine learning models has been proposed.
[0003] [Prior art literature]
[0004] [Patent Literature]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 2018-77779
[0006]
Non-patent literature
[0007] [Non-patent document 1] Tanaka H., Akai-Kasaya M., Termeh AY, Hong L., Fu L., Tamukoh H., Tanaka D., Asai T., and Ogawa T., A molecular neuromorphic network device composed of single-walled carbon nanotubes and polyoxometalates, Nature Communications, vol. 9, p. 2693 (2018).
[0008] [Non-patent document 2] Shaohua Kan, Kohei Nakajima, Yuki Takeshima, Tetsuya Asai, Yuji Kuwahara and Megumi Akai-Kasaya, Simple reservoir calculations using nonlinear responses of materials: theory and physical implementation, Physical Review Applied, received on January 13, 2021.
[0009] [Non-Patent Document 3] Minamikawa K., Suzuki S., Akai-Kasaya M., and Asai T., “A 26-bit 400-neuron 0.3-ksps FORCE Learning FPGA Core for Reservoir Computation,” 2020 International Symposium on RISP for Nonlinear Circuits, Communications, and Signal Processing, Hilton Waikiki Beach Hotel, Honolulu, USA (February 28-March 2, 2020)
[0010] [Non-patent document 4] Jaeger, Herbert., "Echo state" method for analyzing and training recurrent neural networks - with errata, Bonn, Germany: German National Research Center for Information Technology GMD Technical Report. 148 (2001) Summary of the invention
[0011] [Problems to be solved by the invention]
[0012] However, compared with the measurement cycle of time series sensor data, the processing cycle of devices equipped with machine learning models is generally long, and it is impossible to capture short-term behaviors appearing in time series sensor data and execute machine learning models.
[0013] The present invention can improve the prediction accuracy when predicting process states based on time series sensor data.
[0014]
Methods to solve the problem
[0015] According to one embodiment of the present invention, the reservoir device has the following structure, for example.
[0016] A reservoir device, wherein sensor data of a time series measured in a predetermined process is input, and a reservoir feature quantity is output based on the result obtained by processing using an input weight multiplication unit and a connection weight multiplication unit,
[0017] The input weight multiplication unit weights the input sensor data using a value determined by a periodic function as an input weight.
[0018] The connection weight multiplication unit uses a value determined by a periodic function as a connection weight between nodes and performs weighted addition on data indicating the state of each node.
[0019] In addition, a reservoir device according to another embodiment of the present invention has, for example, the following structure. That is,
[0020] A reservoir device, wherein sensor data of a time series measured in a predetermined process is input, and a reservoir feature quantity is output based on the result obtained by processing using an input weight multiplication unit and a connection weight multiplication unit, having,
[0021] an adding unit that adds the sensor data weighted in the input weight multiplication unit and data indicating the states of the nodes weighted in the connection weight multiplication unit,
[0022] The calculation unit performs fixed-point or floating-point polynomial calculation on the result of addition by the adding unit, thereby outputting the reserve pool feature value.
[0023] In addition, a reservoir device according to another embodiment of the present invention has, for example, the following structure. That is,
[0024] A reservoir device, wherein sensor data of a time series measured in a predetermined process is input, and a reservoir feature quantity is output based on the result obtained by processing using an input weight multiplication unit and a connection weight multiplication unit,
[0025] The input weight multiplication unit weights the input sensor data using a value determined by a periodic function as an input weight.
[0026] The connection weight multiplication unit is a multiplier that uses the value determined by the periodic function as the connection weight between nodes to weight the data representing the state of each node, and has a number of multipliers corresponding to the processing speed or prediction accuracy of the reserve pool device.
[0027] Each multiplier included in the connection weight multiplication unit uses a value determined by a periodic function as a connection weight between nodes, and when weighting data representing the state of each node, weighting is performed in parallel on data common to each multiplier.
[0028] In addition, a reservoir device according to another embodiment of the present invention has, for example, the following structure. That is,
[0029] A reservoir device, wherein sensor data of a time series measured in a predetermined process is input, and a reservoir feature quantity is output based on the result obtained by processing using an input weight multiplication unit and a connection weight multiplication unit,
[0030] The input weight multiplication unit weights the input sensor data using a value determined by a periodic function as an input weight.
[0031] The connection weight multiplication unit includes a spectral radius multiplier and a number of multipliers corresponding to the processing speed or prediction accuracy of the reserve pool device. The spectral radius multiplier adjusts the reserve pool feature value one moment ago with the spectral radius, weights the data representing the state of each node based on the connection weight between nodes, and outputs the connection weighted result. The connection weighted result is input to the multiplier respectively.
[0032] The multipliers are connected in series at the rear stage of the input weight multiplication unit.
[0033] Among the multipliers, the first multiplier has an adding unit that adds the input weighted result output by the input weight multiplication unit and the connection weighted result weighted by the data representing the state of the corresponding node.
[0034] Among the multipliers, the multipliers after the second multiplier include an adding section that adds the addition result output by the previous multiplier and a connection weighting result obtained by weighting the data indicating the state of the corresponding node.
[0035] [Effects of the invention]
[0036] It can improve the prediction accuracy when predicting process states based on time series sensor data. BRIEF DESCRIPTION OF THE DRAWINGS
[0037]
Figure 1A
[0038]
Figure 1B
[0039]
Figure 2
[0040]
Figure 3
[0041]
Figure 4
[0042]
Figure 5
[0043]
Figure 6
[0044]
Fig. 7A
[0045]
Figure 7B
[0046]
Figure 8
[0047]
Fig. 9
[0048]
Fig.10
[0049]
Fig.11
[0050]
Fig.12
[0051]
Fig.13
[0052]
Fig.14
[0053]
Fig.15A
[0054]
Fig. 15B
[0055]
Fig.16
[0056]
Fig.17
[0057]
Fig.18
[0058]
Fig.19
[0059]
Fig. 20
[0060]
Fig.21
[0061]
Fig. 22
[0062]
Fig.23
[0063]
Fig.24
[0064]
Fig.25
[0065]
Fig.26
[0066]
Fig. 27
[0067]
Fig.28
[0068]
Fig.29
[0069]
Fig.30
[0070]
Fig.31
[0071]
Fig.32
[0072]
Fig.33
[0073]
Fig.34
[0074]
Fig.35
[0075]
Fig.36
[0076]
Fig.37
[0077]
Fig.38
[0078]
Fig.39
[0079]
Fig.40
[0080]
Fig.41
[0081]
Fig.42
[0082]
Fig.43
[0083]
Fig.44
[0084]
Fig.45
[0085]
Fig.46A
[0086]
Fig.46B
[0087]
Fig.47
[0088]
Fig.48
[0089]
Fig.49
[0090]
Fig.50
[0091]
Fig.51
[0092]
Fig.52
[0093] Hereinafter, each embodiment will be described with reference to the drawings. In addition, in this specification and the drawings, the same reference numerals are given to components having substantially the same functional configuration, and repeated descriptions are omitted.
[0094] [First embodiment]
[0095] <Application example of process state prediction system>
[0096] First, an application example of the process state prediction system according to the first embodiment will be described. Figure 1A It is a diagram showing an application example of the process state prediction system.
[0097] also, Figure 1A In the example, the case where the process state prediction system is applied to a substrate processing apparatus is described. However, the application of the process state prediction system is not limited to the substrate processing apparatus, but may also be an apparatus that performs other manufacturing processes.
[0098] also, Figure 1AIn the present invention, in addition to a substrate processing device (1b) that adopts a process state prediction system, a substrate processing device (1a) that does not adopt a process state prediction system is given as a comparative example. For convenience, the differences between the two are compared while being explained.
[0099] like Figure 1A As shown in FIGS. 1a and 1b , the substrate processing apparatuses 110 and 120 include chambers 111 and 121 for processing substrates, sensors a 112a and 122a , and sensors b 112b and 122b . In addition, the substrate processing apparatuses 110 and 120 include management devices 113 and 123 , control devices 115 and 125 , and actuators 117 and 127 .
[0100] As a comparative example Figure 1A As shown in FIG. 1a, in the substrate processing apparatus 110, the sensor a112a and the sensor b112b measure the physical quantity when the substrate is being processed in the chamber 111, and output them as the time series sensor data a and sensor data b. The time series sensor data a and sensor data b outputted from the sensor a112a and the sensor b112b are processed in the state prediction and management unit 114 of the management device 113, thereby predicting the process state. In addition, the predicted process state is outputted to the control device 115 as the prediction result data (an example of the prediction data).
[0101] In addition, the time series sensor data a output from the sensor a112a is processed in the control unit 116 of the control device 115 to calculate the control amount. At this time, the control unit 116 can correct the control amount based on the prediction result data. The control amount calculated by the control unit 116 is output to the actuator 117, and the actuator 117 issues a control command to the chamber 111 based on the control amount.
[0102] Figure 1A In 1a, the graph 130 is an example of the time series sensor data a output from the sensor a112a, and the horizontal axis is time and the vertical axis is signal strength. Figure 1A In FIG. 1a , a graph 140 is a time-series sensor data a′ when processed in the state prediction and management unit 114 of the management device 113 , and is represented by time on the horizontal axis and signal strength on the vertical axis.
[0103] Generally, the processing cycle T(b) when the management device 113 predicts the process state is longer than the measurement cycle T(a) when the sensor a112a measures the time series sensor data a. Therefore, the state prediction and management unit 114 cannot capture the short activity appearing in the time series sensor data a as shown in the graph 130 (see the graph 140), and it is difficult to obtain sufficient prediction accuracy when predicting the process state.
[0104] On the other hand, Figure 1A As shown in FIG. 1b, in the substrate processing apparatus 120, the sensor a122a and the sensor b122b measure the physical quantity when the substrate is being processed in the chamber 121, and output them as the time series sensor data a and the sensor data b. At that time, the time series sensor data a output from the sensor a122a is processed in the process state prediction system 128 to predict the process state. Then, the prediction result data (an example of the prediction data) predicted in the process state prediction system 128 is output to the management unit 124 and the control unit 126.
[0105] In addition, the time series sensor data a output from the sensor 122a is processed in the control unit 126 of the control device 125, thereby calculating the control amount. At this time, the control unit 126 can correct the control amount based on the prediction result data. The control amount calculated by the control unit 126 is output to the actuator 127, and the actuator 127 issues a control command to the chamber 121 based on the control amount.
[0106] here, Figure 1A In 1b, graph 131 is an example of time series sensor data a output from sensor a122a, where the horizontal axis is time and the vertical axis is signal strength. Figure 1A In FIG. 1 b , a graph 141 is a time series of sensor data a′ during processing in the process state prediction system 128 , and is represented by time on the horizontal axis and signal strength on the vertical axis.
[0107] In the case of the process state prediction system 128 according to the first embodiment, the process state is predicted by processing the time series sensor data a' by the reserve pool calculation. Therefore, the processing cycle T(c) when predicting the process state is shorter than Figure 1A The processing cycle T(b) when the management device 113 of 1a predicts the process state is greatly shortened. As a result, according to the process state prediction system 128 involved in the first embodiment, short activities appearing in the time series sensor data a shown in the graph 131 can be captured, and the prediction accuracy can be improved.
[0108] Furthermore, the improvement in prediction accuracy brought about by processing the sensor data a' of the time series of the graph 141 capturing short activities and predicting the process state can be expressed as the "effective prediction time" before the square error between the prediction result data and the correct data exceeds the allowable threshold. The effective prediction time is a time indicating how far in advance the process state prediction system 128 (or the state prediction and management unit 114) can appropriately predict the state of the process.
[0109] Figure 1B is a diagram showing an example of effective prediction time. Figure 1B As shown,
[0110] · Comparison: The effective prediction time (t a -t s ),
[0111] The effective prediction time (t b -t s ),
[0112] This means that the process state prediction system 128 is less likely to produce a decrease in prediction due to time changes than the comparative example. At this time, in the substrate processing device 120, the accumulated operation logs (for example, the history of temperature, humidity, voltage signals, etc. during operation) can be analyzed using the accumulated logs, which are used to convert the effective prediction time (t b -t s ) further extended.
[0113] In addition, in the case of the process state prediction system 128 involved in the first embodiment, when the prediction accuracy decreases with the time-dependent change of the chamber 121, etc., the prediction accuracy can be improved by performing a relearning process. Specifically, by using the prediction result data output by the process state prediction system 128, the reservoir feature value, and the sensor data b, the management unit 124 can manage the relearning process based on the process state prediction system 128.
[0114] In addition, the process state data (correct data) used when the process state prediction system 128 is subjected to learning processing / relearning processing may include whether the substrate processing device 120 in the process of executing the substrate processing process is abnormal, etc. Or the process state data (correct data) may include sensor data b output from sensor b122b (in this embodiment, as an illustration, the process state data (correct data) is sensor data b output from sensor b122b). In addition, correct data is generally also referred to as "dependent variables" or "training data".
[0115] When the process state prediction system 128 performs relearning processing, the management unit 124 transmits and receives various information (switching information, end information, etc.) with the process state prediction system 128 in order to manage the time period of the process state prediction system 128 (described in detail later).
[0116] As a result, according to the process state prediction system 128 according to the first embodiment, it is possible to suppress a decrease in prediction accuracy due to temporal changes in the manufacturing process.
[0117] As described above, according to the first embodiment, it is possible to improve the prediction accuracy when predicting the process state based on the time-series sensor data.
[0118] <System Structure of Process State Prediction System>
[0119] Next, the system configuration of the process state prediction system 128 will be described. Figure 2 1 is a diagram showing an example of a system configuration of a process state prediction system. The process state prediction system 128 is implemented by, for example, an FPGA (Field Programmable Gate Array) board or the like.
[0120] like Figure 2 As shown, the process state prediction system 128 includes an I / O control unit 201 , a reservoir device 202 , and a process state prediction unit 204 .
[0121] The I / O control unit 201 controls the input and output of digital signals. Specifically, the I / O control unit 201 inputs the time-series sensor data a output from the sensor a122 a and sends the sensor data a′ to the reservoir device 202 .
[0122] The time-series sensor data a input to the I / O control unit 201 may be one type of time-series sensor data or a sensor data set composed of multiple types of time-series sensor data. Here, for the sake of simplicity, a case where one type of time-series sensor data is input will be described.
[0123] In addition, the I / O control unit 201 obtains the prediction result data (predicted process state) output by the process state prediction unit 204 and the reserve pool feature value output from the reserve pool device 202, and sends them to the management device 123. In addition, the I / O control unit 201 inputs the process state data (correct data) used when the process state prediction system 128 performs learning processing (or relearning processing) from the management device 123 and sends it to the process state prediction unit 204.
[0124] Furthermore, the I / O control unit 201 transmits and receives switching information for switching the time period of the process state prediction unit 204 and end information indicating the end of processing given by the process state prediction unit 204 in the switched time period to and from the management device 123 .
[0125] The reservoir device 202 is a chip that outputs reservoir characteristic quantities. The reservoir device 202 implements the function of a nanomolecular reservoir that can learn and predict at high speed through a digital circuit (e.g., FPGA, ASIC (application integrated circuit), etc.). In addition, the reservoir characteristic quantity refers to the numerical value output by the reservoir device 202 that quantitatively represents the characteristics of the time series sensor data a' based on the values from the past to the present when the values of the time series sensor data a' are input into the reservoir device 202.
[0126] also, Figure 2 In the example given in FIG. 1 , the prediction result data calculated by the process state prediction unit 204 is fed back and input to the reserve tank device 202 . Alternatively, the prediction result data may not be fed back.
[0127] In addition, the parameters and coefficients used in the processing in the reservoir device 202 are, for example, pre-calculated in the calculation device 210 and the adjustment device 220 and set in the reservoir device 202 .
[0128] The process state prediction unit 204 is an example of a prediction device, and operates in a plurality of time periods (in this embodiment, a learning time period, a prediction time period, and a relearning time period) switched according to the switching information. The learning time period refers to a time period for learning weight parameters. In addition, the relearning time period refers to a time period for relearning the learned weight parameters.
[0129] When moving to the learning period or the relearning period, the process state prediction unit 204 calculates weight parameters so that the prediction result data is correlated with the process state data (correct data) input through the I / O control unit 201. In addition, when the calculation of the weight parameters is completed, the process state prediction unit 204 outputs completion information.
[0130] On the other hand, the prediction period refers to a period during which prediction result data is output based on the reservoir feature quantity under the weight parameters learned in the learning period or the re-learning period.
[0131] The process state prediction unit 204 moves to the prediction time period when the switching information is input based on the output of the end information, and predicts the process state based on the reservoir feature quantity output by the reservoir device 202. In addition, the process state prediction unit 204 outputs the prediction result data to the I / O control unit 201 and the reservoir device 202.
[0132] Furthermore, the output cycle of the process state prediction unit 204 when outputting the prediction result data to the I / O control unit 201 may be, for example, less than the processing cycle of the management device 123 (ie, less than the transfer cycle of the field bus).
[0133] <Details of process state prediction system>
[0134] Next, explain Figure 2 The details of each part of the process state prediction system 128 (reservoir device 202, process state prediction unit 204).
[0135] (1) Overview of the reservoir device 202
[0136] First, the outline of the reservoir device 202 is described. As described above, in this embodiment, the reservoir device 202 is implemented by a digital circuit. Generally, in order to operate a digital circuit as the reservoir device 202, for example, in an ESN (echo state network) as a basic model, a predetermined mathematical formula (see the following formula (1) and the following formula (2)) is used.
[0137]
Number 1
[0138]
[0139]
Number 2
[0140]
[0141] In addition, in the above formula (1) or the above formula (2), it is represented by,
[0142] N: the number of pool nodes in the pool device,
[0143] ·u i (t+1): the internal state of the reservoir device at time t+1 (the state of the i-th reservoir node),
[0144] ·u j (t): the internal state of the reservoir device at time t (the state of the jth reservoir node),
[0145] ·w ij : The connection weight between the nodes in the i-th reserve pool node and the j-th reserve pool node,
[0146] ·w i I : The input weight of the i-th reservoir node,
[0147] ·w i F : The feedback weight of the i-th reserve pool node,
[0148] I(t): the value of sensor data a' at time t,
[0149] Z(t): the prediction result data at time t,
[0150] tanh: Hyperbolic tangent function (tanh is used as an activation function in ESN),
[0151] · Dot symbol “·”: matrix multiplication,
[0152] Respectively, the above formula (1) represents the mathematical formula executed in the reservoir device when there is no feedback of the prediction result data, and the above formula (2) represents the mathematical formula executed in the reservoir device when there is feedback of the prediction result data.
[0153] However, in the case of the above formula (1) or the above formula (2), when the number of reserve pool nodes (N) increases, the required resources increase, and on this basis, the processing time also increases. Therefore, in this embodiment, the above formula (1) and the above formula (2) are changed in a manner qualitatively the same as the mathematical formula specified in the ESN, and the reserve pool device 202 is realized by a digital circuit that executes the changed mathematical formula. Therefore, according to this embodiment, the reserve pool device 202 can be realized by a digital circuit that reduces resources and shortens processing time.
[0154] Specifically, the reservoir device 202 involved in this embodiment is realized by a digital circuit that executes the following formula (3) or the following formula (4).
[0155]
Number 3
[0156]
[0157]
Number 4
[0158]
[0159] In addition, in the above formula (3) or the above formula (4),
[0160] ·w ij raw : The output of the connection weight generator (described in detail later) used when calculating the connection weight between the i-th reservoir node and the j-th reservoir node (the element in the i-th row and j-th column of the connection weight matrix represented by a matrix of N rows and N columns),
[0161] ·w i Iraw : The output of the input weight generator (described in detail later) used when calculating the input weight of the i-th reservoir node (the i-th element of the input weight vector represented by N elements),
[0162] ·w i Fraw: The output of the feedback weight generator (described in detail later) used to calculate the feedback weight of the i-th reserve pool node (the i-th element of the feedback weight vector represented by N elements).
[0163] That is, in the reservoir device 202 according to this embodiment,
[0164] Do not calculate the connection weight w ij , and calculate (2 -nb )×(connect the output w of the weight generator ij raw ),
[0165] Do not calculate the input weight w i I , and calculate (2 -nI )×(the output w of the input weight generator i Iraw ),
[0166] Do not calculate the feedback weight w i F , and calculate (2 -nF )×(the output w of the feedback weight generator i Fraw ),
[0167] Instead of calculating tanh, we use the activation function f.
[0168] The reservoir characteristic quantity is calculated from this.
[0169] Furthermore, nb represents the right shift amount of the connection weight, nI represents the right shift amount of the input weight, and nF represents the right shift amount of the feedback weight, respectively.
[0170] (2) Details of the Hardware Structure of the Reservoir Device 202
[0171] Next, the details of the hardware configuration of the reservoir device 202 when implemented by a digital circuit that executes the above equation (3) or (4) will be described. In the following description, "M" is a designated integer.
[0172] (2-1) Details of the reservoir device 202 (when there is no feedback)
[0173] First, the details of the hardware structure of the reservoir device 202 (when there is no feedback) are explained. Figure 3 FIG. 1 is a first diagram showing an example of a hardware configuration of a reservoir device.
[0174] like Figure 3As shown, the reserve pool device 202 (when there is no feedback) has an input weight generator 311, an nI-bit right shifter 312, and a 2M-bit multiplier 313 (which are examples of input weight multiplication units). In addition, the reserve pool device 202 has a connection weight generator 321, an nb-bit right shifter 322, a 2M-bit multiplier 323, and an M-bit accumulation circuit 324 (which are examples of connection weight multiplication units). Further, the reserve pool device 202 has an M-bit adder 331, an activation function circuit 332, a first memory 333, and a second memory 334. In addition, the triangle mark in the figure represents a clock input.
[0175] The input weight generator 311 functions as a random number generator. More specifically, the input weight generator 311 generates
[0176] The possible states of the register are (M-bit log2N) LFSRs (Linear Feedback Shift Registers), or,
[0177] Chaotic circuits,
[0178] The output w of the input weight generator 311 is realized by the first periodic function circuit. i Iraw is input to the nI-bit right shifter 312.
[0179] The nI-bit right shifter 312 inputs the output w of the weight generator 311 i Iraw Shift right by nI bits, and calculate (2 -nI )×(the output w of the input weight generator i Iraw ), output input weight w i I .
[0180] The 2M-bit multiplier 313 is an example of the first multiplier. The 2M-bit multiplier 313 multiplies the input weight w output by the nI-bit right shifter 312 by i I , and I(t) which is the value of the sensor data a', thereby outputting (w i I )·(I(t)).
[0181] The connection weight generator 321 functions as a random number generator. More specifically, the connection weight generator 321 generates
[0182] The possible states of the register are (M-bit log2N) LFSRs, or,
[0183] Chaotic circuits,
[0184] The output w of the weight generator 321 is connected to ij raw It is input to the nb-bit right shifter 322 .
[0185] The nb-bit right shifter 322 connects the output w of the weight generator 321 ij raw Shift right by nb bits, and calculate (2 -nb )×(connect the output w of the weight generator ij raw ), output connection weight w ij .
[0186] The 2M-bit multiplier 323 is an example of the second multiplier. The 2M-bit multiplier 323 converts the connection weight w output by the nb-bit right shifter 322 into ij , and u calculated as the state of the jth reserve pool node one moment ago j (t) is multiplied, and thus, as the multiplication result, output (w ij )×(u j (t)).
[0187] The M-bit accumulator circuit 324 is an example of an accumulator, and converts the output (w ij )×(u j (t)), add according to the number of nodes in the reserve pool and output the addition result.
[0188] The M-bit adder 331 is an example of an adding unit, and adds the multiplication result output by the 2M-bit multiplier 313 and the addition result output by the M-bit accumulation circuit 324, thereby calculating the following equation (5).
[0189]
Number 5
[0190]
[0191] In addition, the M-bit adder 331 inputs the calculation result of the above formula (5) to the activation function circuit 332.
[0192] The activation function circuit 332 is an example of a calculation unit, which inputs the calculation result of the above formula (5) to the activation function f, thereby calculating the state u of the i-th reservoir node at time t+1 i (t+1). In addition, the activation function circuit 332 calculates the reserve pool node state u i (t+1) is written into the first memory 333.
[0193] The first memory 333 stores the i-th reserve pool node state u at time t+1 calculated by the activation function circuit 332 i (t+1). In addition, the first memory 333 writes all the i-th reserve pool node states u at time t+1. i At (t+1), the state u of the i-th reserve pool node at time t+1 is i (t+1), update the second memory 334.
[0194] The second memory 334 stores the j-th reserve pool node state u calculated 1 time ago j (t)(j=1, 2, ... N). In addition, the j-th reserve pool node state u calculated one time ago and stored in the second memory 334 is j (t)(j=1, 2, ... N), each time the clock rises, the process state prediction unit 204 reads the state of the j-th reserve pool node u in the order of j=1, 2, ... N. j (t) (j=1, 2, ...N) is input to the 2M-bit multiplier 323. When the value of the sensor data a' rises N times at the above clock, the value of the next sensor data a' is input.
[0195] (2-2) Details of the reservoir device 202 (when there is feedback)
[0196] Next, the details of the hardware structure of the reservoir device 202 (when feedback is provided) will be described. Figure 4 FIG. 2 is a second diagram showing an example of the hardware configuration of the reservoir device.
[0197] like Figure 4 As shown, the reservoir device 202 (when there is feedback) has the same Figure 3 The hardware structure of the reservoir device 202 (without feedback) shown in FIG. 2 is the same as the hardware structure of the reservoir device 202 (with feedback). In addition, the reservoir device 202 (with feedback) has,
[0198] Feedback weight generator 401, nF-bit right shifter 402, 2M-bit multiplier 403 (these are examples of feedback weight multiplication units),
[0199] M-bit adder 404 (an example of an adding unit),
[0200] In addition, the triangle mark in the figure represents a clock input.
[0201] The feedback weight generator 401 functions as a random number generator. More specifically, the feedback weight generator 401 generates
[0202] The possible states of the register are (M-bit log2N) LFSRs (Linear Feedback Shift Registers), or,
[0203] Chaotic circuits,
[0204] The output w of the feedback weight generator 401 is realized by the third periodic function circuit. i Fraw It is input to the nF-bit right shifter 402 .
[0205] The nF-bit right shifter 402 feeds back the output w of the weight generator 401. i Fraw Shift right by nF bits, and calculate (2 -nF )×(the output w of the feedback weight generator i Fraw ), output feedback weight w i F .
[0206] The 2M-bit multiplier 403 is an example of a third multiplier. The 2M-bit multiplier 403 receives the feedback weight w output by the nF-bit right shifter 402. i F , and Z(t) which is the value of the prediction result data, thereby outputting (w i F )·(Z(t)).
[0207] The M-bit adder 404 adds the result of the above equation (5) calculated by the M-bit adder 331 and the output (w i F )·(Z(t)) are added to calculate the following equation (6).
[0208]
Number 6
[0209]
[0210] In addition, the M-bit adder 404 inputs the calculation result of the above formula (6) into the activation function circuit 332.
[0211] (3) Details of the components included in the reservoir device 202
[0212] Next, details of the components included in the reservoir device 202 (when there is no feedback) or the reservoir device 202 (when there is feedback) are described.
[0213] (3-1) Overview of the output of the input weight generator, connection weight generator, and feedback weight generator
[0214] First, the outputs of the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 included in the reservoir device 202 are briefly described. As described above, in this embodiment, the outputs of the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 are generated using a periodic function circuit such as an LFSR or a chaotic circuit. Therefore, according to this embodiment, for example, compared with N 2 When the random values are stored in a memory, etc., the output of the input weight generator 311, the output of the connection weight generator 321, and the output of the feedback weight generator 401 can be realized with low power and low resources.
[0215] (3-1-1) Details of LFSR
[0216] Described here is a detailed structure when the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 are implemented by a linear feedback shift register (LFSR). Figure 5 is a diagram showing an example of LFSR. Figure 5 As shown, LFSR500 has L M-bit registers. In the case of LFSR, the number of M-bit registers L determines the w output by the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401. i Iraw , w ij raw , w i Fraw Specifically,
[0217] Output w from input weight generator 311 i Iraw When , the period N is realized by L=log2N.
[0218] Output w from feedback weight generator 401 i Fraw When , the period N is realized by L=log2N.
[0219] Output w from connection weight generator 321 ij raw When L = log2N 2 Implementation cycle N 2 .
[0220] (3-1-2) Details of chaotic circuit
[0221] Next, the detailed structure of the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 when implemented by a chaotic circuit will be described. Figure 6 This is a diagram showing an example of a chaotic circuit. In this embodiment, the chaotic circuit 600 uses the appearance of chaos by setting a=4 in the case of a logistic map (a quadratic function represented by y(t+1)=a×y(t)×(1-y(t))).
[0222] like Figure 6 As shown, the chaotic circuit 600 has an M'-bit subtractor 621, a 2M'-bit multiplier 622, a shifter 623, and an M'-bit register 624. In the case of the chaotic circuit 600, the values of w outputted from the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 are determined according to the value of M'. i Iraw , w ij raw , w i Fraw Specifically,
[0223] w output from the input weight generator 311 i Iraw In the case of M'=period N or more,
[0224] w output from the feedback weight generator 401 i Fraw In the case of M'=period N or more,
[0225] w output from the connection weight generator 321 ij raw In the case of M' = period N 2 above.
[0226] Furthermore, the advantages of implementing the input weight generator 311 , the connection weight generator 321 , and the feedback weight generator 401 by the LFSR 500 and by the chaotic circuit 600 are as follows.
[0227] Since the LFSR 500 does not contain a subtractor or a multiplier, it is low-resource when the number of pool nodes (N) is small (ie, the number of M-bit registers is small).
[0228] The chaotic circuit 600 does not change its structure even when the number of reserve pool nodes (N) is increased. Therefore, when the number of reserve pool nodes (N) is large, it is low in resources.
[0229] (3-2) Overview of nI-bit right shifter, nb-bit right shifter, and nF-bit right shifter (Overview of input weight, connection weight, and feedback weight)
[0230] Next, an overview of the input weight, connection weight, and feedback weight respectively calculated by the nI-bit right shifter 312, the nb-bit right shifter 322, and the nF-bit right shifter 402 included in the reserve pool device 202 is described.
[0231] As described above, in the storage pool device 202, the output w of the input weight generator 311 is i Iraw Shift right by nI bits, and calculate (2 -nI )×(the output w of the input weight generator i Iraw ), output input weight w i I .
[0232] In addition, in the storage pool device 202, the output w of the weight generator 321 is connected ij raw Shift right by nb bits, and calculate (2 -nb )×(connect the output w of the weight generator ij raw ), output connection weight w ij .
[0233] In addition, in the storage pool device 202, the output w of the feedback weight generator 401 is i Fraw Shift right by nF bits, and calculate (2 -nF )×(the output w of the feedback weight generator i Fraw ), output feedback weight w i F .
[0234] Here, in the storage pool device 202, the connection weight w ij The required conditions of ESP (Echo State Property) need to be met. That is, in the nb-bit right shifter 322, the output w of the connection weight generator 321 needs to be ij raw The value is scaled to meet the required conditions of ESP. In the nb-bit right shifter 322, the parameters for scaling are preset.
[0235] In addition, in the storage pool device 202, the input weight w i IThe optimization can be achieved by scaling the entire (i=1, 2, ... N) based on the conditions of the input sensor data. That is, in the nI-bit right shifter 312, in order to convert the output w of the input weight generator 311 i Iraw Scaling is optimal, pre-setting the parameters for scaling.
[0236] Similarly, the feedback weight w i F The optimization can be achieved by scaling the entire (i=1, 2, ... N) based on the prediction result data one time ago. That is, in the nF-bit right shifter 402, in order to convert the output w of the feedback weight generator 401 i Fraw Scaling is optimal, pre-setting the parameters for scaling.
[0237] Fig. 7A This is a diagram for explaining a method for calculating parameters for scaling. Here, a method for calculating parameters for scaling connection weights is given as an example.
[0238] like Fig. 7A As shown, in the computing device 210, the output w of the connection weight generator 321 is ij raw , get a desirable value (here called the initial weight). Fig. 7A In the example, for the convenience of explanation, the case of obtaining 9 initial weights is given.
[0239] Next, in the calculation device 210, the eigenvalues (eigenvalues of linear algebra) of the initial weights are calculated. Fig. 7A In the example, as the eigenvalues of the initial weights, the case of calculating λ1, λ2, and λ3 is given.
[0240] Next, in the calculation device 210, the maximum value of the absolute value of the characteristic value is calculated. Fig. 7A The example given is that the maximum absolute value of the eigenvalue is λ1. Next, in the calculation device 210, the maximum absolute value of the eigenvalue is used as the spectral radius r of the initial weight. sp storage.
[0241] Here, the required condition for ESP is, “the maximum absolute value of the eigenvalue (i.e., the spectral radius r of the initial weight) sp ) is less than 1". Therefore, in the storage tank device 202,
[0242] · The spectral radius r calculated in the calculation device 210 is sp , set in nb-bit right shifter 322,
[0243] Use nb-bit right shifter 322 to connect the output w of the weight generator ij raw Multiply by (1 / spectral radius r sp ),
[0244] As a result, the spectral radius of the connection weight output from the nb-bit right shifter 322 is less than 1 (configured to satisfy the required conditions of ESP).
[0245] (3-2-1) Details of the nb-bit right shifter
[0246] Next, the details of the nb-bit right shifter 322 configured to satisfy the required conditions of ESP are described. As described above, in order to satisfy the required conditions of ESP, the nb-bit right shifter 322 connects the output w of the weight generator. ij raw Multiply by (1 / spectral radius r sp ) to scale.
[0247] Here, in this embodiment, in order to more easily output the connection weight generator w ij raw Multiply by (1 / spectral radius r sp ) is processed to convert the spectral radius r sp Logarithmic quantization is performed by replacing this processing with a shift operation. Therefore, according to this embodiment, scaling can be achieved with low resources.
[0248] Figure 7B is a diagram showing an example of an nb-bit right shifter. Figure 7B As shown, the nb-bit right shifter 322 performs the operation of connecting the output w of the weight generator ij raw , according to nb positions (here, nb = [log2r sp ]), right shift processing.
[0249] In addition, in the nI-bit right shifter 312, when the input sensor data (sensor data a′) is too large, the value of nI bits is increased to scale to an optimal multiplication result.
[0250] In addition, in the case of the nF-bit right shifter 402, if the value of nF bits is increased, the feedback given by the prediction result data one moment ago is reduced. Conversely, if the value of nF bits is reduced, the feedback is increased. Therefore, in the nF-bit right shifter 402, the degree of feedback is adjusted according to the characteristics of the prediction result data.
[0251] (3-3) Details of the M-bit Accumulation Circuit
[0252] Next, details of the M-bit accumulation circuit 324 included in the reservoir device 202 are described. Figure 8 FIG. 1 is a diagram showing an example of a detailed structure of an M-bit accumulation circuit. Figure 8 As shown, the M-bit accumulation circuit 324 has an M-bit adder 801 and an M-bit register 802 .
[0253] In the M-bit adder 801, the output (w ij )×(u j (t)) is taken as input, and the addition result output by the M-bit register 802 is added to the input.
[0254] The M-bit register 802 returns the addition result to the M-bit adder 801. When N additions of the number of nodes in the reserve pool are completed, the addition result is outputted and then reset.
[0255] (3-4) Overview of activation function circuit
[0256] Next, the outline of the activation function circuit 332 included in the reservoir device 202 is described. As described above, the activation function used when outputting the reservoir feature value is generally tanh (hyperbolic tangent function), but the activation function circuit 332 of this embodiment uses the activation function f.
[0257] Here, we discuss the requirements for the activation function used when outputting the reservoir feature value, and the following requirements can be cited.
[0258] Odd functions that are symmetric about the origin.
[0259] ·It is nonlinear.
[0260] It can be calculated by simple calculation of the circuit.
[0261] The output value does not exceed the range of ±1.
[0262] Therefore, in this embodiment, the activation function f that satisfies the above requirements is,
[0263] Coefficient a i (i=1, 2, ... 2p-1) Variable, represented by fixed-point or floating-point polynomial calculation.
[0264] In order to make it an odd function symmetric about the origin, it is in the form of multiplying the term of an even power (even function) by sgn(-x).
[0265] Specifically, the activation function f is,
[0266]
Number 7
[0267]
[0268] (Here, p is an odd number).
[0269] In the above formula (7), for example, p=5, the coefficient a i =1 (i=1, 2, ···2p-1), the activation function f can be expressed as,
[0270]
Number 8
[0271] f(x)=x+x 3 +x 5 +x 7 +x 9 +sgn(-x)·(x 2 +x 4 +x 6 +x 8 ) …Formula (8)
[0272] In order to simplify the explanation, the coefficient a is i (i=1, 2,...2p-1) is 1.
[0273] Thus, in the activation function circuit 332 of this embodiment, the function that satisfies the requirements of the activation function is not tanh, but the structure using the activation function f. Therefore, according to this embodiment, in the activation function circuit 332, there is no need to use a large-scale LUT, and the resources of the reserve pool device 202 can be reduced.
[0274] (3-4-1) Details of the activation function circuit
[0275] Next, the details of the activation function circuit 332 that executes the activation function f of the above formula (7) are described. Fig. 9 is a diagram showing an example of a detailed structure of an activation function circuit. Fig. 9 As shown, the activation function circuit 332 has an M-bit multiplier 901, an M-bit multiplier 901', an M-bit register 902, a coefficient memory 903, an sgn operator 904, an M-bit adder 905, an M-bit register 906, and a limiting circuit 907.
[0276] When the calculation result of the above formula (5) or the calculation result of the above formula (6) is inputted sequentially, the M-bit multiplier 901 multiplies the multiplication result outputted by the M-bit register 902 by the inputted result.
[0277] The multiplication result output by the multiplier 901 and the corresponding coefficient a i (i=1、2、···2p-1) multiplication. In addition, M-bit
[0278] The multiplier 901 ′ inputs the multiplication result to the M-bit adder 905 and the sgn operator 904 .
[0279] The M-bit register 902 sequentially stores the multiplication results sequentially output by the M-bit multiplier 901 .
[0280] The sgn operator 904 is a sign determination circuit, which outputs a plus sign for an odd-numbered multiplication result and a minus sign for an even-numbered multiplication result from the multiplication results output by the M-bit multiplier 901'.
[0281] The M-bit adder 905 adds the odd-numbered multiplication results to the calculation result stored in the M-bit register 906 among the multiplication results output by the M-bit multiplier 901'.
[0282] Among the multiplication results output by the multiplier 901 ′, the even-numbered multiplication results are subtracted from the calculation results stored in the M-bit register 906 . Furthermore, the M-bit adder 905 inputs the calculation results of addition and subtraction into the M-bit register 906 .
[0283] The M-bit register 906 sequentially stores the calculation results sequentially output by the M-bit adder 905. When all the calculation results are stored in the M-bit register 906, all the calculation results are read through the limiter circuit 907.
[0284] The limiter circuit 907 reads all calculation results from the M-bit register 906, and when there are calculation results exceeding the upper and lower limits, the calculation results exceeding the upper and lower limits are replaced with the upper and lower limit outputs.
[0285] (3-4-2) Details of the limiter circuit in the activation function circuit
[0286] Next, details of the limiter circuit 907 included in the activation function circuit 332 will be described. Fig.10 is a diagram showing an example of a limiting circuit. Fig.10 As shown, the limiting circuit 907 includes an M-bit adder 1001 , an M-bit adder 1002 , and an M-bit selector 1003 .
[0287] The M-bit adder 1001 takes all calculation results read from the M-bit register 906 as input, calculates the difference with the upper limit value, and inputs the sign bit representing the sign (+ or -) of the calculation result to the M-bit selector 1003 .
[0288] The M-bit adder 1002 takes all calculation results read from the M-bit register 906 as input, calculates the difference from the lower limit value, and inputs the sign bit representing the sign (+ or -) of the calculation result to the M-bit selector 1003 .
[0289] The M-bit selector 1003 receives all calculation results read from the M-bit register 906 as input, and selects and outputs either the calculation result or the upper limit value based on the sign bit input from the M-bit adder 1001 .
[0290] Similarly, the M-bit selector 1003 receives all calculation results read from the M-bit register 906 as input, and selects either the calculation result or the lower limit value for output based on the sign bit input from the M-bit adder 1002 .
[0291] (3-4-3) The coefficient a set in the activation function circuit i (i=1、2、···2p-1)
[0292] Next, the coefficient a set in the activation function circuit 332 is adjusted. i Details of the processing of the adjustment device 220 for (i=1, 2, . . . 2p-1). Fig.11 It is a diagram showing a specific example of processing by an adjustment device for adjusting polynomial coefficients of an activation function.
[0293] As described above, the adjustment device 220 precalculates the coefficient a used in the processing of the activation function circuit 332. i (i=1, 2, ... 2p-1), and is set in the coefficient memory 903 (an example of a holding unit). Fig.11 As shown, the adjustment device 220 includes first coefficient adjustment units 1111, second coefficient adjustment units 1112, etc., the number of which corresponds to the number of sensor data.
[0294] For example, the first coefficient adjustment unit 1111 adjusts the coefficient a based on the characteristics of the sensor data a'. i (i=1, 2, ..., 2p-1). In addition, the second coefficient adjustment unit 1112 adjusts the coefficient a based on the characteristics of the sensor data b'. i (i=1, 2,...2p-1).
[0295] The adjusted coefficient a adjusted by the adjustment device 220 i (i=1, 2, ... 2p-1) is set in the activation function circuit 332 of the reservoir device 202. In addition, the coefficient a is set based on the first coefficient adjustment unit 1111, the second coefficient adjustment unit 1112, etc. iThe adjustment method of (i=1, 2, ... 2p-1) is arbitrary.
[0296] For example, as described in the above formula (8), when p=5, the coefficient a i When (i=1, 2, ···2p-1)=1, the activation function f is as follows Fig.11 The value shown by symbol 1121. In addition, the activation function f with the value shown by symbol 1121 has a large storage capacity when the number is low, and a storage capacity of zero when the number is high. The storage capacity here is an indicator of the following problem: when the reserve pool device calculates the reserve pool feature quantity, how long ago the value in the sensor data is used for calculation.
[0297] Therefore, in the case of an activation function f taking a value as shown in symbol 1121, although it is of low order, it is effective when one wants to use past values as much as possible to calculate the reserve pool feature value, that is, when the characteristics of the sensor data are linear or weakly nonlinear.
[0298] On the other hand, p = 5, the coefficient a i (i=1, 2, ... 2p-1) has a tilt as shown in the following equation (9), for example.
[0299]
Number 9
[0300]
[0301] At this time, the activation function f is taken as Fig.11 The value shown by symbol 1122. In addition, the activation function f taking the value shown by symbol 1122 has a lower storage capacity (here, the storage capacity is not zero) regardless of whether the number is low or high.
[0302] Therefore, in the case of the activation function f taking the value shown by the symbol 1122, it is effective when it is desired to calculate the reservoir feature value using a high-order value, that is, when the characteristics of the sensor data are nonlinear.
[0303] In this way, the activation function f is expressed by fixed-point or floating-point polynomial calculation, and thus, according to the reservoir device 202 involved in this embodiment, it is possible to calculate the reservoir feature value corresponding to the characteristics of the sensor data.
[0304] (4) Details of the Functional Configuration of the Process State Prediction Unit 204
[0305] Next, the details of the functional structure of the process state prediction unit 204 will be described. As described above, the process state prediction unit 204 operates in multiple time periods. Therefore, the relationship between the time periods will be described first using the transition diagram of each time period, and then the functional structure of the process state prediction unit 204 in each time period will be described.
[0306] (4-1) Relationship between different time periods
[0307] Fig.12 This is an example of a transition diagram for each time period during which the process state prediction unit transitions. Fig.12 As shown, when the process based on the process state prediction system 128 starts, the process state prediction unit 204 enters any time period (any time period of the learning time period, the prediction time period, and the re-learning time period) and starts to operate. However, here, for the sake of simplicity of explanation, the case of entering the learning time period and starting to operate is explained.
[0308] When the switching information is input from the management device 123 and the learning time period is entered (arrow Tr1), the process state prediction unit 204 uses the reserve pool feature value and process state data (correct data) to perform learning processing for the specified learning time length and calculate the weight parameters.
[0309] When the learning process is finished, the process state prediction unit 204 outputs the end information and inputs the switching information from the management device 123, thereby entering the prediction period (arrow Tr2). In the prediction period, the process state prediction unit 204 performs the prediction process under the calculated weight parameters, thereby outputting the prediction result data based on the reserve pool feature quantity.
[0310] During the prediction period, when the process state prediction unit 204 performs prediction processing, the management device 123 determines whether relearning is required, and when it is determined that relearning is required, the switching information is input to the process state prediction unit 204. As a result, the process state prediction unit 204 enters the relearning period (arrow Tr3).
[0311] In the relearning period, the process state prediction unit 204 performs relearning processing while changing the learning parameter set (described in detail later), thereby calculating the weight parameter for each learning parameter set. Next, the process state prediction unit 204 performs prediction processing in a state where the calculated weight parameters are set, and outputs prediction result data. In addition, the management device 123 determines the weight parameter corresponding to the prediction result data that is within the allowable range and has the highest prediction accuracy, and inputs switching information to the process state prediction unit 204. As a result, the process state prediction unit 204 enters the prediction period (arrow Tr4).
[0312] (4-2) Functional Configuration of the Process State Prediction Unit 204 in the Learning Time Period
[0313] Next, the functional configuration of the process state prediction unit 204 for each time period will be described. First, the functional configuration of the process state prediction unit 204 for the learning time period will be described. Fig.121 is a diagram showing an example of the functional configuration of the learning period of the process state prediction unit.
[0314] like Fig.12 As shown, the process state prediction unit 204 functions as a FORCE learning unit 1200 based on the recursive least squares method during the learning period. In addition, in the present embodiment, the "learning parameter set 0" is set in the FORCE learning unit 1200 based on the recursive least squares method, and the FORCE learning unit 1200 performs the FORCE learning process based on the recursive least squares method through the following processing steps (reference symbol 1201). In addition, "τ" in the following figures represents the time axis of the process state prediction unit 204, which is the time (τ=t-1) delayed by 1 clock from the actual time (t). Therefore, for example, when S(τ+1) in the figure is expressed by the actual time, it is S(t).
[0315] 1) Calculation of output data
[0316] When the FORCE learning unit 1200 obtains the reserve pool feature value (R vector), it multiplies the transposed vector with the transposed recursive weight parameter (W vector) to calculate the output data (Z). In addition, in this embodiment, the recursive weight parameter (W vector) refers to the weight parameter recursively updated during the FORCE learning process based on the recursive least squares method.
[0317] 2) Calculation of error
[0318] The FORCE learning unit 1200 calculates the error (e) between the output data (Z) and the process state data (S).
[0319] 3) Calculation of coefficient matrix
[0320] The FORCE learning unit 1200 calculates a coefficient matrix (P matrix) which is used to calculate the recursive weight parameters (W vector).
[0321] 4) Calculation of recursive weight parameters
[0322] The FORCE learning unit 1200 updates the recursive weight parameter (W vector) based on the calculated error (e), the acquired reservoir feature value (R vector), and the calculated coefficient matrix (P matrix).
[0323] The FORCE learning unit 1200 calculates the weight parameter by repeating the above-mentioned processes 1) to 4) for a designated learning time length.
[0324] (4-3) Functional Structure of the Process State Prediction Unit 204 in the Prediction Time Zone
[0325] Next, the functional structure of the process state prediction unit 204 in the prediction time period will be described. Fig.14 This is a diagram showing an example of the functional structure of the prediction time period of the process state prediction unit.
[0326] like Fig.14 As shown, the process state prediction unit 204 functions as a FORCE learning unit 1300 based on the recursive least squares method in the prediction period. In this embodiment, the FORCE learning unit 1300 refers to a state in which the FORCE learning unit 1200 performs FORCE learning processing, thereby setting the calculated weight parameters and outputting the prediction result data (Z). In the FORCE learning unit 1300, the prediction processing is performed through the following processing steps (reference symbol 1301).
[0327] 1) The FORCE learning unit 1300 sets a weight parameter (W vector) for calculation by performing a FORCE learning process.
[0328] 2) When the FORCE learning unit 1300 obtains the reserve pool feature value (R vector), it multiplies it by the transposed vector after transposing the weight parameter (W vector), thereby outputting the prediction result data (Z).
[0329] (4-4) Functional Configuration of the Process State Prediction Unit 204 in the Relearning Time Period
[0330] Next, the functional configuration of the process state prediction unit 204 in the relearning period will be described. Fig.15A and Fig. 15B , are the first and second figures showing an example of the functional structure of the relearning time period of the process state prediction unit.
[0331] like Fig.15A , Fig. 15B As shown, the process state prediction unit 204 functions as FORCE learning units 1200_1 to 1200_M based on the recursive least squares method and FORCE learning units 1300_1 to 1300_M based on the recursive least squares method in the relearning period.
[0332] In this embodiment, Fig.15A In the FORCE learning unit 1200_1, set "Learning parameter set 1" and pass Fig.13 The processing steps described in (refer to symbol 1201) perform FORCE learning processing based on the recursive least squares method.
[0333] In addition, in this embodiment, Fig. 15BThe FORCE learning unit 1300_1 is a state in which the FORCE learning unit 1200_1 performs FORCE learning processing, thereby setting the calculated weight parameters and outputting the prediction result data (Z). When the FORCE learning unit 1300_1 obtains the reserve pool feature value, it multiplies it with the transposed vector after the weight parameters are transposed, thereby outputting the prediction result data.
[0334] Similarly, in Fig.15A In the FORCE learning unit 1200_2, set "Learning parameter set 2" and Fig.13 The processing steps described in (refer to symbol 1201) perform FORCE learning processing based on the recursive least squares method.
[0335] In addition, in this embodiment, Fig. 15B The FORCE learning unit 1300_2 refers to a state in which the FORCE learning unit 1200_2 performs FORCE learning processing, thereby setting the calculated weight parameters and outputting the prediction result data (Z). When the FORCE learning unit 1300_2 obtains the reserve pool feature value, it multiplies it with the transposed vector after the weight parameters are transposed, thereby outputting the prediction result data.
[0336] Similarly, in Fig.15A In the FORCE learning unit 1200_M, set the "learning parameter set M" and Fig.13 The processing steps described in (refer to symbol 1201) perform FORCE learning processing based on the recursive least squares method.
[0337] In addition, in this embodiment, Fig. 15B The FORCE learning unit 1300_M refers to a state in which the FORCE learning unit 1200_M performs FORCE learning processing, thereby setting the calculated weight parameters and outputting the prediction result data (Z). When the FORCE learning unit 1300_M obtains the feature value of the reserve pool, it multiplies the transposed vector after the weight parameters are transposed, thereby outputting the prediction result data.
[0338] In addition, as mentioned above, in the relearning period, Fig.15A , Fig. 15B When the processing is finished under the functional structure shown in the figure, the prediction time period is entered again. Fig.14 Here, in the case of the predicted time period after relearning, the process state prediction unit 204 functions as a FORCE learning unit 1300_X based on the recursive least squares method. The so-called FORCE learning unit 1300_X here refers to the FORCE learning unit 1300_1 to 1300_M.
[0339] ·For the FORCE learning unit that has set "learning parameter set X",
[0340] The output prediction result data is within the specified allowable range and the FORCE learning unit sets the weight parameters with the highest prediction accuracy.
[0341] Furthermore, the learning parameter set X is a learning parameter set when the output prediction result data is within a specified allowable range and when the weight parameter with the highest prediction accuracy is calculated.
[0342] (5) Details of the hardware structure of the FORCE learning unit based on the recursive least squares method
[0343] Next, the hardware configuration of the FORCE learning unit 1200, 1200_1 to 1200_M, 1300, 1300_1 to 1300_M functioning as the FORCE learning unit based on the recursive least squares method will be described. In this embodiment, the FORCE learning units 1200, 1200_1 to 1200_M, 1300, 1300_1 to 1300_M use common hardware, so the hardware configuration of the FORCE learning unit 1200 will be described below.
[0344] (5-1) Overall structure
[0345] Fig.16 This is a diagram showing an example of the hardware configuration of a FORCE learning unit based on the recursive least squares method.
[0346] like Fig.16 As shown, the FORCE learning unit 1200 based on the recursive least squares method has,
[0347] Multiple FPGAs (Field Programmable Gate Arrays) functioning as PEs (Processing Elements) Fig.16 25 in the example above), and
[0348] Multiple FPGAs functioning as FPEs (Functional PEs) Fig.16 5 in the example),
[0349] also, Fig.16 In the FPGA, the part can be realized by a dedicated chip.
[0350] Among them, multiple FPGAs acting as PEs execute separately, using Fig.13 In the processing steps 1) to 4) of FORCE learning based on the recursive least squares method described above, 3) calculation of the coefficient matrix: Specifically, each of the plurality of FPGAs functioning as PEs calculates a coefficient matrix (P matrix) through the following steps.
[0351] (i) When a part of the reserve pool feature value (R vector) is input through signal line 1601, the product with a part of the coefficient matrix (P matrix) is calculated, and the calculation result is transferred to the adjacent FPGA through signal line 1602.
[0352] (ii) A matrix for calculating the product of a transposed vector obtained by transposing a part of the reservoir feature quantity (R vector) and a part of the coefficient matrix (P matrix) is obtained from the FPGA functioning as the FPE through the signal line 1603. Furthermore, using the obtained matrix, a product of a transposed vector obtained by transposing a part of the reservoir feature quantity (R vector) and a part of the coefficient matrix (P matrix) is calculated.
[0353] (iii) From the FPGA acting as the FPE, the calculation result of the product of the transposed vector of a part of the transposed reserve pool feature value (R vector), a part of the coefficient matrix (P matrix) and a part of the reserve pool feature value (R vector) is obtained through the signal line 1604.
[0354] (iv) Using the calculation results calculated by executing the above (i) to (iii) or the acquisition results acquired, the entire coefficient matrix (P matrix) is updated.
[0355] Furthermore, each of the plurality of FPGAs functioning as PEs repeatedly executes the above-mentioned (i) to (iv).
[0356] On the other hand, multiple FPGAs functioning as FPEs each execute Fig.13 In the processing steps 1) to 4) of the FORCE learning process based on the recursive least squares method described above, 4) calculation of recursive weight parameters and 1) calculation of output data. Specifically, each of the multiple FPGAs functioning as FPEs calculates the recursive weight parameters and output data through the following steps.
[0357] (i) The calculation result of the product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature value (R vector) is obtained from the FPGA functioning as the PE through the signal line 1602.
[0358] (ii) Generate a matrix for calculating the product of a transposed vector after transposing a part of the reserve pool feature value (R vector) and a part of the coefficient matrix (P matrix), and send it to multiple FPGAs acting as PEs through signal line 1603.
[0359] (iii) Obtain the calculation result of the product of the transposed vector after transposing a part of the reserve pool feature value (R vector) and a part of the coefficient matrix (P matrix). In addition, the calculation result of multiplying the obtained calculation result with a part of the reserve pool feature value (R vector) is sent to multiple FPGAs acting as PEs through signal line 1604.
[0360] (iv) Calculate the product of a transposed vector after transposing a part of the recursive weight parameter (W vector) and a part of the reservoir feature value (R vector) obtained through signal line 1601, thereby calculating a part of the output data (Z).
[0361] (v) Obtain the error (e), and use the calculation result of the above (i) to update the entire recursive weight parameter (W vector).
[0362] Furthermore, each of the plurality of FPGAs functioning as FPEs repeatedly executes the above-mentioned (i) to (v).
[0363] On the other hand, among the multiple FPGAs that function as FPEs, the FPGA located in the final stage performs 2) calculation of errors in addition to 4) calculation of recursive weight parameters and 1) calculation of output data. Specifically, among the multiple FPGAs that function as FPEs, the FPGA located in the final stage calculates errors through the following steps.
[0364] (i) A portion of the output data (Z) obtained from each FPGA located in the upper stage is collected, and the difference with the process status data (S) is calculated, thereby calculating the error (e). In addition, the calculated error (e) is sent to each FPGA located in the upper stage.
[0365] In this way, in the FORCE learning unit 1200 based on the recursive least squares method, the processing steps 1) to 4) are executed using multiple FPGAs functioning as PEs and multiple FPGAs functioning as FPEs, thereby realizing the FORCE learning process based on the recursive least squares method.
[0366] (5-2) Details of each FPGA’s processing
[0367] Next, the details of the processing of each FPGA included in the FORCE learning unit 1200 based on the recursive least squares method will be described.
[0368] (5-2-1) Details of the Processing of the FPGA Functioning as a PE
[0369] First, the details of the processing of the FPGA functioning as a PE will be described. As described above, when the reservoir feature quantity (R vector) is input, the FPGA functioning as a PE calculates the product with the coefficient matrix (P matrix).
[0370] At this time, in the FORCE learning unit 1200 based on the recursive least squares method, the FPGAs that are arranged vertically in multiple numbers and function as PEs each calculate the product of a part of the coefficient matrix (P matrix) and a part of the reserve pool feature value (R vector). Thus, in the FORCE learning unit 1200 based on the recursive least squares method, the processing of multiplying a part of a different coefficient matrix (P matrix) and a part of the same reserve pool feature value (R vector) can be performed in parallel.
[0371] In the FORCE learning unit 1200 based on the recursive least squares method, each of the plurality of PEs arranged horizontally serially processes a portion of the reservoir feature quantity (R vector) obtained by dividing the reservoir feature quantity (R vector) as time series data.
[0372] Thus, when implementing FORCE learning processing based on the recursive least squares method, the number of operations performed by one FPGA can be reduced by combining parallel processing and serial processing. As a result, the FORCE learning unit 1200 based on the recursive least squares method can speed up the FORCE learning processing.
[0373] Fig.17 and Fig.18 The first and second figures show the parallel processing and serial processing implemented in the FORCE learning unit based on the recursive least squares method. Fig.17 and Fig.18 For the sake of simplicity, the number of output side electrodes is set to "4" (the number of elements of the reserve pool characteristic value (R vector) is 4). In addition, the case where the FPGA that acts as a PE is configured with only 2 vertically and 2 horizontally (a total of 4) is shown (refer to FPGA1721, 1722, 1723, 1724).
[0374] Here, it is assumed that the product of the coefficient matrix (P matrix) and the reserve pool feature quantity (R vector) is performed by one FPGA. In this case, as shown in symbol 1710, 16 multiplications are required. On the other hand, by configuring two FPGAs that function as PEs vertically, the number of multiplications can be halved. Furthermore, by configuring two FPGAs that function as PEs horizontally, dividing the reserve pool feature quantity (R vector) into two and inputting them into each FPGA, the number of multiplications can be further halved.
[0375] Fig.17 The following method is given in which symbol 1730 inputs (r1, r2) of the two-divided R vectors as part of the reserve pool feature value (R vector) into FPGA1721 and 1722 respectively, and FPGA1721 and 1722 each perform 4 multiplications.
[0376] also, Fig.18In the following manner, symbol 1830 inputs (r3, r4) of the two-divided reserve pool feature quantity (R vector) as a part of the reserve pool feature quantity (R vector) into FPGA 1723 and 1724, respectively. In addition, symbol 1830 shows a manner in which FPGA 1723 and 1724 perform four multiplications, respectively.
[0377] In this manner, in the FORCE learning unit 1200 based on the recursive least squares method, a plurality of FPGAs functioning as PEs are arranged vertically and horizontally, and each FPGA is configured to execute a part of a matrix operation of multiple rows and columns executed in the FORCE learning process.
[0378] Thus, the FORCE learning unit 1200 based on the recursive least squares method can speed up the FORCE learning process based on the recursive least squares method.
[0379] (5-2-2) Details of the Processing of the FPGA Functioning as a PE, Part 2
[0380] Next, the details of the transfer process of the FPGA functioning as a PE are described. As described above, the FPGA functioning as a PE transfers the calculation result of the product of the coefficient matrix (P matrix) and the reserve pool feature value (R vector) to the adjacent FPGA. Fig.19 This is the first diagram showing the transfer processing implemented in the FORCE learning unit based on the recursive least squares method.
[0381] in, Fig.19 19a shows the following method, FPGA1721, 1722 each executes the product of (r1, r2) as a part of the reserve pool feature quantity (R vector) and a part of the coefficient matrix (P matrix) in the 2-divided reserve pool feature quantity (R vector). In addition, Fig.19 19a shows the way in which FPGA1721 and 1722 transfer the execution results to FPGA1723 and 1724 respectively.
[0382] like Fig.19 As shown in FIG. 19a, the calculation result p is transferred from FPGA 1721 to FPGA 1723 with 1 clock. 11 r1+p 12 r2 and p 21 r1+p 22 In addition, FPGA1722 transfers p to FPGA1724 with 1 clock. 31 r1+p 32 r2 and p 41 r1+p 42 r2. In addition, p 31 r1+p 32r2 and p 41 r1+p 42 r2 is a calculation result of the product of (r1, r2) which is a part of the reserve pool feature value (R vector) and a part of the coefficient matrix (P matrix), which is transferred from FPGA1721 to FPGA1722 with 1 clock.
[0383] on the other hand, Fig.19 19b shows the following method, FPGA1723, 1724 each executes, taking the product of (r3, r4) as a part of the reserve pool feature quantity (R vector) and a part of the coefficient matrix (P matrix) in the 2-divided reserve pool feature quantity (R vector). In addition, Fig.19 19b shows the manner in which FPGA1723 and 1724 each transfer the execution result to the adjacent FPGA on the right (not shown).
[0384] like Fig.19 As shown in 19b, the calculated result p 13 r3+p 14 r4 and p as the result of the forwarding 11 r1+p 12 The result of the addition of r2 is transferred from FPGA1723 to an FPGA not shown. 23 r3+p 24 r4 and p as the result of the forwarding 21 r1+p 22 The addition result of r2 addition is transferred from FPGA1723 to an FPGA not shown.
[0385] Similarly, as the result of calculation, p 33 r3+p 34 r4 and p as the result of the forwarding 31 r1+p 32 The result of the addition of r2 is transferred from FPGA1724 to an FPGA (not shown). 43 r3+p 44 r4 and p as the result of the forwarding 41 r1+p 42 The addition result of r2 addition is transferred from FPGA1724 to an FPGA not shown.
[0386] (5-2-3) Details of the Processing of the FPGA Functioning as FPE, Part 1
[0387] Next, the details of the processing of the FPGA functioning as the FPE are described. As described above, the FPGA functioning as the FPE performs the "substitution processing" used in the calculation of the coefficient matrix (P matrix), which generates a matrix for calculating "the product of the transposed vector after transposing a part of the reserve pool feature quantity (R vector) and a part of the coefficient matrix (P matrix)".
[0388] Fig. 20 is a diagram showing the replacement processing implemented in the FORCE learning unit based on the recursive least squares method. Fig. 20 20a gives the relationship between the calculation of the coefficient matrix (P matrix) and the replacement process. Fig. 20 As shown in 20a, when calculating the coefficient matrix (P matrix), the "product of the transposed matrix after transposing the reserve pool feature quantity (R vector) and the coefficient matrix (P matrix)" (symbol 2001) to be calculated, the coefficient matrix (P matrix) is a symmetric matrix (having symmetry). Therefore, the coefficient matrix (P matrix) is equal to the transposed matrix after transposing the coefficient matrix (P matrix).
[0389] Therefore, the following two terms are equal.
[0390] "the product of the transposed matrix of the reservoir feature quantity (R vector) and the coefficient matrix (P matrix)" (symbol 2001), and
[0391] "The product of the transposed matrix after transposing the reservoir feature quantity (R vector) and the transposed matrix after transposing the coefficient matrix (P matrix)" (symbol 2002),
[0392] That is, it is equal to "the transposed matrix obtained by transposing the product of the reservoir feature quantity (R vector) and the coefficient matrix (P matrix)" (symbol 2003).
[0393] Here, the "product of the reservoir feature quantity (R vector) and the coefficient matrix (P matrix)" has already been calculated at the time of calculating the product (symbol 2004). Therefore, by transposing the calculation result using symmetry, it can be replaced by "the product of the transposed matrix after transposing the reservoir feature quantity (R vector) and the coefficient matrix (P matrix)" (symbol 2001).
[0394] Fig. 20 20b shows that in the calculation of the coefficient matrix (P matrix),
[0395] ·The product of the transposed matrix of the reservoir feature quantity (R vector) and the coefficient matrix (P matrix) (symbol 2001),
[0396] ·Use "the transposed matrix of the product of the reservoir feature quantity (R vector) and the coefficient matrix (P matrix)" (symbol 2003),
[0397] The mathematical expression after substitution.
[0398] also, Fig. 20 The right side of 20c shows the calculation result, which gives which pr is needed for each element of the matrix on the right among pr1, pr2, pr3, and pr4. The upper left element of the matrix needs pr1 and pr2, the lower left element and the upper right element need pr1, pr2, pr3, and pr4, and the lower right element needs pr3 and pr4.
[0399] also, Fig. 20 20d gives the following method, and an FPGA (not shown) acting as an FPE will be used for calculation:
[0400] "the product of a portion of the coefficient matrix (P matrix) and a portion of the reservoir feature vector (R vector)", and
[0401] "The transposed vector of the product of a part of the transposed coefficient matrix (P matrix) and a part of the reservoir feature quantity (R vector)",
[0402] The vector is sent to FPGA1721-1724 through signal line 1603. Further, Fig. 20 20d gives the following method, FPGA1721~1724 calculates the product of the following items
[0403] "the product of a portion of the coefficient matrix (P matrix) and a portion of the reservoir feature vector (R vector)", and
[0404] "The transposed vector of the product of a part of the transposed coefficient matrix (P matrix) and a part of the reservoir feature quantity (R vector)".
[0405] Specifically, FPGA1721 calculates Fig. 20 FPGA1722 calculates the product of the upper left elements of the matrix on the right of 20c, FPGA1723 calculates the product of the upper right elements, and FPGA1724 calculates the product of the lower right elements.
[0406] In this way, when performing a calculation including a transposed vector in the FORCE learning process based on the recursive least squares method, the FORCE learning unit 1200 based on the recursive least squares method obtains a calculation result not including a transposed vector and transposes the obtained calculation result, thereby performing substitution.
[0407] Thus, the number of operations when implementing the FORCE learning process based on the recursive least squares method can be reduced according to the FORCE learning unit 1200 based on the recursive least squares method. As a result, the FORCE learning process can be accelerated according to the FORCE learning unit 1200 based on the recursive least squares method.
[0408] (5-2-4) Details of the Processing of the FPGA Functioning as FPE, Part 1
[0409] Next, the details of the transfer processing of the FPGA functioning as the FPE are described. As described above, when a part of the input reserve pool feature value (R vector) is input, the FPGA functioning as the FPE calculates the product with a part of the recursive weight parameter (W vector), and transfers a part of the output data (Z) as the calculation result to the adjacent FPGA. Fig.21 FIG. 2 is a second diagram showing the transfer processing implemented in the FORCE learning unit based on the recursive least squares method.
[0410] like Fig.21 As shown, FPGA2111 calculates the product of the following items in the 2-divided reserve pool feature quantity (R vector),
[0411] (r1, r2) as part of the reservoir feature (R vector), and
[0412] A portion (w1, w2) of the recursive weight parameters (W vector),
[0413] The calculation result (symbol 2101) is transferred to FPGA 2112. At this time, in FPGA 2111, w1r1+w2r2 which is the calculation result (symbol 2101) is transferred to FPGA 2112 with one clock.
[0414] In addition, FPGA2112 calculates the product of (r3, r4) as a part of the reserve pool feature (R vector) and (w3, w4) as a part of the recursive weight parameter (W vector) in the 2-divided reserve pool feature (R vector). In addition, FPGA2112 adds the calculation result (symbol 2102) and the calculation result (symbol 2101) transferred from FPGA2111 to obtain the addition result (symbol 2103).
[0415] (5-2-5) Details of the Processing of the FPGA Functioning as FPE, Part 2
[0416] Next, the details of the processing of the FPGA functioning as the FPE are described. As described above, the FPGA functioning as the FPE obtains the calculation result of the product of a part of the reserve pool feature quantity (R vector) and a part of the coefficient matrix (P matrix). In addition, the FPGA functioning as the FPE calculates the product of a part of the reserve pool feature quantity (R vector), a part of the coefficient matrix (P matrix), and a transposed vector obtained by transposing a part of the reserve pool feature quantity (R vector) obtained through the signal line 1601. Furthermore, the FPGA functioning as the FPE performs distributed processing and distributes the calculation results to the FPGA functioning as the PE.
[0417] Fig. 22 is a diagram showing the distribution processing implemented in the FORCE learning unit based on the recursive least squares method. Fig. 22 As shown, FPGA2111 acting as FPE obtains the calculation result (symbol 2201) of the product of a part of the coefficient matrix (P matrix) and a part of the R vector from the corresponding FPGA acting as PE. In addition, FPGA2111 acting as FPE calculates the product of the obtained calculation result (symbol 2201) and the transposed vector obtained by transposing a part (r1, r2) of the reserve pool feature value (R vector), and transfers the calculation result (symbol 2202) to FPGA2112.
[0418] Similarly, FPGA2112, which functions as an FPE, obtains the calculation result (symbol 2203) of the product of a part of the coefficient matrix (P matrix) and a part of the R vector from the corresponding FPGA, which functions as a PE. In addition, FPGA2112, which functions as an FPE, calculates the product of the obtained calculation result (symbol 2202) and the transposed vector obtained by transposing a part (r3, r4) of the reserve pool feature quantity (R vector). In addition, FPGA2112, which functions as an FPE, adds the calculation result to the calculation result (symbol 2202) transferred from FPGA2111. Furthermore, FPGA2112, which functions as an FPE, transfers the addition result (symbol 2204) to FPGA1721 to 1724, which functions as a PE, through signal line 1604.
[0419] Thus, each of FPGA1721 to 1724 can calculate a part of the coefficient matrix (P matrix). For example, in the case of FPGA1721,
[0420] "The product of a part of the reservoir feature quantity (R vector) and a part of the coefficient matrix (P matrix)" (symbol 2004) is calculated in advance.
[0421] "The product of a transposed vector after transposing a part of the reservoir feature quantity (R vector) and a part of the coefficient matrix (P matrix)" (symbol 2001) is as follows Fig. 20 As described in , it is calculated by substitution processing based on the matrix acquired through the signal line 1603.
[0422] ·“The product of the transposed vector after transposing a part of the reservoir feature value (R vector), a part of the coefficient matrix (P matrix), and a part of the reservoir feature value (R vector)” (symbol 2204) is obtained through the signal line 1604.
[0423] Thus, in FPGA1721 to FPGA1724, the coefficient matrix (P matrix) can be calculated.
[0424] (5-2-6) Details of the Processing of the FPGA Functioning as FPE
[0425] Next, the details of the processing of the FPGA functioning as the FPE will be described. As described above, among the FPGAs functioning as the FPE, the FPGA located in the final stage performs error calculation in addition to calculation of recursive weight parameters and calculation of output data.
[0426] Fig.23 is a diagram showing the weight parameter update process implemented in the FORCE learning unit based on the recursive least squares method. Fig.23 As shown, the FPGA 2112 located in the final stage calculates a part of the output data (Z) (= w3r3 + w4r4). In addition, the FPGA 2112 located in the final stage summarizes the output data (Z) by adding a part of the output data (Z) obtained from the FPGA 2111 acting as the FPE (= w1r1 + w2r2).
[0427] In addition, FPGA2112 located in the final stage calculates the difference between the summarized output data (Z) and the process status data (S) to calculate the error (e) (symbol 2301). Further, FPGA2112 located in the final stage sends the calculated error (e) to FPGA2111 located in the upper stage. FPGA2111 and FPGA2112 use the calculated error (e) to update the recursive weight parameter.
[0428] For example, in FPGA 2111, the calculation result of the product of a part of the reserve pool feature quantity (R vector) and a part of the coefficient matrix (P matrix) is obtained (symbol 2201). Then, in FPGA 2111, the error (e) obtained from FPGA 2112 is multiplied and then subtracted from the current recursive weight parameter (W vector). Thus, the recursive weight parameter (W vector) can be updated in FPGA 2111 (symbol 2302).
[0429] (5-3) Timing diagram of FORCE learning processing performed by FORCE learning unit 1200 based on recursive least squares method
[0430] Next, a time chart of the FORCE learning process performed by the FORCE learning unit 1200 based on the recursive least squares method will be described. Fig.24 This is an example of a timing chart of a FORCE learning process performed by a FORCE learning unit based on the recursive least squares method.
[0431] like Fig.24 As shown, the FPGA acting as an FPE calculates the product of the following items,
[0432] The recursive weight parameters (the W(τ-1) vector), and
[0433] ·Reservoir characteristics (R(τ) vector),
[0434] Thus, output data (Z(τ)) is calculated (symbol 2401).
[0435] Furthermore, the FPGA functioning as the FPE calculates an error (e(τ)) based on the output data (Z(τ)) and the process status data (S(τ)) (symbol 2402).
[0436] In addition, the FPGA that functions as a PE is based on the following items
[0437] The product of the transposed vector after transposing the reservoir feature quantity (R vector (τ)), the coefficient matrix (P (τ-1) matrix), and the reservoir feature quantity (R vector (τ)),
[0438] The product of the coefficient matrix (P(τ-1) matrix) and the reservoir feature (R vector (τ)), and
[0439] The coefficient matrix (P(τ-1) matrix),
[0440] To calculate the coefficient matrix (P(τ) matrix) (symbol 2403).
[0441] In addition, the FPGA acting as a PE calculates the product of the coefficient matrix (P(τ) matrix) and the reserve pool feature quantity (R(τ) vector) (symbol 2404). In addition, the FPGA acting as a PE calculates the product of the coefficient matrix (P(τ+1) matrix) and the reserve pool feature quantity (R(τ) vector) (symbol 2405).
[0442] Furthermore, the FPGA acting as a PE calculates the product of the following items (symbol 2406),
[0443] The transposed vector after transposing the feature value of the reserve pool (R(τ+1) vector),
[0444] The calculation result of the product of the coefficient matrix (P(τ) matrix) and the reservoir feature quantity (R(τ+1) vector).
[0445] Next, the FPGA, functioning as an FPE, calculates the product of the following items (symbol 2407),
[0446] The result of calculating the product of the coefficient matrix (P(τ) matrix) and the reservoir feature quantity (R(τ) vector), and
[0447] Error (e(τ)).
[0448] In addition, the FPGA that functions as the FPE is based on
[0449] · Calculate the product of the coefficient matrix (P(τ) matrix), the reservoir feature quantity (R(τ) vector), and the error (e(τ)), and
[0450] Recursive weight parameters (W(τ-1) vector),
[0451] Update the recursive weight parameters (W(τ) vector), calculate the recursive weight parameters (W(τ) vector) (symbol 2408).
[0452] Thus, the FPGA functioning as the FPE can calculate the output data (Z(τ+1)). Hereinafter, the same processing is repeated as the system time passes.
[0453] In addition, if Fig.24 As shown, the FORCE learning unit 1200 based on the recursive least squares method is constructed as follows:
[0454] · calculation of the recursive weight parameters (W(τ-1) vector), and
[0455] · Calculation of recursive weight parameters (W(τ) vector),
[0456] The execution timings of the products of the reserve pool feature quantity (R vector) and the coefficient matrix (P matrix) respectively executed overlap each other. Specifically, the FORCE learning unit 1200 based on the recursive least squares method adjusts the execution timing by buffering the calculation results in the FPGA acting as the PE and the FPGA acting as the FPE.
[0457] Thus, in the FORCE learning unit 1200 based on the recursive least squares method, the time required for updating the recursive weight parameters can be shortened.
[0458] As described above, the process state prediction unit 204 is configured by hardware that performs FORCE learning processing based on the recursive least squares method, and performs processing for rapidly updating recursive weight parameters. Thus, the process state prediction unit 204 can capture short motions appearing in sensor data and learn weight parameters.
[0459] Furthermore, according to the applicant of the present application, the time required for the FORCE learning unit 1200 based on the recursive least squares method to update the recursive weight parameter was realized to be 960 [ns] when each FPGA was operated at 200 MHz.
[0460] <Details of management device>
[0461] Next, the details of the management device 123 connected to the process state prediction system 128 will be described.
[0462] (1) Hardware structure of management device 123
[0463] First, the hardware structure of the management device 123 will be described. Fig.25 This is a diagram showing an example of the hardware configuration of the management device.
[0464] like Fig.25 As shown, the management device 123 includes a processor 2501, a memory 2502, an auxiliary storage device 2503, an I / F (interface) device 2504, a UI device 2505, and a communication device 2506. In addition, the hardware components of the management device 123 are connected to each other via a bus 2507.
[0465] The processor 2501 includes various computing devices such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The processor 2501 reads and executes various programs (for example, a hypervisor) from the memory 2502 .
[0466] The memory 2502 has a main storage device such as a ROM (Read Only Memory), a RAM (Random Access Memory), etc. The processor 2501 and the memory 2502 form a so-called computer, and the processor 2501 executes various programs read from the memory 2502, whereby the computer realizes various functions.
[0467] The auxiliary storage device 2503 stores various programs and various data used when the various programs are executed by the processor 2501. The data storage unit 2607 described later is implemented in the auxiliary storage device 2503.
[0468] The I / F device 2504 is a connection device connected to the process state prediction system 128 .
[0469] The UI device 2505 is a user interface device for the administrator of the management device 123 to input various instructions to the management device 123. The communication device 2506 is a communication device for communicating with an external device (not shown) via a network.
[0470] (2) Functional Structure of the Management Unit 124
[0471] Next, the functional structure of the management unit 124 of the management device 123 will be described. Fig.26 As described above, a management program is installed in the management device 123. By executing the program, the management unit 124 of the management device 123 plays the following roles:
[0472] Process status data sending unit 2601,
[0473] Process status data acquisition unit 2602,
[0474] Time period control unit 2603,
[0475] End information acquisition unit 2604,
[0476] Relearning determination unit 2605,
[0477] Evaluation Department 2606,
[0478] The reserve pool feature quantity acquisition unit 2608,
[0479] Batch learning unit 2609.
[0480] The process state data transmission unit 2601 acquires the sensor data b transmitted from the sensor b122b as process state data (correct data) through the process state data acquisition unit 2602 based on the transmission start / stop instruction from the time period control unit 2603. In addition, the process state data transmission unit 2601 transmits the acquired process state data (correct data) to the process state prediction system 128. The process state data transmitted by the process state data transmission unit 2601 includes the process state data transmitted in the learning period and the process state data transmitted in the re-learning period.
[0481] The process state data acquisition unit 2602 acquires the sensor data b transmitted from the sensor b122b. The process state data acquisition unit 2602 transmits the acquired sensor data b as process state data to the process state data transmission unit 2601 and the batch learning unit 2609.
[0482] The time period control unit 2603 sends various switching information to the process state prediction system 128. Fig.26As shown, the various switching information sent by the time period control unit 2603 includes:
[0483] · Instructions for transfer to the learning time period,
[0484] ·Transfer instructions to the forecast time period,
[0485] · Instructions for transfer to the relearning time period,
[0486] · Instructions for switching between learning parameter sets,
[0487] Instructions for setting weight parameters.
[0488] When the process of the process state prediction system 128 starts, the time zone control unit 2603 sends an instruction to the process state prediction system 128 to shift to the learning time zone, and simultaneously instructs the process state data transmission unit 2601 to start transmitting the process state data.
[0489] When receiving the end information of the FORCE learning process from the end information acquisition unit 2604, the time zone control unit 2603 sends a transfer instruction to the prediction time zone to the process state prediction system 128. At this time, the time zone control unit 2603 instructs the process state data transmission unit 2601 to stop transmitting the process state data.
[0490] When receiving a determination result indicating that relearning is required from the relearning determination unit 2605, the time zone control unit 2603 sends a transfer instruction to the relearning time zone to the process state prediction system 128. At this time, the time zone control unit 2603 instructs the process state data transmission unit 2601 to start transmitting the process state data.
[0491] In addition, when the time period control unit 2603 obtains the end information of the relearning data acquisition and the end information of the evaluation data acquisition from the end information acquisition unit 2604, the time period control unit 2603 reads the learning parameter set from the data storage unit 2607 and sends it to the process state prediction system 128. At this time, the time period control unit 2603 instructs the process state data sending unit 2601 to stop sending the process state data.
[0492] Here, if Fig.26 As shown, the data storage unit 2607 stores the learning parameter set 1 to the learning parameter set M. In the time period control unit 2603 , the read learning parameter set 1 to the learning parameter set M are sent to the process state prediction system 128 .
[0493] In addition, as shown by symbol 2611, the learning parameter set includes items of information such as "use previous weight parameters or initialization", "past data contribution rate", and "number of learning models".
[0494] Furthermore, the time zone control unit 2603 sends a switching instruction of the learning parameter set to the process state prediction system 128 every time the end information of the FORCE re-learning process is acquired from the end information acquisition unit 2604 .
[0495] like Fig.26 As shown, during the relearning period, the reserve pool feature quantity acquisition unit 2608 acquires the reserve pool feature quantity from the process state prediction system 128 as learning data and evaluation data, and sends it to the batch learning unit 2609. In addition, as described above, during the relearning period, the process state data acquisition unit 2602 acquires the sensor data b as learning data, and sends the acquired sensor data b as process state data to the batch learning unit 2609.
[0496] The batch learning unit 2609 performs batch learning using learning data in which the reservoir feature quantity and process state data are accumulated for a specified learning time length based on the batch learning parameters read from the data storage unit 2607. Batch learning here means learning weight parameters from the reservoir feature quantity and process state data for a specified learning time length.
[0497] In addition, the batch learning parameters used for batch learning include "normalization parameter for learning", "accumulated data amount (batch size)", "learning time", etc. as items of information.
[0498] In addition, when batch learning is completed, the batch learning unit 2609 predicts the process state data based on the acquired reserve pool feature value as evaluation data, and sends the prediction result (batch learning prediction result) given by the batch learning unit 2609 to the evaluation unit 2606.
[0499] In addition, the time zone control unit 2603 receives the evaluation result from the evaluation unit 2606 , and sends a setting instruction of the weight parameter to the process state prediction system 128 based on the received evaluation result.
[0500] The evaluation results also include: a FORCE relearning process based on each learning parameter set, thereby performing a prediction process on the evaluation data using the weight parameters calculated respectively, and a prediction accuracy calculated for each prediction result data.
[0501] In addition, the time period control unit 2603 sets a setting instruction to the process state prediction system 128, thereby setting a weight parameter that includes the prediction result data within the specified allowable range and has the highest prediction accuracy. The specified allowable range at this time can be set to a fixed value or a value calculated based on the batch learning prediction result calculated by the batch learning unit 2609.
[0502] Furthermore, after sending the instruction to set the weight parameter, the time period control unit 2603 sends an instruction to transfer to the prediction time period to the process state prediction system 128 .
[0503] The end information acquisition unit 2604 acquires various end information (end information of FORCE learning processing, end information of relearning data acquisition, end information of evaluation data acquisition, and end information of FORCE relearning processing) from the process state prediction system 128. In addition, the end information acquisition unit 2604 sends the acquired various end information to the time zone control unit 2603.
[0504] The relearning determination unit 2605 determines whether relearning is necessary based on the prediction accuracy of the prediction result data received from the process state prediction system 128 in the prediction time period. When the relearning determination unit 2605 determines that relearning is necessary, it sends the determination result that relearning is necessary to the time period control unit 2603. When other events that may cause relearning to be necessary occur in the relearning determination unit 2605, the determination result that relearning is necessary is also sent to the time period control unit 2603.
[0505] The evaluation unit 2606 evaluates the prediction accuracy of the prediction result data received from the process state prediction system 128 each time the learning parameter set is switched in the relearning period, and sends it as the evaluation result to the period control unit 2603. As described above, when evaluating the prediction result data in the evaluation unit 2606, the prediction result data can be evaluated using the allowable range calculated based on the batch learning prediction result calculated by the batch learning unit 2609.
[0506] <Process State Prediction Processing by Management Unit and Process State Prediction System>
[0507] Next, the flow of the process state prediction processing by the management unit 124 and the process state prediction system 128 will be described.
[0508] (1) Overall process flow of process state prediction
[0509] First, the overall flow of the process state prediction processing will be explained. Fig. 27 This is an example of a flowchart showing the overall flow of the process state prediction processing by the management unit and the process state prediction system. By starting the process state prediction system 128, Fig. 27 The indicated processing starts.
[0510] In step S2701, the management unit 124 sends a transfer instruction to the learning period to the process state prediction system 128. As a result, the process state prediction unit 204 of the process state prediction system 128 enters the learning period and initializes the weight parameters of the FORCE learning unit 1200.
[0511] In step S2702 , the I / O control unit 201 of the process state prediction system 128 acquires the time-series sensor data a output by the sensor 122 a .
[0512] In step S2703, the reservoir device 202 of the process state prediction system 128 inputs the sensor data a' output from the I / O control unit 201, and outputs the reservoir feature value.
[0513] In step S2704, the process state prediction unit 204 of the process state prediction system 128 determines the current time period. When receiving a transfer instruction to the learning time period or a transfer instruction to the prediction time period from the management unit 124 of the management device 123, the process state prediction unit 204 determines in step S2704 that the current time period is the learning time period or the prediction time period. At this time, the process state prediction unit 204 proceeds to step S2711.
[0514] In step S2711, the process state prediction unit 204 of the process state prediction system 128 determines whether the FORCE learning process has been completed. In step S2711, if it is determined that the FORCE learning process has not been completed (No in step S2711), the process proceeds to step S2712.
[0515] In step S2712, the process state prediction unit 204 of the process state prediction system 128 performs a FORCE learning process. The details of the FORCE learning process (step S2712) will be described later.
[0516] On the other hand, in step S2711, when it is determined that the FORCE learning process is completed (if yes in step S2711), the process proceeds to step S2713.
[0517] In step S2713, the process state prediction unit 204 of the process state prediction system 128 performs prediction processing. Note that the details of the prediction processing (step S2713) will be described later.
[0518] In step S2714, the management unit 124 of the management device 123 determines whether re-learning is necessary. In step S2714, if it is determined that re-learning is not necessary (No in step S2714), the process proceeds to step S2731.
[0519] On the other hand, in step S2714, when it is determined that re-learning is necessary (if yes in step S2714), the process proceeds to step S2715. The details of the re-learning determination process in step S2714 will be described later.
[0520] In step S2715, the management unit 124 of the management device 123 sends a transfer instruction to the process state prediction system 128 to the relearning period and sends the learning parameter sets 1 to M. As a result, the process state prediction unit 204 of the process state prediction system 128 enters the relearning period and acquires the learning parameter sets 1 to M.
[0521] In step S2704, when the current time period is determined to be the relearning time period, the process proceeds to step S2721. In addition, when the process state prediction unit 204 receives a transfer instruction to the relearning time period from the management unit 124 of the management device 123, it determines that the current time period is the relearning time period.
[0522] In step S2721, the process state prediction unit 204 of the process state prediction system 128 performs a FORCE relearning process. The details of the FORCE relearning process (step S2721) will be described later.
[0523] In step S2731, the management unit 124 of the management device 123 determines whether to terminate the process state prediction processing. In step S2731, if it is determined that the process state prediction processing is not to be terminated (No in step S2731), the process returns to step S2702.
[0524] On the other hand, when it is determined in step S2731 that the process state prediction processing is to be terminated, the management unit 124 of the management device 123 and the process state prediction system 128 terminate the process state prediction processing.
[0525] (2) Details of the Learning Process (Step S2712)
[0526] Next, the details of the learning process (step S2712) included in the process state prediction process will be described. Fig.28 This is an example of a flowchart showing the flow of the learning process.
[0527] In step S2801 , the process state prediction unit 204 of the process state prediction system 128 acquires the reservoir feature value output from the reservoir device 202 and the process state data (correct data) sent from the management unit 124 of the management device 123 .
[0528] In step S2802, the process state prediction unit 204 of the process state prediction system 128 determines whether the item "Use previous weight parameter or initialize" of the reference numeral 2611 in the learning parameter set is "Use".
[0529] In step S2802, when the item "Use previous weight parameters or initialize" is judged as "Use" (if "Yes" in step S2802), the process proceeds to step S2804. At this time, the process state prediction unit 204 of the process state prediction system 128 uses the weight parameters calculated in the previous FORCE learning process as the initial values of the recursive weight parameters of the FORCE learning unit 1200 in the current FORCE learning process.
[0530] On the other hand, in step S2802, when the item "Use previous weight parameters or initialize" is determined to be "initialize" (No in step S2802), the process proceeds to step S2803.
[0531] In step S2803, the process state prediction unit 204 of the process state prediction system 128 initializes the recursive weight parameters of the FORCE learning unit 1200 calculated in the previous FORCE learning process before the current FORCE learning process.
[0532] In step S2804, the FORCE learning unit 1200 calculates output data by multiplying the reservoir feature value by the current recursive weight parameter.
[0533] In step S2805, the FORCE learning unit 1200 calculates the error between the calculated output data and the corresponding process state data (correct data). In addition, when the FORCE learning unit 1200 determines that the calculated error is not within the threshold (No in step S2805), it proceeds to step S2806.
[0534] In step S2806, the FORCE learning unit 1200 updates the recursive weight parameter based on the calculated error and proceeds to step S2807.
[0535] On the other hand, in step S2805, when it is determined that the error is within the threshold value (the case of yes in step S2807), the process directly proceeds to step S2807.
[0536] In step S2807, the FORCE learning unit 1200 determines whether the error within the threshold value has continued for the specified learning time length specified by the learning parameter set. In step S2807, if it is determined that it has not continued (no in step S2807), the return is returned. Fig. 27 Step S2731.
[0537] On the other hand, in step S2807, when it is determined that it has continued (if yes in step S2807), the process proceeds to step S2808.
[0538] In step S2808, the process state prediction unit 204 of the process state prediction system 128 sends the end information of the FORCE learning process to the management device 123. Thus, the management unit 124 of the management device 123 determines that the FORCE learning process is completed and sends a transfer instruction to the prediction time period to the process state prediction system 128.
[0539] In step S2809 , the process state prediction unit 204 of the process state prediction system 128 sets the weight parameter at the time point when the FORCE learning process is completed in the FORCE learning unit 1300 .
[0540] (3) Details of prediction processing (step S2713)
[0541] Next, the details of the prediction process (step S2713) included in the process state prediction process will be described. Fig.29 This is an example of a flowchart showing the flow of prediction processing.
[0542] In step S2901 , the FORCE learning unit 1300 obtains the reservoir feature quantity output from the reservoir device 202 .
[0543] In step S2902, the FORCE learning unit 1300 predicts the process state by multiplying the acquired reservoir feature value by the weight parameter.
[0544] In step S2903, the FORCE learning unit 1300 outputs prediction result data.
[0545] (4) Details of the relearning determination process (step S2714)
[0546] Next, details of the relearning determination process (step S2714 ) by the management unit 124 of the management device 123 will be described. Fig.30 This is an example of a flowchart showing the flow of the relearning determination process.
[0547] In step S3001, the management unit 124 of the management device 123 determines whether the type of the time series sensor data a acquired by the process state prediction system 128 has changed during the prediction period. If it is determined to have changed in step S3001 (if yes in step S3001), the process proceeds to step S3004.
[0548] On the other hand, in step S3001, when it is determined that there is no change (No in step S3001), the process proceeds to step S3002.
[0549] In step S3002, the management unit 124 of the management device 123 determines whether the value of the time series sensor data a acquired by the process state prediction system 128 changes above a specified threshold value during the prediction period. In step S3002, when it is determined that the value of the time series sensor data a changes above a specified threshold value (in the case of yes in step S3002), the process proceeds to step S3004.
[0550] On the other hand, in step S3002 , when it is determined that the value of the time-series sensor data a has not changed by more than the designated threshold value (in the case of No in step S3002 ), the process proceeds to step S3003 .
[0551] In step S3003 , the management unit 124 of the management device 123 determines whether the prediction accuracy of the prediction result data transmitted from the process state prediction system 128 during the prediction period has fallen below a designated threshold.
[0552] In step S3003, when it is determined that the prediction accuracy has dropped below the specified threshold value (if yes in step S3003), the process proceeds to step S3004.
[0553] In step S3004, the management unit 124 of the management device 123 determines that re-learning is necessary.
[0554] On the other hand, in step S3003, if it is determined that the prediction accuracy has not dropped below the specified threshold (if it is No in step S3003), return to Fig. 27 Step S2731.
[0555] The prediction accuracy drops below a specified threshold value when the error between the prediction result data and the correct data exceeds the allowable threshold value (as mentioned above, the time before that is the "effective prediction time"). Therefore, the management unit 124 of the management device 123 monitors the effective prediction time to determine whether re-learning is required. Fig.31 Provide explanation.
[0556] Fig.31 This is a diagram showing another example of the effective prediction time. Fig.31 The horizontal axis in the middle represents the time elapsed after the weight parameters calculated by learning are set. Fig.31 The middle vertical axis represents the square error between the predicted result data and the correct data.
[0557] In the process state prediction system 128, the effective prediction time until the square error between the prediction result data and the correct data exceeds the allowable threshold is, for example, Fig.31 t b The time shown (initial state, optimal state). The operation starts from here, and then the effective prediction time to reach the point where the square error between the predicted result data and the correct data exceeds the allowable threshold is ta ( <t b ). That is, when the originally predictable time becomes shorter (t b -t a is above the specified threshold), re-learning is performed.
[0558] (5) Details of the re-learning process (step S2721)
[0559] Next, details of the relearning process (step S2721) included in the process state prediction process will be described. Fig.32 This is an example of a flowchart showing the flow of the relearning process.
[0560] When the relearning process starts, the process state prediction unit 204 of the process state prediction system 128 and the management unit 124 of the management device 123 execute the processes of step S3201 to step S3208 and the processes of step S3210 to step S3215 in parallel.
[0561] First, the processing of step S3201 to step S3208 will be described. In step S3201, the process state prediction unit 204 of the process state prediction system 128 obtains the reservoir feature value output from the reservoir device 202 and the process state data (correct data) sent from the management unit 124 of the management device 123.
[0562] Furthermore, the process state prediction unit 204 of the process state prediction system 128 obtains part of the combinations of the reservoir feature value and the process state data (correct data) as relearning data and the remaining combinations as evaluation data.
[0563] In step S3202 , the process state prediction unit 204 sets any one of the learning parameter sets 1 to M (here, the learning parameter set 1 ) sent from the management unit 124 of the management device 123 in the FORCE learning unit 1200_1 .
[0564] In step S3203, the process state prediction unit 204 determines whether the item "Use previous weight parameter or initialize" of the learning parameter set 1 set in the FORCE learning unit 1200_1 is "Use".
[0565] In step S3203, when the item "Use previous weight parameters or initialize" is judged as "Use", (the case of "Yes" in step S3203), the process proceeds to step S3205. At this time, in the FORCE learning unit 1200_1, the weight parameters calculated in the previous FORCE learning process are used as the initial values of the recursive weight parameters to perform this FORCE re-learning process.
[0566] On the other hand, in step S3203, when the item "Use previous weight parameters or initialize" is determined to be "initialize" (in the case of No in step S3203), the process proceeds to step S3204.
[0567] In step S3204, the process state prediction unit 204 of the process state prediction system 128 initializes the recursive weight parameters of the FORCE learning unit 1200_1.
[0568] In step S3205, the FORCE learning unit 1200_1 performs FORCE learning processing using the relearning data to calculate weight parameters. Furthermore, the FORCE learning unit 1200_1 sets the calculated weight parameters in the FORCE learning unit 1300_1.
[0569] In step S3206, the FORCE learning unit 1300_1 predicts the process state using the evaluation data.
[0570] In step S3207 , the FORCE learning unit 1300_1 outputs the prediction result data to the management unit 124 of the management device 123 .
[0571] In step S3208, the process state prediction unit 204 of the process state prediction system 128 determines whether all the learning parameter sets sent from the management unit 124 of the management device 123 have been set in the FORCE learning unit.
[0572] In step S3208, when there is an unset learning parameter set, it is determined to set the next learning parameter set (yes in step S3208), and the process returns to step S3202.
[0573] On the other hand, in step S3208, when it is determined that all learning parameter sets have been set in the FORCE learning unit, it is determined that the next learning parameter is not to be set (No in step S3208), and the process proceeds to step S3221.
[0574] Next, the processing of steps S3210 to S3215 is described. In step S3210, the process state prediction unit 204 of the process state prediction system 128 outputs the acquired reserve pool feature value to the management unit 124 of the management device 123. In addition, the management unit 124 of the management device 123 accumulates part of the combination of the reserve pool feature value and the process state data (correct data) output from the process state prediction unit 204 as re-learning data, and accumulates the remaining combination as evaluation data.
[0575] In step S3211 , the process state prediction unit 204 of the process state prediction system 128 determines whether the accumulated relearning data and evaluation data have both reached a designated size.
[0576] In step S3212, when it is determined that the designated size has not been reached (in the case of No in step S3211), the process returns to step S3210.
[0577] On the other hand, in step S3211, when it is determined that the designated size has been reached (if yes in step S3211), the process proceeds to step S3212.
[0578] In step S3212 , the management unit 124 of the management device 123 sets batch learning parameters.
[0579] In step S3213 , the management unit 124 of the management device 123 performs batch learning processing using the accumulated re-learning data to calculate the weight parameters.
[0580] In step S3214, the management unit 124 of the management device 123 predicts the process state using the accumulated evaluation data under the calculated weight parameters.
[0581] In step S3215 , the management unit 124 of the management device 123 calculates batch learning prediction result data.
[0582] In step S3221, the management unit 124 of the management device 123 determines, for each learning parameter set, whether there is prediction result data whose prediction accuracy is included in the specified allowable range among the prediction result data sent from the process state prediction system 128. At this time, the management unit 124 of the management device 123 calculates the specified allowable range based on the calculated batch learning prediction result data.
[0583] In step S3221, when it is determined that prediction result data included in the designated allowable range does not exist (No in step S3221), the process proceeds to step S3222.
[0584] In step S3222, the management unit 124 of the management device 123 generates a new learning parameter set, sends it to the process state prediction system 128, and returns to step S3202 on this basis.
[0585] On the other hand, in step S3221, when it is determined that prediction result data included in the designated allowable range exists (if yes in step S3221), the process proceeds to step S3223.
[0586] In step S3223, the management unit 124 of the management device 123 ends the relearning time period and sends a transfer instruction to the prediction time period to the process state prediction system 128. In addition, the management unit 124 of the management device 123 instructs the process state prediction system 128 to set a weight parameter so that the prediction result data is included in the specified allowable range and the prediction result is the highest.
[0587] In step S3224, the process state prediction unit 204 of the process state prediction system 128 enters the prediction time period. In addition, the process state prediction unit 204 of the process state prediction system 128 includes the prediction result data in the specified allowable range, and the weight parameter with the highest prediction accuracy is set in the FORCE learning unit 1300_X. Thus, in the prediction time period after re-learning, re-learning is performed under an appropriate learning parameter set, and thus, the prediction result data can be calculated using the obtained weight parameter.
[0588] <Conclusion>
[0589] As can be seen from the above description, in the process state prediction system 128 involved in the first embodiment, the sensor data of the time series is processed by the reserve pool calculation to predict the process state. At this time, in order to realize the reserve pool device 202 through a digital circuit, the mathematical formula executed in the reserve pool device 202 is changed, thereby reducing the resources of the digital circuit and shortening the processing time. At the same time,
[0590] Use periodic function circuits to generate input weights, connection weights, and feedback weights.
[0591] Use the shifter to zoom.
[0592] Through fixed-point or floating-point polynomial calculations, an activation function circuit is constructed to calculate the feature quantity of the reserve pool.
[0593] Therefore, according to the first embodiment, in the reservoir device 202, further resource reduction and improvement of processing speed can be achieved.
[0594] As a result, according to the reservoir device 202 involved in the first embodiment, short activities appearing in the sensor data can be captured and the reservoir feature quantity can be output, thereby improving the prediction accuracy when predicting the process state based on the time series sensor data.
[0595] Furthermore, in the process state prediction system 128 according to the first embodiment, the process state prediction unit learns the weight parameters using hardware that performs FORCE learning processing based on the recursive least squares method.
[0596] Thus, according to the process state prediction system 128 according to the first embodiment, it is possible to capture short events appearing in sensor data and learn weight parameters.
[0597] As a result, according to the first embodiment, it is possible to improve the prediction accuracy when predicting the process state based on the time-series sensor data.
[0598] Furthermore, in the process state prediction system 128 according to the first embodiment,
[0599] In the prediction time period after learning, if it is determined that re-learning is necessary, the weight parameters are re-learned.
[0600] When relearning weight parameters, optimize the learning parameters.
[0601] Therefore, according to the process state prediction system 128 according to the first embodiment, it is possible to suppress a decrease in prediction accuracy due to temporal changes in the manufacturing process.
[0602] As a result, according to the first embodiment, it is possible to improve the prediction accuracy when predicting the process state based on the time-series sensor data.
[0603] [Second embodiment]
[0604] The first embodiment described above describes a case where the reserve pool device 202 of the process state prediction system 128 is implemented using an adder, a multiplier, etc. However, the reserve pool device 202 may be a structure that further reduces resources. As an example, the reserve pool device 202 may be implemented using a shifter instead of a multiplier. The second embodiment will be described below, centering on the differences from the first embodiment described above.
[0605] <Structure for weighting>
[0606] In the first embodiment described above,
[0607] When I(t), which is the value of sensor data a', is weighted,
[0608] ·U will be used as the state of the reserve pool node j (t) when weighted, and,
[0609] When the prediction result data Z(t) is weighted,
[0610] The structures including multipliers (2M-bit multipliers 313, 323, 403) are respectively implemented. In this regard, in the second embodiment, the weight of I(t) as the value of sensor data a' and u as the state of the reserve pool node are used. j The weighting of (t) and the weighting of Z(t) as the prediction result data are realized by a "weight shift multiplication unit" that does not include a multiplier.
[0611] Fig.33 FIG. 1 is a first diagram showing an example of a weight shift multiplication unit in the second embodiment. Fig.33 As shown, the weight shift multiplication unit 3300 has a P-bit LFSR 3301 (P is an integer greater than 2, Fig.33 In the example, P = "4"), right shifter 3302_1, right shifter 3302_2, 2's complement circuit 3303, and selector 3304.
[0612] In the P-bit LFSR3301 (an example of the 1st to 3rd periodic function circuit), the value of the first 1 bit in the P bits is input to the switching input of the selector 3304, and the value of the remaining (P-1) bits is input to the shift amount input of the right shifter 3302_2.
[0613] The right shifter 3302_1 shifts the value (b) input to the weight shift multiplication unit 3300 to the right by the value of the exponent for logarithmically quantizing the spectrum radius.
[0614] The right shifter 3302_2 is used to shift the (P-1)-bit value (y) output from the P-bit LFSR 3301. i ) corresponding to the shift amount, and the result output from the right shifter 3302_1 is shifted to the right. In addition, the right shifter 3302_2 shifts the shifted value (the power of 2, b·2 -yi ), input 2's complement circuit 3303 and selector 3304. In addition, when P is "4", 16 weights are randomly selected in selector 3304. The 16 weights are, for example, "0, -2 -6 , -2 -6 , -2 -5 , -2 -4 , -2 -3 , -2 -2 , -2 -1 , 2 -1 , 2 -2 , 2 -3 , 2 -4 , 2 -5 , 2 -6 , 2 -6 , 0". In addition, through simulation, it can be known that "-2 -6 ~2 -6 The weight between " and " in the reserve pool device 202 involved in this embodiment is regarded as "0" and there is no performance change. Therefore, the P-bit LFSR3301 will be described as a 4-bit LFSR later.
[0615] The 2's complement circuit 3303 outputs a value in which the sign of the value shifted by the right shifter 3302 is reversed (negative value, -b·2 -yi ).
[0616] The selector 3304 selects either the shifted value or the negative value thereof shifted by the right shifter 3302 based on the switching input from the 4-bit LFSR 3301. The selector 3304 uses the selected value as the output value (±b·2 -yi ) output.
[0617] In this way, in the weight shift multiplication unit 3300, either a power of 2 or a negative value thereof corresponding to the value output from the 4-bit LFSR 3301 is used as a weight to perform weighting.
[0618] <Structure of Each Weight Shift Multiplication Unit>
[0619] Next, the reservoir device in the second embodiment performs weighting of I(t) as the value of sensor data a' and u as the state of the reservoir node. j The structure of each weight shift multiplication unit for weighting Z(t) and weighting Z(t) as prediction result data. Fig.34 It is a diagram showing a configuration example of each weight shift multiplication unit.
[0620] Fig.34 34a is a structural example for weighting I(t) as the value of sensor data a'. In 34a, the upper part is the first embodiment, which is Figure 3 or Figure 4 The configuration example described here shows a configuration example when the input weight generator 311, nI-bit right shifter 312, and 2M-bit multiplier are used. In addition, in 34a, the lower part shows a configuration example when the weight shift multiplication unit described above is used.
[0621] As shown in 34a, according to the second embodiment, it is possible to realize an output (w) when the input (the value of the sensor data a') is I(t). i I )·(I(t)) is (±2 -yi )·(I(t)) is input to the weight shift multiplication unit 3410. That is, according to the second embodiment, the weighting of I(t) which is the value of the sensor data a' can be realized without using a multiplier.
[0622] Fig.34 34b is used to perform u as the reserve pool node state j (t) is a weighted structure example. In 34b, the upper section is the first embodiment, which is Figure 3 or Figure 4 The configuration example described shows a configuration example in which a weight generator 321, an nb-bit right shifter 322, and a 2M-bit multiplier 323 are connected. In addition, in 34b, the lower stage shows a configuration example in which the above-mentioned weight shift multiplication unit is used.
[0623] As shown in 34b, according to the second embodiment, it is possible to make the input (reserve pool node state) u j (t) ij )×(u j (t)) is (±2 -yi )×(uj (t)) of the connection weight shift multiplication unit 3420. That is, according to the second embodiment, u as the state of the reserve pool node can be j The weighting of (t) is achieved without using multipliers.
[0624] Fig.34 34c is a structural example for weighting Z(t) as prediction result data. In 34c, the upper part is the first embodiment, which is Figure 3 or Figure 4 The configuration example described shows a configuration example composed of a feedback weight generator 401, an nF-bit right shifter 402, and a 2M-bit multiplier 403. In addition, in 34c, the lower part shows a configuration example when the above-mentioned weight shift multiplication unit is used.
[0625] As shown in 34c, according to the second embodiment, it is possible to realize (w i F )·(Z(t)) is (±2 -yi )·(Z(t)) is fed back weight shift multiplication unit 3430. That is, according to the second embodiment, weighting of Z(t) as prediction result data can be realized without using a multiplier.
[0626] <Conclusion>
[0627] As can be seen from the above description, the reservoir device according to the second embodiment performs weighting of the sensor data a' value, the reservoir node state, and the prediction result data without using a multiplier. Therefore, according to the second embodiment, resources can be reduced.
[0628] [Third Embodiment]
[0629] In the first embodiment, the connection weight w is as follows: ij The output w of the connection weight generator 321 is scaled in a manner that satisfies the required conditions of ESP. ij raw , on this basis (specifically with 1 / spectral radius r sp The scaled w is then multiplied by 2M-bit multiplier 323. ij raw (i.e., w ij ) and u calculated as the state of the jth reserve pool node 1 moment ago j That is, in the case of the first embodiment, (w ij )×(u j (t)) can be expressed as shown in the following formula 10.
[0630]
Number 10
[0631]
[0632] On the other hand, with 1 / spectral radius r sp The multiplication process is to calculate the state of the j-th reserve pool node u as one moment ago. j (t) is performed, and the output of the 2M-bit multiplier 323 is the same. That is, the output of the 2M-bit multiplier 323 can be calculated using the calculation steps shown in the following equation 11.
[0633]
Number 11
[0634]
[0635] In other words, the first embodiment is configured to achieve the following: sp The nb-bit right shifter 322 for the multiplication process is arranged between the connection weight generator 321 and the 2M-bit multiplier 323 .
[0636] However, the structure of the reserve pool device 202 is not limited thereto, and may be, for example, the following structure, which is arranged between the second memory 334 and the 2M-bit multiplier 323 .
[0637] In addition, with 1 / spectral radius r sp The multiplication process is not limited to the case where it is implemented by the nb-bit right shifter 322, and can be implemented by, for example, a fixed-point / floating-point multiplier.
[0638] Fig.35 FIG. 3 is a diagram showing an example of the hardware configuration of the reservoir device. Figure 3 The differences in the hardware structure described are:
[0639] Delete the nb-bit right shifter 322 and connect the output w of the weight generator 321 ij raw The point directly input to the 2M-bit multiplier 323,
[0640] A spectral radius multiplier 3501 is added between the second memory 334 and the 2M-bit multiplier 323. The output of the spectral radius multiplier 3501 (1 / spectral radius r sp ) j (t) is input to the 2M-bit multiplier 323,
[0641] Output w from 2M-bit multiplier 323 ij raw {(1 / spectral radius rsp ) j (t)} point.
[0642] In addition, the spectrum radius multiplier 3501 adds the pre-calculated spectrum radius or the value obtained by logarithmically quantizing the spectrum radius to u as the node state of the reserve pool. j Therefore, the spectral radius multiplier 3501 can be implemented by the same structure as the nb-bit right shifter 322, or by the same structure as a fixed-point or floating-point multiplier.
[0643] also, Fig.36 FIG. 4 is a diagram showing an example of the hardware configuration of the reservoir device. Figure 4 The hardware structure of the description is different from Figure 3 and Fig.35 The differences are the same, so the description is omitted here.
[0644] Thus, according to the third embodiment, the reservoir device 202 can be realized by a hardware configuration different from that of the first embodiment.
[0645] [Fourth embodiment]
[0646] In the first embodiment, the structure is as follows: the number of the reserve pool nodes is N, and the output (w ij )×(u j (t)), add according to the number of nodes in the reserve pool and output the addition result.
[0647] On the other hand, according to such a structure, when the number of reserve pool nodes (N) is large, the processing time increases. Therefore, in the fourth embodiment, the jth reserve pool node state u calculated one moment ago is read from the second memory 334. j (t) (j = 1, 2, ... N), impose a limit on the number of addresses to be read, and reduce the number of reserve pool node states u to be read j (t). In addition, the number of addresses at which reading is performed is a number corresponding to the performance (processing speed, prediction accuracy) of the reservoir device 202. Thus, the processing time of the multiplication processing in the 2M-bit multiplier 323 and the processing time of the addition processing in the M-bit accumulator circuit 324 can be shortened.
[0648] Fig.37 FIG. 5 is a diagram showing an example of the hardware configuration of the reservoir device. Figure 3 The hardware configuration described above is different in that an address control circuit 3701 is added.
[0649] The address control circuit 3701 reads the j-th reserve pool node state u calculated one moment ago from the second memory 334. j (t) (j = 1, 2, ... N), impose a limit on the number of addresses to be read, and reduce the number of reserve pool node states u to be read j (t) quantity.
[0650] Likewise, Fig.38 FIG. 6 is a diagram showing an example of the hardware configuration of the reservoir device. Figure 4 The hardware configuration described above is different in that an address control circuit 3701 is added.
[0651] Thus, according to the fourth embodiment, the read reserve pool node status u can be reduced. j (t) The hardware structure of the storage tank device 202 is realized to shorten the processing time.
[0652] [Fifth embodiment]
[0653] In the first embodiment, as the activation function circuit 332, for example Fig. 9 However, the activation function circuit 332 is not limited to this structure, and can be implemented by a piecewise linear function, for example. Fig.10 The described limiter circuit 907 can also be used as an example of a circuit for implementing a piecewise linear function.
[0654] Alternatively, the activation function circuit 332 may be implemented, for example, by a lookup table. Specifically, the lookup table is implemented by assigning the corresponding i-th reserve pool node state u to the address corresponding to the calculation result of formula (5) or formula (6) in the first embodiment. i (t+1)The memory is saved.
[0655] Thus, according to the fifth embodiment, the reservoir device 202 can be realized by a hardware structure different from that of the first embodiment described above.
[0656] [Sixth embodiment]
[0657] In the first to fifth embodiments described above, a low-power, low-resource reservoir device 202 is described as a digital circuit that realizes a function equivalent to a nano-molecule reservoir (processing for outputting a reservoir characteristic value). In contrast, in the sixth embodiment, a reservoir device that realizes a function equivalent to a nano-molecule reservoir (processing for outputting a reservoir characteristic value) at high speed is further described. Specifically, in the sixth embodiment, a reservoir device that is accelerated by a structure that parallelizes processing and reduces the number of operations is described.
[0658] <Reduction in the number of operations in weighted addition using connection weights in a reserve pool device>
[0659] As described in the first embodiment, in the reserve pool device 202, the reserve pool node state u calculated one time ago is j (t)(j=1, 2, ... N), weighted addition using connection weights is performed. Here, weighted addition using connection weights requires a number of operations corresponding to the number of reserve pool nodes (N). Specifically, when the number of reserve pool nodes (N) is 100, 100×100 multiplication processes (i.e., matrix operations of 100 rows and 100 columns) are required.
[0660] On the other hand, it is known that in the reservoir device 202, the sparse matrix can also maintain the calculation accuracy. Therefore, in the sixth embodiment,
[0661] Let the connection weight w ij is a sparse matrix,
[0662] Connection weight w ij Elements that are zero do not execute the state u of the reserve pool node. j The multiplication of the elements of (t) is performed.
[0663] In this way, the number of operations is reduced. In addition, in this embodiment, such an operation architecture is called a "variable vector length dot product operation architecture".
[0664] Fig.39 This is a diagram showing an example of reducing the number of calculations in the reserve pool device. Fig.39 In the example, symbol 3910 indicates that when the number of nodes in the reserve pool (N) is 100, the connection weight w is used. ij When performing weighted addition, 100×100 multiplication processes are performed.
[0665] on the other hand, Fig.39 In FIG. 1 , symbol 3920 represents a variable vector length dot product operation architecture in the sixth embodiment. In symbol 3920 , the shaded elements are connection weights w ij Elements with values other than zero, unshaded elements (white elements), are connection weights w. ij Elements that are zero.
[0666] As shown in symbol 3920, in the case of the variable vector length dot product operation architecture in the sixth embodiment, the connection weight w ij The zero elements are arranged regularly, so that the distribution of the zero elements (sparse distribution) is regular. In this way, the zero elements are arranged regularly to make a regular distribution, so that the connection weight w can be omitted in the storage pool device 202. ij, we can know the zero elements in advance. Therefore, in the storage pool device 202, the connection weight w ij Elements that are zero do not need to be executed with the reserve pool node state u j (t) is multiplied by the elements, and not only that, the corresponding reserve pool node state u j Therefore, according to the variable vector length dot product operation architecture in the sixth embodiment, the weighted addition using the connection weights can be accelerated.
[0667] In addition, in symbol 3920, the CU number indicates the number of connections per reserve pool node. Hereinafter, the CU number is represented as “N CU ”. The example of symbol 3920 gives N CU =5.
[0668] <Specific Example of Processing Based on Variable Vector Length Dot Product Operation Architecture>
[0669] Next, a specific example of processing based on a variable vector length dot product operation architecture in the sixth embodiment is described. Fig.40 is a diagram showing a specific example of processing based on a variable vector length dot product operation architecture in a reservoir device. Fig.40 As an example, use the connection weight w in line 6 ij (Symbol 4001) for the state u of the node in the reserve pool j (t) (symbol 4002) weighted addition.
[0670] In addition, the connection weight (symbol 4001) of the 6th row is expressed as follows,
[0671] The connection weights in column 1 are as follows: (6,1) ,
[0672] The connection weights of the second column are as follows: (6,2) ,
[0673] The connection weights in column 3 are as follows: (6,3) ,
[0674] The connection weights in column 4 are as follows: (6,4) ,
[0675] The connection weights in column 5 are as follows: (6,5) ,
[0676] ···
[0677] The connection weight of the 100th destination is w_ (6,100) .
[0678] As shown in symbol 4001, from the connection weight (w_ (6,6) ) to the 100th column’s connection weight (w_ (6,100) ), there are zero elements, so the corresponding reserve pool node state u j (t) is not read in the weighted addition. Therefore, the connection weight w in line 6 is used ij In the case of weighted addition of (symbol 4001), as the corresponding reserve pool node state u j (t), read lines 1 to 5. In addition, the following, the state of the pool node u j (t) (symbol 4002) indicates the following
[0679] The state of the reserve pool node in row 1 is u1(t),
[0680] The state of the reserve pool node in row 2 is u2(t),
[0681] The state of the reserve pool node in row 3 is u3(t),
[0682] The state of the reserve pool node in row 4 is u4(t),
[0683] The state of the reserve pool node in row 5 is u5(t),
[0684] ···
[0685] The state of the reserve pool node in row 100 is u 100 (t).
[0686] According to the above representation, based on the connection weight w in the 6th row ij (Symbol 4001) for the state u of the node in the reserve pool j The weighted addition of (t) (symbol 4002) can be expressed by the following formula 12.
[0687]
Number 12
[0688]
[0689] In addition, the above example describes the connection weight of the sixth row (symbol 4001), but according to the variable cross product operation architecture in the sixth embodiment, the same processing is performed on the connection weights of other rows. As a result, according to the reserve pool device 202 in the sixth embodiment, the number of multiplication operations performed when performing weighted addition using connection weights can be reduced from N×N to N×N. cu .
[0690] <Parallelization Method and Timing Diagram of Multiplication Processing in Reservoir Device>
[0691] Next, a method for parallelizing the multiplication process performed in a variable vector length dot product operation architecture is described.
[0692] Fig.41 1 is a diagram showing an overview of parallel processing in a reservoir device. Here,
[0693] From the connection weight w_ in line 6 (6,1) ~w_ (6,100) The connection weight w_ to row 10 (10,1) ~w_ (10,100) ,as well as
[0694] From the pool node state u6(t) at row 6 to the pool node state u at row 10 10 (t),
[0695] Parallelization method in multiplication processing.
[0696] In the multiplication process performed in the variable vector length dot product operation architecture shown in symbol 4100, the multiplication process shown in symbol 4101 is respectively,
[0697] ·w_ (6,5) ×u5,
[0698] ·w_ (7,5) ×u5,
[0699] ·w_ (8,5) ×u5,
[0700] ·w_ (9,5) ×u5,
[0701] ·w_ (10,5) ×u5.
[0702] That is, the connection weights are different from each other, but the reserve pool node state is common, and u5 (symbol 4102) is used.
[0703] Therefore, if the multiplication process shown by symbol 4101 is performed at the same time, the reserve pool node state u_ (5,1) Therefore, in the sixth embodiment, five multipliers are provided, and the multiplication process indicated by reference numeral 4101 is executed at the same time, thereby realizing efficient parallel processing.
[0704] In addition, the reduction of the reserve pool node status u j When the number of reads (t) is processed in parallel, the timing diagram of each multiplication process is as follows Fig.42 shown. Fig.42 An example of a timing diagram showing multiplication processing in a reservoir device. Fig.42 As shown, N cu=5, 5 multipliers are processed in parallel, so that, for example, the reserve pool node state u_ read at t+4 can be used. (5,1) , performing 5 multiplications simultaneously.
[0705] <Hardware Structure of Parallelized Reservoir Device>
[0706] Next, the hardware structure of the parallelized reservoir device 202 is described. As described above, the multiplication process in the weighted addition using the connection weights is performed by arranging the parallelized reservoir device 202 with N cu The number of multipliers corresponding to the value of can realize efficient parallel processing, so in the sixth embodiment, use
[0707] ·For weighted addition using connection weights, with N cu The value corresponds to the number of multipliers,
[0708] 1 input core for weighting using input weights,
[0709] 1 Feedback Core for weighting with Feedback Weights,
[0710] 1 activation core for computing the activation function,
[0711] A reservoir device 202 is formed (described in detail later).
[0712] In addition, the components of the reservoir device 202 are arranged according to Fig.43 The processing is performed according to the timing diagram shown. Fig.43 is an example of a timing diagram of the processing of each component of the reservoir device, showing N CU =5, a timing diagram of the processing of each component (1 input core, 5 multipliers, 1 activation core) of the reservoir device 202.
[0713] Fig.43 In the timing diagram 4300, the horizontal axis represents the execution timing of each component, and each area represents the length of 1 clock (clk). Fig.43 In the timing diagram 4300, the vertical axis represents each component ( Fig.43 In the example, input core, 1st to 5th multipliers, activation core).
[0714] According to the timing diagram 4300, the reserve pool node state u5 read at the execution timing of clk6 is processed in parallel by the first to fifth multipliers. Similarly, the reserve pool node state u6 read at the execution timing of clk7 is processed in parallel by the first to fifth multipliers.
[0715] also, Fig.43In FIG. 4 , the multiplication process of the dashed arrow 4301 of the symbol 3920 corresponds to the multiplication process of the dashed arrow 4301 in the timing diagram 4300 . Similarly, the multiplication process of the dashed arrow 4302 of the symbol 3920 corresponds to the multiplication process of the dashed arrow 4302 in the timing diagram 4300 .
[0716] In the example of the dashed arrow 4301 in the timing diagram 4300, in clk1, the input core is multiplied by the input weight, thereby weighting. In addition, in the example of the dashed arrow 4301 in the timing diagram 4300, from clk2 to clk6, the first to fifth multipliers use the connection weight w_ (6,1) ~w_ (6,5) The multiplication process is performed while adding the multiplication results, thereby performing weighted addition. Furthermore, in the example of the dotted arrow 4301 in the timing diagram 4300, the core calculation activation function is activated in clk7.
[0717] That is, according to N cu =5, the reservoir device 202 can output one i-th reservoir feature quantity (i is any one of 1 to N) in a time length of 7 clocks (clk).
[0718] (1) Details of the parallelized reservoir device (without feedback)
[0719] Next, the details of the hardware structure of the parallelized reservoir device 202 (here, when there is no feedback) are described. Fig.44 FIG. 7 is a diagram showing an example of a hardware configuration of a storage tank device, showing N CU An example of the hardware structure of the reservoir device when =5.
[0720] like Fig.44 As shown, the parallelized reservoir device 202 (without feedback) has,
[0721] Input core 4410 (another example of an input weight multiplication unit),
[0722] ·1st multiplier 4420 to 5th multiplier 4460 (another example of a connected weight multiplication unit),
[0723] Activate core 4470,
[0724] ·Reserve pool node status storage unit 4480.
[0725] In addition, if Fig.44 As shown, in the parallelized reserve pool device 202 (when there is no feedback), the input core 4410, the first multiplier 4420 to the fifth multiplier 4460, and the activation core 4470 are each connected in series.
[0726] Specifically, I(t) as the value of sensor data a' and a bias (Bias) as the value of a specified bias are input, and thus, the input core 4410 outputs I(t) weighted by the input weight ((w i I )·(I(t)+Bias).
[0727] The input weighted result output by the input core 4410 and the reserve pool node state u read from the reserve pool node state storage unit 4480 j (t) is input to the first multiplier 4420. Thus, the first multiplier 4420 outputs the reserve pool node state u j (t) The addition result of the first multiplication result weighted by the connection weight and the input weighted result.
[0728] The sum of the first multiplication result output by the first multiplier 4420 and the input weighted result is combined with the reserve pool node state u read from the reserve pool node state storage unit 4480. j (t) is input to the second multiplier 4430. Thus, the second multiplier 4430 outputs the reserve pool node state u j (t) The second multiplication result weighted using the connection weight, the addition result of the input weighted result and the first multiplication result.
[0729] The sum of the second multiplication result output by the second multiplier 4430, the input weighted result and the first multiplication result, and the reserve pool node state u read from the reserve pool node state storage unit 4480 are used. j (t) is input to the third multiplier 4440. Thus, the third multiplier 4440 outputs the reserve pool node state u j (t) The third multiplication result weighted using the connection weight, the input weighted result, and the addition result of the first and second multiplication results.
[0730] The third multiplication result output by the third multiplier 4440, the sum of the input weighted result and the first and second multiplication results, and the reserve pool node state u read from the reserve pool node state storage unit 4480 are used to calculate the sum of the first and second multiplication results. j (t) is input to the fourth multiplier 4450. Thus, the fourth multiplier 4450 outputs the reserve pool node state u j (t) The result of the 4th multiplication weighted using the connection weight, the input weighted result, and the addition result of the 1st to 3rd multiplication results.
[0731] The sum of the fourth multiplication result output by the fourth multiplier 4450, the input weighted result and the first to third multiplication results, and the reserve pool node state u read from the reserve pool node state storage unit 4480 are used to calculate the sum of the fourth multiplication result and the input weighted result and the first to third multiplication results. j(t) is input to the fifth multiplier 4460. Thus, the fifth multiplier 4460 outputs the reserve pool node state u j (t) The addition result of the 5th multiplication result weighted using the connection weight, the input weighted result, and the 1st to 4th multiplication results.
[0732] The fifth multiplication result outputted from the fifth multiplier 4460, the input weighted result, and the addition result of the first to fourth multiplication results are inputted to the activation core 4470. Thus, the activation core 4470 outputs the reserve pool feature value.
[0733] In addition, the reserve pool node state u of the first multiplier 4420 to the fifth multiplier 4460 is read from the reserve pool node state storage unit 4480 and input j (t), at the same timing, the same element is input.
[0734] The input core 4410 and the first to fifth multipliers 4420 to 4460 are configured by the same computing unit, and the detailed structure of the computing unit will be described later. The activation core 4470 will be described later in detail.
[0735] (2) Details of the parallelized reservoir device (with feedback)
[0736] Next, the details of the hardware structure of the parallelized reservoir device 202 (here, when feedback is provided) are described. Fig.45 FIG. 8 is an example of a hardware configuration of a storage tank device, showing N CU An example of the hardware structure of the reservoir device when =5.
[0737] like Fig.45 As shown, the parallelized reservoir device 202 (with feedback) has the same Fig.44 The hardware structure of the parallelized reserve pool device 202 (without feedback) shown in FIG. 2 is the same as the hardware structure of the parallelized reserve pool device 202 (with feedback). In addition, the parallelized reserve pool device 202 (with feedback) has a feedback core 4510 (another example of a feedback weight multiplication unit). In addition, the addition result of the input weighted result and the first to fifth multiplication results output from the fifth multiplier 4460 is not output by the input activation core 4470, but is output by the input feedback core 4510.
[0738] When the feedback core 4510 receives Z(t) as the value of the prediction result data, it calculates the feedback weighted result (w i F )·(Z(t)).
[0739] The feedback core 4510 feeds back the weighted result (w i F)·(Z(t)), the weighted input result is added to the 1st to 5th multiplication results. The addition result is output to the activation core 4470. Thus, in the activation core 4470, the reserve pool feature value is output.
[0740] (3) Details of the components of the parallelized reservoir device
[0741] Next, details of each component (input core 4410, feedback core 4510, first to fifth multipliers 4420 to 4460, and activation core 4470) included in the parallelized reserve pool device 202 will be described.
[0742] (3-1) Details of the computational unit
[0743] Fig.46A , Fig.46B The first and second figures show the details of the calculation unit constituting the reservoir device. Fig.46A 46a is an example of a computing unit constituting the input core 4410. Fig.46A As shown in 46a, the computing unit constituting the input core 4410 includes a weight shift multiplication unit 4610, an adder 4620, and a register 4630.
[0744] The weight shift multiplication unit 4610 weights the value of the input sensor data a' by using a power of 2, a negative value thereof, or 0 corresponding to the value output from the 4-bit LFSR as a weight. Thus, the weight shift multiplication unit 4610 outputs the input weighted result. Fig.33 The weight shift multiplication unit 3300 described above is the same, so detailed description is omitted here.
[0745] The adder 4620 is an example of an adding unit, and outputs an input weighted result, which is obtained by adding a bias to the input weighted result output by the weight shift multiplication unit 4610 .
[0746] The register 4630 holds the input weighted result output by the adder 4620. In addition, the input weighted result output by the adder 4620 and held in the register 4630 is output to a subsequent calculation unit.
[0747] Fig.46A 46b is an example of a calculation unit constituting the first multiplier 4420 to the fifth multiplier 4460, and Fig.46A The computing unit shown in 46a is substantially the same.
[0748] Here, the weight shift multiplication unit 4640 weights the reserve pool node state read from the reserve pool node state storage unit 4480 by using a power of 2, a negative value thereof, or 0 corresponding to the value output from the 4-bit LFSR as a weight. In addition, in the weight shift multiplication unit 4640, the weighted value is right-shifted by the right-shift amount (nb) obtained by logarithmization of the spectrum radius, thereby adjusting the spectrum radius.
[0749] The adder 4650 is an example of an adding unit, and adds the connection weighted result from the weight shift multiplication unit 4640 and the output from the calculation unit of the previous stage. In addition, when the calculation unit constitutes the first multiplier 4420, the output from the calculation unit of the previous stage is the input weighted result. In addition, when the calculation unit constitutes any of the multipliers after the second multiplier (the second multiplier 4430 to the fifth multiplier 4460), the output from the calculation unit of the previous stage is the addition result based on the multiplier of the previous stage.
[0750] The register 4660 holds the addition result output from the adder 4650. In addition, the addition result held in the register 4660 is read by the calculation unit of the subsequent stage or the activation core 4470. Specifically, when the calculation unit constitutes the first multiplier 4420 to the fourth multiplier 4450, the addition result is read by the multiplier of the subsequent stage. In addition, when the calculation unit constitutes the fifth multiplier 4460 (that is, when constituting the final stage), the addition result is read by the activation core 4470.
[0751] Fig.46B 46c is an example of a computing unit constituting the feedback core 4510, and Fig.46A The computing unit shown in 46a is substantially the same.
[0752] like Fig.46B As shown in 46c, the computing unit constituting the feedback core 4510 includes a weight shift multiplication unit 4670, an adder 4680, and a register 4690.
[0753] The weight shift multiplication unit 4670 weights the value of the input prediction result data by using the power of 2, the negative value thereof, or 0 corresponding to the value output from the 4-bit LFSR as a weight. Thus, the weight shift multiplication unit 4670 outputs the feedback weighted result. Fig.33 The weight shift multiplication unit 3300 described above is the same, so detailed description is omitted here.
[0754] The adder 4680 is an example of an adding unit, and outputs a result of adding the feedback weighted result output by the weight shift multiplication unit 4610 and the output of the calculation unit in the previous stage.
[0755] The register 4690 holds the result output by the adder 4680. In addition, the result output by the adder 4680 and held in the register 4690 is output to the activated core 4470.
[0756] (3-2) Details of Activating the Core
[0757] The activation core 4470 is used, for example, in the first embodiment Fig. 9 The activation function circuit 332 is implemented by executing the activation function f of formula (7) as described in the above embodiment. Alternatively, the activation core 4470 may be implemented by executing the limiter circuit 907 of the piecewise linear function as described in the fifth embodiment. Alternatively, the activation core 4470 may be implemented by a lookup table as described in the fifth embodiment.
[0758] <Timing diagram of the entire reservoir device>
[0759] Next, a timing diagram of the overall processing of the reserve pool device 202 is described, which is parallelized while reducing the number of operations through the above-mentioned variable vector product operation architecture and having the above-mentioned hardware structure. Fig.47 This is an example of a timing diagram of the entire reservoir device.
[0760] This is a timing diagram based on the following items:
[0761] Number of nodes in the reserve pool (N) = 100,
[0762] Number of connections per node N cu =5.
[0763] Fig.47 In the figure, the horizontal axis represents the execution timing, and each area represents the length of one clock (clk). The thick arrows in the figure represent the start and end timing of the calculation of the corresponding reserve pool feature quantity. In addition, different types of thick arrows represent different processing. Specifically, Fig.47 As shown at the bottom of the table, the bold arrows correspond to any of the following items:
[0764] · Weighted processing using input weights,
[0765] · Weighted addition processing using connection weights,
[0766] ·Weighted processing based on feedback weights,
[0767] Activation process.
[0768] also, Fig.47 In the figure, timing diagram 4710 is a timing diagram of the reservoir device 202 (when there is no feedback), and timing diagram 4720 is a timing diagram of the reservoir device 202 (when there is feedback).
[0769] In any timing diagram, the time required from the start of the calculation of the first reserve pool feature value to the completion of the calculation of the 100th reserve pool feature value is about 100 clocks (clk) + α. In this way, by using the reserve pool device 202 that reduces the number of operations and is parallelized, it is possible to achieve a much higher speed than when using the reserve pool device 202 that does not reduce the number of operations and is not parallelized.
[0770] <Verification of the prediction accuracy of the parallelized reservoir device while reducing the number of calculations>
[0771] Next, the prediction accuracy of the reserve pool device 202 which is parallelized while reducing the number of calculations is verified. In this embodiment, the prediction accuracy is verified under the following conditions.
[0772] (1) Verification conditions
[0773] Activation function: piecewise linear function
[0774] Number of reserve pool nodes (N): 100
[0775] Number of connections per storage pool node (N CU ):5
[0776] Activation function delay: 1 clock
[0777] Learning conditions: Initialization data = 1000, Learning data = 3000
[0778] · Forecasting conditions: Forecasting data = 1000
[0779] Learning method: batch learning
[0780] Under the above verification conditions, using prediction data = 1000, the result of predicting the reserve pool feature quantity is as follows (in addition, Fig.48 2 is a diagram showing an example of the verification result of the prediction accuracy of the reserve tank device).
[0781] (2) Verification results
[0782] MC (memory capacity): 21.1 (reference Fig.48 48a)
[0783] ·NRMSE (NARMA10): 0.135 (refer to Fig.48 48b)
[0784] It was confirmed that the time required to calculate the reservoir feature value when the FPGA was running at 125MHz was 855[ns]. This was shorter than the 960[ns] calculation time of the FORCE learner, thus verifying that the FPGA reservoir and FORCE learning can be connected by adjusting the timing.
[0785] In addition, NRMSE is an abbreviation of normalized root mean square error, and refers to the normalized root mean square error. In addition, NARMA10 refers to a general task used for verification of a reservoir device.
[0786] <Conclusion>
[0787] As can be seen from the above description, in the reserve pool device 202 involved in the sixth embodiment, sensor data of a time series measured in a predetermined process is input, and a reserve pool feature value is output based on the result obtained by processing using an input weight multiplication unit and a connection weight multiplication unit.
[0788] Furthermore, in the reservoir device 202 according to the sixth embodiment,
[0789] The input weight multiplication unit weights the input sensor data using a value determined by a periodic function as an input weight.
[0790] The connection weight multiplication unit is a multiplier that weights data indicating the state of each node using a value determined by a periodic function as a connection weight between nodes, and has multipliers whose number corresponds to the number of connections of each node.
[0791] Each multiplier performs weighting of the same element in the data representing the state of each node in parallel.
[0792] Therefore, according to the reservoir device 202 involved in the sixth embodiment, the processing of the output reservoir feature value can be accelerated.
[0793] [Seventh embodiment]
[0794] The following structure is adopted: in the sixth embodiment, the weight shift multiplication unit 4640 of the calculation unit constituting the first multiplier 4420 to the fifth multiplier 4460 performs the reserve pool node state u j (t) weighted.
[0795] On the other hand, similarly to the third embodiment, the spectral radius may be adjusted before inputting the weight shift multiplication unit 4640. The seventh embodiment will be described below, centering on the differences from the sixth embodiment.
[0796] <Hardware Structure of Parallelized Reservoir Device>
[0797] First, the hardware structure of the reservoir device 202 according to the seventh embodiment will be described.
[0798] (1) Details of the parallelized reservoir device (without feedback)
[0799] Fig.49 FIG. 9 is a diagram showing an example of the hardware configuration of the reservoir device. Fig.44 The difference between the hardware structures described is that Fig.49 In the case of the reservoir device 202 shown, a spectral radius multiplier 4910 is added, and the internal structure of the first to fifth multipliers is changed.
[0800] The spectral radius multiplier 4910 is a shift circuit or a normal multiplier. When low resources are desired, a shift circuit is used, and when high precision is desired, a normal multiplier is used. In this embodiment, the case of using a normal multiplier will be described later.
[0801] The output of the spectrum radius multiplier 4910 is the state u of the node in the reserve pool. j (t) is multiplied by the inverse of the spectral radius (spectral radius weighted result). The output of the spectral radius multiplier 4910 is input to the first multiplier 4420' to the fifth multiplier 4460'. As a result, the spectral radius does not need to be adjusted in the first multiplier 4420' to the fifth multiplier 4460'.
[0802] (2) Details of the parallelized reservoir device (with feedback)
[0803] Fig.50 FIG. 10 is a diagram showing an example of the hardware configuration of a storage tank device. Fig.45 The difference between the hardware structures described is that Fig.50 In the case of the reservoir device 202 shown in FIG. 1 , a spectral radius multiplier 4910 is added, and the internal structure of the first to fifth multipliers is changed. Fig.50 The storage tank device 202 shown can obtain Fig.49 Same effect.
[0804] (3) Details of the calculation units constituting the first to fifth multipliers
[0805] As described above, in the first to fifth multipliers 4420' to 4460', it is not necessary to adjust the spectral radius, and thus, the details of the calculation units constituting the first to fifth multipliers 4420' to 4460' are changed.
[0806] Fig.51 FIG. 2 is a second diagram showing details of a calculation unit constituting a reservoir device. Fig.46AThe difference between the calculation unit shown in 46b is that in Fig.51 In the case of, the right shift amount of the spectral radius is logarithmically quantized, and the point of the input to the weight shift multiplication unit 4640' is deleted. In addition, the details of the weight shift multiplication unit 4640' are as follows Fig.52 shown.
[0807] Fig.52 1 is a diagram showing an example of a weight shift multiplication unit in the seventh embodiment, showing a weight shift multiplication unit (with Fig.33 are the same, so the description is omitted).
[0808] Thus, according to the seventh embodiment, a parallelized reservoir device 202 can be realized by a hardware structure different from that of the sixth embodiment described above.
[0809] [Other embodiments]
[0810] In the above-mentioned embodiments, it is described that the presence or absence of abnormality and sensor data are output as the prediction result data for predicting the process state. However, the prediction result data output by the process state prediction unit 204 is not limited to the presence or absence of abnormality and sensor data, and may be, for example, the level of the process state, the presence or absence of a fault in the device executing the manufacturing process, etc.
[0811] In addition, in each of the above embodiments, the device for executing the manufacturing process is cited as an application of the process state prediction system, but the application of the process state prediction system is not limited to the device for executing the manufacturing process. As long as it is a device for executing a predetermined process, it can also be a process other than the manufacturing process.
[0812] In addition, the configurations given in the above-mentioned embodiments and the combinations with other elements do not limit the present invention. These points can be changed within the scope not departing from the gist of the present invention and can be appropriately determined based on the application form.
[0813] This application claims priority based on Japanese Patent Application No. 2022-115663 filed on July 20, 2022, the entire contents of which are incorporated herein by reference.
[0814] [Description of Reference Numerals]
[0815] 120: Substrate processing device
[0816] 121: Chamber
[0817] 122: Sensor
[0818] 123: Management Device
[0819] 124: Management Department
[0820] 125: Control device
[0821] 126: Control Department
[0822] 127: Actuator
[0823] 128: Process State Prediction System
[0824] 201: I / O control unit
[0825] 202: Storage tank device
[0826] 210: Computing Devices
[0827] 220: Adjustment device
[0828] 311: Input weight generator
[0829] 312: nI-bit right shifter
[0830] 313: 2M-bit multiplier
[0831] 321: Connection weight generator
[0832] 322: nb-bit right shifter
[0833] 323: 2M-bit multiplier
[0834] 324: M-bit accumulation circuit
[0835] 331: M-bit adder
[0836] 332: Activation Function Circuit
[0837] 333: 1st Memory
[0838] 334: 2nd Memory
[0839] 401: Feedback Weight Generator
[0840] 402: nF-bit right shifter
[0841] 1200: FORCE Learning Department
[0842] 1300: FORCE Learning Department
[0843] 1200_1~1200_M:FORCE Learning Department
[0844] 1300_1~1300_M:FORCE Learning Department
[0845] 1601~1604: Signal line
[0846] 1721-1724: FPGA
[0847] 2111, 2112: FPGA
[0848] 2601: Process status data transmission unit
[0849] 2602: Process status data acquisition unit
[0850] 2603: Time period control unit
[0851] 2604: End of information acquisition
[0852] 2605: Relearning judgment unit
[0853] 2606: Evaluation Department
[0854] 2608: Reserve pool feature acquisition unit
[0855] 2609: Batch Learning Department
[0856] 3300: Weight shift multiplication unit
[0857] 3301: 4-bit LFSR
[0858] 3302_1, 3302_2: Right shifter
[0859] 3303: 2's complement circuit
[0860] 3304: Selector
[0861] 3410: Input weight shift multiplication unit
[0862] 3420: Connection weight shift multiplication unit
[0863] 3430: Feedback weight shift multiplication unit
[0864] 3501: Spectral radius multiplier
[0865] 3701: Address control circuit
[0866] 4410: Input core
[0867] 4420, 4420': 1st multiplier
[0868] 4430, 4430': Second multiplier
[0869] 4440, 4440': 3rd multiplier
[0870] 4450, 4450': 4th multiplier
[0871] 4460, 4460': 5th multiplier
[0872] 4470: Activate core
[0873] 4480: Reserve pool node status storage unit
[0874] 4510: Feedback Core
[0875] 4610, 4640, 4670: Weight shift multiplication unit
[0876] 4620, 4650, 4680: Adder
[0877] 4630, 4660, 4690: Register
[0878] 4910: Spectral radius multiplier.
Claims
1. A storage tank device, wherein: The sensor data of the time series measured in a predetermined process is input, and the reservoir feature quantity is output based on the result obtained by processing using the input weight multiplication unit and the connection weight multiplication unit. The input weight multiplication unit weights the input sensor data using a value determined by a periodic function as an input weight. The connection weight multiplication unit uses a value determined by a periodic function as a connection weight between nodes, and weightedly adds data indicating the state of each node.
2. The reservoir device according to claim 1, wherein: The sensor data of the time series measured in a predetermined process and the prediction data based on the prediction of the reserve pool characteristic quantity one moment ago are input, and the reserve pool characteristic quantity is output based on the result obtained by processing using the input weight multiplication unit, the connection weight multiplication unit and the feedback weight multiplication unit, The feedback weight multiplication unit weights the prediction data based on the reserve pool feature value prediction using a value determined by a periodic function as a feedback weight.
3. According to the reserve pool device according to claim 1, the connection weight multiplication unit performs weighted addition on the reserve pool feature quantity one moment ago as data representing the state of each node.
4. The reservoir device according to claim 1, wherein the connection weight is determined by the periodic function and a right shift amount obtained by quantizing a pre-calculated spectral radius logarithm.
5. According to the reserve pool device according to claim 1, the input weight multiplication unit has a first multiplier, which uses the value output and shifted by the first periodic function circuit as the input weight to weight the input sensor data.
6. According to the reserve pool device according to claim 1, the input weight multiplication unit has an input weight shift multiplication unit, which uses the power of 2 or its negative value corresponding to the value output by the first periodic function circuit as the input weight to weight the input sensor data.
7. According to the reserve pool device according to claim 3, the connection weight multiplication unit has a second multiplier and an accumulator, the second multiplier uses the value output and shifted by the second periodic function circuit as the connection weight between nodes, and weights the data representing the state of each node, and the accumulator adds the weighted data representing the state of each node.
8. According to the reserve pool device according to claim 3, the connection weight multiplication unit has a connection weight shift multiplication unit and an accumulator, the connection weight shift multiplication unit uses the power of 2 or its negative value corresponding to the value output by the second periodic function circuit as the connection weight, and weights the data representing the state of each node, and the accumulator adds the weighted data representing the state of each node.
9. According to the reserve pool device according to claim 2, the feedback weight multiplication unit has a third multiplier, which uses the value output and shifted by the third periodic function circuit as the feedback weight to weight the predicted data based on the predicted reserve pool feature value one moment ago.
10. According to the reserve pool device according to claim 2, the feedback weight multiplication unit has a feedback weight shift multiplication unit, which uses the power of 2 or its negative value corresponding to the value output by the third periodic function circuit as the feedback weight to weight the predicted data based on the reserve pool characteristic value prediction one moment ago.
11. According to the reserve pool device according to claim 1, the connection weight multiplication unit has a second multiplier and an accumulator, the second multiplier weights the data representing the state of each node based on the connection weight between nodes by multiplying the value output by the second periodic function circuit and the value obtained by adjusting the state of each node by the spectral radius, and the accumulator adds the weighted data representing the state of each node.
12. According to the reserve pool device of claim 7, the connection weight multiplication unit has an address control circuit, which reads data representing the state of each node, which is less than the number of nodes, from a memory that stores the reserve pool feature value one moment ago as data representing the state of each node. The second multiplier weights the data indicating the state of each node read by the address control circuit.
13. A storage tank device, wherein: The reservoir device inputs the sensor data of the time series measured in a predetermined process, and outputs the reservoir feature value based on the result obtained by processing using the input weight multiplication unit and the connection weight multiplication unit, wherein the reservoir device has: an adding unit that adds the sensor data weighted by the input weight multiplication unit and the data representing the state of each node weighted by the connection weight multiplication unit, A calculation unit performs fixed-point or floating-point polynomial calculation on the result of addition by the addition unit, thereby outputting the reserve pool feature value.
14. The reservoir device according to claim 13, wherein: The sensor data of the time series measured in a predetermined process and the prediction data based on the prediction of the reserve pool characteristic quantity one moment ago are input, and the reserve pool characteristic quantity is output based on the result obtained by processing using the input weight multiplication unit, the connection weight multiplication unit and the feedback weight multiplication unit, The adding unit further adds the prediction data weighted in the feedback weight multiplying unit, the prediction data being prediction data predicted based on the reservoir feature value one time ago.
15. The reservoir device according to claim 13, wherein in the computing unit, A holding portion is provided, wherein As coefficients used in the fixed-point or floating-point polynomial calculation, adjusted coefficients pre-adjusted based on the characteristics of the sensor data are retained, The coefficients held by the holding unit are read to perform the fixed-point or floating-point polynomial calculation.
16. The reserve pool device according to claim 13, wherein the operation unit does not perform the fixed-point or floating-point polynomial calculation, but outputs the reserve pool feature value by using a piecewise linear function or by using a lookup table.
17. A storage tank device, wherein: The sensor data of the time series measured in a predetermined process is input, and the reservoir feature quantity is output based on the result obtained by processing using the input weight multiplication unit and the connection weight multiplication unit. The input weight multiplication unit weights the input sensor data using a value determined by a periodic function as an input weight. The connection weight multiplication unit has a number of multipliers corresponding to the processing speed or prediction accuracy of the reserve pool device, and the multipliers use the value determined by the periodic function as the connection weight between nodes to weight the data representing the state of each node. Each multiplier included in the connection weight multiplication unit uses a value determined by a periodic function as a connection weight between nodes, and when weighting data indicating the state of each node, weighting is performed in parallel on data common to each multiplier.
18. A storage tank device, wherein: The sensor data of the time series measured in a predetermined process is input, and the reservoir feature quantity is output based on the result obtained by processing using the input weight multiplication unit and the connection weight multiplication unit. The input weight multiplication unit weights the input sensor data using a value determined by a periodic function as an input weight. The connection weight multiplication unit comprises a spectral radius multiplier and a number of multipliers corresponding to the processing speed or prediction accuracy of the reserve pool device. The spectral radius multiplier adjusts the reserve pool feature value one moment ago by the spectral radius, performs weighting on the data representing the state of each node based on the connection weight between nodes, and outputs the spectral radius weighted result. The spectral radius weighted result is respectively input into the multiplier. The multipliers are connected in series at the rear stage of the input weight multiplication unit. In each of the multipliers, the first multiplier has an adding unit that adds the input weighted result output by the input weight multiplication unit and the connection weighted result obtained by weighting the data representing the state of the corresponding node. Among the multipliers, the multipliers after the second multiplier include an adding section that adds the addition result output by the previous multiplier and a connection weight result obtained by weighting the data indicating the state of the corresponding node.
19. The reservoir device according to claim 17, wherein: The sensor data of the time series measured in a predetermined process and the prediction data based on the prediction of the reserve pool characteristic quantity one moment ago are input, and the reserve pool characteristic quantity is output based on the result obtained by processing using the input weight multiplication unit, the connection weight multiplication unit and the feedback weight multiplication unit, The feedback weight multiplication unit weights the prediction data based on the reserve pool feature value prediction using a value determined by a periodic function as a feedback weight.
20. The reservoir device according to claim 17, wherein each of the multipliers weights the reservoir feature value one moment ago as data representing the state of each of the nodes.
21. The reservoir device according to claim 17, wherein each of the multipliers is connected in series at the rear stage of the input weight multiplication unit. In each of the multipliers, the first multiplier has an adding unit that adds the input weighted result output by the input weight multiplication unit and the connection weighted result obtained by weighting the data representing the state of the corresponding node. Among the multipliers, the multipliers after the second multiplier include an adding section that adds the addition result output by the previous multiplier and a connection weight result obtained by weighting the data indicating the state of the corresponding node.
22. The reservoir device according to claim 17, wherein the connection weight is determined by the periodic function and a right shift amount obtained by pre-calculating a spectral radius or logarithmically quantizing the spectral radius.
23. According to the reserve pool device according to claim 17, the input weight multiplication unit has an input weight shift multiplication unit, which uses the power of 2 or its negative value or 0 corresponding to the value output by the first periodic function circuit as the input weight to weight the input sensor data.
24. According to the reserve pool device according to claim 21, each multiplier also has a connection weight shift multiplication unit, which uses the power of 2 or its negative value or 0 corresponding to the value output by the second periodic function circuit as the connection weight, and weights the data representing the state of each node.
25. According to the reserve pool device according to claim 19, the feedback weight multiplication unit has a feedback weight shift multiplication unit, which uses the power of 2 or its negative value or 0 corresponding to the value output by the third periodic function circuit as the feedback weight to weight the predicted data based on the reserve pool characteristic value prediction one moment ago.
26. According to the reserve pool device according to claim 17, the connection weight multiplication unit reads the data representing the state of each node in a quantity corresponding to the processing speed or prediction accuracy of the reserve pool device from the memory which stores the reserve pool characteristic quantity one moment ago as the data representing the state of each node, and each multiplier weights the read data representing the state of each node.
27. According to the reserve pool device according to claim 17, the connection weight multiplication unit reads data representing the state of a node, a number of which corresponds to the processing speed or prediction accuracy of the reserve pool device, and the node is a node whose weighting using elements other than zero is predetermined due to the regularity of the arrangement of the elements whose connection weight is zero.
28. The reserve pool device according to claim 21 further comprises a calculation unit which performs fixed-point or floating-point polynomial calculation on the addition result output by the multiplier of the final stage of each multiplier, thereby outputting the reserve pool feature value.
29. The reserve pool device according to claim 19 also has a calculation unit, which performs fixed-point or floating-point polynomial calculation on the result of adding the addition result output by the multiplier of the final stage of each multiplier and the feedback weighted result output by the feedback weight multiplication unit, thereby outputting the reserve pool characteristic value.
30. The reservoir device according to claim 28, wherein in the computing unit, A holding portion is provided, wherein As coefficients used in the fixed-point or floating-point polynomial calculation, adjusted coefficients pre-adjusted based on the characteristics of the sensor data are retained, The coefficients held in the holding unit are read to perform the fixed-point or floating-point polynomial calculation.
31. According to the reserve pool device according to claim 28, the operation unit does not perform the fixed-point or floating-point polynomial calculation, but outputs the reserve pool feature value by using a piecewise linear function or by using a lookup table.
32. A process state prediction system having: The reservoir device according to any one of claims 1 to 31, and A prediction device predicts the state of the predetermined process based on the reserve pool feature quantity and weight parameters, and outputs prediction data.
33. The process state prediction system according to claim 32, wherein the prediction device learns the weight parameter by performing FORCE learning processing based on a recursive least squares method.
34. According to the process state prediction system according to claim 33, the prediction device has multiple FPGAs, each FPGA executes a part of the matrix operations of multiple rows and columns performed on the FORCE learning process based on the recursive least squares method, and summarizes the execution results based on each FPGA, thereby learning the weight parameters.
35. According to the process state prediction system according to claim 34, in the prediction device, each FPGA utilizes the symmetry of the matrix used for the operation of a part of the FORCE learning processing based on the recursive least squares method to transpose the already calculated vector, thereby replacing the part of the operation.
36. According to the process state prediction system of claim 33, when the prediction device determines that re-learning is required in the prediction time period after learning, the weight parameters are re-learned by performing the FORCE learning process based on the recursive least squares method.
37. According to the process state prediction system according to claim 36, when the prediction device relearns the weight parameters through the FORCE learning process based on the recursive least squares method, the FORCE learning process is performed a number of times corresponding to the number of learning parameters, thereby calculating the number of weight parameters corresponding to the number of learning parameters, and setting the weight parameters corresponding to the prediction results contained in the specified allowable range and with the highest prediction accuracy among the calculated weight parameters as the weight parameters used for the prediction after relearning.
38. The process state prediction system according to claim 37, wherein the specified allowable range is set to a fixed value, or is set to a value based on a prediction result calculated by performing batch learning by accumulating the reserve pool feature values to a specified data amount.
39. According to the process state prediction system according to claim 37, when it is determined that the prediction accuracy of any prediction result is not included in the specified allowable range and new learning parameters are generated, the prediction device will set the weight parameters calculated by executing the FORCE learning process based on the new learning parameters as the weight parameters used for the prediction after re-learning.
40. According to the process state prediction system according to claim 36, when the accuracy of the prediction result output by the prediction device is below a specified threshold, when the type of the sensor data of the input time series changes, or when the value of the sensor data of the input time series changes above a specified threshold, it is determined that re-learning is required.
Citation Information
Patent Citations
Sensor interface apparatus, measurement information communication system, measurement information communication method, and measurement information communication program
JP2018077779A
Radiation detection device and radiation detection system mounted with the same
JP2022115663A