Reservoir device and process state prediction system

JPWO2024018696A5Pending Publication Date: 2025-03-27
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024534930
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2025-01-16
Publication Date
2025-03-27

AI Technical Summary

Technical Problem

Existing systems for predicting process conditions in manufacturing processes using machine learning models face challenges due to processing cycles that are longer than the measurement cycles of time-series sensor data, making it difficult to capture short behaviors and maintain prediction accuracy.

Method used

A reservoir device that processes time-series sensor data using input and connection weight multipliers based on periodic functions, performing fixed-point or floating-point polynomial calculations to improve prediction accuracy by reducing processing cycles and capturing short behaviors.

Benefits of technology

The reservoir device significantly reduces processing cycles, enabling the capture of short behaviors in time-series sensor data, thereby enhancing prediction accuracy and maintaining it over time through relearning processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024018696000001
    Figure 2024018696000001
  • Figure 2024018696000002
    Figure 2024018696000002
  • Figure 2024018696000003
    Figure 2024018696000003
Patent Text Reader

Abstract

The present invention improves prediction accuracy when predicting a process state on the basis of time series sensor data. This reservoir device accepts input of time-series sensor data measured in a predetermined process, and outputs a reservoir feature quantity on the basis of results from processing performed using an input weight multiplication unit and a connection weight multiplication unit. The input weight multiplication unit weights the input sensor data using a value determined by a periodic function as the input weight. The connection weight multiplication unit weights and adds data indicating the state of each node, using a value determined by a periodic function as the node-to-node connection weight.
Need to check novelty before this filing date? Find Prior Art

Description

Reservoir device and process state prediction system

[0001] The present disclosure relates to a reservoir device and a process state prediction system.

[0002] In the field of manufacturing processes, the process state has traditionally been monitored by predicting the process state (the state of an apparatus during a manufacturing process (e.g., the presence or absence of an abnormality in the apparatus)) using time-series sensor data measured by various sensors and reporting the prediction result. Recently, the use of machine learning models has also been proposed to improve the accuracy of process state prediction.

[0003] JP 2018-77779 A

[0004] Tanaka H., Akai-Kasaya M., Termeh A.Y., Hong L., Fu L., Tamukoh H., Tanaka D., Asai T., and Ogawa T., A molecular neuromorphic network device consisting of single-walled carbon nanotubes complexed with polyoxometalate Nature Communications, vol. 9, p. 2693 (2018)Shaohua Kan, Kohei Nakajima, Yuki Takeshima, Tetsuya Asai, Yuji Kuwahara, and Megumi Akai-Kasaya Simple reservoir computing capitalizing on the nonlinear response of materials: Theory and physical implementations Phys. Rev. Applied, Accepted, 13 January (2021)Minamikawa K., Suzuki S., Akai-Kasaya M., and Asai T., "26-bits 400-neurons 0.3-ksps FORCE learning FPGA core for reservoir computing," The 2020 RISP International Workshop on Nonlinear Circuits, Communications and Signal Processing, Hilton Waikiki Beach Hotel, Honolulu, USA (Feb. 28-Mar. 2, 2020)Jaeger, Herbert., The" echo state" approach to analyzing and training recurrent neural networks-with an erratum note‘.Bonn, Germany: German National Research Center for Information Technology GMD Technical Report. 148 (2001).

[0005] However, devices equipped with machine learning models generally have processing cycles that are longer than the measurement cycles of time-series sensor data, making it impossible to capture the short-cycle behavior that appears in the time-series sensor data and execute the machine learning model.

[0006] The present disclosure improves prediction accuracy when predicting process conditions based on time-series sensor data.

[0007] A reservoir device according to one aspect of the present disclosure has, for example, the following configuration: That is, a reservoir device that receives time-series sensor data measured in a predetermined process, processes the data using an input weight multiplication unit and a connection weight multiplication unit, and outputs reservoir features based on the results, wherein the input weight multiplication unit weights the input sensor data using values ​​determined by a periodic function as input weights, and the connection weight multiplication unit weights and adds data indicating the state of each node using values ​​determined by a periodic function as connection weights between nodes.

[0008] Furthermore, a reservoir device according to another aspect of the present disclosure has, for example, the following configuration: That is, a reservoir device that receives time-series sensor data measured in a predetermined process and outputs a reservoir feature based on the result of processing using an input weight multiplication unit and a connection weight multiplication unit, and has an adder that adds the sensor data weighted by the input weight multiplication unit and data indicating the state of each node weighted and added by the connection weight multiplication unit, and a calculation unit that outputs the reservoir feature by performing fixed-point or floating-point polynomial calculation on the result of addition by the adder.

[0009] Furthermore, a reservoir device according to another aspect of the present disclosure has, for example, the following configuration: That is, a reservoir device that receives time-series sensor data measured in a predetermined process and outputs reservoir features based on the results of processing using an input weight multiplication unit and a connection weight multiplication unit, wherein the input weight multiplication unit weights the input sensor data using values ​​determined by a periodic function as input weights, the connection weight multiplication unit is a multiplier that weights data indicating the state of each node using values ​​determined by a periodic function as connection weights between nodes, and has a number of multipliers corresponding to the processing speed or prediction accuracy of the reservoir device, and when weighting the data indicating the state of each node using values ​​determined by a periodic function as connection weights between nodes, each multiplier in the connection weight multiplication unit weights data common to each multiplier in parallel.

[0010] Furthermore, a reservoir device according to another aspect of the present disclosure has, for example, the following configuration: That is, a reservoir device that receives time-series sensor data measured in a predetermined process as input, and outputs a reservoir feature based on a result of processing using an input weight multiplication unit and a connection weight multiplication unit, wherein 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 weights data indicating the state of each node according to the connection weight between nodes by adjusting the reservoir feature from one time point before with a spectral radius, and includes a spectral radius multiplier that outputs the connection weighted result, and multipliers the number of which corresponds to the processing speed or prediction accuracy of the reservoir device, and to which the connection weighted results are respectively input, wherein the multipliers are connected in series at a stage subsequent to the input weight multiplication unit, and a first multiplier of the multipliers includes an adder that adds the input weighted result output by the input weight multiplication unit and the connection weighted result obtained by weighting data indicating the state of the corresponding node, Of the multipliers, the second multiplier and subsequent multipliers have an addition unit that adds the addition result output by the previous multiplier to the connection weighting result obtained by weighting data indicating the state of the corresponding node.

[0011] It is possible to improve the accuracy of prediction when predicting the process state based on time-series sensor data.

[0012] FIG. 1A is a diagram illustrating an application example of a process state prediction system. FIG. 1B is a diagram illustrating an example of an effective prediction time. FIG. 2 is a diagram illustrating an example of a system configuration of a process state prediction system. FIG. 3 is a first diagram illustrating an example of a hardware configuration of a reservoir device. FIG. 4 is a second diagram illustrating an example of a hardware configuration of a reservoir device. FIG. 5 is a diagram illustrating an example of an LFSR. FIG. 6 is a diagram illustrating an example of a chaos circuit. FIG. 7A is a diagram for explaining a method of calculating parameters used for scaling. FIG. 7B is a diagram illustrating an example of an nb-bit right shifter. FIG. 8 is a diagram illustrating an example of a detailed configuration of an M-bit accumulator circuit. FIG. 9 is a diagram illustrating an example of a detailed configuration of an activation function circuit. FIG. 10 is a diagram illustrating an example of a limiter circuit. FIG. 11 is a diagram illustrating a specific example of processing by an adjustment device that adjusts the coefficients of a polynomial of an activation function. FIG. 12 is an example of a transition diagram of each period through which a process state prediction unit transitions. FIG. 13 is a diagram illustrating an example of the functional configuration of a process state prediction unit during a learning period. FIG. 14 is a diagram illustrating an example of the functional configuration of a process state prediction unit during a prediction period. FIG. 15A is a first diagram showing an example of the functional configuration of the process state prediction unit during a relearning period. FIG. 15B is a second diagram showing an example of the functional configuration of the process state prediction unit during a relearning period. FIG. 16 is a diagram showing an example of the hardware configuration of a FORCE learning unit using the recursive least squares method. FIG. 17 is a first diagram showing parallel processing and serial processing realized in the FORCE learning unit using the recursive least squares method. FIG. 18 is a second diagram showing parallel processing and serial processing realized in the FORCE learning unit using the recursive least squares method. FIG. 19 is a first diagram showing transfer processing realized in the FORCE learning unit using the recursive least squares method. FIG. 20 is a diagram showing substitution processing realized in the FORCE learning unit using the recursive least squares method. FIG. 21 is a second diagram showing transfer processing realized in the FORCE learning unit using the recursive least squares method. FIG. 22 is a diagram showing distribution processing realized in the FORCE learning unit using the recursive least squares method. FIG. 23 is a diagram showing the weight parameter update process implemented in the FORCE learning unit using the recursive least squares method.FIG. 24 is an example timing chart of the FORCE learning process performed by the FORCE learning unit using the recursive least squares method. FIG. 25 is a diagram illustrating an example of the hardware configuration of the management device. FIG. 26 is a diagram illustrating an example of the functional configuration of the management unit. FIG. 27 is an example of a flowchart showing the overall flow of the process state prediction process performed by the management unit and the process state prediction system. FIG. 28 is an example of a flowchart showing the flow of the learning process. FIG. 29 is an example of a flowchart showing the flow of the prediction process. FIG. 30 is an example of a flowchart showing the flow of the relearning determination process. FIG. 31 is a diagram illustrating another example of the effective prediction time. FIG. 32 is an example of a flowchart showing the flow of the relearning process. FIG. 33 is a diagram illustrating an example of a weight bit shift multiplication unit in the second embodiment. FIG. 34 is a diagram illustrating an example of the configuration of each weight bit shift multiplication unit. FIG. 35 is a third diagram illustrating an example of the hardware configuration of a reservoir device. FIG. 36 is a fourth diagram illustrating an example of the hardware configuration of a reservoir device. FIG. 37 is a fifth diagram illustrating an example of the hardware configuration of a reservoir device. FIG. 38 is a sixth diagram showing an example of the hardware configuration of a reservoir device. FIG. 39 is a diagram showing an example of reducing the number of calculations in a reservoir device. FIG. 40 is a diagram showing a specific example of processing using a variable vector length dot product calculation architecture in a reservoir device. FIG. 41 is a diagram showing an overview of parallel processing in a reservoir device. FIG. 42 is an example of a timing chart of multiplication processing in a reservoir device. FIG. 43 is an example of a timing chart of processing in each unit of a reservoir device. FIG. 44 is a seventh diagram showing an example of the hardware configuration of a reservoir device. FIG. 45 is an eighth diagram showing an example of the hardware configuration of a reservoir device. FIG. 46A is a first diagram showing details of a calculation unit constituting a reservoir device. FIG. 46B is a second diagram showing details of a calculation unit constituting a reservoir device. FIG. 47 is an example of a timing chart of the entire reservoir device. FIG. 48 is a diagram showing an example of verification results of the prediction accuracy of a reservoir device. FIG. 49 is a ninth diagram showing an example of the hardware configuration of a reservoir device. Fig. 50 is a tenth diagram showing an example of the hardware configuration of the reservoir device, and Fig. 51 is a third diagram showing details of a calculation unit constituting the reservoir device.FIG. 52 is a diagram illustrating an example of a weight bit shift multiplication unit according to the seventh embodiment.

[0013] Hereinafter, each embodiment will be described with reference to the accompanying drawings. In this specification and drawings, components having substantially the same functional configurations are designated by the same reference numerals, and redundant description will be omitted.

[0014] First Embodiment <Application Example of Process State Prediction System> First, a description will be given of an application example of a process state prediction system according to a first embodiment. Fig. 1A is a diagram showing an application example of a process state prediction system.

[0015] In the example of Figure 1A, a case is described in which the process state prediction system is applied to a substrate processing apparatus, but the application of the process state prediction system is not limited to substrate processing apparatuses, and the system may also be applied to apparatuses that perform other manufacturing processes.

[0016] In addition to the substrate processing apparatus (1b) to which the process state prediction system is applied, FIG. 1A also shows a substrate processing apparatus (1a) to which the process state prediction system is not applied as a comparative example, and the differences between the two will be explained by comparing them as appropriate.

[0017] 1A, 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. The substrate processing apparatuses 110 and 120 also include management devices 113 and 123, control devices 115 and 125, and actuators 117 and 127.

[0018] 1A , which is a comparative example, in a substrate processing apparatus 110, a sensor a 112a and a sensor b 112b measure physical quantities while a substrate is being processed in a chamber 111 and output the measured physical quantities as time-series sensor data a and sensor data b. The time-series sensor data a and sensor data b output from the sensor a 112a and the sensor b 112b are processed in a state prediction and management unit 114 of a management device 113 to predict a process state. The predicted process state is output to a control device 115 as prediction result data (an example of prediction data).

[0019] Furthermore, the time-series sensor data a output from the sensor a 112a is processed in the control unit 116 of the control device 115 to calculate a control amount. At this time, the control unit 116 may 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 notifies the chamber 111 of a control command based on the control amount.

[0020] 1A 1a, graph 130 is an example of time-series sensor data a output from sensor a 112a, with the horizontal axis representing time and the vertical axis representing signal strength. Also, in FIG. 1A 1a, graph 140 is time-series sensor data a' when processed by state prediction and management unit 114 of management device 113, with the horizontal axis representing time and the vertical axis representing signal strength.

[0021] In general, the processing period T(b) when the management device 113 predicts the process state is longer than the measurement period T(a) when the sensor a 112a measures the time-series sensor data a. Therefore, the state prediction and management unit 114 cannot capture short behaviors that appear in the time-series sensor data a as shown in graph 130 (see graph 140), and as a result, when predicting the process state, it is difficult to obtain sufficient prediction accuracy.

[0022] 1A 1b, in the substrate processing apparatus 120, a sensor a 122a and a sensor b 122b measure physical quantities while a substrate is being processed in a chamber 121 and output the measured quantities as time-series sensor data a and sensor data b. At this time, the time-series sensor data a output from the sensor a 122a is processed in a process state prediction system 128, which predicts the process state. Then, prediction result data (an example of prediction data) predicted by the process state prediction system 128 is output to the management unit 124 and the control unit 126.

[0023] Furthermore, the time-series sensor data a output from the sensor 122a is processed in the control unit 126 of the control device 125 to calculate a control amount. At this time, the control unit 126 may 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 notifies the chamber 121 of a control command based on the control amount.

[0024] 1A 1b, a graph 131 is an example of time-series sensor data a output from the sensor a 122a, with the horizontal axis representing time and the vertical axis representing signal strength. Also, in FIG. 1A 1b, a graph 141 is time-series sensor data a' when processed in the process state prediction system 128, with the horizontal axis representing time and the vertical axis representing signal strength.

[0025] In the case of the process state prediction system 128 according to the first embodiment, the time-series sensor data a' is processed by reservoir computing to predict the process state. Therefore, the processing cycle T(c) for predicting the process state is significantly shorter than the processing cycle T(b) for predicting the process state by the management device 113 of 1a in FIG. 1A. As a result, the process state prediction system 128 according to the first embodiment can capture short-term behaviors that appear in the time-series sensor data a shown in graph 131, thereby improving prediction accuracy.

[0026] The improvement in prediction accuracy achieved by predicting the process state by processing the time-series sensor data a' of the graph 141 capturing short-term behavior can be expressed as the "effective prediction time" until the square error between the predicted result data and the correct data exceeds an allowable threshold. The effective prediction time is the time that indicates how far into the future the process state prediction system 128 (or the state prediction and management unit 114) can appropriately predict the process state.

[0027] 1B is a diagram showing an example of an effective prediction time. As shown in FIG. 1B, the effective prediction time (t a -t s ) than the effective prediction time (t b -t s ), is longer. This indicates that the process state prediction system 128 is less susceptible to prediction degradation due to changes over time than the comparative example. In this case, the substrate processing apparatus 120 accumulates operation logs (for example, history of temperature, humidity, voltage signals, etc. during operation) and calculates the effective prediction time (t b -t s ) may be further analyzed for extension.

[0028] Furthermore, in the case of the process state prediction system 128 according to the first embodiment, even if the prediction accuracy decreases due to changes over time in the chamber 121, etc., the prediction accuracy can be improved by performing a re-learning process. Specifically, by using the prediction result data output by the process state prediction system 128, the reservoir feature amount, and the sensor data b, the management unit 124 can manage the re-learning process performed by the process state prediction system 128.

[0029] The process state data (correct answer data) used when performing the learning process or the relearning process on the process state prediction system 128 may include, for example, the presence or absence of an abnormality in the substrate processing apparatus 120 during the substrate processing. Alternatively, the process state data (correct answer data) may include the sensor data b output from the sensor b 122b (in the present embodiment, the process state data (correct answer data) will be described as being the sensor data b output from the sensor b 122b). The correct answer data is generally also called a "dependent variable" or "teaching data."

[0030] When the process state prediction system 128 performs re-learning processing, the management unit 124 sends and receives various information (switching information, termination information, etc.) to and from the process state prediction system 128 in order to manage the period of the process state prediction system 128 (details will be described later).

[0031] As a result, the process state prediction system 128 according to the first embodiment can suppress a decrease in prediction accuracy that accompanies changes over time in the manufacturing process.

[0032] As described above, according to the first embodiment, it is possible to improve the prediction accuracy when predicting the process state based on time-series sensor data.

[0033] <System Configuration of Process State Prediction System> Next, a description will be given of the system configuration of the process state prediction system 128. Fig. 2 is a diagram showing an example of the system configuration of the process state prediction system. The process state prediction system 128 is realized by, for example, an FPGA (Field-Programmable Gate Array) board or the like.

[0034] As shown in FIG. 2, the process state prediction system 128 includes an I / O control unit 201 , a reservoir device 202 , and a process state prediction unit 204 .

[0035] The I / O control unit 201 controls the input and output of digital signals. Specifically, the I / O control unit 201 receives time-series sensor data a output from the sensor a 122a and notifies the reservoir device 202 of sensor data a′.

[0036] 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 consisting of multiple types of time-series sensor data. For simplicity of explanation, the following description will be given assuming that one type of time-series sensor data is input.

[0037] The I / O control unit 201 also acquires the prediction result data (predicted process state) output by the process state prediction unit 204 and the reservoir feature amount output by the reservoir device 202, and transmits them to the management device 123. The I / O control unit 201 also inputs process state data (correct answer data) used when performing learning processing (or re-learning processing) in the process state prediction system 128 from the management device 123, and notifies the process state prediction unit 204 of the data.

[0038] Furthermore, the I / O control unit 201 transmits and receives switching information for switching the period of the process state prediction unit 204 and termination information indicating the end of processing by the process state prediction unit 204 in the period after the switching between the management device 123.

[0039] The reservoir device 202 is a chip that outputs reservoir feature quantities. The reservoir device 202 realizes a function equivalent to a nanomolecule reservoir capable of high-speed learning and prediction using a digital circuit (e.g., FPGA, ASIC (Application Specific Integrated Circuit), etc.). The reservoir feature quantity is a numerical value that quantitatively represents the characteristics of the time-series sensor data a', which is output by the reservoir device 202 based on each value from the past to the present when each value of the time-series sensor data a' is input to the reservoir device 202.

[0040] In the example of Figure 2, the prediction result data calculated by the process state prediction unit 204 is fed back and input to the reservoir device 202, but the prediction result data does not have to be fed back.

[0041] Furthermore, the parameters and coefficients used in the processing in the reservoir device 202 are calculated in advance by the calculation device 210 and the adjustment device 220 and set in the reservoir device 202, for example.

[0042] The process state prediction unit 204 is an example of a prediction device, and operates under multiple periods (in this embodiment, a learning period, a prediction period, and a re-learning period) that are switched in accordance with switching information. The learning period refers to a period during which weight parameters are learned. The re-learning period refers to a period during which learned weight parameters are re-learned.

[0043] When the learning period or the relearning period begins, the process state prediction unit 204 calculates weight parameters so that the prediction result data correlates with the process state data (correct answer data) input by the I / O control unit 201. Furthermore, the process state prediction unit 204 outputs end information when the calculation of the weight parameters is completed.

[0044] On the other hand, the prediction period refers to a period during which prediction result data is output based on reservoir features under weight parameters learned during the learning period or re-learning period.

[0045] When the process state prediction unit 204 receives switching information in response to the output of the end information, the process state prediction unit 204 transitions to a prediction period and predicts the process state based on the reservoir feature output from the reservoir device 202. The process state prediction unit 204 also outputs prediction result data to the I / O control unit 201 and the reservoir device 202.

[0046] The output cycle when the process state prediction unit 204 outputs the prediction result data to the I / O control unit 201 may be, for example, equal to or shorter than the processing cycle of the management device 123 (i.e., equal to or shorter than the transfer cycle of the field bus).

[0047] <Details of Process State Prediction System> Next, details of each unit (reservoir device 202, process state prediction unit 204) of the process state prediction system 128 in FIG. 2 will be described.

[0048] (1) Overview of Reservoir Device 202 First, an overview of the reservoir device 202 will be described. As described above, in this embodiment, the reservoir device 202 is realized by a digital circuit. Generally, in order to operate a digital circuit as the reservoir device 202, for example, a mathematical formula defined in the Echo State Network (ESN) base model is used (see the following formulas (1) and (2)).

[0049]

[0050] In the above formula (1) or (2), N is the number of reservoir nodes in the reservoir device, and u is the number of reservoir nodes in the reservoir device. i (t+1): The internal state of the reservoir device at time t+1 (the i-th reservoir node state), u j (t): The internal state of the reservoir device at time t (the jth reservoir node state), ij : the connection weight between the i-th reservoir node and the j-th reservoir node, and w i I : input weight of the i-th reservoir node, w i F : feedback weight of the i-th reservoir node, I(t): value of sensor data a' at time t, Z(t): predicted result data at time t, tanh: hyperbolic tangent function (in ESN, tanh is used as the activation function), dot symbol ".": matrix multiplication, and the above formula (1) represents the formula executed in the reservoir device when there is no feedback of predicted result data, and the above formula (2) represents the formula executed in the reservoir device when there is feedback of predicted result data.

[0051] However, in the case of the above formula (1) or (2), as the number of reservoir nodes (N) increases, not only do the required resources increase, but the processing time also increases. Therefore, in this embodiment, the above formulas (1) and (2) are modified so that they are qualitatively the same as the formulas specified in the ESN, and the reservoir device 202 is realized by a digital circuit that executes the modified formulas. As a result, according to this embodiment, the reservoir device 202 can be realized by a digital circuit that reduces resources and shortens processing time.

[0052] Specifically, the reservoir device 202 according to this embodiment is realized by a digital circuit that executes the following equation (3) or (4):

[0053]

[0054] In the above formula (3) or (4), ij raw : the output of the connection weight generator (details will be described later) used to calculate 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 an N-row and N-column matrix); i Iraw : the output of the input weight generator (details to be described later) used to calculate the input weight of the i-th reservoir node (i-th element of the input weight vector represented by N elements); i Fraw : represents the output (i-th element of a feedback weight vector represented by N elements) of a feedback weight generator (details of which will be described later) used to calculate the feedback weight of the i-th reservoir node.

[0055] That is, in the reservoir device 202 according to this embodiment, the connection weight w ij Instead of (2 -nb ) × (output of the connection weight generator w ij raw ) and the input weight w i I Instead of (2 -nI ) × (output of input weight generator w i Iraw) and the feedback weight w i F Instead of (2 -nF ) × (output of feedback weight generator w i Fraw ) is calculated, and the activation function f is used instead of tanh. In this way, the reservoir feature is calculated.

[0056] Here, 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.

[0057] (2) Details of the Hardware Configuration of the Reservoir Device 202 Next, details of the hardware configuration of the reservoir device 202 when realized by a digital circuit that executes the above formula (3) or (4) will be described. Note that in the following description, "M" is a predetermined integer.

[0058] (2-1) Details of the Reservoir Device 202 (without Feedback) First, details of the hardware configuration of the reservoir device 202 (without feedback) will be described. Figure 3 is a first diagram showing an example of the hardware configuration of the reservoir device.

[0059] As shown in FIG. 3, the reservoir device 202 (without feedback) includes an input weight generator 311, an nI-bit right shifter 312, and a 2M-bit multiplier 313 (which are examples of an input weight multiplication unit). The reservoir device 202 also includes 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 a connection weight multiplication unit). Furthermore, the reservoir device 202 includes an M-bit adder 331, an activation function circuit 332, a first memory 333, and a second memory 334. The triangle symbols in the figure represent clock inputs.

[0060] The input weight generator 311 functions as a random number generator. More specifically, the input weight generator 311 generates a random number when the possible states of the register are (M-bit log 2The output w of the input weight generator 311 is realized by a first periodic function circuit such as N) LFSRs (Linear Feedback Shift Registers), or a chaos circuit. i Iraw is input to the nI-bit right shifter 312 .

[0061] The nI-bit right shifter 312 shifts the output w i Iraw By shifting nI bits to the right, (2 -nI ) × (output of input weight generator w i Iraw ) and calculate the input weight w i I Output.

[0062] The 2M-bit multiplier 313 is an example of a first multiplier. The 2M-bit multiplier 313 multiplies the input weight w output from the nI-bit right shifter 312 by i I By multiplying I(t), which is the value of the sensor data a', the multiplication result is (w i I )·(I(t)).

[0063] The connection weight generator 321 functions as a random number generator. More specifically, the connection weight generator 321 generates a random number based on the following: 2 The output w of the coupling weight generator 321 is realized by a second periodic function circuit such as N LFSRs, a chaos circuit, or the like. ij raw is input to the nb-bit right shifter 322 .

[0064] The nb-bit right shifter 322 shifts the output w ij raw By shifting nb bits to the right, (2 -nb ) × (output of the connection weight generator w ij raw ) and calculate the connection weight w ij Output.

[0065] The 2M-bit multiplier 323 is an example of a second multiplier. The 2M-bit multiplier 323 multiplies the connection weight w output from the nb-bit right shifter 322 by ij is the j-th reservoir node state calculated one time before, u j By multiplying (t), the multiplication result is (w ij ) × (u j (t)).

[0066] The M-bit accumulation circuit 324 is an example of an accumulator, and the output (w ij ) × (u j (t)) is added up by the number of reservoir nodes, and the addition result is output.

[0067] The M-bit adder 331 is an example of an addition unit, and calculates the following equation (5) by adding the multiplication result output from the 2M-bit multiplier 313 and the addition result output from the M-bit accumulation circuit 324.

[0068] The M-bit adder 331 inputs the calculation result of the above equation (5) to the activation function circuit 332 .

[0069] The activation function circuit 332 is an example of a calculation unit, and by inputting the calculation result of the above equation (5) into the activation function f, the i-th reservoir node state u at time t+1 is calculated. i (t+1). The activation function circuit 332 calculates the calculated reservoir node state u i (t+1) is written to the first memory 333 .

[0070] The first memory 333 stores the i-th reservoir node state u at time t+1 calculated by the activation function circuit 332. i (t+1). The first memory 333 stores the i-th reservoir node state u at time t+1. i When all the data in (t+1) are written, the i-th reservoir node state u i The second memory 334 is updated by (t+1).

[0071] The second memory 334 stores the j-th reservoir node state u calculated one time before.j (t) (j=1, 2, . . . N). The j-th reservoir node state u calculated one time before stored in the second memory 334 is stored. j (t) (j=1, 2, . . . N) is read by the process state prediction unit 204 in the order of j=1, 2, . . . N every time the clock rises. In addition, the read j-th reservoir node state u j (t) (j=1, 2, . . . N) is input to the 2M-bit multiplier 323. The value of the sensor data a' is input when the clock rises N times.

[0072] (2-2) Details of the Reservoir Device 202 (with Feedback) Next, details of the hardware configuration of the reservoir device 202 (with feedback) will be described. Figure 4 is a second diagram showing an example of the hardware configuration of the reservoir device.

[0073] As shown in Fig. 4, the reservoir device 202 (with feedback) has the same hardware configuration as the reservoir device 202 (without feedback) shown in Fig. 3. In addition, the reservoir device 202 (with feedback) has: a feedback weight generator 401, an nF-bit right shifter 402, and a 2M-bit multiplier 403 (these are examples of a feedback weight multiplication unit), and an M-bit adder 404 (an example of an addition unit). Note that the triangle symbol in the figure represents a clock input.

[0074] The feedback weight generator 401 functions as a random number generator. More specifically, the feedback weight generator 401: 2 The output w of the feedback weight generator 401 is realized by a third periodic function circuit such as a number of LFSRs (Linear Feedback Shift Registers), or a chaos circuit. i Fraw is input to the nF-bit right shifter 402 .

[0075] The nF-bit right shifter 402 shifts the output w i Fraw By shifting it to the right by nF bits, (2 -nF ) × (output of feedback weight generator w i Fraw ) and calculate the feedback weight w i F Output.

[0076] The 2M-bit multiplier 403 is an example of a third multiplier. The 2M-bit multiplier 403 multiplies the feedback weight w output from the nF-bit right shifter 402 by i F By multiplying Z(t), which is the value of the prediction result data, the multiplication result is (w i F )·(Z(t)).

[0077] The M-bit adder 404 multiplies the result of the calculation of the above equation (5) by the M-bit adder 331 by the output (w i F )·(Z(t)) to calculate the following equation (6).

[0078] The M-bit adder 404 inputs the calculation result of the above equation (6) to the activation function circuit 332 .

[0079] (3) Details of Each Container Included in Reservoir Device 202 Next, details of each container included in the reservoir device 202 (without feedback) or the reservoir device 202 (with feedback) will be described.

[0080] (3-1) Overview of Outputs of Input Weight Generator, Connection Weight Generator, and Feedback Weight Generator First, an overview of the outputs of the input weight generator 311, connection weight generator 321, and feedback weight generator 401 included in the reservoir device 202 will be described. As described above, in this embodiment, the outputs of the input weight generator 311, connection weight generator 321, and feedback weight generator 401 are generated using a periodic function circuit such as an LFSR or a chaos circuit. As a result, according to this embodiment, for example,2 Compared to storing random number values ​​in a memory or the like, the output of the input weight generator 311, the output of the coupling weight generator 321, and the output of the feedback weight generator 401 can be realized with low power consumption and low resources.

[0081] (3-1-1) Details of LFSR Here, we will explain the detailed configuration when the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 are realized by a linear feedback shift register (LFSR). FIG. 5 is a diagram showing an example of an LFSR. As shown in FIG. 5, the LFSR 500 has L M-bit registers. In the case of an LFSR, the w output from the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 are determined depending on the number L of M-bit registers. i Iraw , w ij raw , w i Fraw Specifically, the period of w output from the input weight generator 311 is determined. i Iraw If L = log 2 N, the period N is realized. i Fraw If L = log 2 N, the period N is realized. ij raw If L = log 2 N 2 By doing so, the period N 2 is realized.

[0082] (3-1-2) Details of the Chaos Circuit Next, a detailed configuration will be described in which the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 are realized by chaos circuits. Fig. 6 is a diagram showing an example of a chaos circuit. In this embodiment, the chaos circuit 600 utilizes the fact that chaos appears when a = 4 in the case of a logistic map (a quadratic function expressed as y(t+1) = a × y(t) × (1 - y(t))).

[0083] 6, the chaos circuit 600 includes an M'-bit subtractor 621, a 2M'-bit multiplier 622, a shifter 623, and an M'-bit register 624. In the case of the chaos circuit 600, the w output from the input weight generator 311, the connection weight generator 321, and the feedback weight generator 401 are determined depending on the value of M'. i Iraw , w ij raw , w i Fraw Specifically, the period of w output from the input weight generator 311 is determined. i Iraw In this case, M'=period N or more, and the w output from the feedback weight generator 401 i Fraw In this case, M' is equal to or greater than the period N, and the weights w output from the connection weight generator 321 are ij raw If M' = period N 2 That's it.

[0084] The advantages of implementing the input weight generator 311, the coupling weight generator 321, and the feedback weight generator 401 using the LFSR 500 and the chaos circuit 600 are as follows: - The LFSR 500 does not include a subtractor or multiplier, so it consumes less resources when the number of reservoir nodes (N) is small (that is, when a small number of M-bit registers are required). - The chaos circuit 600 does not change its configuration even if the number of reservoir nodes (N) increases, so it consumes less resources when the number of reservoir nodes (N) is large.

[0085] (3-2) Overview of nI-bit right shifter, nb-bit right shifter, and nF-bit right shifter (overview of input weights, connection weights, and feedback weights) Next, we will explain the overview of the input weights, connection weights, and feedback weights calculated by the nI-bit right shifter 312, nb-bit right shifter 322, and nF-bit right shifter 402 included in the reservoir device 202, respectively.

[0086] As described above, in the reservoir device 202, the output w of the input weight generator 311 iIraw By shifting nI bits to the right, (2 -nI ) × (output of input weight generator w i Iraw ) and calculate the input weight w i I Output.

[0087] In addition, in the reservoir device 202, the output w of the connection weight generator 321 ij raw By shifting nb bits to the right, (2 -nb ) × (output of the connection weight generator w ij raw ) and calculate the connection weight w ij Output.

[0088] In addition, in the reservoir device 202, the output w of the feedback weight generator 401 i Fraw By shifting it to the right by nF bits, (2 -nF ) × (output of feedback weight generator w i Fraw ) and calculate the feedback weight w i F Output.

[0089] Here, in the reservoir device 202, the connection weight w ij must satisfy the requirements of ESP (Echo State Property). In other words, in the nb-bit right shifter 322, the output w ij raw must be scaled to a value that satisfies the requirements of ESP, and the nb-bit right shifter 322 is preset with parameters used for scaling.

[0090] In addition, in the reservoir device 202, the input weight w i I can be optimized by scaling the whole (i=1, 2, . . . N) according to the conditions of the input sensor data. In other words, the nI-bit right shifter 312 receives the output w i IrawTo scale to an optimal value, parameters used for scaling are set in advance.

[0091] Similarly, the feedback weight w i F can be optimized by scaling the whole (i=1, 2, . . . N) according to the prediction result data one time before. In other words, the nF-bit right shifter 402 receives the output w i Fraw To scale to an optimal value, parameters used for scaling are set in advance.

[0092] FIG. 7A is a diagram for explaining a method for calculating parameters used for scaling, and shows, as an example, a method for calculating parameters used for scaling connection weights.

[0093] As shown in FIG. 7A, in the calculation device 210, the output w of the connection weight generator 321 is ij raw 7A, possible values ​​(herein referred to as initial weights) are obtained. For the sake of convenience, the example in FIG. 7A shows that nine initial weights are obtained.

[0094] Next, the calculation device 210 calculates the eigenvalues ​​of the initial weights (eigenvalues ​​of linear algebra). In the example of FIG. 7A, λ is used as the eigenvalue of the initial weights. 1 , λ 2 , λ 3 This shows how the calculation was performed.

[0095] Next, the calculation unit 210 calculates the maximum absolute value of the eigenvalues. In the example of FIG. 7A, the maximum absolute value of the eigenvalues ​​is λ 1 Next, the calculation device 210 calculates the maximum absolute value of the eigenvalues ​​by multiplying the spectral radius r of the initial weight by sp Remember it as.

[0096] Here, the necessary condition for ESP is that 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 reservoir device 202, the spectral radius r calculated in the calculation device 210 is spis set in the nb-bit right shifter 322, and the output w of the connection weight generator is set in the nb-bit right shifter 322. ij raw For (1 / spectral radius r sp ) is multiplied by the nb-bit right shifter 322, so that the spectral radius of the combining weight output from the nb-bit right shifter 322 is less than 1 (so as to satisfy the necessary conditions of ESP).

[0097] (3-2-1) Details of the nb-bit right shifter Next, we will explain the details of the nb-bit right shifter 322 configured to satisfy the requirements of ESP. As described above, in order to satisfy the requirements of ESP, the nb-bit right shifter 322 shifts the output w of the connection weight generator ij raw For (1 / spectral radius r sp ) to perform scaling.

[0098] In this embodiment, the output w of the connection weight generator ij raw For (1 / spectral radius r sp ) to more easily perform the multiplication process, the spectral radius r sp This process is replaced by logarithmically quantizing the signal and using a bit shift operation. As a result, this embodiment makes it possible to achieve scaling with low resources.

[0099] 7B is a diagram illustrating an example of an nb-bit right shifter. As shown in FIG. 7B, the nb-bit right shifter 322 shifts the output w of the connection weight generator ij raw for nb bits (where nb = [log 2 r sp ]), and executes a shift operation to the right.

[0100] When the input sensor data (sensor data a') is too large, the nI-bit right shifter 312 scales it to obtain an optimal multiplication result by increasing the value of the nI bit.

[0101] Furthermore, in the case of the nF-bit right shifter 402, increasing the value of the nF bits reduces the feedback based on the prediction result data from one time period earlier. Conversely, decreasing the value of the nF bits increases the feedback. Therefore, the nF-bit right shifter 402 adjusts the degree of feedback in accordance with the characteristics of the prediction result data.

[0102] (3-3) Details of the M-bit Accumulation Circuit Next, we will explain the details of the M-bit accumulation circuit 324 included in the reservoir device 202. Figure 8 is a diagram showing an example of the detailed configuration of the M-bit accumulation circuit. As shown in Figure 8, the M-bit accumulation circuit 324 has an M-bit adder 801 and an M-bit register 802.

[0103] The M-bit adder 801 adds the output (w ij ) × (u j (t)) is input, and the input is added to the addition result output from the M-bit register 802.

[0104] The M-bit register 802 returns the addition result to the M-bit adder 801, and when additions for the number N of reservoir nodes are completed, it outputs the N addition results and then resets the addition results.

[0105] (3-4) Overview of the Activation Function Circuit Next, we will explain the overview of the activation function circuit 332 included in the reservoir device 202. As described above, tanh (hyperbolic tangent function) is generally used as the activation function when outputting reservoir features, but the activation function circuit 332 of this embodiment uses the activation function f.

[0106] Here, when considering the requirements for the activation function used to output reservoir features, the following can be listed: - It must be an odd function symmetric about the origin. - It must have nonlinearity. - It must be calculable by simple circuit calculation. - The output value must not exceed the range of ±1.

[0107] Therefore, in this embodiment, the activation function f that satisfies the above requirements is defined as follows: iIt is expressed using a fixed-point or floating-point polynomial calculation with variable (i = 1, 2, ... 2p-1). To make it an odd function symmetric about the origin, the even power (even function) term is multiplied by sgn(-x).

[0108] Specifically, the activation function f is

[0109] (where p is an odd number).

[0110] In the above equation (7), for example, p=5, coefficient a i = 1 (i = 1, 2, ... 2p-1), the activation function f is

[0111] For the sake of simplicity, the coefficient a i Let (i=1, 2, ..., 2p-1) be 1.

[0112] In this way, the activation function circuit 332 of this embodiment is configured to use the activation function f instead of tanh as a function that satisfies the necessary requirements for an activation function. As a result, according to this embodiment, it is no longer necessary to use a large-scale LUT in the activation function circuit 332, and the resources of the reservoir device 202 can be reduced.

[0113] (3-4-1) Details of the Activation Function Circuit Next, details of the activation function circuit 332 that executes the activation function f of the above equation (7) will be described. FIG. 9 is a diagram showing an example of a detailed configuration of the activation function circuit. As shown in FIG. 9, 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 calculator 904, an M-bit adder 905, an M-bit register 906, and a limiter circuit 907.

[0114] When the calculation result of the above equation (5) or the calculation result of the above equation (6) is input sequentially, the M-bit multiplier 901 multiplies the input by the multiplication result output from the M-bit register 902. The M-bit multiplier 901' multiplies the coefficient a corresponding to the multiplication result output from the M-bit multiplier 901. i(i=1, 2, . . . 2p−1) The M-bit multiplier 901 ′ also inputs the multiplication result to the M-bit adder 905 and the sgn calculator 904 .

[0115] The M-bit register 902 sequentially stores the multiplication results sequentially output from the M-bit multiplier 901 .

[0116] The sgn calculator 904 is an encoding decision circuit, which outputs a plus sign to odd-numbered multiplication results and a minus sign to even-numbered multiplication results among the multiplication results output from the M-bit multiplier 901'.

[0117] The M-bit adder 905 adds the odd-numbered multiplication results output from the M-bit multiplier 901' to the calculation result stored in the M-bit register 906. The M-bit adder 905 also subtracts the even-numbered multiplication results output from the M-bit multiplier 901' from the calculation result stored in the M-bit register 906. The M-bit adder 905 then inputs the calculation results obtained by the addition and subtraction to the M-bit register 906.

[0118] The M-bit register 906 sequentially stores the calculation results sequentially output from the M-bit adder 905. When all the calculation results are stored in the M-bit register 906, all the calculation results are read out by the limiter circuit 907.

[0119] The limiter circuit 907 reads all calculation results from the M-bit register 906, and if any calculation results exceed the upper or lower limit values, replaces the calculation results that exceed the upper or lower limit values ​​with the upper or lower limit values ​​and outputs them.

[0120] (3-4-2) Details of the Limiter Circuit in the Activation Function Circuit 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 limiter circuit. As shown in FIG. 10, the limiter circuit 907 has an M-bit adder 1001, an M-bit adder 1002, and an M-bit selector 1003.

[0121] The M-bit adder 1001 takes as input all the calculation results read from the M-bit register 906, calculates the difference from the upper limit value, and inputs the sign bit indicating the sign (+ or -) of the calculation result to the M-bit selector 1003.

[0122] The M-bit adder 1002 takes as input all the calculation results read from the M-bit register 906, calculates the difference from the lower limit value, and inputs the sign bit indicating the sign (+ or -) of the calculation result to the M-bit selector 1003.

[0123] The M-bit selector 1003 receives all the calculation results read from the M-bit register 906 as input, and selects and outputs either the calculation result or the upper limit value depending on the sign bit input from the M-bit adder 1001.

[0124] Similarly, the M-bit selector 1003 receives all the calculation results read from the M-bit register 906 as input, and selects and outputs either the calculation result or the lower limit value depending on the sign bit input from the M-bit adder 1002.

[0125] (3-4-3) Coefficient a set in the activation function circuit i (i=1, 2, . . . 2p-1) Next, the coefficient a set in the activation function circuit 332 i The details of the process of the adjustment device 220 for adjusting (i=1, 2, . . . 2p-1) will be described below. Fig. 11 is a diagram showing a specific example of the process of the adjustment device for adjusting the coefficients of the polynomial of the activation function.

[0126] As described above, the adjustment device 220 adjusts the coefficient a used in the processing of the activation function circuit 332. i (i=1, 2, ..., 2p-1) are calculated in advance and set in a coefficient memory 903 (an example of a storage unit). Specifically, as shown in Fig. 11, the adjustment device 220 has first coefficient adjustment units 1111, second coefficient adjustment units 1112, ..., the number of which corresponds to the number of sensor data.

[0127] For example, the first coefficient adjustment unit 1111 adjusts the coefficient a i(i=1, 2, . . . 2p-1). In addition, the second coefficient adjustment unit 1112 adjusts the coefficient a i (i=1, 2, ... 2p-1) is adjusted.

[0128] 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. The coefficients a i The method of adjusting (i=1, 2, . . . 2p-1) is arbitrary.

[0129] For example, as explained using the above equation (8), when p=5, the coefficient a i When (i=1, 2, ..., 2p-1)=1, the activation function f takes a value as indicated by reference numeral 1121 in Fig. 11. Note that the activation function f taking a value as indicated by reference numeral 1121 has a large storage capacity when the order is low, and the storage capacity becomes zero when the order is high. The storage capacity here is an index that indicates how far back in the sensor data the reservoir device uses to calculate the reservoir feature.

[0130] Therefore, in the case of the activation function f taking the value shown by the reference numeral 1121, it is effective when it is desired to calculate the reservoir feature using values ​​as old as possible, even though it is low-order, i.e., when the characteristics of the sensor data are linear or weakly nonlinear.

[0131] On the other hand, p=5, and the coefficient a i For example, suppose that a gradient as shown in the following formula (9) is applied to (i=1, 2, . . . 2p-1).

[0132] In this case, the activation function f takes a value as indicated by reference numeral 1122 in Fig. 11. Note that the activation function f taking a value as indicated by reference numeral 1122 has a low storage capacity regardless of whether the degree is low or high (however, the storage capacity does not become zero).

[0133] Therefore, the activation function f that takes the value indicated by the reference numeral 1122 is effective when it is desired to calculate the reservoir feature using a high-order value, that is, when the characteristics of the sensor data are nonlinear.

[0134] In this way, by expressing the activation function f using fixed-point or floating-point polynomial calculation, the reservoir device 202 of this embodiment makes it possible to calculate reservoir features according to the characteristics of the sensor data.

[0135] (4) Details of the Functional Configuration of the Process State Prediction Unit 204 Next, details of the functional configuration of the process state prediction unit 204 will be described. As described above, the process state prediction unit 204 operates over a plurality of periods. Therefore, the relationship between the periods will be described below first using transition diagrams of the periods, and then the functional configuration of the process state prediction unit 204 for each period will be described.

[0136] (4-1) Relationship Between Each Period Figure 12 is an example of a transition diagram of each period through which the process state prediction unit transitions. As shown in Figure 12, when processing by the process state prediction system 128 starts, the process state prediction unit 204 transitions to one of the periods (the learning period, the prediction period, or the relearning period) and starts operation. However, for simplicity of explanation, the case where operation starts after transitioning to the learning period will be described here.

[0137] When switching information is input from the management device 123 and the learning period begins (arrow Tr1), the process state prediction unit 204 performs a learning process for a predetermined learning time using the reservoir feature and the process state data (correct data) to calculate weight parameters.

[0138] When the learning process is completed, the process state prediction unit 204 outputs end information, and transitions to the prediction period (arrow Tr2) upon receiving switching information from the management device 123. During the prediction period, the process state prediction unit 204 performs prediction processing based on the calculated weight parameters, and outputs prediction result data based on the reservoir feature quantities.

[0139] While the process state prediction unit 204 is performing prediction processing during the prediction period, the management device 123 determines whether relearning is necessary, and if it determines that relearning is necessary, inputs switching information to the process state prediction unit 204. As a result, the process state prediction unit 204 transitions to the relearning period (arrow Tr3).

[0140] During the relearning period, the process state prediction unit 204 performs a relearning process while changing the learning parameter set (details will be described later), thereby calculating weight parameters for each learning parameter set. The process state prediction unit 204 then performs a prediction process with each calculated weight parameter set set and outputs prediction result data. The management device 123 also identifies weight parameters that correspond to the prediction result data with the highest prediction accuracy within the allowable range, and inputs switching information to the process state prediction unit 204. This causes the process state prediction unit 204 to transition to the prediction period (arrow Tr4).

[0141] (4-2) Functional Configuration of the Process State Prediction Unit 204 During the Learning Period Next, the functional configuration of the process state prediction unit 204 during each period will be described. First, the functional configuration of the process state prediction unit 204 during the learning period will be described. Fig. 12 is a diagram showing an example of the functional configuration of the process state prediction unit during the learning period.

[0142] 12, during the learning period, the process state prediction unit 204 functions as a FORCE learning unit 1200 using the recursive least squares method. In this embodiment, a "learning parameter set 0" is set in the FORCE learning unit 1200 using the recursive least squares method, and the FORCE learning unit 1200 performs FORCE learning processing using the recursive least squares method according to the following processing procedure (see reference numeral 1201). In the following figures, "τ" represents the time axis of the process state prediction unit 204, which is one clock behind real time (t) (τ=t-1). Therefore, for example, S(τ+1) in the figure is expressed in real time as S(t).

[0143] 1) Calculation of Output Data When the FORCE learning unit 1200 acquires the reservoir feature (R vector), it calculates the output data (Z) by multiplying it by a transposed vector obtained by transposing the sequential weight parameter (W vector). Note that in this embodiment, the sequential weight parameter (W vector) refers to a weight parameter that is sequentially updated during the FORCE learning process using the sequential least squares method.

[0144] 2) Calculation of Error The FORCE learning unit 1200 calculates the error (e) between the output data (Z) and the process state data (S).

[0145] 3) Calculation of Coefficient Matrix The FORCE learning unit 1200 calculates a coefficient matrix (P matrix) used to sequentially calculate weight parameters (W vectors).

[0146] 4) Calculation of Sequential Weighting Parameters The FORCE learning unit 1200 sequentially updates the weighting parameters (W vector) based on the calculated error (e), the acquired reservoir features (R vector), and the calculated coefficient matrix (P matrix).

[0147] The FORCE learning unit 1200 calculates the weight parameters by repeating the above processes 1) to 4) for a predetermined learning time.

[0148] (4-3) Functional Configuration of the Process State Prediction Unit 204 During the Prediction Period Next, a functional configuration of the process state prediction unit 204 during the prediction period will be described. Fig. 14 is a diagram showing an example of the functional configuration of the process state prediction unit during the prediction period.

[0149] 14, during the prediction period, the process state prediction unit 204 functions as a FORCE learning unit 1300 using the recursive least squares method. In this embodiment, the FORCE learning unit 1300 is set with weight parameters calculated by the FORCE learning process performed by the FORCE learning unit 1200, and is in a state where prediction result data (Z) can be output. The FORCE learning unit 1300 performs prediction processing using the following processing procedure (see reference numeral 1301).

[0150] 1) The FORCE learning unit 1300 sets the weight parameters (W vector) calculated by performing the FORCE learning process.

[0151] 2) When the FORCE learning unit 1300 acquires the reservoir feature (R vector), it multiplies it by a transposed vector obtained by transposing the weight parameter (W vector) and outputs prediction result data (Z).

[0152] (4-4) Functional Configuration of the Process State Prediction Unit 204 During the Re-learning Period Next, the functional configuration of the process state prediction unit 204 during the re-learning period will be described. Figures 15A and 15B are first and second diagrams showing an example of the functional configuration of the process state prediction unit during the re-learning period.

[0153] As shown in FIGS. 15A and 15B, during the re-learning period, the process state prediction unit 204 functions as FORCE learning units 1200_1 to 1200_M using the recursive least squares method and FORCE learning units 1300_1 to 1300_M using the recursive least squares method.

[0154] In this embodiment, the FORCE learning unit 1200_1 in FIG. 15A is set with "learning parameter set 1," and FORCE learning processing using the recursive least squares method is performed according to the processing procedure (see reference numeral 1201) described in FIG. 13 .

[0155] 15B indicates a state in which weight parameters calculated by the FORCE learning process performed by the FORCE learning unit 1200_1 are set and prediction result data (Z) can be output. Upon acquiring reservoir features, the FORCE learning unit 1300_1 multiplies the weight parameters by a transposed vector, thereby outputting prediction result data.

[0156] Similarly, the "learning parameter set 2" is set in the FORCE learning unit 1200_2 in FIG. 15A, and FORCE learning processing using the recursive least squares method is performed according to the processing procedure (see reference numeral 1201) described in FIG.

[0157] 15B indicates a state in which weight parameters calculated by the FORCE learning process performed by the FORCE learning unit 1200_2 are set and prediction result data (Z) can be output. Upon acquiring reservoir features, the FORCE learning unit 1300_2 multiplies the weight parameters by a transposed vector, thereby outputting prediction result data.

[0158] Similarly, a "learning parameter set M" is set in the FORCE learning unit 1200_M in FIG. 15A, and FORCE learning processing using the recursive least squares method is performed according to the processing procedure (see reference numeral 1201) described in FIG.

[0159] 15B indicates a state in which weight parameters calculated by performing the FORCE learning process in FORCE learning unit 1200_M are set and prediction result data (Z) can be output. Upon acquiring reservoir features, FORCE learning unit 1300_M multiplies the weight parameters by a transposed vector, thereby outputting prediction result data.

[0160] As described above, when processing is completed during the relearning period using the functional configuration shown in Figures 15A and 15B, the process transitions to the prediction period again, where processing is performed using the functional configuration shown in Figure 14. However, during the prediction period after relearning, the process state prediction unit 204 functions as FORCE learning unit 1300_X using the recursive least squares method. Here, FORCE learning unit 1300_X refers to any of FORCE learning units 1300_1 to 1300_M: a FORCE learning unit to which "learning parameter set X" is set; and a FORCE learning unit to which the output prediction result data is within a predetermined allowable range and to which the weight parameters with the highest prediction accuracy are set. Note that learning parameter set X is the learning parameter set used when the output prediction result data is within a predetermined allowable range and the weight parameters with the highest prediction accuracy are calculated.

[0161] (5) Details of the Hardware Configuration of the FORCE Learning Unit Using the Recursive Least Squares Method Next, the hardware configuration of the FORCE learning unit that functions as the FORCE learning units 1200, 1200_1 to 1200_M, 1300, and 1300_1 to 1300_M using the recursive least squares method will be described. Note that in this embodiment, the FORCE learning units 1200, 1200_1 to 1200_M, 1300, and 1300_1 to 1300_M use common hardware, and therefore will be described below as the hardware configuration of the FORCE learning unit 1200.

[0162] (5-1) Overall Configuration FIG. 16 is a diagram showing an example of the hardware configuration of a FORCE learning unit using the recursive least squares method.

[0163] 16, the FORCE learning unit 1200 using the recursive least squares method includes: a plurality of FPGAs (Field Programmable Gate Arrays) functioning as PEs (Processing Elements) (25 in the example of FIG. 16), and a plurality of FPGAs functioning as FPEs (Functional PEs) (5 in the example of FIG. 16). Note that the FPGA portion in FIG. 16 may be realized by a dedicated chip.

[0164] Among these, the multiple FPGAs functioning as PEs each execute step 3) of the FORCE learning procedure using the recursive least squares method described with reference to FIG. 13 , which is step 1) to 4), to calculate the coefficient matrix. Specifically, each of the multiple FPGAs functioning as PEs calculates the coefficient matrix (P matrix) using the following procedure: (i) When a portion of the reservoir feature (R vector) is input via signal line 1601, the FPGA calculates the product of the portion of the coefficient matrix (P matrix) and the reservoir feature (R vector) via signal line 1601, and transfers the calculation result to an adjacent FPGA via signal line 1602. (ii) From the FPGA functioning as FPE, a matrix for calculating the product of a transposed vector obtained by transposing a portion of the reservoir feature (R vector) and a portion of the coefficient matrix (P matrix) is obtained via signal line 1603. Furthermore, the obtained matrix is ​​used to calculate the product of a transposed vector obtained by transposing a portion of the reservoir feature (R vector) and a portion of the coefficient matrix (P matrix). (iii) The FPGA functioning as the FPE acquires the calculation result of the product of a transposed vector obtained by transposing a part of the reservoir feature (R vector), a part of the coefficient matrix (P matrix), and a part of the reservoir feature (R vector) via a signal line 1604. (iv) The entire coefficient matrix (P matrix) is updated using the calculation results calculated by executing the above steps (i) to (iii) or the acquired results.

[0165] Each of the multiple FPGAs functioning as PEs repeatedly executes the above steps (i) to (iv).

[0166] Meanwhile, each of the multiple FPGAs functioning as FPEs executes steps 1) to 4) of the FORCE learning process using the recursive least squares method described with reference to FIG. 13 , including steps 4) calculating the recursive weight parameters and 1) calculating the output data. Specifically, each of the multiple FPGAs functioning as FPEs calculates the recursive weight parameters and the output data according to the following procedures: (i) an FPGA functioning as a PE acquires, via signal line 1602, a calculation result of the product of a portion of the coefficient matrix (P matrix) and a portion of the reservoir feature (R vector); (ii) a matrix for calculating the product of a transposed vector obtained by transposing a portion of the reservoir feature (R vector) and a portion of the coefficient matrix (P matrix) is generated, and transmitted to the multiple FPGAs functioning as PEs via signal line 1603; and (iii) a calculation result of the product of a transposed vector obtained by transposing a portion of the reservoir feature (R vector) and a portion of the coefficient matrix (P matrix) is acquired. In addition, the acquired calculation result is multiplied by a portion of the reservoir feature (R vector), and the calculation result is transmitted to the multiple FPGAs functioning as PEs via signal line 1604. (iv) A portion of the output data (Z) is calculated by calculating the product of a transposed vector obtained by transposing a portion of the sequential weight parameter (W vector) and a portion of the reservoir feature (R vector) acquired via signal line 1601. (v) An error (e) is acquired, and the entire sequential weight parameter (W vector) is updated using the calculation result of (i) above.

[0167] Each of the multiple FPGAs functioning as FPEs repeatedly executes the above steps (i) to (v).

[0168] On the other hand, among the multiple FPGAs functioning as FPEs, the FPGA located at the final stage performs 4) sequential weight parameter calculation, 1) output data calculation, and 2) error calculation. Specifically, among the multiple FPGAs functioning as FPEs, the FPGA located at the final stage calculates the error by the following procedure: (i) tallying all of the portions of the output data (Z) acquired from the FPGAs located above, and calculating the difference from the process status data (S) to calculate the error (e). The calculated error (e) is also transmitted to each of the FPGAs located above.

[0169] In this way, the FORCE learning unit 1200 using the recursive least squares method realizes FORCE learning processing using the recursive least squares method by executing processing steps 1) to 4) using multiple FPGAs functioning as PEs and multiple FPGAs functioning as FPEs.

[0170] (5-2) Details of Processing by Each FPGA Next, details of processing by each FPGA included in the FORCE learning unit 1200 using the recursive least squares method will be described.

[0171] (5-2-1) Details of Processing of FPGA Functioning as PE, Part 1 First, details of processing of FPGA functioning as PE will be described. As described above, when the FPGA functioning as PE receives the reservoir feature (R vector), it calculates the product with the coefficient matrix (P matrix).

[0172] At this time, in the FORCE learning unit 1200 using the recursive least squares method, each of the multiple FPGAs arranged vertically and functioning as PEs calculates the product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature (R vector). As a result, the FORCE learning unit 1200 using the recursive least squares method can perform, in parallel, the process of multiplying parts of different coefficient matrices (P matrices) by parts of the same reservoir feature (R vector).

[0173] In addition, in the FORCE learning unit 1200 using the recursive least squares method, each of the multiple PEs arranged horizontally serially processes a portion of the reservoir feature (R vector) that is divided into time-series data.

[0174] In this way, when implementing FORCE learning processing using the recursive least squares method, the number of calculations performed by one FPGA can be reduced by combining parallel processing and serial processing. As a result, the FORCE learning unit 1200 using the recursive least squares method can speed up the FORCE learning processing.

[0175] 17 and 18 are first and second diagrams showing parallel processing and serial processing realized in the FORCE learning unit using the recursive least squares method. For simplicity of explanation, the number of output electrodes is set to "4" (the reservoir feature (R vector) has four elements). Also, the diagrams show a case where only two FPGAs functioning as PEs are arranged vertically and two horizontally (a total of four FPGAs) (see FPGAs 1721, 1722, 1723, and 1724).

[0176] Here, let us assume that the multiplication of the coefficient matrix (P matrix) and the reservoir feature (R vector) is performed using one FPGA. In this case, 16 multiplications are required, as shown by reference numeral 1710. On the other hand, by arranging two FPGAs functioning as PEs vertically, the number of multiplications can be halved. Furthermore, by arranging two FPGAs functioning as PEs horizontally and dividing the reservoir feature (R vector) into two and inputting them into each FPGA, the number of multiplications can be further halved.

[0177] In FIG. 17, reference numeral 1730 denotes a part of the reservoir feature (R vector) of the divided R vector (r 1 , r 2 ) is input to the FPGAs 1721 and 1722, and the FPGAs 1721 and 1722 each perform four multiplications.

[0178] In addition, in FIG. 18, reference numeral 1830 denotes a part of the reservoir characteristic quantity (R vector) divided into two (r 3 , r 4 ) is input to the FPGAs 1723 and 1724. Reference numeral 1830 indicates that the FPGAs 1723 and 1724 have each performed four multiplications.

[0179] In this way, the FORCE learning unit 1200 using the recursive least squares method is configured by arranging multiple FPGAs functioning as PEs vertically and horizontally, and each FPGA is configured to perform part of the matrix operations of multiple rows and columns performed in the FORCE learning process.

[0180] As a result, the FORCE learning unit 1200 using the recursive least squares method can speed up the FORCE learning process using the recursive least squares method.

[0181] (5-2-2) Details of Processing by FPGA Functioning as PE, Part 2 Next, we will explain the details of the transfer process as the processing by the FPGA functioning as PE. As described above, the FPGA functioning as PE transfers the calculation result of the product of the coefficient matrix (P matrix) and the reservoir feature (R vector) to the adjacent FPGA. Figure 19 is a first diagram showing the transfer process realized in the FORCE learning unit using the recursive least squares method.

[0182] Of these, 19a in FIG. 19 is a part of the reservoir feature (R vector) divided into two (r 1 , r 2 19A shows how the FPGAs 1721 and 1722 each execute the multiplication of the P matrix (P) and a part of the coefficient matrix (P matrix). 19A in FIG. 19A shows how the FPGAs 1721 and 1722 transfer the execution results to the FPGAs 1723 and 1724.

[0183] As shown in 19a of FIG. 19, the FPGA 1721 outputs the calculation result p 11 r 1 +p 12 r 2 and p 21 r 1 +p 22 r 2 The above is transferred to the FPGA 1723 over one clock. 31 r 1 +p 32 r 2 and p 41 r 1 +p 42 r 2 and are transferred to the FPGA 1724 over one clock. 31 r 1 +p 32 r 2 and p 41 r 1 +p 42 r 2is a part of the reservoir feature (R vector) transferred from FPGA 1721 to FPGA 1722 over one clock (r 1 , r 2 ) and a part of the coefficient matrix (P matrix).

[0184] On the other hand, 19b in FIG. 19 is a part of the reservoir feature (R vector) divided into two (r 3 , r 4 19 shows how the FPGAs 1723 and 1724 each execute the multiplication of the P matrix (P) and a part of the coefficient matrix (P matrix). 19b in FIG. 19 also shows how the FPGAs 1723 and 1724 transfer the execution results to the adjacent FPGA (not shown) on the right side.

[0185] As shown in 19b of FIG. 19, the FPGA 1723 outputs the calculation result p 13 r 3 +p 14 r 4 is the transfer result p 11 r 1 +p 12 r 2 The result of addition is transferred to an FPGA (not shown). 23 r 3 +p 24 r 4 is the transfer result p 21 r 1 +p 22 r 2 The result of the addition is transferred to an FPGA (not shown).

[0186] Similarly, the FPGA 1724 outputs the calculation result p 33 r 3 +p 34 r 4 is the transfer result p 31 r 1 +p 32 r 2 The result of addition is transferred to an FPGA (not shown). 43 r 3 +p 44 r4 is the transfer result p 41 r 1 +p 42 r 2 The result of the addition is transferred to an FPGA (not shown).

[0187] (5-2-3) Details of Processing of FPGA Functioning as FPE Part 1 Next, details of processing of FPGA functioning as FPE will be described. As described above, the FPGA functioning as FPE executes "substitution processing" to generate a matrix for calculating "the product of a transposed vector obtained by transposing a part of the reservoir feature (R vector) and a part of the coefficient matrix (P matrix)" used in calculating the coefficient matrix (P matrix).

[0188] FIG. 20 is a diagram showing the substitution process implemented in the FORCE learning unit using the recursive least squares method. 20a in FIG. 20 shows the relationship between the calculation of the coefficient matrix (P matrix) and the substitution process. As shown in 20a in FIG. 20, when calculating the coefficient matrix (P matrix), the "product of the transposed matrix obtained by transposing the reservoir feature (R vector) and the coefficient matrix (P matrix)" (reference numeral 2001) to be calculated is a symmetric matrix (has symmetry). Therefore, the coefficient matrix (P matrix) is equal to the transposed matrix obtained by transposing the coefficient matrix (P matrix).

[0189] Therefore, "the product of the transposed matrix obtained by transposing the reservoir feature (R vector) and the coefficient matrix (P matrix)" (symbol 2001) is equal to "the product of the transposed matrix obtained by transposing the reservoir feature (R vector) and the transposed matrix obtained by transposing the coefficient matrix (P matrix)" (symbol 2002). In other words, it is equal to "the transposed matrix obtained by transposing the product of the reservoir feature (R vector) and the coefficient matrix (P matrix)" (symbol 2003).

[0190] Here, the "product of the reservoir feature (R vector) and the coefficient matrix (P matrix)" has already been calculated at the time of calculating this product (reference numeral 2004). Therefore, by transposing this calculation result using symmetry, it can be used as a substitute for the "product of the transposed matrix obtained by transposing the reservoir feature (R vector) and the coefficient matrix (P matrix)" (reference numeral 2001).

[0191] 20b in FIG. 20 shows a formula after substitution when, in the calculation of the coefficient matrix (P matrix), "the product of the transposed matrix obtained by transposing the reservoir feature (R vector) and the coefficient matrix (P matrix)" (reference numeral 2001) is replaced with "the transposed matrix obtained by transposing the product of the reservoir feature (R vector) and the coefficient matrix (P matrix)" (reference numeral 2003).

[0192] The right side of 20c in FIG. 20 represents the calculation result, and pr 1 , pr 2 , pr 3 , pr 4 The upper left element of this matrix indicates which pr is required for each element of the right-hand side of the matrix. 1 , pr 2 The bottom left and top right elements are 1 , pr 2 , pr 3 , pr 4 and the bottom right element is pr 3 , pr 4 requires.

[0193] 20d shows a state in which an FPGA (not shown) functioning as an FPE transmits vectors for calculating the following to the FPGAs 1721 to 1724 via a signal line 1603: "the product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature (R vector)"; and "a transposed vector obtained by transposing the product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature (R vector)." Furthermore, 20d of FIG. 20 shows a state in which the FPGAs 1721 to 1724 calculate the product of the following: "the product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature (R vector)"; and "a transposed vector obtained by transposing the product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature (R vector)."

[0194] Specifically, FPGA 1721 calculates the product of the upper left elements of the matrix on the right side of 20c in FIG. 20, FPGA 1722 calculates the product of the lower left elements, FPGA 1723 calculates the product of the upper right elements, and FPGA 1724 calculates the product of the lower right elements.

[0195] In this way, in the FORCE learning unit 1200 using the recursive least squares method, when performing an operation including a transposed vector executed in the FORCE learning process using the recursive least squares method, the operation result of the operation that does not include a transposed vector is obtained and replaced by transposing the obtained operation result.

[0196] As a result, the FORCE learning unit 1200 using the recursive least squares method can reduce the number of calculations required to perform the FORCE learning process using the recursive least squares method. As a result, the FORCE learning unit 1200 using the recursive least squares method can speed up the FORCE learning process.

[0197] (5-2-4) Details of Processing of FPGA Functioning as FPE, Part 1 Next, details of the transfer process of the FPGA functioning as FPE will be described. As described above, when a portion of the reservoir feature (R vector) is input, the FPGA functioning as FPE sequentially calculates the product with a portion of the weight parameter (W vector), and transfers a portion of the output data (Z) that is the calculation result to an adjacent FPGA. Figure 21 is a second diagram showing the transfer process realized in the FORCE learning unit using the recursive least squares method.

[0198] As shown in FIG. 21, the FPGA 2111 divides the reservoir feature (R vector) into two parts, and calculates the reservoir feature (r 1 , r 2 ), and (w 1 , w 2 ) and the product of w 1 r 1 +w 2 r 2 is transferred to FPGA2112 over one clock.

[0199] In addition, the FPGA 2112 calculates a part of the reservoir feature (R vector) (r 3 , r 4 ) and a part of the sequential weight parameter (W vector) (w3 , w 4 The FPGA 2112 also adds the calculation result (reference numeral 2102) to the calculation result (reference numeral 2101) transferred from the FPGA 2111 to obtain an addition result (reference numeral 2103).

[0200] (5-2-5) Details of Processing by FPGA Functioning as FPE, Part 2 Next, details of processing by the FPGA functioning as FPE will be described. As described above, the FPGA functioning as FPE acquires the calculation result of the product of a part of the reservoir feature (R vector) and a part of the coefficient matrix (P matrix). Furthermore, the FPGA functioning as FPE calculates the product of a part of the reservoir feature (R vector), a part of the coefficient matrix (P matrix), and a transposed vector obtained by transposing a part of the reservoir feature (R vector) acquired via signal line 1601. Furthermore, the FPGA functioning as FPE executes a distribution process to distribute the calculation result to the FPGA functioning as PE.

[0201] 22 is a diagram showing a distribution process realized in the FORCE learning unit using the recursive least squares method. As shown in FIG. 22, the FPGA 2111 functioning as the FPE acquires a calculation result (reference numeral 2201) of the product of a part of the coefficient matrix (P matrix) and a part of the R vector from the corresponding FPGA functioning as the PE. The FPGA 2111 functioning as the FPE also acquires the acquired calculation result (reference numeral 2201) and a part (r 1 , r 2 ) and a transposed vector, and transfers the result of the calculation (reference numeral 2202 ) to the FPGA 2112 .

[0202] Similarly, the FPGA 2112 functioning as an FPE acquires the calculation result (reference numeral 2203) of the product of a part of the coefficient matrix (P matrix) and a part of the R vector from the corresponding FPGA functioning as a PE. Also, the FPGA 2112 functioning as an FPE combines the acquired calculation result (reference numeral 2202) with a part (r 3 , r 4) and a transposed vector. The FPGA 2112 functioning as an FPE adds the calculation result to the calculation result (reference numeral 2202) transferred from the FPGA 2111. The FPGA 2112 functioning as an FPE transfers the addition result (reference numeral 2204) via signal line 1604 to the FPGAs 1721 to 1724 functioning as PEs.

[0203] As a result, the FPGAs 1721 to 1724 can each calculate a part of the coefficient matrix (P matrix). For example, in the case of the FPGA 1721, the "product of a part of the reservoir feature (R vector) and a part of the coefficient matrix (P matrix)" (reference numeral 2004) is calculated in advance. The "product of a transposed vector obtained by transposing a part of the reservoir feature (R vector) and a part of the coefficient matrix (P matrix)" (reference numeral 2001) is calculated by substitution processing based on the matrix acquired via the signal line 1603, as described in FIG. 20 . The "product of a transposed vector obtained by transposing a part of the reservoir feature (R vector), a part of the coefficient matrix (P matrix), and a part of the reservoir feature (R vector)" (reference numeral 2204) is acquired via the signal line 1604.

[0204] This allows FPGA1721 to FPGA1724 to calculate the coefficient matrix (P matrix).

[0205] (5-2-6) Details of Processing by FPGAs Functioning as FPEs, Part 3 Next, details of processing by FPGAs functioning as FPEs will be described. As described above, among the FPGAs functioning as FPEs, the FPGA located at the final stage sequentially calculates weight parameters, calculates output data, and also calculates errors.

[0206] 23 is a diagram showing the weight parameter update process realized in the FORCE learning unit using the recursive least squares method. As shown in FIG. 23, the FPGA 2112 located at the final stage updates a part of the output data (Z) (= w 3 r 3 +w 4 r 4 ) is calculated. The FPGA 2112 located at the final stage calculates a part (= w1 r 1 +w 2 r 2 ) to aggregate the output data (Z).

[0207] The FPGA 2112 located at the final stage calculates the difference between the aggregated output data (Z) and the process status data (S) to calculate an error (e) (reference numeral 2301). The FPGA 2112 located at the final stage then transmits the calculated error (e) to the FPGA 2111 located above. The FPGAs 2111 and 2112 use the calculated error (e) to sequentially update the weight parameters.

[0208] For example, the FPGA 2111 acquires the calculation result (reference numeral 2201) of the product of a part of the reservoir feature (R vector) and a part of the coefficient matrix (P matrix).The FPGA 2111 then multiplies the result by an error (e) acquired from the FPGA 2112 and subtracts the result from the current sequential weight parameter (W vector).This allows the FPGA 2111 to update the sequential weight parameter (W vector) (reference numeral 2302).

[0209] (5-3) Timing Chart of FORCE Learning Process by FORCE Learning Unit 1200 Using Recursive Least Squares Method Next, a timing chart of FORCE learning process by FORCE learning unit 1200 using recursive least squares method will be described. Fig. 24 is an example of a timing chart of FORCE learning process by the FORCE learning unit using recursive least squares method.

[0210] As shown in FIG. 24, the FPGA functioning as the FPE calculates the output data (Z(τ)) by calculating the product of: a sequential weight parameter (W(τ-1) vector); and a reservoir feature (R(τ) vector) (reference numeral 2401).

[0211] Furthermore, the FPGA functioning as the FPE calculates an error (e(τ)) based on the output data (Z(τ)) and the process state data (S(τ)) (reference numeral 2402).

[0212] In addition, the FPGA functioning as a PE calculates a coefficient matrix (P(τ) matrix) based on: - a product of a transposed vector obtained by transposing the reservoir feature (R vector (τ)), a coefficient matrix (P(τ-1) matrix), and the reservoir feature (R vector (τ)); - a product of the coefficient matrix (P(τ-1) matrix) and the reservoir feature (R vector (τ)); and - a coefficient matrix (P(τ-1) matrix) (symbol 2403).

[0213] The FPGA functioning as a PE also calculates the product of the coefficient matrix (P(τ) matrix) and the reservoir feature (R(τ) vector) (reference numeral 2404). The FPGA functioning as a PE also calculates the product of the coefficient matrix (P(τ+1) matrix) and the reservoir feature (R(τ) vector) (reference numeral 2405).

[0214] In addition, the FPGA functioning as a PE calculates the product of: a transposed vector obtained by transposing the reservoir feature (R(τ+1) vector); and the product of the coefficient matrix (P(τ) matrix) and the reservoir feature (R(τ+1) vector) (symbol 2406).

[0215] Next, the FPGA functioning as the FPE calculates the product of: the calculation result of the product of the coefficient matrix (P(τ) matrix) and the reservoir feature (R(τ) vector); and the error (e(τ)) (reference number 2407).

[0216] Furthermore, the FPGA functioning as the FPE updates and calculates the sequential weight parameters (W(τ) vector) based on: a calculation result of the product of the coefficient matrix (P(τ) matrix), the reservoir feature (R(τ) vector), and the error (e(τ)); and a sequential weight parameter (W(τ-1) vector) (reference numeral 2408).

[0217] As a result, the FPGA functioning as the FPE can calculate the output data (Z(τ+1)). Thereafter, the same process is repeated as the system time elapses.

[0218] 24, the FORCE learning unit 1200 using the recursive least squares method is configured so that the execution timings of the products of the reservoir feature amount (R vector) and the coefficient matrix (P matrix), which are executed between the calculation of the recursive weight parameter (W(τ-1) vector), and the calculation of the recursive weight parameter (W(τ) vector), overlap with each other. Specifically, the FORCE learning unit 1200 using the recursive least squares method adjusts the execution timings by buffering the calculation results in the FPGA functioning as the PE and the FPGA functioning as the FPE.

[0219] As a result, the FORCE learning unit 1200 using the recursive least squares method can reduce the time required to update the weight parameters sequentially.

[0220] As described above, the process state prediction unit 204 is configured with hardware that performs FORCE learning processing using the recursive least squares method, and executes processing for sequentially updating the weight parameters at high speed. As a result, the process state prediction unit 204 can learn the weight parameters by capturing short behaviors that appear in the sensor data.

[0221] According to the present applicant, the time required for the FORCE learning unit 1200 to update the weight parameters sequentially using the recursive least squares method is 960 ns when each FPGA is operated at 200 MHz.

[0222] <Details of Management Device> Next, details of the management device 123 connected to the process state prediction system 128 will be described.

[0223] (1) Hardware Configuration of Management Device 123 First, a description will be given of the hardware configuration of the management device 123. Fig. 25 is a diagram illustrating an example of the hardware configuration of the management device.

[0224] 25 , 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. The hardware components of the management device 123 are connected to each other via a bus 2507.

[0225] The processor 2501 has various computing devices such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. The processor 2501 reads various programs (for example, a management program, etc.) into the memory 2502 and executes them.

[0226] 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 onto the memory 2502, causing the computer to realize various functions.

[0227] The auxiliary storage device 2503 stores various programs and various data used when the various programs are executed by the processor 2501. A data storage unit 2607, which will be described later, is realized in the auxiliary storage device 2503.

[0228] The I / F device 2504 is a connection device that connects to the process state prediction system 128 .

[0229] The UI device 2505 is a user interface device that allows an administrator of the management device 123 to input various instructions to the management device 123. The communication device 2506 is a communication device that communicates with an external device (not shown) via a network.

[0230] (2) Functional Configuration of Management Unit 124 Next, the functional configuration of the management unit 124 of the management device 123 will be described. Fig. 26 is a diagram showing an example of the functional configuration of the management unit. As described above, a management program is installed in the management device 123, and by executing this program, the management unit 124 of the management device 123 functions as: a process status data transmission unit 2601, a process status data acquisition unit 2602, a period control unit 2603, an end information acquisition unit 2604, a relearning determination unit 2605, an evaluation unit 2606, a reservoir feature acquisition unit 2608, and a batch learning unit 2609.

[0231] The process status data transmitting unit 2601 acquires, for example, sensor data b transmitted from the sensor b 122b as process status data (correct answer data) via the process status data acquiring unit 2602 based on a transmission start / stop instruction from the period control unit 2603. Furthermore, the process status data transmitting unit 2601 transmits the acquired process status data (correct answer data) to the process status prediction system 128. The process status data transmitted by the process status data transmitting unit 2601 includes process status data transmitted during the learning period and process status data transmitted during the relearning period.

[0232] The process status data acquiring unit 2602 acquires the sensor data b transmitted from the sensor b 122 b, and notifies the process status data transmitting unit 2601 and the batch learning unit 2609 of the acquired sensor data b as process status data.

[0233] The period control unit 2603 transmits various types of switching information to the process state prediction system 128. As shown in Fig. 26, the various types of switching information transmitted by the period control unit 2603 include: an instruction to transition to a learning period, an instruction to transition to a prediction period, an instruction to transition to a relearning period, an instruction to switch the learning parameter set, and an instruction to set weight parameters.

[0234] When processing of the process state prediction system 128 starts, the period control unit 2603 sends an instruction to the process state prediction system 128 to transition to a learning period, and also instructs the process state data transmission unit 2601 to start transmitting process state data.

[0235] Furthermore, when the period control unit 2603 receives the end information of the FORCE learning process from the end information acquisition unit 2604, it transmits an instruction to transition to the prediction period to the process state prediction system 128. At that time, the period control unit 2603 instructs the process state data transmission unit 2601 to stop transmitting the process state data.

[0236] Furthermore, when the period control unit 2603 receives a determination result that relearning is necessary from the relearning determination unit 2605, it transmits an instruction to transition to a relearning period to the process state prediction system 128. At that time, the period control unit 2603 instructs the process state data transmission unit 2601 to start transmitting process state data.

[0237] Furthermore, when the period control unit 2603 acquires end information for the re-learning data acquisition and end information for the evaluation data acquisition from the end information acquisition unit 2604, it reads out the learning parameter set from the data storage unit 2607 and transmits it to the process state prediction system 128. At that time, the period control unit 2603 instructs the process state data transmission unit 2601 to stop transmitting the process state data.

[0238] 26, the data storage unit 2607 stores learning parameter set 1 to learning parameter set M. The period control unit 2603 transmits the read learning parameter set 1 to learning parameter set M to the process state prediction system 128.

[0239] As indicated by reference numeral 2611, the learning parameter set includes information items such as "use previous weight parameters or initialize", "past data contribution rate", and "number of learning models".

[0240] Furthermore, the period control unit 2603 transmits an instruction to switch the learning parameter set to the process state prediction system 128 every time it acquires the termination information of the FORCE re-learning process from the termination information acquisition unit 2604 .

[0241] 26 , during the relearning period, the reservoir feature acquisition unit 2608 acquires reservoir features as learning data and evaluation data from the process state prediction system 128 and notifies the batch learning unit 2609. Also, as described above, during the relearning period, the process state data acquisition unit 2602 acquires sensor data b as learning data and notifies the batch learning unit 2609 of the acquired sensor data b as process state data.

[0242] The batch learning unit 2609 executes batch learning using learning data in which reservoir feature quantities and process state data are accumulated for a predetermined learning time, based on batch learning parameters read from the data storage unit 2607. The batch learning here means learning weight parameters from reservoir feature quantities and process state data for a predetermined learning time.

[0243] The batch learning parameters used in batch learning include information items such as "normalization parameters for learning," "amount of data to be accumulated (batch size)," and "learning time."

[0244] In addition, when batch learning is completed, the batch learning unit 2609 predicts process state data based on the reservoir features acquired as evaluation data, and notifies the evaluation unit 2606 of the prediction result by the batch learning unit 2609 (batch learning prediction result).

[0245] Furthermore, the period control unit 2603 receives the evaluation result from the evaluation unit 2606, and transmits an instruction to set the weighting parameters to the process state prediction system 128 based on the received evaluation result.

[0246] The evaluation results include the prediction accuracy calculated for each prediction result data, calculated by performing a prediction process on the evaluation data using weight parameters calculated by performing a FORCE re-learning process based on each learning parameter set.

[0247] Furthermore, the period control unit 2603 instructs the process state prediction system 128 to set weight parameters so that the prediction result data falls within a predetermined allowable range and the weight parameters have the highest prediction accuracy. The predetermined allowable range may be set to a fixed value, or may be set to a value calculated based on the batch learning prediction result calculated by the batch learning unit 2609.

[0248] After transmitting the instruction to set the weight parameters, the period control unit 2603 transmits an instruction to transition to the prediction period to the process state prediction system 128 .

[0249] The termination information acquisition unit 2604 acquires various termination information (termination information of FORCE learning processing, termination information of re-learning data acquisition, termination information of evaluation data acquisition, and termination information of FORCE re-learning processing) from the process state prediction system 128. The termination information acquisition unit 2604 also transmits the acquired various termination information to the period control unit 2603.

[0250] 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 during the prediction period. If the relearning determination unit 2605 determines that relearning is necessary, it transmits the determination result that relearning is necessary to the period control unit 2603. Note that the relearning determination unit 2605 also transmits the determination result that relearning is necessary to the period control unit 2603 if any other event that requires relearning occurs.

[0251] During the relearning period, 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, and transmits the evaluation result to the period control unit 2603. As described above, when evaluating the prediction result data, the evaluation unit 2606 may evaluate the prediction result data using the allowable range calculated based on the batch learning prediction result calculated by the batch learning unit 2609.

[0252] <Process State Prediction Processing by Management Unit and Process State Prediction System> Next, the flow of the process state prediction processing by the management unit 124 and the process state prediction system 128 will be described.

[0253] (1) Overall Flow of Process State Prediction Processing First, the overall flow of the process state prediction processing will be described. Fig. 27 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. The processing shown in Fig. 27 starts when the process state prediction system 128 is started.

[0254] In step S2701, the management unit 124 transmits an instruction to transition to a 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 transitions to the learning period and initializes the weight parameters of the FORCE learning unit 1200.

[0255] 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 122a.

[0256] In step S2703, the reservoir device 202 of the process state prediction system 128 receives the sensor data a' output from the I / O control unit 201 and outputs the reservoir feature amount.

[0257] In step S2704, the process state prediction unit 204 of the process state prediction system 128 determines the current period. If an instruction to transition to a learning period or a prediction period has been received from the management unit 124 of the management device 123, the process state prediction unit 204 determines in step S2704 that the current period is the learning period or the prediction period. In this case, the process state prediction unit 204 proceeds to step S2711.

[0258] 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. If it is determined in step S2711 that the FORCE learning process has not been completed (NO in step S2711), the process proceeds to step S2712.

[0259] In step S2712, the process state prediction unit 204 of the process state prediction system 128 performs FORCE learning processing. Details of the FORCE learning processing (step S2712) will be described later.

[0260] On the other hand, if it is determined in step S2711 that the FORCE learning process has been completed (YES in step S2711), the process proceeds to step S2713.

[0261] In step S2713, the process state prediction unit 204 of the process state prediction system 128 performs a prediction process. Details of the prediction process (step S2713) will be described later.

[0262] In step S2714, the management unit 124 of the management device 123 determines whether relearning is necessary. If it is determined in step S2714 that relearning is not necessary (NO in step S2714), the process proceeds to step S2731.

[0263] On the other hand, if it is determined in step S2714 that relearning is necessary (YES in step S2714), the process proceeds to step S2715. Details of the relearning determination process in step S2714 will be described later.

[0264] In step S2715, the management unit 124 of the management device 123 transmits to the process state prediction system 128 an instruction to transition to a relearning period, and also transmits the learning parameter sets 1 to M. As a result, the process state prediction unit 204 of the process state prediction system 128 transitions to the relearning period and acquires the learning parameter sets 1 to M.

[0265] If it is determined in step S2704 that the current period is the relearning period, the process proceeds to step S2721. Note that if the process state prediction unit 204 has received an instruction to transition to the relearning period from the management unit 124 of the management device 123, it determines that the current period is the relearning period.

[0266] In step S2721, the process state prediction unit 204 of the process state prediction system 128 performs FORCE re-learning processing. Details of the FORCE re-learning processing (step S2721) will be described later.

[0267] In step S2731, the management unit 124 of the management apparatus 123 determines whether or not to end the process state prediction process. If it is determined not to end the process state prediction process in step S2731 (NO in step S2731), the process returns to step S2702.

[0268] On the other hand, if it is determined in step S2731 that the process state prediction process is to be ended, the management unit 124 of the management device 123 and the process state prediction system 128 end the process state prediction process.

[0269] (2) Details of the Learning Process (Step S2712) Next, details of the learning process (step S2712) included in the process state prediction process will be described. Fig. 28 is an example of a flowchart showing the flow of the learning process.

[0270] In step S2801, the process state prediction unit 204 of the process state prediction system 128 acquires the reservoir feature output from the reservoir device 202 and the process state data (correct answer data) sent from the management unit 124 of the management device 123.

[0271] In step S2802, the process state prediction unit 204 of the process state prediction system 128 determines whether the item "Use or initialize previous weight parameters" 2611 in the learning parameter set is "Used."

[0272] In step S2802, if it is determined that the item "Use or initialize previous weight parameters" is "Use" (YES in step S2802), the process proceeds to step S2804. In this case, the process state prediction unit 204 of the process state prediction system 128 sets the weight parameters calculated in the previous FORCE learning process as the initial values ​​of the sequential weight parameters of the FORCE learning unit 1200 in the current FORCE learning process.

[0273] On the other hand, if it is determined in step S2802 that the item "Use previous weight parameters or initialize" is "Initialize" (NO in step S2802), the process proceeds to step S2803.

[0274] In step S2803, the process state prediction unit 204 of the process state prediction system 128 initializes the sequential weight parameters of the FORCE learning unit 1200 calculated in the previous FORCE learning process before the current FORCE learning process.

[0275] In step S2804, the FORCE learning unit 1200 calculates output data by multiplying the reservoir feature by the current sequential weight parameter.

[0276] In step S2805, the FORCE learning unit 1200 calculates the error between the calculated output data and the corresponding process state data (correct data). If the FORCE learning unit 1200 determines that the calculated error is not within the threshold (NO in step S2805), the process proceeds to step S2806.

[0277] In step S2806, the FORCE learning unit 1200 sequentially updates the weighting parameters based on the calculated error, and the process proceeds to step S2807.

[0278] On the other hand, if it is determined in step S2805 that the error is within the threshold value (YES in step S2807), the process proceeds directly to step S2807.

[0279] In step S2807, the FORCE learning unit 1200 determines whether the state in which the error is within the threshold has continued for the predetermined learning time specified in the learning parameter set. If it is determined in step S2807 that the state has not continued (NO in step S2807), the process returns to step S2731 in FIG. 27 .

[0280] On the other hand, if it is determined in step S2807 that the operation has continued (YES in step S2807), the process proceeds to step S2808.

[0281] In step S2808, the process state prediction unit 204 of the process state prediction system 128 transmits information indicating the completion of the FORCE learning process to the management device 123. As a result, the management unit 124 of the management device 123 determines that the FORCE learning process has ended, and transmits an instruction to transition to the prediction period to the process state prediction system 128.

[0282] In step S2809, the process state prediction unit 204 of the process state prediction system 128 sets the weight parameters at the time when the FORCE learning process is completed in the FORCE learning unit 1300.

[0283] (3) Details of the Prediction Process (Step S2713) Next, the prediction process (step S2713) included in the process state prediction process will be described in detail. Fig. 29 is an example of a flowchart showing the flow of the prediction process.

[0284] In step S2901, the FORCE learning unit 1300 acquires the reservoir feature output from the reservoir device 202.

[0285] In step S2902, the FORCE learning unit 1300 predicts the process state by multiplying the acquired reservoir feature by a weight parameter.

[0286] In step S2903, the FORCE learning unit 1300 outputs the prediction result data.

[0287] (4) Details of the Relearning Determination Process (Step S2714) Next, a description will be given of the details of the relearning determination process (step S2714) performed by the management unit 124 of the management device 123. Fig. 30 is an example of a flowchart showing the flow of the relearning determination process.

[0288] In step S3001, the management unit 124 of the management device 123 determines whether or not 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 in step S3001 that the type has changed (YES in step S3001), the process proceeds to step S3004.

[0289] On the other hand, if it is determined in step S3001 that no change has been made (NO in step S3001), the process proceeds to step S3002.

[0290] 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 has fluctuated by a predetermined threshold or more during the prediction period. If it is determined in step S3002 that the value of the time-series sensor data a has fluctuated by a predetermined threshold or more (YES in step S3002), the process proceeds to step S3004.

[0291] On the other hand, if it is determined in step S3002 that the value of the time-series sensor data a has not fluctuated by more than the predetermined threshold (NO in step S3002), the process proceeds to step S3003.

[0292] 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 has fallen below a predetermined threshold during the prediction period.

[0293] In step S3003, if it is determined that the prediction accuracy has decreased to a predetermined threshold or less (YES in step S3003), the process proceeds to step S3004.

[0294] In step S3004, the management unit 124 of the management device 123 determines that re-learning is necessary.

[0295] On the other hand, if it is determined in step S3003 that the prediction accuracy has not decreased to the predetermined threshold value or less (NO in step S3003), the process returns to step S2731 in FIG.

[0296] When the prediction accuracy drops below a predetermined threshold, it means that the error between the prediction result data and the correct answer data exceeds an allowable threshold (as described above, the time up to that point is the "valid prediction time"). Therefore, the management unit 124 of the management device 123 monitors this valid prediction time to determine whether re-learning is necessary. This will be explained with reference to FIG. 31.

[0297] Fig. 31 is a diagram showing another example of the effective prediction time. In Fig. 31, the horizontal axis represents the time elapsed since the weight parameters calculated by learning were set. In Fig. 31, the vertical axis represents the square error between the prediction result data and the correct data.

[0298] 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, t b (initial state, best state). Operation starts from here, and then the effective prediction time until the square error between the prediction result data and the correct data exceeds the allowable threshold is t a (<t b ) In other words, when the time that can be predicted becomes shorter (t b -t a becomes equal to or greater than a predetermined threshold), re-learning is performed.

[0299] (5) Details of the Re-learning Process (Step S2721) Next, the details of the re-learning process (Step S2721) included in the process state prediction process will be described. Fig. 32 is an example of a flowchart showing the flow of the re-learning process.

[0300] When the re-learning process is started, 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 steps S3201 to S3208 and the processes of steps S3210 to S3215 in parallel.

[0301] First, the processing of steps S3201 to S3208 will be described. In step S3201, the process state prediction unit 204 of the process state prediction system 128 acquires the reservoir feature output from the reservoir device 202 and the process state data (correct answer data) transmitted from the management unit 124 of the management device 123.

[0302] The process state prediction unit 204 of the process state prediction system 128 acquires some of the combinations of reservoir features and process state data (correct data) as re-learning data, and acquires the remaining combinations as evaluation data.

[0303] In step S3202, the process state prediction unit 204 sets one of the learning parameter sets 1 to M (here, learning parameter set 1) transmitted from the management unit 124 of the management device 123 to the FORCE learning unit 1200_1.

[0304] In step S3203, the process state prediction unit 204 determines whether the item "Use or initialize previous weight parameters" of the learning parameter set 1 set in the FORCE learning unit 1200_1 is "Used."

[0305] In step S3203, if it is determined that the item "Use or initialize previous weight parameters" is "Use" (YES in step S3203), the process proceeds to step S3205. In this case, the FORCE learning unit 1200_1 performs the current FORCE re-learning process using the weight parameters calculated in the previous FORCE learning process as the initial values ​​of the sequential weight parameters.

[0306] On the other hand, if it is determined in step S3203 that the item "Use previous weight parameters or initialize" is "Initialize" (NO in step S3203), the process proceeds to step S3204.

[0307] In step S3204, the process state prediction unit 204 of the process state prediction system 128 initializes the sequential weight parameters of the FORCE learning unit 1200_1.

[0308] In step S3205, the FORCE learning unit 1200_1 performs FORCE learning processing using the re-learning data to calculate weight parameters, and sets the calculated weight parameters in the FORCE learning unit 1300_1.

[0309] In step S3206, the FORCE learning unit 1300_1 predicts the process state using the evaluation data.

[0310] In step S3207, the FORCE learning unit 1300_1 outputs the prediction result data to the management unit 124 of the management device 123.

[0311] In step S3208, the process state prediction unit 204 of the process state prediction system 128 determines whether all the learning parameter sets transmitted from the management unit 124 of the management device 123 have been set in the FORCE learning unit.

[0312] In step S3208, if there is a learning parameter set that has not yet been set, it is determined that the next learning parameter set is to be set (YES in step S3208), and the process returns to step S3202.

[0313] On the other hand, if it is determined in step S3208 that all learning parameter sets have been set in the FORCE learning unit, it is determined that the next learning parameter will not be set (NO in step S3208), and the process proceeds to step S3221.

[0314] Next, the processing of steps S3210 to S3215 will be described. In step S3210, the process state prediction unit 204 of the process state prediction system 128 outputs the acquired reservoir feature amounts to the management unit 124 of the management device 123. Furthermore, the management unit 124 of the management device 123 stores some of the combinations of the reservoir feature amounts output by the process state prediction unit 204 and the process state data (correct answer data) as re-learning data, and stores the remaining combinations as evaluation data.

[0315] In step S3211, the process state prediction unit 204 of the process state prediction system 128 determines whether or not the accumulated re-learning data and evaluation data have both reached a predetermined size.

[0316] If it is determined in step S3212 that the predetermined size has not been reached (NO in step S3211), the process returns to step S3210.

[0317] On the other hand, if it is determined in step S3211 that the predetermined size has been reached (YES in step S3211), the process proceeds to step S3212.

[0318] In step S3212, the management unit 124 of the management device 123 sets batch learning parameters.

[0319] In step S3213, the management unit 124 of the management device 123 performs batch learning processing using the accumulated re-learning data to calculate weight parameters.

[0320] In step S3214, the management unit 124 of the management device 123 predicts the process state using the accumulated evaluation data based on the calculated weight parameters.

[0321] In step S3215, the management unit 124 of the management device 123 calculates batch learning prediction result data.

[0322] In step S3221, the management unit 124 of the management device 123 determines whether or not there is any prediction result data whose prediction accuracy falls within a predetermined tolerance range among the prediction result data transmitted for each learning parameter set from the process state prediction system 128. At this time, the management unit 124 of the management device 123 calculates the predetermined tolerance range based on the calculated batch learning prediction result data.

[0323] In step S3221, if it is determined that there is no prediction result data that falls within the predetermined allowable range (NO in step S3221), the process proceeds to step S3222.

[0324] In step S3222, the management unit 124 of the management device 123 generates a new learning parameter set, transmits it to the process state prediction system 128, and then returns to step S3202.

[0325] On the other hand, if it is determined in step S3221 that there is prediction result data that falls within the predetermined allowable range (YES in step S3221), the process proceeds to step S3223.

[0326] In step S3223, the management unit 124 of the management device 123 ends the re-learning period and transmits an instruction to transition to the prediction period to the process state prediction system 128. In addition, the management unit 124 of the management device 123 issues a setting instruction to the process state prediction system 128 so that the prediction result data falls within a predetermined allowable range and the weighting parameters that provide the highest prediction results are set.

[0327] In step S3224, the process state prediction unit 204 of the process state prediction system 128 moves to the prediction period. Furthermore, the process state prediction unit 204 of the process state prediction system 128 sets, to the FORCE learning unit 1300_X, weight parameters that allow the prediction result data to fall within a predetermined tolerance range and that have the highest prediction accuracy. As a result, during the prediction period after re-learning, prediction result data can be calculated using weight parameters obtained by re-learning under an appropriate learning parameter set.

[0328] <Summary> As is clear from the above description, the process state prediction system 128 according to the first embodiment processes time-series sensor data using reservoir computing to predict the process state. In this process, in order to implement the reservoir device 202 using a digital circuit, the mathematical expressions executed in the reservoir device 202 are changed to reduce the digital circuit resources and shorten the processing time, and also perform the following operations: ・Generate input weights, connection weights, and feedback weights using a periodic function circuit; ・Perform scaling using a shifter; ・Configure an activation function circuit using fixed-point or floating-point polynomial calculations to calculate reservoir features.

[0329] As a result, according to the first embodiment, it is possible to further reduce resources and improve processing speed in the reservoir device 202.

[0330] As a result, the reservoir device 202 according to the first embodiment can capture short behaviors that appear in the sensor data and output reservoir features, thereby improving the prediction accuracy when predicting the process state based on time-series sensor data.

[0331] 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 using the recursive least squares method.

[0332] As a result, the process state prediction system 128 according to the first embodiment can learn weight parameters by capturing short behaviors that appear in the sensor data.

[0333] As a result, according to the first embodiment, it is possible to improve the prediction accuracy when predicting the process state based on time-series sensor data.

[0334] Furthermore, the process state prediction system 128 according to the first embodiment: re-learns the weight parameters if it is determined that re-learning is necessary during the prediction period after learning; and optimizes the learning parameters when re-learning the weight parameters.

[0335] As a result, the process state prediction system 128 according to the first embodiment can suppress a decrease in prediction accuracy that accompanies changes over time in the manufacturing process.

[0336] As a result, according to the first embodiment, it is possible to improve the prediction accuracy when predicting the process state based on time-series sensor data.

[0337] Second Embodiment In the first embodiment, the reservoir device 202 of the process state prediction system 128 is described as being implemented using an adder, a multiplier, or the like. However, the reservoir device 202 may be configured to further reduce resources. As an example, the reservoir device 202 may be implemented using a bit shifter instead of a multiplier. The second embodiment will be described below, focusing on the differences from the first embodiment.

[0338] <Configuration for weighting> In the first embodiment, when weighting I(t), which is the value of the sensor data a′, jIn contrast to this, in the second embodiment, when weighting I(t), which is the value of the sensor data a', and when weighting Z(t), which is the reservoir node state, the weighting is realized by a configuration including multipliers (2M-bit multipliers 313, 323, 403). j The weighting of (t) and the weighting of the prediction result data Z(t) are realized using a "weight bit shift multiplication unit" that does not include a multiplier.

[0339] 33 is a first diagram showing an example of a weight bit shift multiplication unit according to the second embodiment. As shown in Fig. 33 , the weight bit shift multiplication unit 3300 includes a P-bit LFSR 3301 (P is an integer equal to or greater than 2; in the example of Fig. 33 , P="4"), a right bit shifter 3302_1, a right bit shifter 3302_2, a two's complement circuit 3303, and a selector 3304.

[0340] In the P-bit LFSR 3301 (an example of the first to third periodic function circuits), the value of the first bit of the P bits is input to the switching input of the selector 3304, and the values ​​of the remaining (P-1) bits are input to the shift amount input of the right bit shifter 3302_2.

[0341] The right bit shifter 3302_1 shifts the value (b) input to the weight bit shift multiplier 3300 to the right by the exponent value obtained by logarithmically quantizing the spectral radius.

[0342] The right bit shifter 3302_2 shifts the (P-1)-bit value (y i The right bit shifter 3302_2 shifts the result output from the right bit shifter 3302_1 to the right by the shift amount according to the power of 2, b·2 -yi ) is input to the two's complement circuit 3303 and the selector 3304. When P is set to "4", the selector 3304 randomly selects 16 different weights. The 16 different 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". Note that "-2 -6 ~2 -6 Simulations have revealed that in the reservoir device 202 according to this embodiment, even if the weight between " and " is treated as "0", there is no change in performance. Therefore, hereinafter, the P-bit LFSR 3301 will be described as a 4-bit LFSR.

[0343] The two's complement circuit 3303 inverts the sign of the value shifted by the right bit shifter 3302 (negative value, −b·2 -yi ) is output.

[0344] The selector 3304 selects either the value shifted by the right bit shifter 3302 or its negative value in response to a switching input from the 4-bit LFSR 3301. The selector 3304 also selects the selected value as the output value (±b·2) of the weighted bit shift multiplication unit 3300. -yi ) is output.

[0345] In this way, the weight bit shift multiplication unit 3300 performs weighting using either a power of 2 corresponding to the value output from the 4-bit LFSR 3301 or its negative value as the weight.

[0346] <Configuration of each weight bit shift multiplication unit> Next, in the reservoir device in the second embodiment, the weighting of I(t), which is the value of the sensor data a', and the reservoir node state u j The configuration of each weight bit shift multiplication unit that performs weighting of (t) and weighting of prediction result data Z(t) will be described below. Fig. 34 is a diagram showing an example of the configuration of each weight bit shift multiplication unit.

[0347] 34a in Fig. 34 shows an example configuration for weighting I(t), which is the value of sensor data a'. In 34a, the upper part shows the example configuration described in the first embodiment using Fig. 3 or 4, which is configured using an input weight generator 311, an nI-bit right shifter 312, and a 2M-bit multiplier. In addition, in 34a, the lower part shows an example configuration using the weight bit shift multiplication unit described above.

[0348] As shown in 34a, according to the second embodiment, when the input (value of the sensor data a′) is I(t), the output (w i I ) · (I(t)) is (±2 -yi In other words, according to the second embodiment, weighting of I(t), which is the value of the sensor data a′, can be achieved without using a multiplier.

[0349] 34b in FIG. 34 shows the reservoir node state u j 3 or 4 in the first embodiment, and shows a configuration example configured using a connection weight generator 321, an nb-bit right shifter 322, and a 2M-bit multiplier 323. Also, in 34b, the lower part shows a configuration example configured using the weight bit shift multiplication unit described above.

[0350] As shown in 34b, according to the second embodiment, the input (reservoir node state) is j (t) (w ij ) × (u j (t)) is (±2 -yi ) × (u j In other words, according to the second embodiment, the reservoir node state u j The weighting of (t) can be achieved without using a multiplier.

[0351] 34c in Fig. 34 is a configuration example for weighting the prediction result data Z(t). In 34c, the upper part shows the configuration example described in the first embodiment using Fig. 3 or 4, which is configured using 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 configured using the weight bit shift multiplication unit described above.

[0352] As shown in 34c, according to the second embodiment, when the input (prediction result data) is Z(t), i F ) (Z(t)) is (±2 -yi )·(Z(t)). In other words, according to the second embodiment, weighting of Z(t), which is prediction result data, can be realized without using a multiplier.

[0353] As is clear from the above description, the reservoir device according to the second embodiment weights the value of the sensor data a', the reservoir node state, and the prediction result data without using a multiplier. As a result, according to the second embodiment, it is possible to reduce resources.

[0354] [Third embodiment] In the first embodiment, the connection weight w ij The output w of the connection weight generator 321 is set to satisfy the ESP requirements. ij raw After scaling (specifically, 1 / spectral radius r sp ) and input to the 2M-bit multiplier 323. Then, the 2M-bit multiplier 323 multiplies the scaled w ij raw (i.e., w ij ) is the jth reservoir node state calculated one time before, u j In other words, in the first embodiment, the output of the 2M-bit multiplier 323 (w ij ) × (u j(t)) can be expressed as in the following equation 10.

[0355] On the other hand, 1 / spectral radius r sp The process of multiplying is performed by multiplying the j-th reservoir node state calculated one time before by u j Even if the calculation is performed on (t), the output of the 2M-bit multiplier 323 will be the same. That is, the output of the 2M-bit multiplier 323 may be calculated in the calculation order shown in the following equation 11.

[0356] In other words, in the first embodiment, 1 / spectral radius r sp The nb-bit right shifter 322 for realizing the multiplication process is arranged between the connection weight generator 321 and the 2M-bit multiplier 323.

[0357] However, the configuration of the reservoir device 202 is not limited to this, and it may be configured to be disposed between the second memory 334 and the 2M-bit multiplier 323, for example.

[0358] Note that 1 / spectral radius r sp The multiplication process is not limited to being realized by the nb-bit right shifter 322, but may be realized by, for example, a fixed-point / floating-point multiplier.

[0359] 35 is a third diagram showing an example of the hardware configuration of the reservoir device. The differences from the hardware configuration described in the first embodiment with reference to FIG. 3 are that the nb-bit right shifter 322 is deleted, and the output w of the connection weight generator 321 is ij raw is directly input to the 2M-bit multiplier 323, and a spectral radius multiplier 3501 is added between the second memory 334 and the 2M-bit multiplier 323, and the output of the spectral radius multiplier 3501 (1 / spectral radius r sp )u j (t) is input to the 2M-bit multiplier 323, and w ij raw {(1 / spectral radius r sp )u j(t)} is output.

[0360] The spectral radius multiplier 3501 multiplies a spectral radius calculated in advance or a logarithmically quantized value of the spectral radius by the reservoir node state u j (t). Therefore, the spectral radius multiplier 3501 may be realized by a configuration similar to that of the nb-bit right shifter 322, or may be realized by a configuration similar to that of a fixed-point / floating-point multiplier.

[0361] 36 is a fourth diagram showing an example of the hardware configuration of the reservoir device. The differences between the hardware configuration described in the first embodiment using FIG. 4 are the same as the differences between FIG. 3 and FIG. 35, and therefore will not be described here.

[0362] As described above, according to the third embodiment, the reservoir device 202 can be realized by a hardware configuration different from that of the first embodiment.

[0363] [Fourth Embodiment] In the first embodiment, the number of reservoir nodes is set to N, and the M-bit accumulation circuit 324 multiplies the output (w ij ) × (u j (t)) is added up by the number of reservoir nodes, and the addition result is output.

[0364] On the other hand, with this configuration, when the number of reservoir nodes (N) is large, the processing time increases. Therefore, in the fourth embodiment, the j-th reservoir node state u calculated one time before is read from the second memory 334. j (t) When reading (j=1, 2, . . . N), the number of addresses to read is limited, and the reservoir node state u j The number of read addresses is determined based on the performance (processing speed, prediction accuracy) of the reservoir device 202. This reduces the processing time for the multiplication process in the 2M-bit multiplier 323 and the processing time for the addition process in the M-bit accumulation circuit 324.

[0365] 37 is a fifth diagram showing an example of the hardware configuration of the reservoir device. The difference from the hardware configuration described in the first embodiment with reference to FIG. 3 is that an address control circuit 3701 is added.

[0366] The address control circuit 3701 receives the j-th reservoir node state u calculated one time before from the second memory 334. j (t) When reading (j=1, 2, . . . N), the number of addresses to read is limited, and the reservoir node state u j Reduce the number of (t).

[0367] Similarly, Fig. 38 is a sixth diagram showing an example of the hardware configuration of the reservoir device, which differs from the hardware configuration described in Fig. 4 in the first embodiment in that an address control circuit 3701 is added.

[0368] Thus, according to the fourth embodiment, the reservoir node state u j By using a hardware configuration that reduces the number of (t), it is possible to realize a reservoir device 202 that reduces processing time.

[0369] [Fifth Embodiment] In the first embodiment, the detailed configuration shown in Figure 9 is exemplified as the activation function circuit 332. However, the activation function circuit 332 is not limited to this configuration and may be realized by, for example, a piecewise linear function. Note that the limiter circuit 907 described with reference to Figure 10 in the first embodiment can also be used as an example of a circuit that realizes a piecewise linear function.

[0370] Alternatively, the activation function circuit 332 may be realized by, for example, a lookup table. Specifically, the lookup table stores the i-th reservoir node state u corresponding to the address according to the calculation result of Equation (5) or Equation (6) in the first embodiment. i This is realized by allocating a memory in which (t+1) is stored.

[0371] As described above, according to the fifth embodiment, the reservoir device 202 can be realized by a hardware configuration different from that of the first embodiment.

[0372] [Sixth Embodiment] In the above first to fifth embodiments, a low-power, low-resource reservoir device 202 was described as a digital circuit that realizes a function equivalent to a nanomolecule reservoir (processing for outputting reservoir feature amounts). In contrast, in the sixth embodiment, a reservoir device that further realizes a function equivalent to a nanomolecule reservoir (processing for outputting reservoir feature amounts) at high speed will be described. Specifically, in the sixth embodiment, a reservoir device that has been made faster by parallelizing processing and configuring it to reduce the number of calculations will be described.

[0373] <Reduction in the number of calculations in weighted addition using connection weights in reservoir device> As described in the first embodiment, in the reservoir device 202, the reservoir node state u calculated one time before j Weighted addition using connection weights is performed on (t) (j=1, 2, ..., N). Here, weighted addition using connection weights requires a number of calculations corresponding to the number of reservoir nodes (N). Specifically, if the number of reservoir nodes (N) is 100, 100 x 100 multiplication processes (i.e., a matrix calculation of 100 rows and 100 columns) are required.

[0374] On the other hand, it is known that the reservoir device 202 can maintain calculation accuracy even with a sparse matrix. Therefore, in the sixth embodiment, ij is a sparse matrix, and the connection weights w ij The elements with zero are the reservoir node state u j The number of operations is reduced by not performing multiplication with elements of (t). Note that this type of operation architecture is referred to as a "variable vector length dot product operation architecture" in this embodiment.

[0375] 39 is a diagram showing an example of reducing the number of calculations in a reservoir device. In FIG. 39, reference numeral 3910 indicates the number of reservoir nodes (N) of which is 100, and the connection weight w ij100×100 times of multiplication processing is performed when performing weighted addition using

[0376] 39, reference numeral 3920 denotes a variable vector length dot product calculation architecture according to the sixth embodiment. In reference numeral 3920, hatched elements indicate connection weights w ij are elements with non-zero values, and non-hatched elements (white elements) have a connection weight w ij is a zero element.

[0377] As shown by reference numeral 3920, in the case of the variable vector length dot product calculation architecture in the sixth embodiment, the connection weight w ij By regularly arranging the zero elements, the distribution of the zero elements (sparse distribution) is made regular. By regularly arranging the zero elements in this way and making the distribution regular, in the reservoir device 202, the connection weight w ij Therefore, in the reservoir device 202, the connection weight w ij For elements where u is zero, the reservoir node state u j Not only does it eliminate the need to perform multiplication operations with elements of (t), but it also eliminates the need to multiply the corresponding reservoir node state u j There is no need to execute a read process for the elements of (t). As a result, the variable vector length dot product calculation architecture of the sixth embodiment can speed up weighted addition using connection weights.

[0378] In the reference numeral 3920, the number of CUs represents the number of connections per reservoir node. In the following, the number of CUs is referred to as "N CU ". An example of the code 3920 is N CU .times.5 ...

[0379] <Specific Example of Processing by Variable Vector Length Dot Product Calculation Architecture> Next, a specific example of processing by the variable vector length dot product calculation architecture in the sixth embodiment will be described. Fig. 40 is a diagram showing a specific example of processing by the variable vector length dot product calculation architecture in the reservoir device. Here, referring to Fig. 40, the connection weight w ij (4001) to calculate the reservoir node state u j The weighted addition for (t) (reference numeral 4002) will be described.

[0380] In addition, among the connection weights in the sixth row (reference numeral 4001), the connection weights in the first column are hereinafter referred to as w_ (6,1) , ・The connection weights in the second column are expressed as w_ (6,2) , ・The connection weights in the third column are expressed as w_ (6,3) , ・The connection weight in the fourth column is expressed as w_ (6,4) , ・The connection weight in the fifth column is expressed as w_ (6,5) , ... ・The connection weight of the 100th column is w_ (6,100) , and written as .

[0381] As shown by the reference numeral 4001, the connection weights in the sixth column (w (6,6) ) to the 100th column of the connection weight (w_ (6,100) ), the corresponding reservoir node state u j (t) is not read out during weighted summation. Therefore, the connection weight w ij In the case of weighted addition using (reference numeral 4001), the corresponding reservoir node state u j The first to fifth rows are read as (t). In the following, the reservoir node state u j (t) (reference numeral 4002), the reservoir node state in the first row is 1 (t), the reservoir node state in the second row is 2 (t), The reservoir node state in the third row is 3 (t), the reservoir node state in the fourth row is 4 (t), the reservoir node state in the fifth row is 5(t), ... The reservoir node state on the 100th line is 100 (t) is written as

[0382] According to the above notation, the connection weight w ij (4001) according to the reservoir node state u j The weighted addition for (t) (reference numeral 4002) can be expressed by the following equation 12.

[0383] In the above example, the connection weight in the sixth row (reference numeral 4001) has been described, but according to the variable vector product operation architecture in the sixth embodiment, similar processing is performed for the connection weights in the other rows. As a result, according to the reservoir device 202 in the sixth embodiment, the number of operations of the multiplication processing executed when performing weighted addition using the connection weights is increased from N×N to N×N. cu can be reduced to

[0384] <Parallelization Method and Timing Chart of Multiplication Process in Reservoir Device> Next, a parallelization method for performing multiplication processes in parallel in the variable vector length dot product arithmetic architecture will be described.

[0385] FIG. 41 is a diagram showing an outline of parallel processing in the reservoir device. Here, the connection weight w_ (6,1) ~w_ (6,100) From the 10th line, the connection weight w_ (10,1) ~w_ (10,100) and the reservoir node state u in the sixth line. 6 Reservoir node state u in the 10th line from (t) 10 A method for parallelizing the multiplication process of (t) and (t) will be described.

[0386] Among the multiplication processes executed in the variable vector length dot product arithmetic architecture shown by reference numeral 4100, the multiplication processes shown by reference numeral 4101 are respectively: (6,5) ×u 5 , ・w_ (7,5) ×u 5 , ・w_ (8,5) ×u 5 , ・w_ (9,5) ×u 5, ・w_ (10,5) ×u 5 , . In other words, although the connection weights are different, the reservoir node states are commonly u 5 is used (reference numeral 4102).

[0387] Therefore, if the multiplication process indicated by the reference numeral 4101 is performed at the same timing, the reservoir node state u (5,1) Therefore, in the sixth embodiment, five multipliers are provided and the multiplication processes indicated by the reference numeral 4101 are executed at the same timing, thereby realizing efficient parallel processing.

[0388] Note that the reservoir node state u j When parallel processing is performed to reduce the number of times that (t) is read, the timing chart for each multiplication process is as shown in FIG. 42. FIG. 42 shows an example of a timing chart for multiplication processes in a reservoir device. As shown in FIG. 42, N cu In the case of t = 5, by parallel processing by five multipliers, for example, the reservoir node state u_ (5,1) Using the above, five multiplication processes can be performed simultaneously.

[0389] <Hardware Configuration of Parallelized Reservoir Device> Next, a description will be given of the hardware configuration of the parallelized reservoir device 202. As described above, the multiplication process in the weighted addition using the connection weights is performed by N cu By arranging the number of multipliers according to the value of N, efficient parallel processing can be realized. Therefore, in the sixth embodiment, cu The reservoir device 202 is formed using a number of multipliers according to the value of , one input core for weighting using input weights, one feedback core for weighting using feedback weights, and one activation core for calculating the activation function (described in more detail below).

[0390] Each unit of the reservoir device 202 executes processing according to the timing chart shown in Figure 43. Figure 43 is an example of a timing chart of processing by each unit of the reservoir device. CU 10 shows a timing chart of the processing of each unit (one input core, five multipliers, and one activation core) of the reservoir device 202 when .times. ...

[0391] In the timing chart 4300 of Fig. 43, the horizontal axis indicates the execution timing of each unit, and each region indicates the length of one clock (clk). Also, in the timing chart 4300 of Fig. 43, the vertical axis indicates each unit (input core, first to fifth multipliers, and activation core in the example of Fig. 43).

[0392] According to the timing chart 4300, the reservoir node state u read at the execution timing of clk6 5 is processed in parallel by the first to fifth multipliers. Similarly, the reservoir node state u 6 are processed in parallel by the first to fifth multipliers.

[0393] 43 , the multiplication process indicated by the dotted arrow 4301 of reference numeral 3920 corresponds to the multiplication process indicated by the dotted arrow 4301 in the timing chart 4300. Similarly, the multiplication process indicated by the dotted arrow 4302 of reference numeral 3920 corresponds to the multiplication process indicated by the dotted arrow 4302 in the timing chart 4300.

[0394] In the example of the dotted arrow 4301 in the timing chart 4300, the input core performs weighting by performing multiplication processing using the input weight in clk1. Also, in the example of the dotted arrow 4301 in the timing chart 4300, the first to fifth multipliers perform coupling weights w_ (6,1) ~w_ (6,5) While performing multiplication processing using the above, weighted addition is performed by adding the multiplication results. Furthermore, in the example of the dotted arrow 4301 in the timing chart 4300, the activation core calculates the activation function in clk7.

[0395] That is, N cuAccording to the reservoir device 202 when = 5, one reservoir feature value of the ith item (i is any value from 1 to N) can be output in a time length of 7 clocks (clk).

[0396] (1) Details of the parallelized reservoir device (without feedback) Next, details of the hardware configuration of the parallelized reservoir device 202 (without feedback) will be described. Figure 44 is a seventh diagram showing an example of the hardware configuration of the reservoir device. CU 10 shows an example of the hardware configuration of the reservoir device when the number of reservoirs is 5.

[0397] As shown in FIG. 44, the parallelized reservoir device 202 (without feedback) has: an input core 4410 (another example of an input weight multiplication unit); a first multiplier 4420 to a fifth multiplier 4460 (another example of a coupling weight multiplication unit); an activation core 4470; and a reservoir node state storage unit 4480.

[0398] As shown in FIG. 44, in the parallelized reservoir device 202 (without feedback), an input core 4410, a first multiplier 4420 to a fifth multiplier 4460, and an activation core 4470 are connected in series.

[0399] Specifically, when I(t), which is the value of the sensor data a′, and Bias, which is a predetermined bias value, are input, the input core 4410 weights I(t) using the input weights to generate an input weighting result ((w i I )·(I(t)+Bias).

[0400] The input weighting result output by the input core 4410 is stored in the reservoir node state u j (t) are input to the first multiplier 4420. As a result, the first multiplier 4420 calculates the reservoir node state u j (t) outputs the sum of the first multiplication result weighted using the connection weight and the input weighted result.

[0401] The sum of the first multiplication result output by the first multiplier 4420 and the input weighting result is the reservoir node state u read from the reservoir node state storage unit 4480. j (t) are input to the second multiplier 4430. As a result, the second multiplier 4430 calculates the reservoir node state u j (t) outputs the sum of the second multiplication result weighted using the connection weight, the input weighted result, and the first multiplication result.

[0402] The sum of the second multiplication result output by the second multiplier 4430, the input weighting result, and the first multiplication result is stored as the reservoir node state u j (t) are input to the third multiplier 4440. As a result, the third multiplier 4440 multiplies the reservoir node state u j (t) outputs the sum of the third multiplication result weighted using the connection weight, the input weighted result, and the first and second multiplication results.

[0403] The sum of the third multiplication result output by the third multiplier 4440, the input weighting result, and the first and second multiplication results is stored as the reservoir node state u read from the reservoir node state storage unit 4480. j (t) are input to the fourth multiplier 4450. As a result, the fourth multiplier 4450 multiplies the reservoir node state u j (t) outputs the sum of the fourth multiplication result weighted using the connection weight, the input weighted result, and the first to third multiplication results.

[0404] The sum of the fourth multiplication result output by the fourth multiplier 4450, the input weighting result, and the first to third multiplication results is stored as the reservoir node state u read from the reservoir node state storage unit 4480. j (t) are input to the fifth multiplier 4460. As a result, the fifth multiplier 4460 calculates the reservoir node state u j (t) outputs the sum of the fifth multiplication result weighted using the connection weight, the input weighted result, and the first to fourth multiplication results.

[0405] The result of adding the fifth multiplication result output by the fifth multiplier 4460, the input weighting result, and the first to fourth multiplication results is input to the activation core 4470. As a result, the activation core 4470 outputs a reservoir feature.

[0406] The reservoir node state u that is read from the reservoir node state storage unit 4480 and input to the first multiplier 4420 to the fifth multiplier 4460 is j (t) is assumed to input the same element at the same timing.

[0407] The input core 4410 and the first to fifth multipliers 4420 to 4460 are configured by similar calculation units, and the detailed configuration of the calculation units will be described later. The activation core 4470 will also be described later in detail.

[0408] (2) Details of the parallelized reservoir device (with feedback) Next, details of the hardware configuration of the parallelized reservoir device 202 (with feedback) will be described. Figure 45 is an eighth diagram showing an example of the hardware configuration of the reservoir device. CU 10 shows an example of the hardware configuration of the reservoir device when the number of reservoirs is 5.

[0409] As shown in Fig. 45, the parallelized reservoir device 202 (with feedback) has a hardware configuration similar to that of the parallelized reservoir device 202 (without feedback) shown in Fig. 44. In addition, the parallelized reservoir device 202 (with feedback) has a feedback core 4510 (another example of a feedback weight multiplication unit). In addition, the sum of the input weighting result and the first to fifth multiplication results output from the fifth multiplier 4460 is output to the feedback core 4510 instead of being output to the activation core 4470.

[0410] When Z(t) which is the value of the prediction result data is input, the feedback core 4510 outputs a feedback weighted result (w i F )·(Z(t)).

[0411] The feedback core 4510 outputs the feedback weighting result (w i F )·(Z(t)), the input weighting result and the first to fifth multiplication results are added together. The addition result is output to the activation core 4470. As a result, the activation core 4470 outputs the reservoir feature.

[0412] (3) Details of each unit included in the parallelized reservoir device Next, details of each unit included in the parallelized reservoir device 202 (input core 4410, feedback core 4510, first multiplier 4420 to fifth multiplier 4460, and activation core 4470) will be described.

[0413] (3-1) Details of the Calculation Unit Figures 46A and 46B are first and second diagrams showing details of the calculation unit constituting the reservoir device. Of these, 46a in Figure 46A is an example of a calculation unit constituting the input core 4410. As shown in 46a in Figure 46A, the calculation unit constituting the input core 4410 has a weight bit shift multiplication unit 4610, an adder 4620, and a register 4630.

[0414] The weight bit shift multiplication unit 4610 weights the input sensor data a' value using a power of 2 corresponding to the value output from the 4-bit LFSR, its negative value, or 0 as the weight. As a result, the weight bit shift multiplication unit 4610 outputs the input weighting result. Note that the weight bit shift multiplication unit 4610 is similar to the weight bit shift multiplication unit 3300 described using FIG. 33 , and therefore a detailed description thereof will be omitted here.

[0415] The adder 4620 is an example of an addition unit, and outputs an input weighting result obtained by adding a bias to the input weighting result output by the weight bit shift multiplication unit 4610 .

[0416] The register 4630 holds the input weighting result output by the adder 4620. The input weighting result output by the adder 4620 and held in the register 4630 is output to the subsequent calculation unit.

[0417] 46b in FIG. 46A is an example of a calculation unit that constitutes the first multiplier 4420 to the fifth multiplier 4460, and is generally the same as the calculation unit shown in 46a in FIG. 46A.

[0418] However, the weight bit shift multiplication unit 4640 weights the reservoir node state read out from the reservoir node state storage unit 4480 using a power of 2 according to the value output from the 4-bit LFSR, or its negative value, or 0 as the weight. Note that the weight bit shift multiplication unit 4640 adjusts the spectral radius by shifting the weighted value to the right by the right shift amount (nb) obtained by logarithmically quantizing the spectral radius.

[0419] The adder 4650 is an example of an addition unit, and adds the combined weighting result from the weight bit shift multiplication unit 4640 to the output from the previous calculation unit. When the calculation unit constitutes the first multiplier 4420, the output from the previous calculation unit becomes the input weighting result. When the calculation unit constitutes any of the multipliers subsequent to the second multiplier (the second multiplier 4430 to the fifth multiplier 4460), the output from the previous calculation unit becomes the addition result by the previous multiplier.

[0420] The register 4660 holds the addition result output from the adder 4650. The addition result held in the register 4660 is read by the subsequent calculation unit 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 subsequent multiplier. When the calculation unit constitutes the fifth multiplier 4460 (i.e., when the calculation unit constitutes the final stage), the addition result is read by the activation core 4470.

[0421] 46c in FIG. 46B is an example of a calculation unit that constitutes the feedback core 4510, and is generally the same as the calculation unit shown in 46a in FIG. 46A.

[0422] As shown in 46c of FIG. 46B, the calculation unit constituting the feedback core 4510 includes a weight bit shift multiplication unit 4670, an adder 4680, and a register 4690.

[0423] The weight bit shift multiplication unit 4670 weights the input prediction result data value using a power of 2 corresponding to the value output from the 4-bit LFSR, its negative value, or 0 as the weight. As a result, the weight bit shift multiplication unit 4670 outputs the feedback weighted result. Note that the weight bit shift multiplication unit 4670 is similar to the weight bit shift multiplication unit 3300 described using FIG. 33 , and therefore a detailed description thereof will be omitted here.

[0424] The adder 4680 is an example of an addition unit, and outputs the result obtained by adding the feedback weighting result output by the weight bit shift multiplication unit 4610 and the output of the calculation unit in the previous stage.

[0425] The register 4690 holds the result output by the adder 4680. The result output by the adder 4680 and held in the register 4690 is output to the activation core 4470.

[0426] (3-2) Details of Activation Core The activation core 4470 is realized by, for example, the activation function circuit 332 that executes the activation function f of equation (7), as described in the first embodiment using FIG. 9 and the like. Alternatively, the activation core 4470 may be realized by, for example, the limiter circuit 907 that executes a piecewise linear function, as described in the fifth embodiment. Alternatively, the activation core 4470 may be realized by, for example, a look-up table, as described in the fifth embodiment.

[0427] <Timing chart of the entire reservoir device> Next, a timing chart of the entire processing of the reservoir device 202, which reduces the number of calculations by the variable vector multiplication calculation architecture and is parallelized by having the above hardware configuration, will be described. Figure 47 is an example of a timing chart of the entire reservoir device, where: Number of reservoir nodes (N) = 100, Number of connections per node Ncu 10 shows a timing chart assuming that .times. ...

[0428] In Fig. 47, the horizontal axis indicates the execution timing, and each region indicates the length of one clock (clk). The thick arrows in the figure indicate the start and end timings of the calculation of the corresponding reservoir feature. Different types of thick arrows represent different processes. Specifically, as shown at the bottom of Fig. 47, the thick arrows correspond to one of the following: weighting process using input weights, weighted addition process using connection weights, weighting process using feedback weights, and activation process.

[0429] In addition, in FIG. 47, a timing chart 4710 is a timing chart of the reservoir device 202 (without feedback), and a timing chart 4720 is a timing chart of the reservoir device 202 (with feedback).

[0430] In both timing charts, the time required from the start of calculation of the first reservoir characteristic amount to the completion of calculation of the 100th reservoir characteristic amount is approximately 100 clocks (clk) + α. By using the reservoir device 202 in which the number of calculations is reduced and parallelized in this way, it is possible to achieve a significant increase in speed compared to the case where the reservoir device 202 in which the number of calculations is not reduced and parallelized is used.

[0431] <Verification of prediction accuracy of reservoir device with reduced number of calculations and parallelized> Next, the prediction accuracy of the reservoir device 202 with reduced number of calculations and parallelized will be verified. In this embodiment, the prediction accuracy was verified under the following conditions.

[0432] (1) Verification conditions Activation function: Piecewise linear function Number of reservoir nodes (N): 100 Number of connections per reservoir node (N CU): 5 ・Latency of activation function: 1 clock ・Learning conditions: Initialization data = 1000, learning data = 3000 ・Prediction conditions: Prediction data = 1000 ・Learning method: Batch learning Under the above verification conditions, the reservoir features were predicted using prediction data = 1000, and the following verification results were obtained (Note that Figure 48 shows an example of the verification results for the prediction accuracy of a reservoir device).

[0433] (2) Verification results MC (Memory Capacity): 21.1 (see 48a in Figure 48) NRMSE (NARAM10): 0.135 (see 48b in Figure 48) When the FPGA was operated at 125 MHz, it was confirmed that the time required to calculate the reservoir features was 855 [ns]. Since this was shorter than the calculation time of the FORCE learning device, which was 960 [ns], it was verified that the FPGA reservoir and FORCE learning could be connected by adjusting the timing.

[0434] NRMSE is an abbreviation for Normalized root mean square error, and NARMA10 is a general task used to verify reservoir devices.

[0435] <Summary> As is clear from the above explanation, the reservoir device 202 according to the sixth embodiment receives time-series sensor data measured in a predetermined process, and outputs reservoir features based on the results of processing using an input weight multiplication unit and a connection weight multiplication unit.

[0436] Furthermore, in the reservoir device 202 according to the sixth embodiment, the input weight multiplication unit weights input sensor data using values ​​determined by a periodic function as input weights. The connection weight multiplication unit is a multiplier that weights data indicating the state of each node using values ​​determined by a periodic function as connection weights between nodes, and has multipliers in number corresponding to the number of connections between each node. Each multiplier weights the same element of the data indicating the state of each node in parallel.

[0437] As a result, the reservoir device 202 according to the sixth embodiment can speed up the process of outputting the reservoir characteristic amount.

[0438] [Seventh embodiment] In the sixth embodiment, the reservoir node state u j The configuration is such that weighting of (t) is performed.

[0439] On the other hand, similar to the third embodiment, the spectral radius may be adjusted before being input to the weight bit shift multiplication unit 4640. The seventh embodiment will be described below, focusing on the differences from the sixth embodiment.

[0440] <Hardware Configuration of Parallel Reservoir Device> First, the hardware configuration of the reservoir device 202 according to the seventh embodiment will be described.

[0441] (1) Details of Parallelized Reservoir Device (without Feedback) Fig. 49 is a ninth diagram showing an example of the hardware configuration of a reservoir device. The differences from the hardware configuration described in Fig. 44 in the sixth embodiment are that in the case of the reservoir device 202 shown in Fig. 49, a spectral radius multiplier 4910 is added and the internal configurations of the first to fifth multipliers are changed.

[0442] The spectral radius multiplier 4910 is a bit shift circuit or a normal multiplier. A bit shift circuit is used when low resource consumption is desired, and a normal multiplier is used when high precision is desired. In the present embodiment, a case where a normal multiplier is used will be described below.

[0443] The output of the spectral radius multiplier 4910 is the reservoir node state u j The spectral radius weighting result is obtained by multiplying (t) by the inverse of the spectral radius. The output of the spectral radius multiplier 4910 is input to the first multiplier 4420' to the fifth multiplier 4460'. As a result, the first multiplier 4420' to the fifth multiplier 4460' do not need to adjust the spectral radius.

[0444] (2) Details of Parallelized Reservoir Device (with Feedback) Figure 50 is a tenth diagram showing an example of the hardware configuration of a reservoir device. The differences from the hardware configuration described using Figure 45 in the sixth embodiment are that the reservoir device 202 shown in Figure 50 includes the addition of a spectral radius multiplier 4910 and changes to the internal configurations of the first to fifth multipliers. As a result, the reservoir device 202 shown in Figure 50 can achieve the same effect as that of Figure 49.

[0445] (3) Details of the calculation units constituting the first to fifth multipliers As described above, the details of the calculation units constituting the first to fifth multipliers 4420′ to 4460′ change because there is no longer a need to adjust the spectral radius in the first to fifth multipliers 4420′ to 4460′.

[0446] Figure 51 is a second diagram showing details of the calculation unit constituting the reservoir device. The difference from the calculation unit shown in 46b of Figure 46A is that in Figure 51, the input of the logarithmically quantized right shift amount of the spectral radius to the weight bit shift multiplication unit 4640' is deleted. Details of the weight bit shift multiplication unit 4640' are as shown in Figure 52.

[0447] Figure 52 is a diagram showing an example of a weight bit shift multiplication unit in the seventh embodiment, and represents the weight bit shift multiplication units used in the first multiplier 4420' to the fifth multiplier 4460' (as this is similar to Figure 33, the description will be omitted).

[0448] As described above, according to the seventh embodiment, a parallel reservoir device 202 can be realized with a hardware configuration different from that of the sixth embodiment.

[0449] In the above embodiments, the case where the presence or absence of an abnormality and sensor data are output as prediction result data for predicting the process state has been described. However, the prediction result data output by the process state prediction unit 204 is not limited to the presence or absence of an abnormality and sensor data, and may be, for example, a level indicating the state of the process, the presence or absence of a failure in a device that executes the manufacturing process, etc.

[0450] In addition, in each of the above embodiments, an apparatus that executes a manufacturing process is cited as an example of an application of the process state prediction system, but the application of the process state prediction system is not limited to an apparatus that executes a manufacturing process. The application of the process state prediction system may be to an apparatus that executes a predetermined process other than a manufacturing process.

[0451] The present invention is not limited to the configurations described in the above embodiments, but may be combined with other elements, etc. These aspects can be changed without departing from the spirit of the present invention, and can be appropriately determined depending on the application form.

[0452] 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.

[0453] 120: Substrate processing apparatus 121: Chamber 122: Sensor 123: Management device 124: Management section 125: Control device 126: Control section 127: Actuator 128: Process state prediction system 201: I / O control section 202: Reservoir device 210: Calculation device 220: Adjustment device 311: Input weight generator 312: nI-bit right shifter 313: 2M-bit multiplier 321: Connection weight generator 322: nb-bit right shifter 323: 2M-bit multiplier 324: M-bit accumulation circuit 331: M-bit adder 332: Activation function circuit 333: First memory 334: Second memory 401: Feedback weight generator 402 : nF-bit right shifter 1200: FORCE learning unit 1300: FORCE learning unit 1200_1 to 1200_M: FORCE learning unit 1300_1 to 1300_M: FORCE learning unit 1601 to 1604: Signal lines 1721 to 1724: FPGA 2111, 2112: FPGA 2601: Process status data transmission unit 2602: Process status data acquisition unit 2603: Period control unit 2604: End information acquisition unit 2605: Re-learning determination unit 2606: Evaluation unit 2608: Reservoir feature acquisition unit 2609: Batch learning unit3300: Weight bit shift multiplication unit 3301: 4-bit LFSR 3302_1, 3302_2: Right bit shifter 3303: 2's complement circuit 3304: Selector 3410: Input weight bit shift multiplication unit 3420: Connection weight bit shift multiplication unit 3430: Feedback weight bit shift multiplication unit 3501: Spectral radius multiplier 3701: Address control circuit 4410: Input core 4420, 4420': First multiplier 4430, 4430': Second multiplier 4440, 4440': Third multiplier 4450, 4450': Fourth multiplier 4460, 4460': Fifth multiplier 4470: Activation core 4480: Reservoir node state storage unit 4510 : Feedback core 4610, 4640, 4670: Weight bit shift multiplication unit 4620, 4650, 4680: Adder 4630, 4660, 4690: Register 4910: Spectral radius multiplier

Claims

1. A reservoir device that receives time-series sensor data measured in a predetermined process, processes the data using an input weight multiplication unit and a coupling weight multiplication unit, and outputs a reservoir feature based on the result of the processing, 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 performs weighted addition on data indicating a state of each node using a value determined by a periodic function as a connection weight between nodes; Reservoir device.

2. The reservoir device is A time-series sensor data measured in a predetermined process and prediction data predicted based on a reservoir feature value one time before are input, and a reservoir feature value is output based on a result of processing using the input weight multiplication unit, the coupling weight multiplication unit, and the feedback weight multiplication unit; The reservoir device according to claim 1 , wherein the feedback weight multiplication unit weights the prediction data predicted based on the reservoir characteristic amount by using a value determined by a periodic function as a feedback weight.

3. 2 . The reservoir device according to claim 1 , wherein the connection weight multiplication unit performs weighted addition of the reservoir feature amount one time before as data indicating a state of each of the nodes.

4. 2. The reservoir device according to claim 1, wherein the coupling weight is determined by the periodic function and a right shift amount obtained by logarithmically quantizing a pre-calculated spectral radius.

5. 2. The reservoir device according to claim 1, wherein the input weight multiplication unit has a first multiplier that weights the input sensor data using a bit-shifted value output by a first periodic function circuit as an input weight.

6. The reservoir device according to claim 1, wherein the input weight multiplication unit has an input weight bit shift multiplication unit that weights the input sensor data using a power of 2 or its negative value according to the value output by a first periodic function circuit as an input weight.

7. The reservoir device according to claim 3, wherein the coupling weight multiplication unit includes a second multiplier that weights data indicating the state of each node using a bit-shifted value output by a second periodic function circuit as a coupling weight between nodes, and an accumulator that adds up the weighted data indicating the state of each node.

8. 4. The reservoir device according to claim 3, wherein the coupling weight multiplication unit has a coupling weight bit shift multiplication unit that weights data indicating the state of each of the nodes using a power of 2 or its negative value according to the value output by the second periodic function circuit as a coupling weight, and an accumulator that adds up the weighted data indicating the state of each of the nodes.

9. The reservoir device according to claim 2, wherein the feedback weight multiplication unit has a third multiplier that uses a bit-shifted value output by a third periodic function circuit as a feedback weight to weight predicted data predicted based on the reservoir characteristic value one time ago.

10. The reservoir device according to claim 2, wherein the feedback weight multiplication unit has a feedback weight bit shift multiplication unit that weights the prediction data predicted based on the reservoir characteristic value one time ago using a power of 2 or its negative value according to the value output by the third periodic function circuit as a feedback weight.

11. The reservoir device according to claim 1, wherein the coupling weight multiplication unit includes a second multiplier that weights data indicating the state of each node by coupling weights between nodes by multiplying a value output by a second periodic function circuit by a value obtained by adjusting the state of each node by a spectral radius, and an accumulator that adds up the weighted data indicating the state of each node.

12. the coupling weight multiplication unit has an address control circuit that reads out data indicating the states of each of the nodes, the number of which is less than the number of the nodes, from a memory that stores the reservoir feature amount one time before as data indicating the state of each of the nodes; 8. The reservoir device according to claim 7, wherein the second multiplier weights data indicating the state of each node read by the address control circuit.

13. A reservoir device that receives time-series sensor data measured in a predetermined process, processes the data using an input weight multiplication unit and a coupling weight multiplication unit, and outputs a reservoir feature based on the result of the processing, 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 is a multiplier that weights data indicating a state of each node by using a value determined by a periodic function as a connection weight between nodes, and has a number of multipliers corresponding to a processing speed or prediction accuracy of the reservoir device; Each multiplier included in the connection weight multiplication unit performs weighting in parallel on data common to each multiplier when weighting data indicating a state of each node using a value determined by a periodic function as a connection weight between nodes. Reservoir device.

14. A reservoir device that receives time-series sensor data measured in a predetermined process, processes the data using an input weight multiplication unit and a coupling weight multiplication unit, and outputs a reservoir feature based on the result of the processing, the input weight multiplication unit weights the input sensor data using a value determined by a periodic function as an input weight; The coupling weight multiplication unit includes a spectral radius multiplier that adjusts the reservoir feature amount one time before with a spectral radius, weights data indicating the state of each node according to coupling weights between nodes, and outputs a spectral radius weighting result, and a number of multipliers according to a processing speed or prediction accuracy of the reservoir device, the multipliers receiving the spectral radius weighting results, the multipliers are connected in series at a rear stage of the input weight multiplication unit; Among the multipliers, a first multiplier has an adder that adds an input weighting result output by the input weight multiplication unit and a connection weighting result obtained by weighting data indicating a state of a corresponding node, A reservoir device, in which among the multipliers, the second multiplier and subsequent multipliers have an addition section that adds the addition result output by the previous multiplier to a combination weighting result obtained by weighting data indicating the state of the corresponding node.

15. The reservoir device is A time-series sensor data measured in a predetermined process and prediction data predicted based on a reservoir feature value one time before are input, and a reservoir feature value is output based on a result of processing using the input weight multiplication unit, the coupling weight multiplication unit, and the feedback weight multiplication unit; The reservoir device according to claim 13, wherein the feedback weight multiplication unit weights the prediction data predicted based on the reservoir characteristic amount by using a value determined by a periodic function as a feedback weight.

16. The reservoir device according to claim 13 , wherein each of the multipliers weights the reservoir characteristic amount one time before as data indicating a state of each of the nodes.

17. the multipliers are connected in series at a rear stage of the input weight multiplication unit; Among the multipliers, a first multiplier has an adder that adds an input weighting result output by the input weight multiplication unit and a connection weighting result obtained by weighting data indicating a state of a corresponding node, The reservoir device described in claim 13, wherein among the multipliers, the second multiplier and subsequent multipliers have an addition section that adds the addition result output by the previous multiplier to a combination weighting result obtained by weighting data indicating the state of the corresponding node.

18. The reservoir device according to claim 13 , wherein the coupling weight is determined by the periodic function and a right shift amount obtained by logarithmically quantizing a pre-calculated spectral radius or the spectral radius.

19. The reservoir device according to claim 13, wherein the input weight multiplication unit has an input weight bit shift multiplication unit that weights the input sensor data using an input weight that is a power of 2 or its negative value, or 0, depending on the value output by the first periodic function circuit.

20. Each of the multipliers further comprises: The reservoir device according to claim 17, further comprising a coupling weight bit shift multiplication unit that weights data indicating the state of each node using a coupling weight that is a power of 2 or its negative value, or 0, according to the value output by the second periodic function circuit.

21. The reservoir device according to claim 15, wherein the feedback weight multiplication unit has a feedback weight bit shift multiplication unit that weights the prediction data predicted based on the reservoir characteristic value one time ago using a power of 2 or its negative value, or 0, according to the value output by the third periodic function circuit, as a feedback weight.

22. The reservoir device according to claim 13, wherein the coupling weight multiplication unit reads out data indicating the state of each node from a memory that stores the reservoir features one time ago as data indicating the state of each node, the number of data corresponding to the processing speed or prediction accuracy of the reservoir device, and each multiplier weights the data indicating the state of each node that has been read out.

23. The connection weight multiplication unit The reservoir device of claim 13, wherein the nodes are pre-specified to be weighted by elements other than zero due to a regularity in the arrangement of elements whose connection weight is zero, and data indicating the state of a number of nodes corresponding to the processing speed or prediction accuracy of the reservoir device is read out.

24. The reservoir device according to claim 17, further comprising a calculation unit that outputs the reservoir characteristic quantity by performing a fixed-point or floating-point polynomial calculation on the addition result output by the final stage multiplier among the multipliers.

25. The reservoir device according to claim 15, further comprising a calculation unit that outputs the reservoir characteristic quantity by performing a fixed-point or floating-point polynomial calculation on the result of adding the addition result output by the final stage multiplier among the multipliers and the feedback weighting result output by the feedback weight multiplication unit.

26. The calculation unit is a storage unit that stores coefficients adjusted in advance according to characteristics of sensor data as coefficients used in the fixed-point or floating-point polynomial calculation; The reservoir device according to claim 24, wherein the coefficients stored in the storage unit are read out to perform the fixed-point or floating-point polynomial calculation.

27. The calculation unit is The reservoir device of claim 24, wherein the reservoir characteristic quantity is output by using a piecewise linear function or a lookup table instead of performing the fixed-point or floating-point polynomial calculation.

28. A reservoir device according to any one of claims 1 to 27; a prediction device that predicts a state of the predetermined process based on the reservoir feature amount and weight parameters and outputs prediction data; A process state prediction system having the following:

29. 29. The process state prediction system according to claim 28, wherein the prediction device learns the weighting parameters by performing a FORCE learning process using a recursive least squares method.

30. 30. The process state prediction system according to claim 29, wherein the prediction device includes a plurality of FPGAs, each of which executes a part of a matrix operation of multiple rows and multiple columns executed for the FORCE learning process using the recursive least squares method, and learns the weight parameters by aggregating the execution results of each FPGA.

31. 31. The process state prediction system according to claim 30, wherein in the prediction device, each of the FPGAs substitutes for the part of the calculations of the FORCE learning process by the recursive least squares method by transposing an already calculated vector, utilizing symmetry of a matrix used in the part of the calculations.

32. 30. The process state prediction system according to claim 29, wherein the prediction device, when it is determined that re-learning is necessary during a prediction period after learning, re-learns the weight parameters by performing a FORCE learning process using the recursive least squares method.

33. 33. The process state prediction system according to claim 32, wherein, when re-learning the weight parameters by the FORCE learning process using the recursive least squares method, the prediction device executes the FORCE learning process a number of times corresponding to the number of learning parameters to calculate weight parameters in a number corresponding to the number of learning parameters, and sets, among the calculated weight parameters, a weight parameter that is within a predetermined allowable range and corresponds to a prediction result with the highest prediction accuracy as a weight parameter to be used for prediction after re-learning.

34. 34. The process state prediction system according to claim 33, wherein the predetermined allowable range is set to a fixed value, or a value based on a prediction result calculated by accumulating the reservoir feature amount up to a predetermined data amount and performing batch learning is set to the predetermined allowable range.

35. 34. The process state prediction system of claim 33, wherein when it is determined that the prediction accuracy of any prediction result does not fall within a predetermined tolerance range and new learning parameters are generated, the prediction device sets the weight parameters calculated by executing the FORCE learning process based on the new learning parameters as the weight parameters to be used for prediction after re-learning.

36. 33. The process state prediction system according to claim 32, wherein it is determined that re-learning is necessary when the accuracy of the prediction result output by the prediction device becomes equal to or lower than a predetermined threshold, when the type of the time-series sensor data to be input is changed, or when a value of the time-series sensor data to be input fluctuates by equal to or greater than a predetermined threshold.