WO2022264573A1 - プロセス状態予測システム - Google Patents

プロセス状態予測システム Download PDF

Info

Publication number
WO2022264573A1
WO2022264573A1 PCT/JP2022/011741 JP2022011741W WO2022264573A1 WO 2022264573 A1 WO2022264573 A1 WO 2022264573A1 JP 2022011741 W JP2022011741 W JP 2022011741W WO 2022264573 A1 WO2022264573 A1 WO 2022264573A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
process state
unit
reservoir
prediction
Prior art date
Application number
PCT/JP2022/011741
Other languages
English (en)
French (fr)
Inventor
友貴哉 斉藤
拓郎 筒井
元傑 凌
伸 大和田
哲也 浅井
恵 赤井
Original Assignee
東京エレクトロン株式会社
国立大学法人北海道大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 東京エレクトロン株式会社, 国立大学法人北海道大学 filed Critical 東京エレクトロン株式会社
Publication of WO2022264573A1 publication Critical patent/WO2022264573A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof

Definitions

  • This disclosure relates to a process state prediction system using reservoir computing with nanomolecular reservoirs.
  • time-series sensor data measured by various sensors is used to predict the state of the process (the state of the equipment during execution of the manufacturing process (e.g., whether there is an abnormality in the equipment, etc.)).
  • the process state is monitored by announcing the prediction result.
  • machine learning models has also been proposed in order to improve the prediction accuracy when predicting process states.
  • 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 (2016) 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.
  • devices equipped with machine learning models generally have a longer processing cycle than the measurement cycle of time-series sensor data, and perform machine learning by capturing short-cycle behavior that appears in time-series sensor data. I can't let you. For this reason, it is difficult to obtain sufficient prediction accuracy with conventional machine learning models, and in the event that the manufacturing process changes over time, it is assumed that the prediction accuracy will further decline.
  • This disclosure improves the prediction accuracy when predicting the process state based on time-series sensor data.
  • a process state prediction system has, for example, the following configuration. Namely a reservoir having POM molecules and carbon nanotubes, the reservoir receiving as input a voltage signal based on time-series sensor data measured in a predetermined process and outputting a current signal; a reading unit that reads the current signal and outputs a reservoir feature amount; A weight parameter learned so that the reservoir feature quantity and the state of the predetermined process are correlated, and a voltage signal based on time-series sensor data measured in the predetermined process after learning are input to the reservoir. a prediction unit for predicting the state of the predetermined process based on the reservoir feature quantity output by reading the current signal by the reading unit, and for outputting a prediction result.
  • FIG. 1A is a diagram showing an application example of a process state prediction system.
  • FIG. 1B is a diagram illustrating an example of a predicted effective time.
  • FIG. 2 is a diagram showing an example of the system configuration of the process state prediction system.
  • FIG. 3 is an example of a flowchart showing the flow of voltage modulation processing by the voltage modulation unit.
  • FIG. 4 is a diagram showing an example of a functional configuration of a multi-electrode I/O chip.
  • FIG. 5 is an example of a flowchart showing the flow of input/output processing by the multi-electrode I/O chip.
  • FIG. 6 is a first diagram showing an example of the hardware configuration of the multi-electrode I/O chip.
  • FIG. 7 is a second diagram showing an example of the hardware configuration of the multi-electrode I/O chip.
  • FIG. 8 is a third diagram showing an example of the hardware configuration of the multi-electrode I/O chip.
  • FIG. 9 is a fourth diagram showing an example of the hardware configuration of the multi-electrode I/O chip.
  • FIG. 10 is a fifth diagram showing an example of the hardware configuration of the multi-electrode I/O chip.
  • FIG. 11 is an example of a transition diagram of each period during which the process state prediction unit transitions.
  • FIG. 12 is a diagram illustrating an example of a functional configuration during a learning period of the process state prediction unit; FIG.
  • FIG. 13 is a diagram illustrating an example of a functional configuration during a prediction period of a process state prediction unit;
  • FIG. 14 is a first diagram showing an example of the functional configuration of the process state prediction unit during the re-learning period.
  • FIG. 15 is a second diagram showing an example of the functional configuration of the process state prediction unit during the re-learning period.
  • FIG. 16 is a diagram showing an example of the hardware configuration of a FORCE learning unit using the sequential least squares method.
  • FIG. 17 is a first diagram showing parallel processing and serial processing implemented in the FORCE learning unit using the sequential least squares method.
  • FIG. 18 is a second diagram showing parallel processing and serial processing implemented in the FORCE learning unit using the sequential least squares method.
  • FIG. 19 is a first diagram showing a transfer process implemented in the FORCE learning section using the iterative least squares method.
  • FIG. 20 is a diagram showing an alternative process implemented in the FORCE learning unit by the iterative least squares method.
  • FIG. 21 is a second diagram showing the transfer processing realized in the FORCE learning unit using the iterative least squares method.
  • FIG. 22 is a diagram showing a distribution process realized in the FORCE learning unit using the iterative least squares method.
  • FIG. 23 is a diagram showing weight parameter update processing implemented in the FORCE learning unit using the sequential least squares method.
  • FIG. 24 is an example of a timing chart of the FORCE learning process by the FORCE learning unit using the sequential least squares method.
  • FIG. 25 is a diagram illustrating an example of a hardware configuration of a management device
  • FIG. 26 is a diagram illustrating an example of a functional configuration of a management unit
  • FIG. 27 is an example of a flowchart showing the overall flow of process state prediction processing by the management unit and the process state prediction system.
  • FIG. 28 is an example of a flowchart showing the flow of learning processing.
  • FIG. 29 is an example of a flowchart showing the flow of prediction processing.
  • FIG. 30 is an example of a flowchart showing the flow of relearning determination processing.
  • FIG. 31 is a diagram showing another example of predicted effective time.
  • FIG. 32 is an example of a flowchart showing the flow of relearning processing.
  • FIG. 1A is a diagram showing an application example of a process state prediction system.
  • FIG. 1A shows, as a comparative example, a substrate processing apparatus (1a) to which the process state prediction system is not applied.
  • substrate processing apparatuses 110 and 120 have 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 have management devices 113 and 123 , control devices 115 and 125 , and actuators 117 and 127 .
  • a physical quantity is measured by a sensor a 112a and a sensor b 112b while the substrate is being processed in the chamber 111, and time-series sensor data a , as sensor data b.
  • the time-series sensor data a and sensor data b output from the sensor a 112 a and the sensor b 112 b are processed in the state prediction and management unit 114 of the management device 113 to predict the process state, and the control device 115 as prediction result data output to
  • the time-series sensor data a output from the sensor a 112a is processed by the control unit 116 of the control device 115 to calculate the control amount.
  • 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 the control command based on the control amount.
  • graph 130 is an example of time-series sensor data a output from sensor a 112a, where the horizontal axis represents time and the vertical axis represents signal strength.
  • a graph 140 is time-series sensor data a' when processed in the state prediction and management unit 114 of the management device 113, the horizontal axis is time, and the vertical axis is signal strength. are represented respectively.
  • the processing cycle T(b) when the management device 113 predicts the process state is longer than the measurement cycle T(a) when the sensor a 112a measures the time-series sensor data a. For this reason, the state prediction and management unit 114 cannot capture the short behavior that appears in the time-series sensor data a as shown in the graph 130 (see graph 140). It is difficult to obtain sufficient prediction accuracy for
  • the physical quantity during the substrate being processed in the chamber 121 is measured by the sensor a 122a and the sensor b 122b. Output as data b.
  • the time-series sensor data a output from the sensor a 122a is processed in the process state prediction system 128 to predict the process state. Prediction result data predicted by the process state prediction system 128 is output to the management unit 124 and the control unit 126 .
  • the time-series sensor data a output from the sensor 122a is processed by the control unit 126 of the control device 125 to calculate the control amount.
  • 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 the control command based on the control amount.
  • 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.
  • graph 141 is time-series sensor data a′ when processed in process state prediction system 128, with the horizontal axis representing time and the vertical axis representing signal strength. .
  • 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 much shorter than the processing cycle T(b) for predicting the process state by the management device 113 of 1a of FIG. 1A. As a result, according to the process state prediction system 128 according to the first embodiment, it is possible to capture short behaviors that appear in the time-series sensor data a shown in the graph 131, thereby improving the prediction accuracy.
  • Effective prediction time is the amount of time that the process state prediction system 128 (or the state prediction and management unit 114) can predict the state of the process how far into the future.
  • FIG. 1B is a diagram illustrating an example of a predicted effective time. As shown in FIG. 1B, ⁇ Than the effective prediction time (t a ⁇ t s ) when predicting the state of the process using the time-series sensor data a′ of the comparative example such as the graph 140, The effective prediction time (t b ⁇ t s ) when the process state is predicted using the time-series sensor data a′ of the graph 141, is longer. This indicates that the process state prediction system 128 is less likely to cause deterioration in prediction due to changes over time than the comparative example.
  • the substrate processing apparatus 120 accumulates an operation log (for example, a history of temperature, humidity, voltage signals, etc. during operation), and uses the accumulated log to calculate the expected effective time (t b ⁇ t s ). Analysis for further stretching may be performed.
  • an operation log for example, a history of temperature, humidity, voltage signals, etc. during operation
  • the management unit 124 manages the relearning process by the process state prediction system 128 by using the prediction result data output by the process state prediction system 128, the reservoir feature amount, and the sensor data b. can be done.
  • the process state data (correct answer data) used when the process state prediction system 128 performs learning processing or re-learning processing includes information such as whether there is an abnormality in the substrate processing apparatus 120 during execution of the substrate processing process.
  • the process state data (correct data) may include sensor data b output from the sensor b 122b (in this embodiment, the process state data (correct data) is the sensor output from the sensor b 122b). data b).
  • the correct data is generally called "dependent variable" or "teaching data”.
  • the management unit 124 exchanges various information (switching information, end information, etc.) with the process state prediction system 128 in order to manage the period of the process state prediction system 128. send and receive
  • the first embodiment it is possible to improve the prediction accuracy when predicting the process state based on time-series sensor data.
  • 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.
  • the process state prediction system 128 has an I/O control section 201, a voltage modulation section 202, a multi-electrode I/O chip 203, and a process state prediction section 204.
  • the I/O control unit 201 controls input/output of digital signals. Specifically, the I/O control unit 201 receives the time-series sensor data a output from the sensor a 122 a and notifies the voltage modulation unit 202 .
  • the time-series sensor data a input to the I/O control unit 201 may be one type of time-series sensor data, or may be a sensor data set composed of a plurality of types of time-series sensor data. may Here, for simplification of description, it is assumed that one type of time-series sensor data is input.
  • the I/O control unit 201 acquires the prediction result data (data resulting from the process state prediction) output by the process state prediction unit 204 and the reservoir feature amount output by the multi-electrode I/O chip 203. and transmits it to the management device 123 . Further, the I/O control unit 201 inputs process state data (correct data) used when performing learning processing (or re-learning processing) in the process state prediction system 128 from the management device 123, and the process state prediction unit 204 to notify.
  • the I/O control unit 201 transmits switching information for switching the period of the process state prediction unit 204 and end information indicating the end of processing by the process state prediction unit 204 in the period after switching to the management device 123. send and receive to and from
  • the voltage modulation unit 202 is an example of a modulation unit, and converts the time-series sensor data a' notified from the I/O control unit 201 into voltage data for input to the multi-electrode I/O chip 203. Specifically, the voltage modulation unit 202 acquires and modulates the sensor data a' at a sampling frequency of 1 MHz or higher, thereby converting it into voltage data.
  • the voltage modulation unit 202 converts the time-series sensor data a′ notified from the I/O control unit 201 into voltage data corresponding to the prediction result data output from the process state prediction unit 204, for example. good too.
  • the multi-electrode I/O chip 203 is a chip that outputs reservoir feature quantities.
  • the multi-electrode I/O chip 203 inputs a voltage signal based on voltage data to a nano-molecular reservoir (described later), reads current data based on a current signal output from the nano-molecular reservoir, and outputs a reservoir feature amount. do.
  • the reservoir feature value is a time-series data output by the nano-molecular reservoir based on each value from the past to the present when each value of the time-series sensor data a' is input to the nano-molecular reservoir. It is a numerical value that quantitatively represents the characteristics of the sensor data a'.
  • the process state prediction unit 204 operates under a plurality of periods (in this embodiment, a learning period, a prediction period, and a relearning period) that are switched according to the switching information.
  • a learning period refers to a period during which weight parameters are learned.
  • the relearning period refers to a period during which the learned weighting parameters are relearned.
  • the process state prediction unit 204 sets the weight parameter so that the prediction result data and the process state data (correct data) input by the I/O control unit 201 are correlated. calculate. Further, the process state prediction unit 204 outputs end information when the calculation of the weight parameters is completed.
  • the prediction period refers to the period in which the prediction result data is output based on the reservoir feature amount under the weight parameters learned in the learning period or re-learning period.
  • the process state prediction unit 204 shifts to the prediction period and predicts the process state based on the reservoir feature amount output from the multi-electrode I/O chip 203. do.
  • the process state prediction unit 204 also outputs prediction result data to the I/O control unit 201 and the voltage modulation unit 202 .
  • the output cycle when the process state prediction unit 204 outputs the prediction result data to the I/O control unit 201 is, for example, less than or equal to the processing cycle of the management device 123 (that is, less than or equal to the fieldbus transfer cycle). good.
  • FIG. 3 is an example of a flowchart showing the flow of voltage modulation processing by the voltage modulation unit.
  • step S301 the voltage modulation unit 202 determines whether or not there is feedback of prediction result data.
  • prediction result data is output from the process state prediction unit 204
  • the voltage modulation unit 202 determines that there is feedback of prediction result data (YES in step S301), and proceeds to step S302.
  • step S302 the voltage modulation unit 202 acquires prediction result data from the process state prediction unit 204, and proceeds to step S303.
  • step S301 determines whether there is no prediction result data feedback (NO in step S301). If it is determined in step S301 that there is no prediction result data feedback (NO in step S301), the process proceeds directly to step S303.
  • step S ⁇ b>303 the voltage modulation unit 202 acquires time-series sensor data from the I/O control unit 201 .
  • step S304 the voltage modulation unit 202 converts the acquired time-series sensor data into voltage data. At this time, if the prediction result data has been obtained in step S302, the voltage modulation unit 202 converts it into voltage data according to the prediction result data.
  • the voltage modulation unit 202 converts the time-series sensor data into voltage data in which prediction result data is superimposed. In this case, a voltage signal corresponding to the converted voltage data is input to each input side electrode (described later) of the multi-electrode I/O chip 203 .
  • the voltage modulation section 202 may convert time-series sensor data and prediction result data into respective voltage data. In this case, voltage signals corresponding to respective voltage data after conversion are input to corresponding input electrodes of the multi-electrode I/O chip 203 .
  • step S305 the voltage modulation section 202 inputs the voltage data to the multi-electrode I/O chip 203.
  • FIG. 4 is a diagram showing an example of a functional configuration of a multi-electrode I/O chip.
  • the multi-electrode I/O chip 203 has a D/A conversion section 401, a nano-molecular reservoir 402, and a read function section 403.
  • the D/A conversion section 401 is an example of a conversion section, and generates an analog voltage signal by D/A converting the voltage data input by the voltage modulation section 202 and inputs it to the nano-molecular reservoir 402 .
  • the nanomolecular reservoir 402 is a kind of "physical reservoir” composed of POM molecules and carbon nanotubes.
  • Physical reservoir refers to a “reservoir” that physically exists (or can exist) in the real world, not a reservoir that exists on a computer.
  • a “reservoir” refers to a complex system network in which multiple “reservoir nodes” are interconnected, and retains reservoir feature values for voltage signal inputs from the past to the present.
  • the number of input electrodes of a reservoir is less than the number of reservoir nodes, and low-dimensional inputs are mapped to multi-dimensional reservoirs.
  • reservoir node refers to a basic component in a reservoir.
  • a reservoir node receives one or more voltage signals, linearly or non-linearly transforms the values (or their values), and outputs a current signal.
  • a reservoir node is not a static element but a dynamic element (the state of its own node at the next time is determined from the current state of its own node and the states of other nodes coupled thereto). The current signal output from the reservoir node follows the current voltage signal input while forgetting the past voltage signal input.
  • the readout function unit 403 is an example of a readout unit, reads the current signal from the nano-molecular reservoir 402, converts it into voltage data, and outputs it to the process state prediction unit 204 as a reservoir feature amount.
  • the multi-electrode I/O chip 203 By adopting a configuration that uses nanomolecular reservoirs in this way, according to the multi-electrode I/O chip 203, it is possible to capture short behaviors appearing in sensor data and output reservoir feature amounts. According to the applicant of the present application, the period from inputting the voltage signal to the nano-molecular reservoir 402 to reading the current signal by the reading function unit 403 and outputting it as the reservoir feature value is 1 ⁇ s or less.
  • FIG. 5 is an example of a flowchart showing the flow of input/output processing by the multi-electrode I/O chip.
  • step S501 the multi-electrode I/O chip 203 D/A converts the voltage data to generate a voltage signal.
  • step S502 the multi-electrode I/O chip 203 inputs a voltage signal to the nanomolecular reservoir 402.
  • step S503 the multi-electrode I/O chip 203 reads current signals from the nano-molecular reservoirs 402.
  • step S504 the multi-electrode I/O chip 203 A/D-converts the read current signal to generate current data.
  • step S505 the multi-electrode I/O chip 203 outputs the current data to the process state prediction unit 204 as a reservoir feature amount.
  • FIG. 6 is a first diagram showing an example of the hardware configuration of the multi-electrode I/O chip. A bottom view is shown. 6d represents an adjustment item that specifies the configuration of the multi-electrode I/O chip 203.
  • adjustment items specifying the configuration of the multi-electrode I/O chip 203 include a plurality of adjustment items (see adjustment item 600). Among them, in FIG.
  • the D/A converter 401 is indicated by a white rectangle (see 6b in FIG. 6).
  • the D/A converter 401 inputs a voltage signal to the input side electrode 610 .
  • the "number of input-side electrodes" is sixteen.
  • the black circles represent reservoir nodes (see 6b in FIG. 6).
  • the number of these black circles is the "number of reservoir nodes" forming the network.
  • a plurality of reservoir nodes are interconnected (see 6b in FIG. 6). Then, voltage signals are input from the D/A converter 401 to a plurality of reservoir nodes in contact with the input-side electrode 610 under the "input weight parameter to the reservoir nodes.” Specifically, a voltage signal is input to the reservoir node immediately below the input-side electrode 610 in the A-A' cross section shown in 6b of FIG. 6 under the input weight parameter to the reservoir node.
  • the output signals of other reservoir nodes are input to the interconnected reservoir nodes under the ⁇ inter-reservoir node connection weight parameter'' (AA' shown in 6b in FIG. 6). See the solid line from the black circle to another black circle in the cross-sectional view).
  • the "input weight parameter to the reservoir node” is specifically determined based on the reciprocal of the resistance value between the input-side electrode for inputting the voltage signal and the voltage source.
  • the “bond weight parameter between reservoir nodes” is specifically determined by the reciprocal of the distance between POM molecules.
  • the white rectangle shown in the readout function unit 403 indicates the external output end of the output-side electrode 620 for reading out the reservoir feature amount.
  • the output signal (current signal) of the readout node among the plurality of reservoir nodes is read from the external output terminal of the readout function unit 403 .
  • the "number of electrodes on the output side" is 16 pieces.
  • FIG. 7 is a second diagram showing an example of the hardware configuration of the multi-electrode I/O chip, and is a diagram for explaining the adjustment item 600 (FIG. 6) that specifies the configuration of the multi-electrode I/O chip 203. is.
  • FIG. 7 among these, - the number of charge accumulations in the POM molecule, ⁇ Ground capacity, will be explained.
  • FIG. 7a of FIG. 7 is a top view of the nanomolecular reservoir 402.
  • the nanomolecular reservoir 402 contains POM molecules (filled circles) connected by carbon nanotubes (straight lines shown between POM molecules).
  • a POM molecule is a polyacid molecule, and has the property of accumulating charges and releasing the accumulated charges when the amount of accumulation exceeds a threshold value.
  • the “charge accumulation number of POM molecules” refers to the threshold of the amount of accumulation (threshold of the amount of charge when the POM molecules accumulate and release charges) at this time. This threshold is adjusted by the environment in which the nanomolecular reservoir 402 is placed (environmental values (such as humidity) that can affect the charge storage count). In order to adjust the threshold appropriately, the environmental value (humidity, etc.) may be controlled to be constant during fabrication and/or operation of the nano-molecular reservoir 402 .
  • FIG. 7b of FIG. 7 is a graph showing the relationship between the thickness of the dielectric existing between the POM molecules and the electrode (not shown) of the substrate and the capacitance to ground when the nanomolecular reservoir 402 is viewed from the side. If the dielectric between the POM molecule and the substrate electrode (not shown) is thin, as shown in FIG. of POM molecules. On the other hand, if the dielectric between the POM molecule and the electrode (not shown) of the substrate is thick, the “capacitance to ground” will be small, and the voltage fluctuation of one POM molecule will affect other POM molecules through the substrate. no.
  • the voltage of one POM molecule fluctuates, the voltage of the substrate changes through a parasitic capacitor having ground capacitance (capacitor generated in a structure in which a dielectric is sandwiched between the POM molecule and the substrate). fluctuate. Since the substrate is also common to other POM molecules, when the voltage of the substrate fluctuates, it also affects the voltage fluctuations of the other POM molecules. The degree of influence at this time is determined by the capacitance to ground (that is, the thickness of the dielectric).
  • the thickness of the dielectric is appropriately adjusted so that the optimum reservoir feature amount for predicting the process state is output as the current signal of the POM molecules.
  • ground capacity of the nano-molecular reservoir 402 is an adjustment item that determines the contribution rate (leakage rate) of past data in the reservoir node.
  • FIGS. 8 and 9 are third and fourth diagrams showing an example of the hardware configuration of the multi-electrode I/O chip, and an adjustment item 600 (FIG. 6) specifying the configuration of the multi-electrode I/O chip 203. It is a figure for explaining. In FIGS. 8 and 9, among these, ⁇ Network shape (number of connected carbon nanotubes, concentration distribution of POM molecules) will be explained.
  • 8a of FIG. 8 schematically shows the relationship between POM molecules (black circles) and carbon nanotubes (straight lines shown between POM molecules, denoted as CNT in the figure) in the nanomolecule reservoir 402.
  • FIG. 8a of FIG. 8 shows a case where they are arranged one-dimensionally. As the number of POM molecules and carbon nanotubes connected in the nanomolecular reservoir 402 increases, the number of reservoir nodes increases.
  • POM molecules and carbon nanotubes each have resistance.
  • the resistance values of carbon nanotubes are not uniform and have variations (R1, R2, R3, R4, . . . ). Therefore, when a voltage signal is input via the input-side electrode, the current signal output via the output-side electrode is ⁇ When the number of connections between the POM molecules and the carbon nanotubes between the input-side electrode 610 and the output-side electrode 620 is small, it fluctuates randomly over time, - When the number of connections between the POM molecules and the carbon nanotubes between the input-side electrode 610 and the output-side electrode 620 is large, it does not fluctuate randomly over time and becomes a constant value. It has the characteristic of
  • the nanomolecular reservoir 402 when used to output the reservoir feature quantity, the current signal must not fluctuate randomly over time. Therefore, the number of POM molecules and carbon nanotubes connected between the input side electrode 610 and the output side electrode 620 is adjusted to a level at which the current signal does not fluctuate randomly with time.
  • 8b of FIG. 8 is a graph showing the relationship between the number of POM molecules and carbon nanotubes connected between the input side electrode 610 and the output side electrode 620 and the magnitude of temporal fluctuation of the current signal.
  • the number of connections whose temporal fluctuation is below a predetermined threshold is derived in advance, and the "network shape (connection of CNTs)" is calculated so as to exceed the derived number of connections number) has been adjusted.
  • FIG. 9 shows a network shape when the "network shape (concentration distribution of POM molecules)" is non-uniform.
  • the nanomolecular reservoir 402 by forming the nanomolecular reservoir 402 such that the concentration of the droplets of POM molecules is non-uniform, the nanomolecular reservoir 402 includes regions where the POM molecules are coarse and regions where the POM molecules are dense. It will be. Further, by arranging the electrodes according to the concentration distribution of the POM molecules, the number of POM molecules contained in one reservoir node can be increased (see reference numerals 901 and 902). This allows the non-linear characteristics of stochastic reservoir nodes, which are undesirable for nanomolecular reservoirs 402, to be non-stochastic.
  • 9b of FIG. 9 shows a nanomolecule reservoir 402 having a network configuration when the "network shape (concentration distribution of POM molecules)" is uniform.
  • FIG. 10 is a fifth diagram showing an example of the hardware configuration of the multi-electrode I/O chip, and is a diagram for explaining the adjustment item 600 (FIG. 6) specifying the configuration of the multi-electrode I/O chip 203. is.
  • FIG. 10 among these, ⁇ Electrode shape, ⁇ Integration time of readout current, will be explained.
  • FIG. 10 shows a side view of the circuit configuration of an input/output circuit that inputs a voltage signal to the nano-molecular reservoir 402 shown in FIG. 6 and outputs a current signal in the multi-electrode I/O chip 203.
  • voltage sources 1001 and 1002 apply voltages to nano-molecular reservoir 402 via switch 1003 , resistor 1004 and input-side electrode 610 .
  • the input of the voltage signal to the reservoir node is adjusted by ON/OFF of the switch 1003 .
  • the "input weighting parameter" is adjusted.
  • the current signal is output via the output-side electrode 620 .
  • a detailed configuration around the output side electrode 620 is indicated by reference numeral 1010 in 10b of FIG.
  • the current signal is read from the entire POM molecule via the output side electrode 620, the low noise amplifier 1011, and the A/D converter 1012 using a voltage-controlled oscillator.
  • the “electrode shape” of the input-side electrode 610 and the output-side electrode 620 is configured to have a pointed shape so that the electric field between the input-side electrode 610 and the output-side electrode 620 concentrates on the network of POM molecules. be.
  • the output side electrode 620 is connected to the nMOSFET 1020, as shown in 10b of FIG.
  • the nMOSFET 1020 when a voltage is applied to the gate 1023 ( ⁇ RST ), the drain 1022 and the source 1021 are electrically connected (turned on). Also, in the nMOSFET 1020, when the gate 1023 ( ⁇ RST ) is connected to GND, the drain 1022 and the source 1021 are electrically cut off (turned off).
  • the source 1021 is electrically floating (the input terminal (-) of the low noise amplifier 1011 and the output electrode 620 are also electrically floating).
  • the source 1021 is a diffusion layer
  • a source having such a configuration is called FD (Floating Diffusion).
  • the current signal is integrated in the source 1021, which is a floating diffusion region, so that the current signal is noise-removed and smoothed.
  • the "read current integration time” which is the integration time at this time, can be arbitrarily adjusted.
  • FIG. 10c of FIG. 10 shows an operation example of the nMOSFET 1020.
  • FIG. 10c nMOSFET 1020 operates in the following order.
  • (I) Turn on nMOSFET 1020 and set the voltage of source 1021 to V RST (fully charge source 1021).
  • (II) The nMOSFET 1020 is turned off to electrically disconnect the source 1021 from the drain 1022 (so that the source 1021 is electrically floating).
  • III When the charges accumulated in the source 1021 fluctuate via the output-side electrode 620, the voltage of the source 1021 changes. Since the capacity of the source 1021 is extremely small, the amount of voltage fluctuation of the source 1021 is large.
  • (IV) The current signal of the source 1021 in (III) above is input to the low noise amplifier 1011 and A/D converted by the A/D converter 1012 .
  • FIG. 11 is an example of a transition diagram of each period during which the process state predictor transitions. As shown in FIG. 11, when the process by the process state prediction system 128 is started, the process state prediction unit 204 shifts to any period (learning period, prediction period, or relearning period). to start operation. However, here, for the sake of simplification of explanation, the case where the learning period starts and the operation is started will be explained.
  • the process state prediction unit 204 uses the reservoir feature amount and the process state data (correct data) to learn for a predetermined learning time. Processing is performed to calculate weight parameters.
  • the process state prediction unit 204 outputs end information when the learning process ends, and shifts to the prediction period when switching information is input from the management device 123 (arrow 1102). During the prediction period, the process state prediction unit 204 outputs prediction result data based on the reservoir feature amount by performing prediction processing based on the calculated weight parameter.
  • the management device 123 determines whether or not re-learning is necessary. Switching information is input to the prediction unit 204 . As a result, the process state prediction unit 204 shifts to the relearning period (arrow 1103).
  • the process state prediction unit 204 performs relearning processing while changing the learning parameter set (details will be described later), thereby calculating the weighting parameter for each learning parameter set. Subsequently, the process state prediction unit 204 performs prediction processing with each calculated weight parameter set, and outputs prediction result data.
  • the management device 123 also specifies a weighting parameter corresponding to prediction result data that is within the allowable range and has the highest prediction accuracy, and inputs switching information to the process state prediction unit 204 . As a result, the process state prediction unit 204 shifts to the prediction period (arrow 1104).
  • FIG. 12 is a diagram illustrating an example of a functional configuration during a learning period of the process state prediction unit
  • the process state prediction unit 204 functions as a FORCE learning unit 1200 using the iterative least squares method during the learning period.
  • the FORCE learning unit 1200 based on the iterative least squares method is set to “learning parameter set 0”, and the FORCE learning unit 1200 performs the following processing procedure (see reference numeral 1201) to perform the iterative minimum Force learning processing is performed by the square method.
  • the FORCE learning unit 1200 acquires the reservoir feature amount (R vector), it calculates the output data (Z) by multiplying the transposed vector obtained by transposing the sequential weight parameter (W vector).
  • the sequential weight parameter (W vector) refers to a weight parameter that is sequential updated in the process of FORCE learning processing by the sequential least squares method.
  • the FORCE learning unit 1200 calculates the error (e) between the output data (Z) and the process state data (S).
  • the FORCE learning unit 1200 calculates a coefficient matrix (P matrix) used to calculate the iterative weighting parameter (W vector).
  • the FORCE learning unit 1200 calculates sequential weighting parameters (W vector).
  • the FORCE learning unit 1200 calculates the weighting parameter by repeating the processes 1) to 4) above for a predetermined learning time.
  • FIG. 13 is a diagram illustrating an example of a functional configuration during a prediction period of a process state prediction unit
  • the process state prediction unit 204 functions as a FORCE learning unit 1300 using the iterative least squares method during the prediction period.
  • the FORCE learning unit 1300 indicates a state in which the weighting parameters calculated by the FORCE learning processing performed in the FORCE learning unit 1200 are set and the prediction result data (Z) can be output.
  • the FORCE learning unit 1300 performs prediction processing according to the following processing procedure (see reference numeral 1301).
  • the FORCE learning unit 1300 sets the weighting parameter (W vector) calculated by performing the FORCE learning process.
  • the process state prediction unit 204 functions as FORCE learning units 1200_1 to 1200_M using the sequential least squares method and as FORCE learning units 1300_1 to 1300_M using the sequential least squares method during the relearning period. .
  • the FORCE learning unit 1200_1 in FIG. 14 is set with “learning parameter set 1”, and the FORCE learning process by the sequential least squares method is performed by the processing procedure (see reference numeral 1201) described in FIG. done.
  • the FORCE learning unit 1300_1 in FIG. 15 is set to a weighting parameter calculated by the FORCE learning process performed in the FORCE learning unit 1200_1, and is in a state in which the prediction result data (Z) can be output. Point.
  • the FORCE learning unit 1300_1 Upon acquiring the reservoir feature amount, the FORCE learning unit 1300_1 outputs prediction result data by multiplying it by a transposed vector obtained by transposing the weight parameter.
  • "learning parameter set 2" is set in the FORCE learning unit 1200_2 of FIG. 14, and the FORCE learning process is performed by the sequential least squares method according to the processing procedure (see reference numeral 1201) described with reference to FIG. .
  • the FORCE learning unit 1300_2 in FIG. 15 is set to a weighting parameter calculated by the FORCE learning processing performed in the FORCE learning unit 1200_2, and is in a state in which the prediction result data (Z) can be output. Point.
  • the FORCE learning unit 1300_2 Upon acquiring the reservoir feature amount, the FORCE learning unit 1300_2 outputs prediction result data by multiplying it by a transposed vector obtained by transposing the weight parameter.
  • a "learning parameter set M" is set in the FORCE learning unit 1200_M in FIG. 14, and the FORCE learning process is performed by the sequential least squares method according to the processing procedure (see reference numeral 1201) described in FIG. .
  • the FORCE learning unit 1300_M in FIG. 15 sets the weighting parameter calculated by performing the FORCE learning process in the FORCE learning unit 1200_M, and sets a state in which the prediction result data (Z) can be output. Point.
  • the FORCE learning unit 1300_M outputs prediction result data by multiplying it by a transposed vector obtained by transposing the weight parameter.
  • the process state prediction unit 204 functions as the FORCE learning unit 1300_X using the iterative least squares method.
  • the FORCE learning unit 1300_X here means, among the FORCE learning units 1300_1 to 1300_M, - A FORCE learning unit in which "learning parameter set X" is set, A FORCE learning unit in which the output prediction result data is within a predetermined allowable range and a weighting parameter with the highest prediction accuracy is set; point to Note that the learning parameter set X is a learning parameter set when the output prediction result data is within a predetermined allowable range and the weighting parameter with the highest prediction accuracy is calculated.
  • FIG. 16 is a diagram showing an example of the hardware configuration of the FORCE learning unit using the iterative least squares method.
  • the FORCE learning unit 1200 using the sequential least squares method A plurality of FPGAs (Field Programmable Gate Arrays) functioning as PEs (Processing Elements) (25 in the example of FIG. 16), - A plurality of FPGAs that function as FPEs (Functional PEs) (five in the example of FIG. 16), have
  • the FPGA portion may be realized by a dedicated chip.
  • a plurality of FPGAs functioning as PEs respectively execute 3) calculation of the coefficient matrix among the processing procedures 1) to 4) of FORCE learning by the iterative least squares method described with reference to FIG.
  • a plurality of FPGAs functioning as PEs respectively calculate coefficient matrices (P matrices) according to the following procedure. (i) When a part of the reservoir feature amount (R vector) is input via the signal line 1601, it is multiplied by part of the coefficient matrix (P matrix), and the calculation result is sent to the signal line 1602. to the adjacent FPGA.
  • each of the plurality of FPGAs functioning as PEs repeatedly executes the above (i) to (iv).
  • a plurality of FPGAs functioning as FPEs respectively perform 4) sequential weighting parameter calculation, 1) Calculation of output data.
  • a plurality of FPGAs functioning as FPEs sequentially calculate weighting parameters and output data according to the following procedure.
  • (ii) Generate a matrix for calculating the product of a transposed vector obtained by transposing a part of the reservoir feature amount (R vector) and a part of the coefficient matrix (P matrix), and send it as a PE via the signal line 1603 Send to multiple FPGAs that work.
  • each of the plurality of FPGAs functioning as FPEs repeatedly executes the above (i) to (v).
  • the FPGA positioned at the final stage performs 4) successive weight parameter calculation, 1) output data calculation, and 2) error calculation.
  • the FPGA positioned at the final stage calculates the error according to the following procedure. (i) Calculate the error (e) by totaling all of the output data (Z) obtained from the FPGA located in the upper stage and calculating the difference from the process state data (S).
  • the calculated error (e) is transmitted to each FPGA located in the upper stage.
  • the FORCE learning unit 1200 using the sequential least squares method a plurality of FPGAs functioning as PEs and a plurality of FPGAs functioning as FPEs are used to execute processing procedures 1) to 4), thereby sequentially
  • the FORCE learning process is realized by the method of least squares.
  • each of the plurality of vertically arranged FPGAs functioning as PEs has a part of the coefficient matrix (P matrix) and a part of the reservoir feature amount (R vector). Calculate the product with the part.
  • the FORCE learning unit 1200 based on the sequential least squares method the process of multiplying a part of the coefficient matrix (P matrix) different from each other by a part of the same reservoir feature amount (R vector) can be performed in parallel. .
  • each of the plurality of PEs arranged in the horizontal direction is a reservoir feature amount (R vector) obtained by dividing the reservoir feature amount (R vector), which is time-series data. Some processing is done serially.
  • the FORCE learning unit 1200 using the sequential least squares method can speed up the FORCE learning process.
  • FIGS. 17 and 18 are first and second diagrams showing parallel processing and serial processing implemented in the FORCE learning unit using the sequential least squares method.
  • the number of electrodes on the output side is "4" (there are four elements of the reservoir feature amount (R vector)) for simplification of explanation.
  • R vector reservoir feature amount
  • FIGS. 17 and 18 are first and second diagrams showing parallel processing and serial processing implemented in the FORCE learning unit using the sequential least squares method.
  • the number of electrodes on the output side is "4" (there are four elements of the reservoir feature amount (R vector)) for simplification of explanation.
  • R vector reservoir feature amount
  • the product of the coefficient matrix (P matrix) and the reservoir feature amount (R vector) is executed using one FPGA.
  • 16 multiplications are required, as indicated at 1710 .
  • the number of multiplications can be halved.
  • the number of multiplications can be further halved.
  • Reference numeral 1730 in FIG. 17 inputs (r 1 , r 2 ), which is a part of the reservoir feature amount (R vector) of the R vector divided into two, to FPGAs 1721 and 1722, respectively. It shows how four multiplications have been executed.
  • reference numeral 1830 designates (r 3 , r 4 ), which are part of the reservoir feature amount (R vector) among the reservoir feature amount (R vector) divided into two, and inputs them to FPGAs 1723 and 1724, respectively. showing the situation. Also, reference numeral 1830 indicates how FPGAs 1723 and 1724 have each performed four multiplications.
  • the FORCE learning unit 1200 based on the sequential least-squares method arranges a plurality of FPGAs functioning as PEs in the vertical and horizontal directions, and each FPGA performs a multi-row, multi-column matrix operation performed in the FORCE learning process. configured to run part of the
  • the sequential least-squares method-based FORCE learning unit 1200 can speed up the sequential least-squares method-based FORCE learning process.
  • FIG. 19 is a first diagram showing a transfer process implemented in the FORCE learning section using the iterative least squares method.
  • 19a in FIG. 19 shows (r 1 , r 2 ) which is a part of the reservoir feature (R vector) and one part of the coefficient matrix (P matrix) of the reservoir feature (R vector) divided into two. It shows how the FPGAs 1721 and 1722 execute the multiplication with the part. 19a in FIG. 19 shows how the FPGAs 1721 and 1722 have transferred the execution results to the FPGAs 1723 and 1724, respectively.
  • the calculation results p 11 r 1 +p 12 r 2 and p 21 r 1 +p 22 r 2 are transferred from the FPGA 1721 to the FPGA 1723 over one clock.
  • p 31 r 1 +p 32 r 2 and p 41 r 1 +p 42 r 2 are transferred from the FPGA 1722 to the FPGA 1724 over one clock.
  • p 31 r 1 +p 32 r 2 and p 41 r 1 +p 42 r 2 are part of the reservoir feature amount (R vector) transferred from the FPGA 1721 to the FPGA 1722 over one clock (r 1 , r 2 ) and part of the coefficient matrix (P matrix).
  • 19b in FIG. 19 shows (r 3 , r 4 ) which is part of the reservoir feature (R vector) and part of the coefficient matrix (P matrix) of the reservoir feature (R vector) divided into two. It shows how the FPGAs 1723 and 1724 execute the product of . 19b in FIG. 19 shows how each of the FPGAs 1723 and 1724 transfers the execution result to the adjacent FPGA (not shown) on the right side.
  • the result of adding the calculation result p13r3 + p14r4 to the transfer result p11r1 + p12r2 is output as Transferred to FPGA. Further, from the FPGA 1723, the addition result obtained by adding the calculation result p 23 r 3 +p 24 r 4 to the transfer result p 21 r 1 +p 22 r 2 is transferred to an FPGA (not shown).
  • the addition result obtained by adding the calculation result p 33 r 3 +p 34 r 4 to the transfer result p 31 r 1 +p 32 r 2 is transferred to an FPGA (not shown). Further, from the FPGA 1724, the addition result obtained by adding the calculation result p 43 r 3 +p 44 r 4 to the transfer result p 41 r 1 +p 42 r 2 is transferred to an FPGA (not shown).
  • FIG. 20 is a diagram showing alternative processing implemented in the FORCE learning unit using the iterative least squares method.
  • 20a in FIG. 20 shows the relationship between calculation of the coefficient matrix (P matrix) and substitution processing.
  • the coefficient matrix (P matrix) 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).
  • the product of the reservoir feature amount (R vector) and the coefficient matrix (P matrix) has already been calculated at the time of calculating the product (reference numeral 2004). Therefore, by transposing the calculation result using symmetry, it can be used as a substitute for "the product of the transposed matrix obtained by transposing the reservoir feature amount (R vector) and the coefficient matrix (P matrix)" (reference numeral 2001). be able to.
  • the right side of 20c in FIG. 20 represents the calculation result and indicates which pr is required by each element of the matrix on the right side among pr 1 , pr 2 , pr 3 and pr 4 .
  • the upper left element of this matrix requires pr1, pr2
  • the lower left and upper right elements require pr1, pr2 , pr3 , pr4
  • the lower right element requires pr3 , pr4 . do.
  • 20d in FIG. 20 is an FPGA (not shown) functioning as an FPE, - "the product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature amount (R vector)"; - "a transposed vector obtained by transposing a product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature amount (R vector)”; is transmitted to FPGAs 1721 to 1724 via a signal line 1603 for calculating . Furthermore, 20d of FIG.
  • FPGAs 1721 to 1724 are - "the product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature amount (R vector)"; - "a transposed vector obtained by transposing a product of a part of the coefficient matrix (P matrix) and a part of the reservoir feature amount (R vector)”; It shows how to calculate the product of .
  • the FPGA 1721 calculates the product of the upper left elements of the matrix on the right side of 20c in FIG. 20, the FPGA 1722 calculates the product of the lower left elements, the FPGA 1723 calculates the product of the upper right elements, and the FPGA 1724 calculates the product of the lower right elements.
  • the FORCE learning unit 1200 using the sequential least squares method when performing an operation including a transposed vector executed in the FORCE learning process using the sequential least squares method, the operation result of the operation not including the transposed vector is acquired and acquired. It substitutes by transposing the operation result.
  • the sequential least squares method-based FORCE learning unit 1200 can reduce the number of calculations when implementing the sequential least squares method-based FORCE learning process.
  • the FORCE learning unit 1200 using the sequential least squares method can speed up the FORCE learning process.
  • FIG. 21 is a second diagram showing the transfer processing realized in the FORCE learning unit using the iterative least squares method.
  • the FPGA 2111 divides the reservoir feature amount (R vector) into two, ⁇ If (r 1 , r 2 ) is part of the reservoir feature (R vector), If (w 1 , w 2 ) is part of the sequential weight parameter (W vector), is calculated, and the calculation result (reference numeral 2101) is transferred to the FPGA 2112. At this time, the FPGA 2111 transfers w 1 r 1 +w 2 r 2 , which is the calculation result (reference numeral 2101), to the FPGA 2112 over one clock.
  • the FPGA 2112 has (r 3 , r 4 ) which is a part of the reservoir feature amount (R vector) and a part of the sequential weight parameter (W vector) of the reservoir feature amount (R vector) divided into two. Calculate the product with (w 3 , 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 the addition result (reference numeral 2103).
  • the FPGA functioning as the FPE obtains the result of calculating the product of part of the reservoir feature amount (R vector) and part of the coefficient matrix (P matrix).
  • the FPGA functioning as the FPE includes part of the reservoir feature quantity (R vector), part of the coefficient matrix (P matrix), and part of the reservoir feature quantity (R vector) obtained via the signal line 1601. Calculate the product with the transposed vector obtained by transposing .
  • the FPGA functioning as an FPE executes distribution processing for distributing the calculation results to the FPGAs functioning as PEs.
  • FIG. 22 is a diagram showing a distribution process realized in the FORCE learning unit using the iterative least squares method.
  • the FPGA 2111 functioning as an FPE acquires the calculation result (reference numeral 2201) of the product of part of the coefficient matrix (P matrix) and part of the R vector from the corresponding FPGA functioning as the PE. do. Further, the FPGA 2111 functioning as an FPE calculates the product of the acquired calculation result (reference numeral 2201) and a transposed vector obtained by transposing a part (r 1 , r 2 ) of the reservoir feature amount (R vector), (2202) is transferred to the FPGA2112.
  • the FPGA 2112 functioning as an FPE obtains the calculation result (reference numeral 2203) of the product of part of the coefficient matrix (P matrix) and part of the R vector from the corresponding FPGA functioning as the PE. Also, the FPGA 2112 functioning as an FPE calculates the product of the obtained calculation result (reference numeral 2202) and a transposed vector obtained by transposing a part (r3 , r4 ) of the reservoir feature amount (R vector). Also, the FPGA 2112 functioning as an FPE adds the calculation result to the calculation result (reference numeral 2202 ) transferred from the FPGA 2111 . Furthermore, the FPGA 2112 functioning as an FPE transfers the result of addition (reference numeral 2204) to the FPGAs 1721-1724 functioning as PEs via the signal line 1604. FIG.
  • each of the FPGAs 1721 to 1724 can calculate a part of the coefficient matrix (P matrix).
  • P matrix For example, for FPGA1721, - "The product of part of the reservoir feature amount (R vector) and part of the coefficient matrix (P matrix)" (reference numeral 2004) is calculated in advance.
  • ⁇ “Product of a transposed vector obtained by transposing a part of the reservoir feature amount (R vector) and a part of the coefficient matrix (P matrix)” (reference numeral 2001) is transmitted via the signal line 1603 as described in FIG.
  • the coefficient matrix (P matrix) can be calculated in the FPGAs 1721 to 1724.
  • FIG. 23 is a diagram showing weight parameter update processing implemented in the FORCE learning unit using the sequential least squares method.
  • the FPGA 2112 positioned at the final stage calculates the error (e) by calculating the difference between the aggregated output data (Z) and the process state data (S). (reference numeral 2301). Furthermore, the FPGA 2112 located in the final stage transmits the calculated error (e) to the FPGA 2111 located in the upper stage. The FPGAs 2111 and 2112 use the calculated error (e) to sequentially update the weighting parameters.
  • the FPGA 2111 acquires the calculation result (reference numeral 2201) of the product of part of the reservoir feature amount (R vector) and part of the coefficient matrix (P matrix), and multiplies the error (e) acquired from the FPGA 2112. Then, it is subtracted from the current iterative weight parameter (W vector). As a result, the FPGA 2111 can successively update the weight parameter (W vector) (reference numeral 2302).
  • FIG. 24 is an example of a timing chart of the FORCE learning process by the FORCE learning unit using the sequential least squares method.
  • an FPGA functioning as an FPE a sequential weight parameter (W( ⁇ -1) vector); - Reservoir feature quantity (R ( ⁇ ) vector), By calculating the product of , the output data (Z( ⁇ )) is calculated (reference numeral 2401).
  • the FPGA functioning as the FPE calculates the error (e( ⁇ )) based on the output data (Z( ⁇ )) and the process state data (S( ⁇ )) (reference numeral 2402).
  • the FPGA functioning as PE is The product of the transposed vector obtained by transposing the reservoir feature amount (R vector ( ⁇ )), the coefficient matrix (P ( ⁇ 1) matrix), and the reservoir feature amount (R vector ( ⁇ )), The product of the coefficient matrix (P ( ⁇ 1) matrix) and the reservoir feature amount (R vector ( ⁇ )), - Coefficient matrix (P ( ⁇ -1) matrix), A coefficient matrix (P( ⁇ ) matrix) is calculated based on (reference numeral 2403).
  • the FPGA functioning as the PE calculates the product of the coefficient matrix (P( ⁇ ) matrix) and the reservoir feature amount (R( ⁇ ) vector) (reference numeral 2404). Also, the FPGA functioning as the PE calculates the product of the coefficient matrix (P( ⁇ +1) matrix) and the reservoir feature amount (R( ⁇ ) vector) (reference numeral 2405).
  • the FPGA functioning as PE is A transposed vector obtained by transposing the reservoir feature amount (R ( ⁇ + 1) vector); - A calculation result of the product of the coefficient matrix (P ( ⁇ ) matrix) and the reservoir feature amount (R ( ⁇ + 1) vector), is calculated (2406).
  • the FPGA acting as the FPE - A calculation result of the product of the coefficient matrix (P ( ⁇ ) matrix) and the reservoir feature amount (R ( ⁇ ) vector), ⁇ Error (e ( ⁇ )) and is calculated (2407).
  • the FPGA functioning as an FPE is A calculation result of calculating the product of a coefficient matrix (P ( ⁇ ) matrix), a reservoir feature amount (R ( ⁇ ) vector), and an error (e ( ⁇ )), a sequential weight parameter (W( ⁇ -1) vector); , the sequential weighting parameter (W( ⁇ ) vector) is updated to calculate the sequential weighting parameter (W( ⁇ ) vector) (reference numeral 2408).
  • the FPGA functioning as the FPE can calculate the output data (Z( ⁇ +1)). Thereafter, similar processing is repeated as the system time elapses.
  • the FORCE learning unit 1200 using the sequential least squares method calculateation of sequential weight parameters (W( ⁇ -1) vector); Calculation of sequential weight parameters (W( ⁇ ) vector);
  • the execution timings of the product of the reservoir feature amount (R vector) and the coefficient matrix (P matrix), which are respectively executed between are configured to overlap each other.
  • the FORCE learning unit 1200 based on the iterative least squares method buffers the calculation results in the FPGA functioning as PE and the FPGA functioning as FPE, thereby adjusting the execution timing.
  • the FORCE learning unit 1200 using the sequential least squares method can reduce the time required to update the sequential weighting parameters.
  • the process state prediction unit 204 is configured with hardware that performs FORCE learning processing by the sequential least-squares method, and the processing for updating the sequential weight parameters at high speed is executed. As a result, the process state prediction unit 204 can learn weighting parameters by capturing short behaviors appearing in sensor data.
  • FIG. 25 is a diagram illustrating an example of a hardware configuration of a management device
  • the management device 123 has 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.
  • a processor 2501 a memory 2502
  • auxiliary storage device 2503 an I/F (Interface) device 2504
  • UI device 2505 a UI device 2505
  • communication device 2506 Each piece of hardware of the management device 123 is interconnected via a bus 2507 .
  • the processor 2501 has various computing devices such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit).
  • the processor 2501 reads various programs (eg, management program, etc.) onto the memory 2502 and executes them.
  • programs eg, management program, etc.
  • the memory 2502 has main storage devices such as ROM (Read Only Memory) and RAM (Random Access Memory).
  • the processor 2501 and memory 2502 form a so-called computer, and the computer implements various functions by the processor 2501 executing various programs read onto the memory 2502 .
  • 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 implemented in the auxiliary storage device 2503 .
  • the I/F device 2504 is a connection device that connects with the process state prediction system 128 .
  • the UI device 2505 is a user interface device for the administrator of the management device 123 to input various instructions to the management device 123 .
  • a communication device 2506 is a communication device for communicating with an external device (not shown) via a network.
  • FIG. 26 is a diagram illustrating an example of a functional configuration of a management unit; FIG.
  • a management program is installed in the management device 123, and by executing the program, the management unit 124 of the management device 123 - Process state data transmission unit 2601, - Process state data acquisition unit 2602, - Period control unit 2603, - End information acquisition unit 2604, A relearning determination unit 2605, - Evaluation unit 2606, - Reservoir feature quantity acquisition unit 2608, - Batch learning unit 2609, function as
  • the process state data transmission unit 2601 Based on the transmission start/stop instruction from the period control unit 2603, the process state data transmission unit 2601 receives, for example, the sensor data b transmitted from the sensor b 122b via the process state data acquisition unit 2602 as process state data (correct data). Also, the process state data transmission unit 2601 transmits the acquired process state data (correct data) to the process state prediction system 128 .
  • the process state data transmitted by the process state data transmission unit 2601 includes process state data transmitted during the learning period and process state data transmitted during the re-learning period.
  • the process state data acquisition unit 2602 acquires the sensor data b transmitted from the sensor b 122b. Also, the process state data acquisition unit 2602 notifies the process state data transmission unit 2601 and the batch learning unit 2609 of the acquired sensor data b as process state data.
  • the period control unit 2603 transmits various switching information to the process state prediction system 128 .
  • various switching information transmitted by the period control unit 2603 includes: ⁇ Instruction to transition to the study period, ⁇ Instruction to shift to the forecast period, ⁇ Instructions for transition to re-learning period, ⁇ Instruction to switch the learning parameter set, ⁇ Instruction for setting weight parameters, is included.
  • the period control unit 2603 transmits an instruction to shift to the learning period to the process state prediction system 128, and transmits process state data to the process state data transmission unit 2601. Instruct to start.
  • the period control unit 2603 when the period control unit 2603 receives the end information of the FORCE learning process from the end information acquisition unit 2604, it sends the process state prediction system 128 an instruction to shift to the prediction period. At this time, the period control unit 2603 instructs the process state data transmission unit 2601 to stop transmitting the process state data.
  • the period control unit 2603 when the period control unit 2603 receives the determination result indicating that relearning is necessary from the relearning determination unit 2605, it sends the process state prediction system 128 an instruction to shift to the relearning period. At this time, the period control unit 2603 instructs the process state data transmission unit 2601 to start transmitting process state data.
  • the period control unit 2603 acquires the end information for acquiring the relearning data and the end information for acquiring the evaluation data from the end information acquiring unit 2604, the period control unit 2603 reads out the learning parameter set from the data storage unit 2607, and Send to prediction system 128 . At this time, the period control unit 2603 instructs the process state data transmission unit 2601 to stop transmitting the process state data.
  • the data storage unit 2607 stores learning parameter sets 1 to 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 .
  • the learning parameter set includes information items such as "use previous weight parameter or initialize”, “past data contribution rate”, “number of learning models”, and the like.
  • the period control unit 2603 transmits an instruction to switch the learning parameter set to the process state prediction system 128 each time it acquires the end information of the FORCE re-learning process from the end information acquisition unit 2604 .
  • the reservoir feature acquisition unit 2608 acquires the reservoir feature as learning data and evaluation data from the process state prediction system 128 and notifies the batch learning unit 2609 of them. Further, as described above, in the re-learning period, the process state data acquisition unit 2602 acquires the sensor data b as learning data, and notifies the batch learning unit 2609 of the acquired sensor data b as process state data. .
  • the batch learning unit 2609 executes batch learning using learning data obtained by accumulating reservoir feature values and process state data for a predetermined learning time based on the batch learning parameters read from the data storage unit 2607 .
  • Batch learning here means learning the weighting parameters from the reservoir feature quantity and the process state data for a predetermined learning time.
  • the batch learning parameters used for batch learning include "normalization parameters for learning”, “amount of data to be accumulated (batch size)", “learning time”, etc. as information items.
  • the batch learning unit 2609 predicts the process state data based on the reservoir feature amount acquired as the evaluation data, and the prediction result by the batch learning unit 2609 (batch learning prediction result) is sent to the evaluation unit. 2606 is notified.
  • the period control unit 2603 receives the evaluation result from the evaluation unit 2606, and transmits a weight parameter setting instruction to the process state prediction system 128 based on the received evaluation result.
  • prediction processing is performed on the evaluation data using the weighting parameter calculated by performing the FORCE re-learning processing based on each learning parameter set, and each prediction result The predicted accuracy calculated for the data shall be included.
  • the period control unit 2603 instructs the process state prediction system 128 to set a weighting parameter whose prediction result data is within a predetermined allowable range and which has the highest prediction accuracy.
  • a fixed value may be set as the predetermined allowable range at this time, or a value calculated based on the batch learning prediction result calculated by the batch learning unit 2609 may be set.
  • the period control unit 2603 transmits to the process state prediction system 128 an instruction to shift to the prediction period.
  • the end information acquisition unit 2604 receives various end information (FORCE learning process end information, relearning data acquisition end information, evaluation data acquisition end information, FORCE relearning process end information) from the process state prediction system 128. to get Also, the end information acquisition unit 2604 transmits the acquired end information to the period control unit 2603 .
  • end information FORCE learning process end information, relearning data acquisition end information, evaluation data acquisition end information, FORCE relearning process end information
  • the relearning determination unit 2605 determines whether or not 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. Further, when the re-learning determination unit 2605 determines that the re-learning is necessary, the re-learning determination unit 2605 transmits the determination result indicating that the re-learning is necessary to the period control unit 2603 . Note that the relearning determination unit 2605 also transmits to the period control unit 2603 a determination result indicating that relearning is necessary when an event requiring relearning occurs.
  • 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 use the allowable range calculated based on the batch learning prediction result calculated by the batch learning unit 2609 to evaluate the prediction result data. .
  • FIG. 27 is an example of a flowchart showing the overall flow of process state prediction processing by the management unit and the process state prediction system. The processing shown in FIG. 27 is started by starting the process state prediction system 128 .
  • step S2701 the management unit 124 sends an instruction to shift to the learning period to the process state prediction system 128.
  • the process state prediction unit 204 of the process state prediction system 128 shifts to the learning period and initializes the weight parameters of the FORCE learning unit 1200 .
  • step S 2702 the voltage modulation unit 202 of the process state prediction system 128 performs voltage modulation processing on the time-series sensor data a output by the sensor 122 and acquired by the I/O control unit 201 . Note that the details of the voltage modulation process (step S2702) have already been explained using FIG. 3, so the explanation is omitted here.
  • step S2703 the multi-electrode I/O chip 203 of the process state prediction system 128 receives the voltage data output from the voltage modulation section 202 and performs input/output processing to output the reservoir feature amount. Note that the details of the input/output processing (step S2703) have already been described with reference to FIG. 5, so description thereof will be omitted here.
  • step S2704 the process state prediction unit 204 of the process state prediction system 128 determines the current period. If the instruction to shift to the learning period or the instruction to shift to the 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. Determine that there is. In this case, the process state prediction unit 204 proceeds to step S2711.
  • step S2711 the process state prediction unit 204 of the process state prediction system 128 determines whether the FORCE learning process has ended. If it is determined in step S2711 that the FORCE learning process has not ended (NO in step S2711), the process proceeds to step S2712.
  • step S2712 the process state prediction unit 204 of the process state prediction system 128 performs FORCE learning processing. Details of the FORCE learning process (step S2712) will be described later.
  • step S2711 determines whether the FORCE learning process has ended (if YES in step S2711). If it is determined in step S2711 that the FORCE learning process has ended (if YES in step S2711), the process proceeds to step S2713.
  • step S2713 the process state prediction unit 204 of the process state prediction system 128 performs prediction processing. Details of the prediction process (step S2713) will be described later.
  • step S2714 the management unit 124 of the management device 123 determines whether re-learning is necessary. If it is determined in step S2714 that re-learning is not necessary (NO in step S2714), the process proceeds to step S2731.
  • step S2714 determines whether re-learning is necessary (YES in step S2714). If it is determined in step S2714 that re-learning is necessary (YES in step S2714), the process proceeds to step S2715. The details of the relearning determination process in step S2714 will be described later.
  • step S2715 the management unit 124 of the management device 123 transmits to the process state prediction system 128 an instruction to shift to the relearning period, and also transmits the learning parameter sets 1 to M.
  • the process state prediction unit 204 of the process state prediction system 128 shifts to the relearning period and acquires the learning parameter sets 1 to M.
  • step S2704 determines that the current period is the relearning period when receiving an instruction to shift to the relearning period from the management unit 124 of the management device 123 .
  • step S2721 the process state prediction unit 204 of the process state prediction system 128 performs FORCE relearning processing. Details of the FORCE re-learning process (step S2721) will be described later.
  • step S2731 the management unit 124 of the management device 123 determines whether or not to end the process state prediction process. If it is determined in step S2731 not to end the process state prediction process (NO in step S2731), the process returns to step S2702.
  • step S2731 if it is determined in step S2731 to end the process state prediction process, the management unit 124 of the management device 123 and the process state prediction system 128 end the process state prediction process.
  • FIG. 28 is an example of a flowchart showing the flow of learning processing.
  • step S2801 the process state prediction unit 204 of the process state prediction system 128 combines the reservoir feature value output from the multi-electrode I/O chip 203 and the process state data (correct data) transmitted from the management unit 124 of the management device 123. ) and get
  • step S2802 the process state prediction unit 204 of the process state prediction system 128 determines whether or not the item 2611 “use previous weight parameter or initialize” is “use” in the learning parameter set. do.
  • step S2802 If it is determined in step S2802 that the item "use previous weight parameter or initialize" is "use” (YES in step S2802), the process proceeds to step S2804.
  • the process state prediction unit 204 of the process state prediction system 128 uses the weight parameter calculated in the previous FORCE learning process as the initial value of the sequential weight parameter of the FORCE learning unit 1200 in the current FORCE learning process.
  • step S2802 determines whether the item "use previous weight parameter or initialize” is "initialize” (NO in step S2802). If it is determined in step S2802 that the item "use previous weight parameter or initialize” is "initialize” (NO in step S2802), the process proceeds to step S2803.
  • 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.
  • step S2804 the FORCE learning unit 1200 calculates output data by multiplying the reservoir feature amount by the current sequential weight parameter.
  • step S2805 the FORCE learning unit 1200 calculates the error between the calculated output data and the corresponding process state data (correct data). If FORCE learning section 1200 determines that the calculated error is not within the threshold (NO in step S2805), the process proceeds to step S2806.
  • step S2806 the FORCE learning unit 1200 successively updates the weighting parameters based on the calculated error, and proceeds to step S2807.
  • step S2805 determines whether the error is within the threshold (YES in step S2807). If it is determined in step S2805 that the error is within the threshold (YES in step S2807), the process proceeds directly to step S2807.
  • step S2807 the FORCE learning unit 1200 determines whether the state in which the error is within the threshold has continued for a predetermined learning time designated by the learning parameter set. If it is determined in step S2807 not to continue (NO in step S2807), the process returns to step S2731 in FIG.
  • step S2807 if it is determined to have continued in step S2807 (if YES in step S2807), the process proceeds to step S2808.
  • step S 2808 the process state prediction unit 204 of the process state prediction system 128 transmits the end information of the FORCE learning process to the management device 123 . Accordingly, the management unit 124 of the management device 123 determines that the FORCE learning process has ended, and transmits an instruction to shift to the prediction period to the process state prediction system 128 .
  • step S2809 the process state prediction unit 204 of the process state prediction system 128 sets weight parameters in the FORCE learning unit 1300 when the FORCE learning process ends.
  • FIG. 29 is an example of a flowchart showing the flow of prediction processing.
  • step S2901 the FORCE learning unit 1300 acquires the reservoir feature quantity output from the multi-electrode I/O chip 203.
  • step S2902 the FORCE learning unit 1300 predicts the process state by multiplying the acquired reservoir feature quantity by the weight parameter.
  • step S2903 the FORCE learning unit 1300 outputs prediction result data.
  • FIG. 30 is an example of a flowchart showing the flow of relearning determination processing.
  • step S3001 the management unit 124 of the management device 123 determines whether the type of 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 it has been changed (if YES in step S3001), the process proceeds to step S3004.
  • step S3001 determines whether it has been changed (NO in step S3001), the process proceeds to step S3002.
  • 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 fluctuates 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 value or more (YES in step S3002), the process proceeds to step S3004.
  • step S3002 determines whether the value of the time-series sensor data a has not changed by the predetermined threshold or more (NO in step S3002). If it is determined in step S3002 that the value of the time-series sensor data a has not changed by the predetermined threshold or more (NO in step S3002), the process proceeds to step S3003.
  • 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 decreased below a predetermined threshold during the prediction period.
  • step S3003 If it is determined in step S3003 that the prediction accuracy has fallen below the predetermined threshold value (YES in step S3003), the process proceeds to step S3004.
  • step S3004 the management unit 124 of the management device 123 determines that re-learning is necessary.
  • step S3003 determines whether the prediction accuracy has not decreased below the predetermined threshold (NO in step S3003). If it is determined in step S3003 that the prediction accuracy has not decreased below the predetermined threshold (NO in step S3003), the process returns to step S2731 in FIG.
  • the management unit 124 of the management device 123 determines whether or not re-learning is necessary by monitoring the estimated effective time. Description will be made with reference to FIG.
  • FIG. 31 is a diagram showing another example of the predicted effective time.
  • the horizontal axis indicates the elapsed time since the weighting parameter calculated by learning was set.
  • the vertical axis indicates the squared error between the prediction result data and the correct data.
  • the effective prediction time until the square error between the prediction result data and the correct data exceeds the allowable threshold is, for example, the time indicated by t b in FIG. 31 (initial state, best Status). It is assumed that the operation is started from here, and thereafter the effective prediction time until the square error between the prediction result data and the correct data exceeds the allowable threshold becomes t a ( ⁇ t b ). That is, when the originally predictable time becomes shorter (when t b ⁇ t a becomes equal to or greater than a predetermined threshold value), relearning is performed.
  • FIG. 32 is an example of a flowchart showing the flow of relearning processing.
  • the process state prediction unit 204 of the process state prediction system 128 and the management unit 124 of the management device 123 perform the processing of steps S3201 to S3208 and the processing of steps S3210 to S3215 in parallel. Run.
  • step S3201 the process state prediction unit 204 of the process state prediction system 128 collects the reservoir feature quantity output from the multi-electrode I/O chip 203 and the process state data (correct data) transmitted from the management unit 124 of the management device 123. ) and get
  • the process state prediction unit 204 of the process state prediction system 128 acquires a part of the combination of the reservoir feature amount and the process state data (correct data) as re-learning data, and acquires the remaining combination as evaluation data. do.
  • 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. do.
  • step S3203 the process state prediction unit 204 determines whether or not the item "use previous weight parameter or initialize" of learning parameter set 1 set in the FORCE learning unit 1200_1 is "use”.
  • step S3203 If it is determined in step S3203 that the item "use previous weight parameter or initialize” is "use” (YES in step S3203), the process proceeds to step S3205.
  • the FORCE learning unit 1200_1 performs the current FORCE re-learning process using the weighting parameter calculated in the previous FORCE learning process as the initial value of the sequential weighting parameter.
  • step S3203 determines whether the item "use previous weight parameter or initialize” is "initialize” (NO in step S3203). If it is determined in step S3203 that the item "use previous weight parameter or initialize” is "initialize” (NO in step S3203), the process proceeds to step S3204.
  • step S3204 the process state prediction unit 204 of the process state prediction system 128 initializes the iterative weight parameters of the FORCE learning unit 1200_1.
  • step S3205 the FORCE learning unit 1200_1 uses the re-learning data to perform the FORCE learning process and calculate weight parameters. Further, FORCE learning section 1200_1 sets the calculated weighting parameter in FORCE learning section 1300_1.
  • step S3206 the FORCE learning unit 1300_1 predicts the process state using the evaluation data.
  • step S3207 the FORCE learning unit 1300_1 outputs the prediction result data to the management unit 124 of the management device 123.
  • step S3208 the process state prediction unit 204 of the process state prediction system 128 determines whether or not all learning parameter sets transmitted from the management unit 124 of the management device 123 have been set in the FORCE learning unit.
  • step S3208 if there is a learning parameter set that has not yet been set, it is determined to set the next learning parameter set (YES in step S3208), and the process returns to step S3202.
  • step S3208 determines whether all learning parameter sets have been set in the FORCE learning unit. 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 is not to be set (NO in step S3208), and the process proceeds to step S3221. .
  • step S ⁇ b>3210 the process state prediction unit 204 of the process state prediction system 128 outputs the acquired reservoir feature amount to the management unit 124 of the management device 123 .
  • the management unit 124 of the management device 123 accumulates a part of the combination of the reservoir feature amount output from the process state prediction unit 204 and the process state data (correct data) as re-learning data, and stores the remaining combinations. are stored as evaluation data.
  • step S3211 the process state prediction unit 204 of the process state prediction system 128 determines whether or not the accumulated relearning data and evaluation data have both reached a predetermined size.
  • step S3212 If it is determined in step S3212 that the size has not reached the predetermined size (NO in step S3211), the process returns to step S3210.
  • step S3211 determines whether the predetermined size has been reached (if YES in step S3211). If it is determined in step S3211 that the predetermined size has been reached (if YES in step S3211), the process proceeds to step S3212.
  • step S3212 the management unit 124 of the management device 123 sets batch learning parameters.
  • step S3213 the management unit 124 of the management device 123 uses the accumulated relearning data to perform batch learning processing and calculate weighting parameters.
  • 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.
  • step S3215 the management unit 124 of the management device 123 calculates batch learning prediction result data.
  • step S3221 the management unit 124 of the management device 123 determines that, among the prediction result data transmitted from the process state prediction system 128 for each learning parameter set, there is prediction result data whose prediction accuracy is within a predetermined allowable range. Determine whether or not At this time, the management unit 124 of the management device 123 calculates a predetermined allowable range based on the calculated batch learning prediction result data.
  • step S3221 If it is determined in step S3221 that there is no prediction result data within the predetermined allowable range (NO in step S3221), the process proceeds to step S3222.
  • 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 returns to step S3202.
  • step S3221 determines whether there is prediction result data within the predetermined allowable range (if YES in step S3221). If it is determined in step S3221 that there is prediction result data within the predetermined allowable range (if YES in step S3221), the process proceeds to step S3223.
  • step S3223 the management unit 124 of the management device 123 terminates the relearning period and sends an instruction to shift to the prediction period to the process state prediction system 128. Moreover, the management unit 124 of the management device 123 instructs the process state prediction system 128 to set a weighting parameter in which the prediction result data is included in a predetermined allowable range and the prediction result is the highest.
  • step S3224 the process state prediction unit 204 of the process state prediction system 128 shifts to the prediction period.
  • the process state prediction unit 204 of the process state prediction system 128 sets the weighting parameter whose prediction result data is within a predetermined allowable range and which has the highest prediction accuracy in the FORCE learning unit 1300_X.
  • prediction result data can be calculated using weight parameters obtained by re-learning under an appropriate learning parameter set.
  • the process state prediction system 128 A nanomolecular reservoir having POM molecules and carbon nanotubes, the nanomolecular reservoir receiving as input a voltage signal based on time-series sensor data measured by a sensor in a given manufacturing process and outputting a current signal.
  • ⁇ It has a readout function unit that reads out the current signal and outputs the reservoir feature amount. Predicting the state of a given manufacturing process based on the weight parameter learned so that the reservoir feature value and process state data indicating the state of the given manufacturing process are correlated, and the reservoir feature value output after learning. and has a process state prediction unit that outputs the prediction result.
  • the process state prediction system 128 captures short behaviors that appear in sensor data, can be output.
  • the process state prediction unit learns weighting parameters using hardware that performs FORCE learning processing by the sequential least squares method.
  • the first embodiment it is possible to improve the prediction accuracy when predicting the process state based on time-series sensor data.
  • the process state prediction system 128 is Re-learn the weight parameters if it is determined that re-learning is necessary during the prediction period after learning. Optimizing the learning parameters when re-learning the weight parameters.
  • the first embodiment it is possible to improve the prediction accuracy when predicting the process state based on time-series sensor data.
  • the prediction result data output by the process state prediction unit 204 is not limited to the presence or absence of an abnormality or sensor data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Investigating Or Analyzing Materials By The Use Of Electric Means (AREA)

Abstract

時系列のセンサデータに基づきプロセス状態を予測する際の予測精度を向上させる。POM分子とカーボンナノチューブとを有するリザーバであって、所定のプロセスにおいて測定される時系列のセンサデータに基づく電圧信号を入力として、電流信号を出力するリザーバと、前記電流信号を読み出し、リザーバ特徴量を出力する読み出し部と、前記リザーバ特徴量と、前記所定のプロセスの状態とが相関するように学習された重みパラメータと、学習後に、前記所定のプロセスにおいて測定される時系列のセンサデータに基づく電圧信号が前記リザーバに入力され、前記読み出し部により電流信号が読み出されることで出力されるリザーバ特徴量とに基づき、前記所定のプロセスの状態を予測し、予測結果を出力する予測部とを有する。

Description

プロセス状態予測システム
 本開示は、ナノ分子リザーバによるリザーバコンピューティングを用いたプロセス状態予測システムに関する。
 従来より、製造プロセスの分野では、各種センサにより測定された時系列のセンサデータを用いて、プロセスの状態(製造プロセス実行中の装置の状態(例えば、装置の異常の有無等))を予測し、予測結果を報知することでプロセス状態を監視している。また、最近では、プロセス状態を予測する際の予測精度を向上させるために、機械学習モデルの利用も提案されている。
特開2018-77779号公報
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)
 しかしながら、機械学習モデルが搭載される装置は、一般に、時系列のセンサデータの測定周期と比較して処理周期が長く、時系列のセンサデータにおいて出現する短周期の挙動を捉えて機械学習を実行させることができない。このため、従来の機械学習モデルでは、十分な予測精度が得られにくく、また、製造プロセスが経時変化した場合にあっては、予測精度が更に低下するといった事態も想定される。
 本開示は、時系列のセンサデータに基づきプロセス状態を予測する際の予測精度を向上させる。
 本開示の一態様によるプロセス状態予測システムは、例えば、以下のような構成を有する。即ち、
 POM分子とカーボンナノチューブとを有するリザーバであって、所定のプロセスにおいて測定される時系列のセンサデータに基づく電圧信号を入力として、電流信号を出力するリザーバと、
 前記電流信号を読み出し、リザーバ特徴量を出力する読み出し部と、
 前記リザーバ特徴量と、前記所定のプロセスの状態とが相関するように学習された重みパラメータと、学習後に、前記所定のプロセスにおいて測定される時系列のセンサデータに基づく電圧信号が前記リザーバに入力され、前記読み出し部により電流信号が読み出されることで出力されるリザーバ特徴量とに基づき、前記所定のプロセスの状態を予測し、予測結果を出力する予測部とを有する。
 時系列のセンサデータに基づきプロセス状態を予測する際の予測精度を向上させることができる。
図1Aは、プロセス状態予測システムの適用例を示す図である。 図1Bは、有効予測時間の一例を示す図である。 図2は、プロセス状態予測システムのシステム構成の一例を示す図である。 図3は、電圧変調部による電圧変調処理の流れを示すフローチャートの一例である。 図4は、多電極I/Oチップの機能構成の一例を示す図である。 図5は、多電極I/Oチップによる入出力処理の流れを示すフローチャートの一例である。 図6は、多電極I/Oチップのハードウェア構成の一例を示す第1の図である。 図7は、多電極I/Oチップのハードウェア構成の一例を示す第2の図である。 図8は、多電極I/Oチップのハードウェア構成の一例を示す第3の図である。 図9は、多電極I/Oチップのハードウェア構成の一例を示す第4の図である。 図10は、多電極I/Oチップのハードウェア構成の一例を示す第5の図である。 図11は、プロセス状態予測部が遷移する各期間の遷移図の一例である。 図12は、プロセス状態予測部の学習期間における機能構成の一例を示す図である。 図13は、プロセス状態予測部の予測期間における機能構成の一例を示す図である。 図14は、プロセス状態予測部の再学習期間における機能構成の一例を示す第1の図である。 図15は、プロセス状態予測部の再学習期間における機能構成の一例を示す第2の図である。 図16は、逐次最小二乗法によるFORCE学習部のハードウェア構成の一例を示す図である。 図17は、逐次最小二乗法によるFORCE学習部において実現される並列処理及びシリアル処理を示す第1の図である。 図18は、逐次最小二乗法によるFORCE学習部において実現される並列処理及びシリアル処理を示す第2の図である。 図19は、逐次最小二乗法によるFORCE学習部において実現される転送処理を示す第1の図である。 図20は、逐次最小二乗法によるFORCE学習部において実現される代替処理を示す図である。 図21は、逐次最小二乗法によるFORCE学習部において実現される転送処理を示す第2の図である。 図22は、逐次最小二乗法によるFORCE学習部において実現される配布処理を示す図である。 図23は、逐次最小二乗法によるFORCE学習部において実現される重みパラメータ更新処理を示す図である。 図24は、逐次最小二乗法によるFORCE学習部によるFORCE学習処理のタイミングチャートの一例である。 図25は、管理装置のハードウェア構成の一例を示す図である。 図26は、管理部の機能構成の一例を示す図である。 図27は、管理部及びプロセス状態予測システムによるプロセス状態予測処理全体の流れを示すフローチャートの一例である。 図28は、学習処理の流れを示すフローチャートの一例である。 図29は、予測処理の流れ示すフローチャートの一例である。 図30は、再学習判定処理の流れを示すフローチャートの一例である。 図31は、有効予測時間の他の一例を示す図である。 図32は、再学習処理の流れを示すフローチャートの一例である。
 以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
 [第1の実施形態]
 <プロセス状態予測システムの適用例>
 はじめに、第1の実施形態に係るプロセス状態予測システムの適用例について説明する。図1Aは、プロセス状態予測システムの適用例を示す図である。
 なお、図1Aの例では、プロセス状態予測システムを基板処理装置に適用する場合について説明するが、プロセス状態予測システムの適用先は基板処理装置に限定されず、他の製造プロセスを実行する装置であってもよい。
 また、図1Aでは、プロセス状態予測システムを適用した基板処理装置(1b)に加えて、比較例として、プロセス状態予測システムを適用していない基板処理装置(1a)を示し、適宜、両者の違いを対比しながら説明を行う。
 図1Aの1a、1bに示すように、基板処理装置110、120は、基板を処理するチャンバ111、121と、センサa112a、122aと、センサb112b、122bとを有する。また、基板処理装置110、120は、管理装置113、123と、制御装置115、125と、アクチュエータ117、127とを有する。
 比較例である図1Aの1aに示すように、基板処理装置110では、チャンバ111にて基板が処理されている最中の物理量を、センサa112a、センサb112bが測定し、時系列のセンサデータa、センサデータbとして出力する。センサa112a及びセンサb112bから出力される時系列のセンサデータa及びセンサデータbは、管理装置113の状態予測及び管理部114において処理されることでプロセス状態が予測され、予測結果データとして制御装置115に出力される。
 また、センサa112aから出力される時系列のセンサデータaは、制御装置115の制御部116において処理されることで制御量が算出される。このとき、制御部116では、予測結果データに基づいて、制御量に補正を加えてもよい。制御部116により算出された制御量はアクチュエータ117に出力され、アクチュエータ117は、制御量に基づいてチャンバ111に制御命令を通知する。
 図1Aの1aにおいて、グラフ130は、センサa112aから出力される時系列のセンサデータaの一例であり、横軸は時間を、縦軸は信号強度をそれぞれ表している。また、図1Aの1aにおいて、グラフ140は、管理装置113の状態予測及び管理部114において処理される際の、時系列のセンサデータa’であり、横軸は時間を、縦軸は信号強度をそれぞれ表している。
 一般に、管理装置113がプロセス状態を予測する際の処理周期T(b)は、センサa112aが時系列のセンサデータaを測定する際の測定周期T(a)と比較して長い。このため、状態予測及び管理部114では、グラフ130に示すような時系列のセンサデータaに出現する短い挙動を捉えることができず(グラフ140参照)、プロセス状態を予測した場合に、結果的に十分な予測精度が得られにくい。
 一方、図1Aの1bに示すように、基板処理装置120では、チャンバ121にて基板が処理されている最中の物理量を、センサa122a、センサb122bが測定し、時系列のセンサデータa、センサデータbとして出力する。その際、センサa122aから出力される時系列のセンサデータaは、プロセス状態予測システム128において処理され、プロセス状態が予測される。そして、プロセス状態予測システム128において予測された予測結果データは、管理部124及び制御部126に出力される。
 また、センサ122aから出力される時系列のセンサデータaは、制御装置125の制御部126において処理されることで制御量が算出される。このとき、制御部126では、予測結果データに基づいて、制御量に補正を加えてもよい。制御部126により算出された制御量はアクチュエータ127に出力され、アクチュエータ127は、制御量に基づいてチャンバ121に制御命令を通知する。
 ここで、図1Aの1bにおいて、グラフ131は、センサa122aから出力される時系列のセンサデータaの一例であり、横軸は時間を、縦軸は信号強度をそれぞれ表している。また、図1Aの1bにおいて、グラフ141は、プロセス状態予測システム128において処理される際の、時系列のセンサデータa’であり、横軸は時間を、縦軸は信号強度をそれぞれ表している。
 第1の実施形態に係るプロセス状態予測システム128の場合、リザーバコンピューティングにより時系列のセンサデータa’を処理し、プロセス状態を予測する。このため、プロセス状態を予測する際の処理周期T(c)は、図1Aの1aの管理装置113がプロセス状態を予測する際の処理周期T(b)と比較して大幅に短い。この結果、第1の実施形態に係るプロセス状態予測システム128によれば、グラフ131に示す時系列のセンサデータaに出現する短い挙動を捉えることが可能となり、予測精度を向上させることができる。
 また、短い挙動を捉えたグラフ141の時系列のセンサデータa’を処理してプロセス状態を予測することによる予測精度の向上は、予測結果データと正解データとの二乗誤差が許容閾値を超えるまでの「有効予測時間」として示される。有効予測時間とは、プロセス状態予測システム128(あるいは、状態予測及び管理部114)が、どれくらい先の時間までプロセスの状態を予測できるかを表す時間である。
 図1Bは、有効予測時間の一例を示す図である。図1Bに示すように、
・グラフ140のような比較例の時系列のセンサデータa’を用いてプロセスの状態を予測した場合の有効予測時間(t-t)よりも、
・グラフ141の時系列のセンサデータa’を用いてプロセスの状態を予測した場合の有効予測時間(t-t)、
のほうが長くなる。これは、プロセス状態予測システム128のほうが、比較例よりも経時変化による予測低下が発生しにくいことを示している。このとき、基板処理装置120では、運用のログ(例えば、運用中の温度、湿度、電圧信号などの履歴)を蓄積し、蓄積したログを使用して有効予測時間(t-t)を更に延伸するための解析が行われてもよい。
 また、第1の実施形態に係るプロセス状態予測システム128の場合、チャンバ121等の経時変化に伴って予測精度が低下した場合であっても、再学習処理を行うことで予測精度を改善することができる。具体的には、プロセス状態予測システム128が出力する予測結果データと、リザーバ特徴量と、センサデータbとを用いることにより、管理部124が、プロセス状態予測システム128による再学習処理を管理することができる。
 なお、プロセス状態予測システム128に対して学習処理や再学習処理を行う際に用いるプロセス状態データ(正解データ)には、基板処理プロセス実行中の基板処理装置120の異常の有無等が含まれていてもよい。あるいは、プロセス状態データ(正解データ)には、センサb122bから出力されるセンサデータbが含まれていてもよい(本実施形態では、プロセス状態データ(正解データ)が、センサb122bから出力されるセンサデータbであるとして説明する)。なお、正解データは、一般的には、「従属変数」、あるいは、「教師データ」とも呼ばれる。
 管理部124は、プロセス状態予測システム128が再学習処理を行うにあたり、プロセス状態予測システム128の期間を管理するために、プロセス状態予測システム128との間で各種情報(切替情報、終了情報等)の送受信を行う。
 この結果、第1の実施形態に係るプロセス状態予測システム128によれば、製造プロセスの経時変化に伴う予測精度の低下を抑えることができる。
 このように、第1の実施形態によれば、時系列のセンサデータに基づきプロセス状態を予測する際の予測精度を向上させることができる。
 <プロセス状態予測システムのシステム構成>
 次に、プロセス状態予測システム128のシステム構成について説明する。図2は、プロセス状態予測システムのシステム構成の一例を示す図である。プロセス状態予測システム128は、例えば、FPGA(Field-Programmable Gate Array)ボード等により実現される。
 図2に示すように、プロセス状態予測システム128は、I/O制御部201と、電圧変調部202と、多電極I/Oチップ203と、プロセス状態予測部204とを有する。
 I/O制御部201は、デジタル信号の入出力を制御する。具体的には、I/O制御部201は、センサa122aから出力された時系列のセンサデータaを入力し、電圧変調部202に通知する。
 なお、I/O制御部201に入力される時系列のセンサデータaは、1種類の時系列のセンサデータであってもよいし、複数種類の時系列のセンサデータからなるセンサデータセットであってもよい。ここでは、説明の簡略化のため、1種類の時系列のセンサデータが入力されるものとして説明する。
 また、I/O制御部201は、プロセス状態予測部204により出力される予測結果データ(プロセス状態が予測された結果のデータ)と多電極I/Oチップ203より出力されるリザーバ特徴量を取得し、管理装置123に送信する。また、I/O制御部201は、プロセス状態予測システム128において学習処理(または再学習処理)を行う際に用いるプロセス状態データ(正解データ)を、管理装置123より入力し、プロセス状態予測部204に通知する。
 更に、I/O制御部201は、プロセス状態予測部204の期間を切り替えるための切替情報と、切り替え後の期間でのプロセス状態予測部204による処理の終了を示す終了情報とを、管理装置123との間で送受信する。
 電圧変調部202は変調部の一例であり、I/O制御部201より通知された時系列のセンサデータa’を、多電極I/Oチップ203に入力するための電圧データに変換する。具体的には、電圧変調部202は、1MHz以上のサンプリング周波数でセンサデータa’を取得して変調することで、電圧データに変換する。
 なお、電圧変調部202は、I/O制御部201より通知された時系列のセンサデータa’を、例えば、プロセス状態予測部204により出力された予測結果データに応じた電圧データに変換してもよい。
 多電極I/Oチップ203は、リザーバ特徴量を出力するチップである。多電極I/Oチップ203は、ナノ分子リザーバ(後述)に、電圧データに基づく電圧信号を入力し、ナノ分子リザーバより出力される電流信号に基づく電流データを読み出すことで、リザーバ特徴量を出力する。なお、リザーバ特徴量とは、時系列のセンサデータa’の各値をナノ分子リザーバに入力したときに、その過去から現在までの各値をもとにナノ分子リザーバが出力する、時系列のセンサデータa’の特性を定量的に表した数値である。
 プロセス状態予測部204は、切替情報に従って切り替えられる複数の期間(本実施形態では、学習期間、予測期間、再学習期間)のもとで動作する。学習期間とは、重みパラメータを学習する期間を指す。また、再学習期間とは、学習された重みパラメータを再学習する期間を指す。
 学習期間または再学習期間に移行した場合、プロセス状態予測部204は、予測結果データと、I/O制御部201により入力されたプロセス状態データ(正解データ)とが相関するように、重みパラメータを算出する。また、プロセス状態予測部204は、重みパラメータの算出が終了すると終了情報を出力する。
 一方、予測期間とは、学習期間または再学習期間において学習された重みパラメータのもとで、リザーバ特徴量に基づき予測結果データを出力する期間を指す。
 プロセス状態予測部204は、終了情報を出力したことに応じて切替情報が入力されると、予測期間に移行し、多電極I/Oチップ203より出力されるリザーバ特徴量に基づきプロセス状態を予測する。また、プロセス状態予測部204は、予測結果データをI/O制御部201及び電圧変調部202に出力する。
 なお、プロセス状態予測部204がI/O制御部201に予測結果データを出力する際の出力周期は、例えば、管理装置123の処理周期以下(つまり、フィールドバスの転送周期以下)であってもよい。
 <プロセス状態予測システムの詳細>
 次に、図2のプロセス状態予測システム128の各部の詳細について説明する。
 (1)電圧変調部202による電圧変調処理の詳細
 はじめに、電圧変調部202による電圧変調処理の詳細について説明する。図3は、電圧変調部による電圧変調処理の流れを示すフローチャートの一例である。
 ステップS301において、電圧変調部202は、予測結果データのフィードバックがあるか否かを判定する。プロセス状態予測部204より予測結果データが出力された場合、電圧変調部202は、予測結果データのフィードバックがあると判定し(ステップS301においてYESの場合)、ステップS302に進む。
 ステップS302において、電圧変調部202は、プロセス状態予測部204より、予測結果データを取得し、ステップS303に進む。
 一方、ステップS301において、予測結果データのフィードバックがないと判定した場合(ステップS301においてNOの場合)、直接、ステップS303に進む。
 ステップS303において、電圧変調部202は、I/O制御部201より時系列のセンサデータを取得する。
 ステップS304において、電圧変調部202は、取得した時系列のセンサデータを電圧データに変換する。このとき、電圧変調部202では、ステップS302において予測結果データを取得していた場合には、当該予測結果データに応じた電圧データに変換する。
 具体的には、電圧変調部202は、時系列のセンサデータに予測結果データを重畳した電圧データに変換する。この場合、変換後の電圧データに対応する電圧信号が、多電極I/Oチップ203の各入力側電極(後述)に入力される。あるいは、電圧変調部202は、時系列のセンサデータと予測結果データとを、それぞれの電圧データに変換してもよい。この場合、変換後のそれぞれの電圧データに対応する電圧信号が、多電極I/Oチップ203の対応する入力側電極にそれぞれ入力される。
 ステップS305において、電圧変調部202は、電圧データを、多電極I/Oチップ203に入力する。
 (2)多電極I/Oチップ203の機能構成の詳細及び入出力処理の詳細
 次に、多電極I/Oチップ203の機能構成の詳細及び多電極I/Oチップ203による入出力処理の詳細について説明する。
 (2-1)多電極I/Oチップ203の機能構成の詳細
 はじめに、多電極I/Oチップ203の機能構成の詳細について説明する。図4は、多電極I/Oチップの機能構成の一例を示す図である。
 図4に示すように、多電極I/Oチップ203は、D/A変換部401と、ナノ分子リザーバ402と、読み出し機能部403とを有する。
 D/A変換部401は変換部の一例であり、電圧変調部202により入力された電圧データをD/A変換することでアナログの電圧信号を生成し、ナノ分子リザーバ402に入力する。
 ナノ分子リザーバ402は、POM分子とカーボンナノチューブによって構成される“物理リザーバ”の一種である。
 なお、“物理リザーバ”とは、コンピュータ上に存在するリザーバではなく、現実世界に物理的に存在する(または存在し得る)“リザーバ”を指す。
 また、“リザーバ”とは、複数の“リザーバノード”を相互結合させた複雑系のネットワークを指し、過去から現在までの電圧信号の入力に対するリザーバ特徴量を保持する。一般に、リザーバの入力側電極数は、リザーバノードの数よりも少なく、低次元の入力が多次元のリザーバにマップされる。
 また、“リザーバノード”とは、リザーバにおける基本構成要素を指す。リザーバノードは、1つまたは複数の電圧信号の入力を受け、その値(またはそれらの値)を線形変換または非線形変換して、電流信号を出力する。リザーバノードは、静的素子ではなく動的素子(現在の自ノードの状態及び結合されている他ノードの状態から、次の時刻の自ノードの状態が決定されるもの)である。なお、リザーバノードによる電流信号の出力は、過去の電圧信号の入力を忘却しながら現在の電圧信号の入力に追従する。
 読み出し機能部403は読み出し部の一例であり、ナノ分子リザーバ402から電流信号を読み出し、電圧データに変換したうえで、リザーバ特徴量としてプロセス状態予測部204に出力する。
 このように、ナノ分子リザーバを用いる構成とすることで、多電極I/Oチップ203によれば、センサデータにおいて出現する短い挙動を捉えてリザーバ特徴量を出力することできる。なお、本願出願人によれば、ナノ分子リザーバ402に電圧信号を入力してから、読み出し機能部403が電流信号を読み出し、リザーバ特徴量として出力するまでの周期として、1μ秒以下を実現している。
 (2-2)多電極I/Oチップ203による入出力処理の詳細
 次に、多電極I/Oチップ203による入出力処理の詳細について説明する。図5は、多電極I/Oチップによる入出力処理の流れを示すフローチャートの一例である。
 ステップS501において、多電極I/Oチップ203は電圧データをD/A変換し、電圧信号を生成する。
 ステップS502において、多電極I/Oチップ203は、電圧信号をナノ分子リザーバ402に入力する。
 ステップS503において、多電極I/Oチップ203は、ナノ分子リザーバ402より、電流信号を読み出す。
 ステップS504において、多電極I/Oチップ203は、読み出した電流信号をA/D変換し、電流データを生成する。
 ステップS505において、多電極I/Oチップ203は、電流データを、リザーバ特徴量としてプロセス状態予測部204に出力する。
 (3)多電極I/Oチップ203のハードウェア構成
 次に、多電極I/Oチップ203のハードウェア構成について説明する。
 (3-1)多電極I/Oチップ203のハードウェア構成の詳細1
 図6は、多電極I/Oチップのハードウェア構成の一例を示す第1の図であり、6a~6cは、それぞれ、多電極I/Oチップ203の上面図、A-A’断面図、下面図を表している。また、6dは、多電極I/Oチップ203の構成を特定する調整項目を表している。一般に、多電極I/Oチップ203の構成を特定する調整項目には、複数の調整項目が含まれる(調整項目600参照)。このうち、図6では、6a~6dを参照しながら、
・入力側電極数、
・リザーバノード数、
・リザーバノードへの入力重みパラメータ、
・リザーバノード間の結合重みパラメータ、
・出力側電極数、
について説明する。
 図6に示す多電極I/Oチップ203において、D/A変換部401は白長方形で示されている(図6の6b参照)。D/A変換部401は、入力側電極610に電圧信号を入力する。図6の6aの上面図の例の場合、「入力側電極数」(多電極I/Oチップ203の入力側電極610の数)は、16個である。
 また、図6に示す多電極I/Oチップ203において、黒丸印は、リザーバノードを表している(図6の6b参照)。この黒丸印の数がネットワークを構成する「リザーバノード数」となる。
 また、図6に示す多電極I/Oチップ203において、複数のリザーバノードは相互結合されている(図6の6b参照)。そして、入力側電極610に接している複数のリザーバノードに対しては、D/A変換部401から、電圧信号が、「リザーバノードへの入力重みパラメータ」のもとで入力される。具体的には、図6の6bに示すA-A’断面図の入力側電極610の直下にあるリザーバノードに、電圧信号が、リザーバノードへの入力重みパラメータのもとで入力される。
 更に、相互結合されている複数のリザーバノードには、他のリザーバノードの出力信号が、「リザーバノード間の結合重みパラメータ」のもとで入力される(図6の6bに示すA-A’断面図のうち、黒丸印から他の黒丸印に向かう実線参照)。
 なお、「リザーバノードへの入力重みパラメータ」は、具体的には、電圧信号を入力する入力側電極と電圧源との間の抵抗値の逆数に基づいて決まる。また、「リザーバノード間の結合重みパラメータ」は、具体的には、POM分子間の距離の逆数によって決まる。
 また、図6に示す多電極I/Oチップ203において、読み出し機能部403内に示す白長方形は、リザーバ特徴量を読み出す出力側電極620の外部出力端を示している。そして、複数のリザーバノードのうち、読み出しノードの出力信号(電流信号)は、読み出し機能部403の外部出力端より読み出される。図6の6cの下面図の例の場合、「出力側電極数」は16個である。
 (3-2)多電極I/Oチップ203のハードウェア構成の詳細2
 多電極I/Oチップ203内のハードウェア構成の詳細について更に説明する。図7は、多電極I/Oチップのハードウェア構成の一例を示す第2の図であり、多電極I/Oチップ203の構成を特定する調整項目600(図6)を説明するための図である。図7では、このうち、
・POM分子の電荷蓄積数、
・対地容量、
について説明する。
 図7の7aはナノ分子リザーバ402の上面図である。図7の7aに示すように、ナノ分子リザーバ402は、POM分子(黒丸印)を含み、カーボンナノチューブ(POM分子間に示した直線)により結合されている。POM分子とは、ポリ酸分子であり、電荷を蓄積し、蓄積量が閾値を超えると、蓄積した電荷を放出する特性を有する。「POM分子の電荷蓄積数」とは、このときの蓄積量の閾値(POM分子が電荷を蓄積し、放出するときの電荷量の閾値)を指す。この閾値は、ナノ分子リザーバ402が置かれる環境(電荷蓄積数に影響を及ぼす可能性のある環境値(湿度など))により調整される。なお、適切な閾値に調整するために、ナノ分子リザーバ402の作成時及び/または運用時には、環境値(湿度など)が一定に制御されるように構成してもよい。
 図7の7bは、ナノ分子リザーバ402を側面から見た場合のPOM分子と基板の電極(不図示)との間に存在する誘電体の厚みと、対地容量との関係を示すグラフである。図7の7bに示すように、POM分子と基板の電極(不図示)との間の誘電体が薄い場合、「対地容量」は大きくなり、POM分子1個の電圧変動が基板を介して他のPOM分子に影響する。一方、POM分子と基板の電極(不図示)との間の誘電体が厚い場合、「対地容量」は小さくなり、POM分子1個の電圧変動が基板を介して他のPOM分子に影響することはない。
 より具体的に説明すると、POM分子1個の電圧が変動した場合、対地容量を持つ寄生キャパシタ(POM分子と基板とにより誘電体が挟まれた構造において生じるキャパシタ)を介して、基板の電圧が変動する。基板は他のPOM分子とも共通しているので、基板の電圧が変動すると、その変動は他のPOM分子の電圧変動にも影響する。そして、このときの影響の度合いは、対地容量(つまり、誘電体の厚み)によって決まる。
 このため、多電極I/Oチップ203では、POM分子の電流信号として、プロセス状態の予測に最適なリザーバ特徴量が出力されるよう、誘電体の厚みが適切に調整されている。
 なお、ナノ分子リザーバ402の「対地容量」は、リザーバノードにおける過去データの寄与率(漏れ率)を決定する調整項目である。
 (3-3)多電極I/Oチップ203のハードウェア構成の詳細3
 多電極I/Oチップ203内のハードウェア構成の詳細について更に説明する。図8及び図9は、多電極I/Oチップのハードウェア構成の一例を示す第3及び第4の図であり、多電極I/Oチップ203の構成を特定する調整項目600(図6)を説明するための図である。図8及び図9では、このうち、
・ネットワーク形状(カーボンナノチューブの連結数、POM分子の濃度分布)
について説明する。
 図8の8aは、ナノ分子リザーバ402におけるPOM分子(黒丸印)とカーボンナノチューブ(POM分子間に示した直線、図中はCNTと表記)との関係を模式的に示したものである。ただし、説明の簡略化のため、図8の8aでは、一次元に配列した場合を示している。ナノ分子リザーバ402におけるPOM分子及びカーボンナノチューブの連結数が増えると、リザーバノード数が増える。
 ここで、POM分子とカーボンナノチューブは、それぞれ抵抗を有する。また、カーボンナノチューブの抵抗値は均一ではなくばらつきを有する(R1、R2、R3、R4、・・・)。このため、入力側電極を介して電圧信号が入力された場合に、出力側電極を介して出力される電流信号は、
・入力側電極610と出力側電極620との間におけるPOM分子とカーボンナノチューブの連結数が少ない場合、時間的にランダムに変動し、
・入力側電極610と出力側電極620との間におけるPOM分子とカーボンナノチューブの連結数が多い場合、時間的にランダムに変動せず、一定値となる、
という特性を有することになる。
 ここで、ナノ分子リザーバ402を用いてリザーバ特徴量を出力する場合、電流信号は、時間的にランダムに変動しないことが必要である。このため、入力側電極610と出力側電極620との間におけるPOM分子とカーボンナノチューブの連結数は、電流信号が時間的にランダムに変動しないレベルに調整されることになる。
 図8の8bは、入力側電極610と出力側電極620との間におけるPOM分子とカーボンナノチューブの連結数と、電流信号の時間的ゆらぎの大きさとの関係をグラフ化したものである。本実施形態では、図8の8bに示すグラフに基づいて、時間的ゆらぎが所定の閾値を下回る連結数を予め導出しておき、導出した連結数を上回るように、「ネットワーク形状(CNTの連結数)」が調整されている。
 続いて、ネットワーク形状(POM分子の濃度分布)について説明する。図9の9aは、「ネットワーク形状(POM分子の濃度分布)」が不均一の場合のネットワーク形状を示している。このように、POM分子の液滴の濃度が不均一になるようにナノ分子リザーバ402を作成することで、ナノ分子リザーバ402には、POM分子が粗の領域と、密の領域とが含まれることになる。また、このようなPOM分子の濃度分布に応じて電極を配置する構成とすることで、1つのリザーバノードに含まれるPOM分子の数を増やすことができる(符号901、902参照)。これにより、ナノ分子リザーバ402に好ましくない確率的なリザーバノードの非線形特性を、非確率的にすることができる。
 一方、図9の9bは、「ネットワーク形状(POM分子の濃度分布)」が均一の場合のネットワーク構成を有するナノ分子リザーバ402を示している。このように、POM分子の液滴の濃度が均一になるようにナノ分子リザーバ402を作成することで、ナノ分子リザーバ402において、複数階層のネットワーク構成を実現することができる。
 (3-4)多電極I/Oチップ203のハードウェア構成の詳細4
 多電極I/Oチップ203内のハードウェア構成の詳細について更に説明する。図10は、多電極I/Oチップのハードウェア構成の一例を示す第5の図であり、多電極I/Oチップ203の構成を特定する調整項目600(図6)を説明するための図である。図10では、このうち、
・電極の形状、
・読み出し電流の積分時間、
について説明する。
 図10は、多電極I/Oチップ203において、図6に示すナノ分子リザーバ402に対して電圧信号を入力し、電流信号を出力する入出力回路の回路構成を側面から見た様子を示している。
 図10に示すように、電圧源1001、1002は、スイッチ1003、抵抗1004、入力側電極610を介して、ナノ分子リザーバ402に電圧を印加する。このとき、スイッチ1003のON/OFFにより、リザーバノードへの電圧信号の入力が調整される。また、抵抗1004の値を調整することで、「入力重みパラメータ」が調整される。
 また、図10に示すように、電流信号は、出力側電極620を介して出力される。出力側電極620周辺の詳細構成を、図10の10bの符号1010に示す。
 図10の10bの符号1010に示すように、電流信号は、出力側電極620、低ノイズアンプ1011、電圧制御型発振器を用いたA/D変換器1012を介して、POM分子全体から読み出される。
 なお、入力側電極610と出力側電極620との間の電界が、POM分子のネットワークに集中するように、入力側電極610及び出力側電極620の「電極の形状」は、尖端形状に構成される。
 また、図10の10bに示すように、出力側電極620は、nMOSFET1020に接続される。nMOSFET1020において、ゲート1023(φRST)に電圧が印加されると、ドレイン1022とソース1021との間が電気的に接続される(ON状態になる)。また、nMOSFET1020において、ゲート1023(φRST)がGNDに接続されると、ドレイン1022とソース1021との間が電気的に切断される(OFF状態になる)。
 そして、nMOSFET1020がOFF状態になると、ソース1021は電気的に浮遊状態となる(低ノイズアンプ1011の入力端子(-)、及び、出力側電極620も電気的に浮遊状態となる)。
 ここで、ソース1021は拡散層であるため、かかる構成を有するソースはFD(Floating Diffusion)と呼ばれる。そして、浮遊拡散領域であるソース1021において電流信号が積分されることで、電流信号のノイズ除去及び平滑化が行われ。なお、このときの積分時間である「読み出し電流の積分時間」は任意に調整することが可能である。
 図10の10cは、nMOSFET1020の動作例を示している。図10の10cに示すように、nMOSFET1020は以下の順序で動作する。
(I)nMOSFET1020をON状態にし、ソース1021の電圧をVRSTに設定する(ソース1021を完全充電する)。
(II)nMOSFET1020をOFF状態にし、ソース1021をドレイン1022から電気的に切断する(これにより、ソース1021は電気的に浮遊状態となる)。
(III)ソース1021に蓄積された電荷が、出力側電極620を介して変動すると、ソース1021の電圧が変化する。ソース1021の容量は極めて少ないため、ソース1021の電圧変動量は大きくなる。
(IV)上記(III)のソース1021の電流信号は、低ノイズアンプ1011に入力され、A/D変換器1012においてA/D変換される。
 (4)プロセス状態予測部204の機能構成の詳細
 次に、プロセス状態予測部204の機能構成の詳細について説明する。上述したように、プロセス状態予測部204は、複数の期間のもとで動作する。そこで、以下では、まず、各期間の遷移図を用いて各期間の関係について説明し、続いて期間ごとのプロセス状態予測部204の機能構成について説明する。
 (4-1)各期間の関係
 図11は、プロセス状態予測部が遷移する各期間の遷移図の一例である。図11に示すように、プロセス状態予測システム128による処理が開始されると、プロセス状態予測部204では、いずれかの期間(学習期間、予測期間、再学習期間のいずれかの期間)に移行して動作を開始する。ただし、ここでは、説明の簡略化のため、学習期間に移行して動作を開始する場合について説明する。
 管理装置123から切替情報が入力され、学習期間に移行すると(矢印1101)、プロセス状態予測部204では、リザーバ特徴量とプロセス状態データ(正解データ)とを用いて、所定の学習時間分の学習処理を行い、重みパラメータを算出する。
 プロセス状態予測部204は、学習処理が終了すると終了情報を出力し、管理装置123から切替情報が入力されることで、予測期間に移行する(矢印1102)。予測期間において、プロセス状態予測部204は、算出した重みパラメータのもとで予測処理を行うことで、リザーバ特徴量に基づき予測結果データを出力する。
 予測期間においてプロセス状態予測部204が予測処理を行っている間、管理装置123では、再学習が必要であるか否かを判定し、再学習が必要であると判定した場合には、プロセス状態予測部204に切替情報を入力する。これにより、プロセス状態予測部204は、再学習期間に移行する(矢印1103)。
 再学習期間において、プロセス状態予測部204は、学習パラメータセット(詳細は後述)を変更しながら、再学習処理を行うことで、学習パラメータセットごとに重みパラメータを算出する。続いて、プロセス状態予測部204は、算出したそれぞれの重みパラメータが設定された状態で予測処理を行い、予測結果データを出力する。また、管理装置123は、許容範囲内で、かつ、予測精度の最も高い予測結果データに対応する重みパラメータを特定し、プロセス状態予測部204に切替情報を入力する。これにより、プロセス状態予測部204は、予測期間に移行する(矢印1104)。
 (4-2)学習期間におけるプロセス状態予測部204の機能構成
 次に、各期間におけるプロセス状態予測部204の機能構成について説明する。はじめに、学習期間におけるプロセス状態予測部204の機能構成について説明する。図12は、プロセス状態予測部の学習期間における機能構成の一例を示す図である。
 図12に示すように、プロセス状態予測部204は、学習期間において、逐次最小二乗法によるFORCE学習部1200として機能する。なお、本実施形態において、逐次最小二乗法によるFORCE学習部1200には、“学習パラメータセット0”が設定されており、FORCE学習部1200では、以下の処理手順(符号1201参照)により、逐次最小二乗法によるFORCE学習処理を行う。なお、以下の各図の図中における“τ”は、プロセス状態予測部204の時間軸を表し、これは、実時間(t)から1クロック遅れた時刻となる(τ=t-1)。したがって、例えば、図中のS(τ+1)を実時間で表すと、S(t)となる。
 1)出力データの算出
 FORCE学習部1200は、リザーバ特徴量(Rベクトル)を取得すると、逐次重みパラメータ(Wベクトル)を転置した転置ベクトルをかけ合わせることで、出力データ(Z)を算出する。なお、本実施形態において、逐次重みパラメータ(Wベクトル)とは、逐次最小二乗法によるFORCE学習処理の過程で逐次更新される重みパラメータを指す。
 2)誤差の算出
 FORCE学習部1200は、出力データ(Z)とプロセス状態データ(S)との間の誤差(e)を算出する。
 3)係数行列の算出
 FORCE学習部1200は、逐次重みパラメータ(Wベクトル)を算出するのに用いる係数行列(P行列)を算出する。
 4)逐次重みパラメータの算出
 FORCE学習部1200は、算出した誤差(e)と、取得したリザーバ特徴量(Rベクトル)と、算出した係数行列(P行列)とに基づいて、逐次重みパラメータ(Wベクトル)を更新する。
 FORCE学習部1200では、上記1)~4)の処理を、所定の学習時間分繰り返すことで、重みパラメータを算出する。
 (4-3)予測期間におけるプロセス状態予測部204の機能構成
 次に、予測期間におけるプロセス状態予測部204の機能構成について説明する。図13は、プロセス状態予測部の予測期間における機能構成の一例を示す図である。
 図13に示すように、プロセス状態予測部204は、予測期間において、逐次最小二乗法によるFORCE学習部1300として機能する。本実施形態において、FORCE学習部1300は、FORCE学習部1200においてFORCE学習処理が行われることで算出された重みパラメータが設定され、予測結果データ(Z)を出力可能な状態を指す。FORCE学習部1300では、以下の処理手順(符号1301参照)により予測処理を行う。
 1)FORCE学習部1300は、FORCE学習処理が行われることで算出された重みパラメータ(Wベクトル)を設定する。
 2)FORCE学習部1300は、リザーバ特徴量(Rベクトル)を取得すると、重みパラメータ(Wベクトル)を転置した転置ベクトルをかけ合わせることで、予測結果データ(Z)を出力する。
 (4-4)再学習期間におけるプロセス状態予測部204の機能構成
 次に、再学習期間におけるプロセス状態予測部204の機能構成について説明する。図14及び図15は、プロセス状態予測部の再学習期間における機能構成の一例を示す第1及び第2の図である。
 図14、図15に示すように、プロセス状態予測部204は、再学習期間において、逐次最小二乗法によるFORCE学習部1200_1~1200_M、及び、逐次最小二乗法によるFORCE学習部1300_1~1300_Mとして機能する。
 本実施形態において、図14のFORCE学習部1200_1には、“学習パラメータセット1”が設定されており、図12で説明した処理手順(符号1201参照)により、逐次最小二乗法によるFORCE学習処理が行われる。
 また、本実施形態において、図15のFORCE学習部1300_1は、FORCE学習部1200_1においてFORCE学習処理が行われることで算出された重みパラメータが設定され、予測結果データ(Z)を出力可能な状態を指す。FORCE学習部1300_1は、リザーバ特徴量を取得すると、重みパラメータを転置した転置ベクトルをかけ合わせることで、予測結果データを出力する。
 同様に、図14のFORCE学習部1200_2には、“学習パラメータセット2”が設定されており、図12で説明した処理手順(符号1201参照)により、逐次最小二乗法によるFORCE学習処理が行われる。
 また、本実施形態において、図15のFORCE学習部1300_2は、FORCE学習部1200_2においてFORCE学習処理が行われることで算出された重みパラメータが設定され、予測結果データ(Z)を出力可能な状態を指す。FORCE学習部1300_2は、リザーバ特徴量を取得すると、重みパラメータを転置した転置ベクトルをかけ合わせることで、予測結果データを出力する。
 同様に、図14のFORCE学習部1200_Mには、“学習パラメータセットM”が設定されており、図12で説明した処理手順(符号1201参照)により、逐次最小二乗法によるFORCE学習処理が行われる。
 また、本実施形態において、図15のFORCE学習部1300_Mは、FORCE学習部1200_MにおいてFORCE学習処理が行われることで算出された重みパラメータが設定され、予測結果データ(Z)を出力可能な状態を指す。FORCE学習部1300_Mは、リザーバ特徴量を取得すると、重みパラメータを転置した転置ベクトルをかけ合わせることで、予測結果データを出力する。
 なお、上述したように、再学習期間において図14、図15に示す機能構成のもとで処理が終了すると、再び、予測期間に移行し、図13に示す機能構成のもとで処理が行われる。ただし、再学習後の予測期間の場合、プロセス状態予測部204は、逐次最小二乗法によるFORCE学習部1300_Xとして機能する。ここでいうFORCE学習部1300_Xとは、FORCE学習部1300_1~1300_Mのうち、
・“学習パラメータセットX”が設定されたFORCE学習部であって、
・出力した予測結果データが所定の許容範囲にあり、かつ、予測精度が最も高い重みパラメータが設定されたFORCE学習部、
を指す。なお、学習パラメータセットXは、出力した予測結果データが所定の許容範囲にあり、かつ、予測精度が最も高い重みパラメータが算出された際の学習パラメータセットである。
 (4)逐次最小二乗法によるFORCE学習部のハードウェア構成の詳細
 次に、逐次最小二乗法によるFORCE学習部1200、1200_1~1200_M、1300、1300_1~1300_Mとして機能するFORCE学習部のハードウェア構成について説明する。なお、本実施形態において、FORCE学習部1200、1200_1~1200_M、1300、1300_1~1300_Mは、共通のハードウェアを用いるため、以下では、FORCE学習部1200のハードウェア構成として説明する。
 (4-1)全体構成
 図16は、逐次最小二乗法によるFORCE学習部のハードウェア構成の一例を示す図である。
 図16に示すように、逐次最小二乗法によるFORCE学習部1200は、
・PE(Processing Element)として機能する複数のFPGA(Field Programmable Gate Array)と(図16の例では、25個)、
・FPE(Functional PE)として機能する複数のFPGAと(図16の例では、5個)、
を有する。なお、図16において、FPGAの部分は、専用のチップにより実現されてもよい。
 このうち、PEとして機能する複数のFPGAは、それぞれ、図12を用いて説明した逐次最小二乗法によるFORCE学習の処理手順1)~4)のうち、3)係数行列の算出を実行する。具体的には、PEとして機能する複数のFPGAは、それぞれ、以下の手順により係数行列(P行列)を算出する。
(i)信号線1601を介して、リザーバ特徴量(Rベクトル)の一部が入力されると、係数行列(P行列)の一部との積を算出し、算出結果を、信号線1602を介して、隣接するFPGAに転送する。
(ii)FPEとして機能するFPGAより、信号線1603を介して、リザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルと係数行列(P行列)の一部との積を算出するための行列を取得する。また、取得した行列を用いて、リザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルと係数行列(P行列)の一部との積を算出する。
(iii)FPEとして機能するFPGAより、信号線1604を介して、リザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルと、係数行列(P行列)の一部と、リザーバ特徴量(Rベクトル)の一部との積の算出結果を取得する。
(iv)上記(i)~(iii)を実行することで算出した算出結果、または、取得した取得結果を用いて、係数行列(P行列)の全体を更新する。
 なお、PEとして機能する複数のFPGAは、それぞれ、上記(i)~(iv)を繰り返し実行する。
 一方、FPEとして機能する複数のFPGAは、それぞれ、図12を用いて説明した逐次最小二乗法によるFORCE学習処理の処理手順1)~4)のうち、4)逐次重みパラメータの算出と、1)出力データの算出とを実行する。具体的には、FPEとして機能する複数のFPGAは、それぞれ、以下の手順により、逐次重みパラメータ及び出力データを算出する。
(i)PEとして機能するFPGAより、信号線1602を介して、係数行列(P行列)の一部とリザーバ特徴量(Rベクトル)の一部との積の算出結果を取得する。
(ii)リザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルと係数行列(P行列)の一部との積を算出するための行列を生成し、信号線1603を介して、PEとして機能する複数のFPGAに送信する。
(iii)リザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルと係数行列(P行列)の一部との積の算出結果を取得する。また、取得した算出結果に、リザーバ特徴量(Rベクトル)の一部をかけ合わせた算出結果を、信号線1604を介して、PEとして機能する複数のFPGAに送信する。
(iv)逐次重みパラメータ(Wベクトル)の一部を転置した転置ベクトルと、信号線1601を介して取得したリザーバ特徴量(Rベクトル)の一部との積を算出することで、出力データ(Z)の一部を算出する。
(v)誤差(e)を取得し、上記(i)の算出結果を用いて、逐次重みパラメータ(Wベクトル)の全体を更新する。
 なお、FPEとして機能する複数のFPGAは、それぞれ、上記(i)~(v)を繰り返し実行する。
 一方、FPEとして機能する複数のFPGAのうち、最終段に位置するFPGAは、4)逐次重みパラメータの算出、1)出力データの算出に加えて、2)誤差の算出を実行する。具体的には、FPEとして機能する複数のFPGAのうち、最終段に位置するFPGAは、以下の手順により、誤差を算出する。
(i)上段に位置するFPGAよりそれぞれ取得した出力データ(Z)の一部を全て集計し、プロセス状態データ(S)との差分を算出することで、誤差(e)を算出する。また、算出した誤差(e)を、上段に位置するFPGAにそれぞれ送信する。
 このように、逐次最小二乗法によるFORCE学習部1200では、PEとして機能する複数のFPGAと、FPEとして機能する複数のFPGAとを用いて、処理手順1)~4)を実行することで、逐次最小二乗法によるFORCE学習処理を実現する。
 (4-2)各FPGAの処理の詳細
 次に、逐次最小二乗法によるFORCE学習部1200に含まれる各FPGAの処理の詳細について説明する。
 (4-2-1)PEとして機能するFPGAの処理の詳細その1
 はじめに、PEとして機能するFPGAの処理の詳細について説明する。上述したように、PEとして機能するFPGAは、リザーバ特徴量(Rベクトル)が入力されると、係数行列(P行列)との積を算出する。
 このとき、逐次最小二乗法によるFORCE学習部1200では、縦方向に複数配置された、PEとして機能するFPGAそれぞれが、係数行列(P行列)の一部と、リザーバ特徴量(Rベクトル)の一部との積を算出する。これにより、逐次最小二乗法によるFORCE学習部1200では、互いに異なる係数行列(P行列)の一部に、同じリザーバ特徴量(Rベクトル)の一部をかけ合わせる処理を、並列に行うことができる。
 また、逐次最小二乗法によるFORCE学習部1200では、横方向に複数配置された、PEそれぞれが、時系列データであるリザーバ特徴量(Rベクトル)が分割されてなるリザーバ特徴量(Rベクトル)の一部の処理を、シリアルに行う。
 このように、逐次最小二乗法によるFORCE学習処理を実現する際、並列処理とシリアル処理とを組み合わせることで、1つのFPGAが演算する演算回数を削減することができる。この結果、逐次最小二乗法によるFORCE学習部1200によれば、FORCE学習処理を高速化することができる。
 図17及び図18は、逐次最小二乗法によるFORCE学習部において実現される並列処理及びシリアル処理を示す第1及び第2の図である。なお、図17及び図18では、説明の簡略化のため、出力側電極数を“4”(リザーバ特徴量(Rベクトル)の要素が4つ)としている。また、PEとして機能するFPGAを、縦方向に2つ、横方向に2つ(計4個)のみ配置した場合を示している(FPGA1721、1722、1723、1724参照)。
 ここで、仮に、係数行列(P行列)とリザーバ特徴量(Rベクトル)との積を、1つのFPGAを用いて実行したとする。この場合、符号1710に示すように、16回の乗算が必要になる。一方、PEとして機能するFPGAを縦方向に2つ配置することで、乗算の回数を半分にすることができる。更に、PEとして機能するFPGAを横方向に2つ配置し、リザーバ特徴量(Rベクトル)を2分割してそれぞれのFPGAに入力することで、乗算の回数を更に半分にすることができる。
 図17において符号1730は、2分割したRベクトルのうち、リザーバ特徴量(Rベクトル)の一部である(r,r)を、FPGA1721、1722にそれぞれ入力し、FPGA1721、1722がそれぞれ、4回の乗算を実行した様子を示している。
 また、図18において符号1830は、2分割したリザーバ特徴量(Rベクトル)のうち、リザーバ特徴量(Rベクトル)の一部である(r,r)を、FPGA1723、1724にそれぞれ入力した様子を示している。また、符号1830は、FPGA1723、1724がそれぞれ、4回の乗算を実行した様子を示している。
 このように、逐次最小二乗法によるFORCE学習部1200は、PEとして機能するFPGAを縦方向及び横方向に複数配置し、各FPGAが、FORCE学習処理において実行される複数行かつ複数列の行列演算の一部を実行するように構成する。
 これにより、逐次最小二乗法によるFORCE学習部1200は、逐次最小二乗法によるFORCE学習処理を高速化することができる。
 (4-2-2)PEとして機能するFPGAの処理の詳細その2
 次に、PEとして機能するFPGAの処理として、転送処理の詳細について説明する。上述したように、PEとして機能するFPGAは、係数行列(P行列)とリザーバ特徴量(Rベクトル)との積の算出結果を、隣接するFPGAに転送する。図19は、逐次最小二乗法によるFORCE学習部において実現される転送処理を示す第1の図である。
 このうち、図19の19aは、2分割したリザーバ特徴量(Rベクトル)のうち、リザーバ特徴量(Rベクトル)の一部である(r,r)と係数行列(P行列)の一部との積を、FPGA1721、1722がそれぞれ実行した様子を示したものである。また、図19の19aは、FPGA1721、1722それぞれが、実行結果を、FPGA1723、1724に転送した様子を示したものである。
 図19の19aに示すように、FPGA1721からは、算出結果であるp11+p12と、p21+p22とが、1クロックかけてFPGA1723に転送される。また、FPGA1722からは、p31+p32と、p41+p42とが、1クロックかけてFPGA1724に転送される。なお、p31+p32と、p41+p42とは、FPGA1721からFPGA1722に1クロックかけて転送されたリザーバ特徴量(Rベクトル)の一部である(r,r)と、係数行列(P行列)の一部との積の算出結果である。
 一方、図19の19bは、2分割したリザーバ特徴量(Rベクトル)のうち、リザーバ特徴量(Rベクトル)の一部である(r,r)と係数行列(P行列)の一部との積を、FPGA1723、1724がそれぞれ実行した様子を示したものである。また、図19の19bは、FPGA1723、1724それぞれが、実行結果を、右側に隣接するFPGA(不図示)に転送した様子を示したものである。
 図19の19bに示すように、FPGA1723からは、算出結果であるp13+p14が、転送結果であるp11+p12に加算された加算結果が、不図示のFPGAに転送される。また、FPGA1723からは、算出結果であるp23+p24が、転送結果であるp21+p22に加算された加算結果が、不図示のFPGAに転送される。
 同様に、FPGA1724からは、算出結果であるp33+p34が、転送結果であるp31+p32に加算された加算結果が、不図示のFPGAに転送される。また、FPGA1724からは、算出結果であるp43+p44が、転送結果であるp41+p42に加算された加算結果が、不図示のFPGAに転送される。
 (4-2-3)FPEとして機能するFPGAの処理の詳細その1
 次に、FPEとして機能するFPGAの処理の詳細について説明する。上述したように、FPEとして機能するFPGAは、係数行列(P行列)の算出において用いられる、“リザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルと係数行列(P行列)の一部との積”を算出するための行列を生成する「代替処理」を実行する。
 図20は、逐次最小二乗法によるFORCE学習部において実現される代替処理を示す図である。このうち、図20の20aは、係数行列(P行列)の算出と代替処理との関係を示している。図20の20aに示すように、係数行列(P行列)を算出する際に算出すべき“リザーバ特徴量(Rベクトル)を転置した転置行列と係数行列(P行列)との積”(符号2001)のうち、係数行列(P行列)は対称行列である(対称性を有する)。このため、係数行列(P行列)は、係数行列(P行列)を転置した転置行列と等しい。
 したがって、
・“リザーバ特徴量(Rベクトル)を転置した転置行列と係数行列(P行列)との積”(符号2001)と、
・“リザーバ特徴量(Rベクトル)を転置した転置行列と係数行列(P行列)を転置した転置行列との積”(符号2002)と、
は等しい。つまり、“リザーバ特徴量(Rベクトル)と係数行列(P行列)との積を転置した転置行列”(符号2003)と等しい。
 ここで、“リザーバ特徴量(Rベクトル)と係数行列(P行列)との積”は、当該積を算出する時点で既に算出されている(符号2004)。このため、対称性を利用して当該算出結果を転置することで、“リザーバ特徴量(Rベクトル)を転置した転置行列と係数行列(P行列)との積”(符号2001)の代替とすることができる。
 図20の20bは、係数行列(P行列)の算出において、
・“リザーバ特徴量(Rベクトル)を転置した転置行列と係数行列(P行列)との積”(符号2001)を、
・“リザーバ特徴量(Rベクトル)と係数行列(P行列)との積を転置した転置行列”(符号2003)で、
代替した場合の代替後の数式を示している。
 また、図20の20cの右辺はその算出結果を表し、pr、pr、pr、prのうち、右辺の行列の各要素がどのprを必要とするかを示したものである。この行列の左上要素は、pr、prを必要とし、左下要素と右上要素は、pr、pr、pr、prを必要とし、右下要素はpr、prを必要とする。
 また、図20の20dは、FPEとして機能するFPGA(不図示)が、
・“係数行列(P行列)の一部とリザーバ特徴量(Rベクトル)の一部との積”と、
・“係数行列(P行列)の一部とリザーバ特徴量(Rベクトル)の一部との積を転置した転置ベクトル”と、
を算出するためのベクトルを、信号線1603を介して、FPGA1721~1724に送信した様子を示している。更に、図20の20dは、FPGA1721~1724が、
・“係数行列(P行列)の一部とリザーバ特徴量(Rベクトル)の一部との積”と、
・“係数行列(P行列)の一部とリザーバ特徴量(Rベクトル)の一部との積を転置した転置ベクトル”と、
の積を算出する様子を示している。
 具体的には、FPGA1721が図20の20cの右辺の行列の左上要素の積を、FPGA1722が左下要素の積を、FPGA1723が右上要素の積を、FPGA1724が右下要素の積をそれぞれ算出する。
 このように、逐次最小二乗法によるFORCE学習部1200では、逐次最小二乗法によるFORCE学習処理において実行される転置ベクトルを含む演算を行う際、転置ベクトルを含まない演算の演算結果を取得し、取得した演算結果を転置することで代替する。
 これにより、逐次最小二乗法によるFORCE学習部1200によれば、逐次最小二乗法によるFORCE学習処理を実現する際の、演算回数を削減することができる。この結果、逐次最小二乗法によるFORCE学習部1200によれば、FORCE学習処理を高速化することができる。
 (4-2-4)FPEとして機能するFPGAの処理の詳細その1
 次に、FPEとして機能するFPGAの転送処理の詳細について説明する。上述したように、FPEとして機能するFPGAは、リザーバ特徴量(Rベクトル)の一部が入力されると、逐次重みパラメータ(Wベクトル)の一部との積を算出し、算出結果である出力データ(Z)の一部を、隣接するFPGAに転送する。図21は、逐次最小二乗法によるFORCE学習部において実現される転送処理を示す第2の図である。
 図21に示すように、FPGA2111は、2分割したリザーバ特徴量(Rベクトル)のうち、
・リザーバ特徴量(Rベクトル)の一部である(r,r)と、
・逐次重みパラメータ(Wベクトル)の一部である(w,w)と、
の積を算出し、算出結果(符号2101)をFPGA2112に転送する。このとき、FPGA2111では、算出結果(符号2101)であるw+wを1クロックかけてFPGA2112に転送する。
 また、FPGA2112は、2分割したリザーバ特徴量(Rベクトル)のうち、リザーバ特徴量(Rベクトル)の一部である(r,r)と逐次重みパラメータ(Wベクトル)の一部である(w,w)との積を算出する。また、FPGA2112は、算出結果(符号2102)を、FPGA2111から転送された算出結果(符号2101)に加算し、加算結果(符号2103)を得る。
 (4-2-5)FPEとして機能するFPGAの処理の詳細その2
 次に、FPEとして機能するFPGAの処理の詳細について説明する。上述したように、FPEとして機能するFPGAは、リザーバ特徴量(Rベクトル)の一部と係数行列(P行列)の一部との積の算出結果を取得する。また、FPEとして機能するFPGAは、リザーバ特徴量(Rベクトル)の一部と、係数行列(P行列)の一部と、信号線1601を介して取得したリザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルとの積を算出する。更に、FPEとして機能するFPGAは、算出結果を、PEとして機能するFPGAに配布する配布処理を実行する。
 図22は、逐次最小二乗法によるFORCE学習部において実現される配布処理を示す図である。図22に示すように、FPEとして機能するFPGA2111は、PEとして機能する対応するFPGAから、係数行列(P行列)の一部とRベクトルの一部との積の算出結果(符号2201)を取得する。また、FPEとして機能するFPGA2111は、取得した算出結果(符号2201)と、リザーバ特徴量(Rベクトル)の一部(r,r)を転置した転置ベクトルとの積を算出し、算出結果(符号2202)を、FPGA2112に転送する。
 同様に、FPEとして機能するFPGA2112は、PEとして機能する対応するFPGAから、係数行列(P行列)の一部とRベクトルの一部との積の算出結果(符号2203)を取得する。また、FPEとして機能するFPGA2112は、取得した算出結果(符号2202)と、リザーバ特徴量(Rベクトル)の一部(r,r)を転置した転置ベクトルとの積を算出する。また、FPEとして機能するFPGA2112は、算出結果をFPGA2111から転送された算出結果(符号2202)に加算する。更に、FPEとして機能するFPGA2112は、加算結果(符号2204)を、信号線1604を介して、PEとして機能するFPGA1721~1724に転送する。
 これにより、FPGA1721~1724では、それぞれ、係数行列(P行列)の一部を算出することができる。例えば、FPGA1721の場合、
・“リザーバ特徴量(Rベクトル)の一部と係数行列(P行列)の一部との積”(符号2004)は、事前に算出している。
・“リザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルと係数行列(P行列)の一部との積”(符号2001)は、図20で説明したように、信号線1603を介して取得した行列に基づく代替処理により算出している。
・“リザーバ特徴量(Rベクトル)の一部を転置した転置ベクトルと、係数行列(P行列)の一部と、リザーバ特徴量(Rベクトル)の一部との積”(符号2204)は、信号線1604を介して取得している。
 これにより、FPGA1721~FPGA1724では、係数行列(P行列)を算出することができる。
 (4-2-6)FPEとして機能するFPGAの処理の詳細その3
 次に、FPEとして機能するFPGAの処理の詳細について説明する。上述したように、FPEとして機能するFPGAのうち、最終段に位置するFPGAは、逐次重みパラメータの算出、出力データの算出に加えて、誤差の算出を実行する。
 図23は、逐次最小二乗法によるFORCE学習部において実現される重みパラメータ更新処理を示す図である。図23に示すように、最終段に位置するFPGA2112は、出力データ(Z)の一部(=w+w)を算出する。また、最終段に位置するFPGA2112は、FPEとして機能するFPGA2111より取得した出力データ(Z)の一部(=w+w)に加算することで、出力データ(Z)を集計する。
 また、最終段に位置するFPGA2112は、集計した出力データ(Z)と、プロセス状態データ(S)との差分を算出することで、誤差(e)を算出する。(符号2301)。更に、最終段に位置するFPGA2112は、算出した誤差(e)を、上段に位置するFPGA2111に送信する。FPGA2111及びFPGA2112では、算出した誤差(e)を用いて、逐次重みパラメータを更新する。
 例えば、FPGA2111では、リザーバ特徴量(Rベクトル)の一部と係数行列(P行列)の一部との積の算出結果(符号2201)を取得し、FPGA2112より取得した誤差(e)をかけ合わせたうえで、現在の逐次重みパラメータ(Wベクトル)から減算する。これにより、FPGA2111では、逐次重みパラメータ(Wベクトル)を更新することができる(符号2302)。
 (4-3)逐次最小二乗法によるFORCE学習部1200によるFORCE学習処理のタイミングチャート
 次に、逐次最小二乗法によるFORCE学習部1200によるFORCE学習処理のタイミングチャートについて説明する。図24は、逐次最小二乗法によるFORCE学習部によるFORCE学習処理のタイミングチャートの一例である。
 図24に示すように、FPEとして機能するFPGAは、
・逐次重みパラメータ(W(τ-1)ベクトル)と、
・リザーバ特徴量(R(τ)ベクトル)と、
の積を算出することで、出力データ(Z(τ))を算出する(符号2401)。
 また、FPEとして機能するFPGAは、出力データ(Z(τ))と、プロセス状態データ(S(τ))とに基づいて、誤差(e(τ))を算出する(符号2402)。
 また、PEとして機能するFPGAは、
・リザーバ特徴量(Rベクトル(τ))を転置した転置ベクトルと、係数行列(P(τ-1)行列)と、リザーバ特徴量(Rベクトル(τ))との積と、
・係数行列(P(τ-1)行列)と、リザーバ特徴量(Rベクトル(τ))との積と、
・係数行列(P(τ-1)行列)と、
に基づいて、係数行列(P(τ)行列)を算出する(符号2403)。
 また、PEとして機能するFPGAは、係数行列(P(τ)行列)と、リザーバ特徴量(R(τ)ベクトル)との積を算出する(符号2404)。また、PEとして機能するFPGAは、係数行列(P(τ+1)行列)と、リザーバ特徴量(R(τ)ベクトル)との積を算出する(符号2405)。
 また、PEとして機能するFPGAは、
・リザーバ特徴量(R(τ+1)ベクトル)を転置した転置ベクトルと、
・係数行列(P(τ)行列)と、リザーバ特徴量(R(τ+1)ベクトル)との積の算出結果と、
の積を算出する(符号2406)。
 続いて、FPEとして機能するFPGAは、
・係数行列(P(τ)行列)と、リザーバ特徴量(R(τ)ベクトル)との積の算出結果と、
・誤差(e(τ))と、
の積を算出する(符号2407)。
 また、FPEとして機能するFPGAは、
・係数行列(P(τ)行列)と、リザーバ特徴量(R(τ)ベクトル)と、誤差(e(τ))との積を算出した算出結果と、
・逐次重みパラメータ(W(τ-1)ベクトル)と、
に基づいて、逐次重みパラメータ(W(τ)ベクトル)を更新し、逐次重みパラメータ(W(τ)ベクトル)を算出する(符号2408)。
 これにより、FPEとして機能するFPGAは、出力データ(Z(τ+1))を算出することができる。以下、システム時間の経過とともに、同様の処理が繰り返される。
 なお、図24に示すように、逐次最小二乗法によるFORCE学習部1200では、
・逐次重みパラメータ(W(τ-1)ベクトル)の算出と、
・逐次重みパラメータ(W(τ)ベクトル)の算出と、
の間にそれぞれ実行される、リザーバ特徴量(Rベクトル)と係数行列(P行列)との積の実行タイミングが、互いに重なるように構成される。具体的には、逐次最小二乗法によるFORCE学習部1200が、PEとして機能するFPGA及びFPEとして機能するFPGAにおいて、算出結果をバッファリングすることで、実行タイミングを調整する。
 これにより、逐次最小二乗法によるFORCE学習部1200では、逐次重みパラメータの更新に要する時間を短縮することができる。
 以上のとおり、逐次最小二乗法によるFORCE学習処理を行うハードウェアによりプロセス状態予測部204を構成し、逐次重みパラメータを高速に更新するための処理を実行する。これにより、プロセス状態予測部204によれば、センサデータにおいて出現する短い挙動を捉えて重みパラメータを学習することができる。
 なお、本願出願人によれば、逐次最小二乗法によるFORCE学習部1200が逐次重みパラメータの更新に要する時間として、各FPGAを200MHzで動作させた場合、960[ns]を実現している。
 <管理装置の詳細>
 次に、プロセス状態予測システム128と接続される管理装置123の詳細について説明する。
 (1)管理装置123のハードウェア構成
 はじめに、管理装置123のハードウェア構成について説明する。図25は、管理装置のハードウェア構成の一例を示す図である。
 図25に示すように、管理装置123は、プロセッサ2501、メモリ2502、補助記憶装置2503、I/F(Interface)装置2504、UI装置2505、通信装置2506を有する。なお、管理装置123の各ハードウェアは、バス2507を介して相互に接続されている。
 プロセッサ2501は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等の各種演算デバイスを有する。プロセッサ2501は、各種プログラム(例えば、管理プログラム等)をメモリ2502上に読み出して実行する。
 メモリ2502は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶デバイスを有する。プロセッサ2501とメモリ2502とは、いわゆるコンピュータを形成し、プロセッサ2501が、メモリ2502上に読み出した各種プログラムを実行することで、当該コンピュータは各種機能を実現する。
 補助記憶装置2503は、各種プログラムや、各種プログラムがプロセッサ2501によって実行される際に用いられる各種データを格納する。後述するデータ格納部2607は、補助記憶装置2503において実現される。
 I/F装置2504は、プロセス状態予測システム128と接続する接続デバイスである。
 UI装置2505は、管理装置123の管理者が各種指示を管理装置123に入力するためのユーザインタフェース装置である。通信装置2506は、外部装置(不図示)とネットワークを介して通信するための通信デバイスである。
 (2)管理部124の機能構成
 次に、管理装置123の管理部124の機能構成について説明する。図26は、管理部の機能構成の一例を示す図である。上述したように、管理装置123には管理プログラムがインストールされており、当該プログラムが実行されることで、管理装置123の管理部124は、
・プロセス状態データ送信部2601、
・プロセス状態データ取得部2602、
・期間制御部2603、
・終了情報取得部2604、
・再学習判定部2605、
・評価部2606、
・リザーバ特徴量取得部2608、
・バッチ学習部2609、
として機能する。
 プロセス状態データ送信部2601は、期間制御部2603からの送信開始/停止指示に基づいて、例えば、センサb122bから送信されたセンサデータbをプロセス状態データ取得部2602を介して、プロセス状態データ(正解データ)として取得する。また、プロセス状態データ送信部2601は、取得したプロセス状態データ(正解データ)を、プロセス状態予測システム128に送信する。プロセス状態データ送信部2601により送信されるプロセス状態データには、学習期間中に送信されるプロセス状態データと、再学習期間中に送信されるプロセス状態データとが含まれる。
 プロセス状態データ取得部2602は、センサb122bから送信されたセンサデータbを取得する。また、プロセス状態データ取得部2602は、取得したセンサデータbをプロセス状態データとして、プロセス状態データ送信部2601及びバッチ学習部2609に通知する。
 期間制御部2603は、プロセス状態予測システム128に各種切替情報を送信する。図26に示すように、期間制御部2603により送信される各種切替情報には、
・学習期間への移行指示、
・予測期間への移行指示、
・再学習期間への移行指示、
・学習パラメータセットの切替指示、
・重みパラメータの設定指示、
が含まれる。
 期間制御部2603は、プロセス状態予測システム128の処理が開始されると、プロセス状態予測システム128に、学習期間への移行指示を送信するとともに、プロセス状態データ送信部2601に、プロセス状態データの送信開始を指示する。
 また、期間制御部2603は、終了情報取得部2604から、FORCE学習処理の終了情報を受信すると、プロセス状態予測システム128に、予測期間への移行指示を送信する。その際、期間制御部2603は、プロセス状態データ送信部2601にプロセス状態データの送信停止を指示する。
 また、期間制御部2603は、再学習判定部2605から、再学習が必要であるとの判定結果を受信すると、プロセス状態予測システム128に、再学習期間への移行指示を送信する。その際、期間制御部2603は、プロセス状態データ送信部2601に、プロセス状態データの送信開始を指示する。
 また、期間制御部2603は、終了情報取得部2604より、再学習用データ取得の終了情報と、評価用データ取得の終了情報を取得すると、データ格納部2607より、学習パラメータセットを読み出し、プロセス状態予測システム128に送信する。その際、期間制御部2603は、プロセス状態データ送信部2601にプロセス状態データの送信停止を指示する。
 ここで、図26に示すように、データ格納部2607には、学習パラメータセット1~学習パラメータセットMが格納されている。期間制御部2603では、読み出した学習パラメータセット1~学習パラメータセットMを、プロセス状態予測システム128に送信する。
 なお、符号2611に示すように、学習パラメータセットには、情報の項目として、“前回の重みパラメータを使用or初期化”、“過去データ寄与率”、“学習モデル数”等が含まれる。
 また、期間制御部2603は、終了情報取得部2604より、FORCE再学習処理の終了情報を取得するごとに、プロセス状態予測システム128に、学習パラメータセットの切替指示を送信する。
 図26に示すように、再学習期間において、リザーバ特徴量取得部2608は、プロセス状態予測システム128から学習用データ及び評価用データとしてリザーバ特徴量を取得し、バッチ学習部2609に通知する。また、上述したように、再学習期間において、プロセス状態データ取得部2602は、学習用データとして、センサデータbを取得し、取得したセンサデータbをプロセス状態データとして、バッチ学習部2609に通知する。
 バッチ学習部2609は、データ格納部2607より読み出したバッチ学習パラメータのもと、リザーバ特徴量とプロセス状態データとを所定の学習時間分蓄積した学習用データを用いて、バッチ学習を実行する。ここでいうバッチ学習とは、所定の学習時間分のリザーバ特徴量とプロセス状態データとから重みパラメータを学習することである。
 なお、バッチ学習に用いるバッチ学習パラメータには、情報の項目として、“学習用正規化パラメータ”、“蓄積するデータ量(バッチサイズ)”、“学習時間”等が含まれる。
 また、バッチ学習部2609は、バッチ学習が完了すると、評価用データとして取得したリザーバ特徴量に基づいてプロセス状態データを予測し、バッチ学習部2609による予測結果(バッチ学習予測結果)を、評価部2606に通知する。
 また、期間制御部2603は、評価部2606より、評価結果を受信し、受信した評価結果に基づいて、プロセス状態予測システム128に重みパラメータの設定指示を送信する。
 なお、評価結果には、各学習パラメータセットのもと、FORCE再学習処理が行われることでそれぞれ算出された重みパラメータを用いて、評価用データに対して予測処理が行われ、それぞれの予測結果データについて算出された予測精度が含まれるものとする。
 また、期間制御部2603は、予測結果データが所定の許容範囲に含まれ、かつ、予測精度が最も高い重みパラメータを設定するよう、プロセス状態予測システム128に設定指示を行う。このときの所定の許容範囲は、固定値が設定されてもよいし、バッチ学習部2609が算出したバッチ学習予測結果に基づいて算出された値が設定されてもよい。
 また、期間制御部2603は、重みパラメータの設定指示を送信した後、予測期間への移行指示を、プロセス状態予測システム128に送信する。
 終了情報取得部2604は、プロセス状態予測システム128より、各種終了情報(FORCE学習処理の終了情報、再学習用データ取得の終了情報、評価用データ取得の終了情報、FORCE再学習処理の終了情報)を取得する。また、終了情報取得部2604は、取得した各種終了情報を、期間制御部2603に送信する。
 再学習判定部2605は、予測期間中にプロセス状態予測システム128より受信した予測結果データの予測精度に基づいて、再学習の要否を判定する。また、再学習判定部2605は、再学習が必要であると判定した場合、期間制御部2603に、再学習が必要であるとの判定結果を送信する。なお、再学習判定部2605では、その他、再学習が必要となるような事象が発生した場合にも、期間制御部2603に、再学習が必要であるとの判定結果を送信する。
 評価部2606は、再学習期間中に、学習パラメータセットが切り替えられるごとにプロセス状態予測システム128より受信した予測結果データの予測精度を評価し、評価結果として、期間制御部2603に送信する。上述したように、評価部2606では、予測結果データを評価する際、バッチ学習部2609により算出されたバッチ学習予測結果に基づいて算出した許容範囲を用いて、予測結果データを評価してもよい。
 <管理部及びプロセス状態予測システムによるプロセス状態予測処理>
 次に、管理部124及びプロセス状態予測システム128によるプロセス状態予測処理の流れについて説明する。
 (1)プロセス状態予測処理全体の流れ
 はじめに、プロセス状態予測処理全体の流れについて説明する。図27は、管理部及びプロセス状態予測システムによるプロセス状態予測処理全体の流れを示すフローチャートの一例である。プロセス状態予測システム128が起動することで、図27に示す処理が開始される。
 ステップS2701において、管理部124は、学習期間への移行指示をプロセス状態予測システム128に送信する。これにより、プロセス状態予測システム128のプロセス状態予測部204は、学習期間に移行し、FORCE学習部1200の重みパラメータを初期化する。
 ステップS2702において、プロセス状態予測システム128の電圧変調部202は、センサ122により出力され、I/O制御部201により取得された時系列のセンサデータaに対して、電圧変調処理を行う。なお、電圧変調処理(ステップS2702)の詳細は、図3を用いて説明済みであるため、ここでは説明を省略する。
 ステップS2703において、プロセス状態予測システム128の多電極I/Oチップ203は、電圧変調部202より出力された電圧データを入力し、リザーバ特徴量を出力する入出力処理を行う。なお、入出力処理(ステップS2703)の詳細は、図5を用いて説明済みであるため、ここでは説明を省略する。
 ステップS2704において、プロセス状態予測システム128のプロセス状態予測部204は、現在の期間を判定する。管理装置123の管理部124より学習期間への移行指示または予測期間への移行指示を受信している場合、プロセス状態予測部204は、ステップS2704において、現在の期間が、学習期間または予測期間であると判定する。この場合、プロセス状態予測部204は、ステップS2711に進む。
 ステップS2711において、プロセス状態予測システム128のプロセス状態予測部204は、FORCE学習処理が終了しているか否かを判定する。ステップS2711において、FORCE学習処理が終了していないと判定した場合には(ステップS2711においてNOの場合には)、ステップS2712に進む。
 ステップS2712において、プロセス状態予測システム128のプロセス状態予測部204は、FORCE学習処理を行う。なお、FORCE学習処理(ステップS2712)の詳細は、後述する。
 一方、ステップS2711において、FORCE学習処理が終了していると判定した場合には(ステップS2711においてYESの場合には)、ステップS2713に進む。
 ステップS2713において、プロセス状態予測システム128のプロセス状態予測部204は、予測処理を行う。なお、予測処理(ステップS2713)の詳細は、後述する。
 ステップS2714において、管理装置123の管理部124は、再学習が必要であるか否かを判定する。ステップS2714において、再学習が必要でないと判定された場合(ステップS2714においてNOの場合)には、ステップS2731に進む。
 一方、ステップS2714において、再学習が必要であると判定した場合(ステップS2714においてYESの場合)には、ステップS2715に進む。なお、ステップS2714における再学習判定処理の詳細は、後述する。
 ステップS2715において、管理装置123の管理部124は、プロセス状態予測システム128に、再学習期間への移行指示を送信するとともに、学習パラメータセット1~Mを送信する。これにより、プロセス状態予測システム128のプロセス状態予測部204は、再学習期間に移行するとともに、学習パラメータセット1~Mを取得する。
 また、ステップS2704において、現在の期間が、再学習期間であると判定した場合には、ステップS2721に進む。なお、プロセス状態予測部204では、管理装置123の管理部124より再学習期間への移行指示を受信している場合、現在の期間が、再学習期間であると判定する。
 ステップS2721において、プロセス状態予測システム128のプロセス状態予測部204は、FORCE再学習処理を行う。なお、FORCE再学習処理(ステップS2721)の詳細は、後述する。
 ステップS2731において、管理装置123の管理部124は、プロセス状態予測処理を終了するか否かを判定する。ステップS2731において、プロセス状態予測処理を終了しないと判定した場合には(ステップS2731においてNOの場合には)、ステップS2702に戻る。
 一方、ステップS2731において、プロセス状態予測処理を終了すると判定した場合、管理装置123の管理部124及びプロセス状態予測システム128は、プロセス状態予測処理を終了する。
 (2)学習処理(ステップS2712)の詳細
 次に、プロセス状態予測処理に含まれる学習処理(ステップS2712)の詳細について説明する。図28は、学習処理の流れを示すフローチャートの一例である。
 ステップS2801において、プロセス状態予測システム128のプロセス状態予測部204は、多電極I/Oチップ203より出力されるリザーバ特徴量と、管理装置123の管理部124より送信されるプロセス状態データ(正解データ)とを取得する。
 ステップS2802において、プロセス状態予測システム128のプロセス状態予測部204は、学習パラメータセットにおいて、符号2611の“前回の重みパラメータを使用or初期化”の項目が、「使用」であるか否かを判定する。
 ステップS2802において、“前回の重みパラメータを使用or初期化”の項目が、「使用」であると判定した場合には(ステップS2802においてYESの場合には)、ステップS2804に進む。この場合、プロセス状態予測システム128のプロセス状態予測部204は、前回のFORCE学習処理において算出した重みパラメータを、今回のFORCE学習処理におけるFORCE学習部1200の逐次重みパラメータの初期値とする。
 一方、ステップS2802において、“前回の重みパラメータを使用or初期化”の項目が「初期化」であると判定した場合には(ステップS2802においてNOの場合には)、ステップS2803に進む。
 ステップS2803において、プロセス状態予測システム128のプロセス状態予測部204は、今回のFORCE学習処理の前に、前回のFORCE学習処理において算出したFORCE学習部1200の逐次重みパラメータを初期化する。
 ステップS2804において、FORCE学習部1200は、リザーバ特徴量に、現在の逐次重みパラメータをかけ合わせることで、出力データを算出する。
 ステップS2805において、FORCE学習部1200は、算出した出力データと、対応するプロセス状態データ(正解データ)との誤差を算出する。また、FORCE学習部1200は、算出した誤差が閾値以内でないと判定した場合には(ステップS2805においてNO)の場合には、ステップS2806に進む。
 ステップS2806において、FORCE学習部1200は、算出した誤差に基づいて逐次重みパラメータを更新し、ステップS2807に進む。
 一方、ステップS2805において、誤差が閾値以内であると判定した場合には(ステップS2807においてYESの場合には)、直接、ステップS2807に進む。
 ステップS2807において、FORCE学習部1200は、誤差が閾値以内である状態が、学習パラメータセットで指定された所定の学習時間分、継続したか否かを判定する。ステップS2807において、継続していないと判定した場合には(ステップS2807においてNOの場合には)、図27のステップS2731に戻る。
 一方、ステップS2807において、継続したと判定した場合には(ステップS2807においてYESの場合には)、ステップS2808に進む。
 ステップS2808において、プロセス状態予測システム128のプロセス状態予測部204は、FORCE学習処理の終了情報を、管理装置123に送信する。これにより、管理装置123の管理部124は、FORCE学習処理が終了したと判定し、予測期間への移行指示を、プロセス状態予測システム128に送信する。
 ステップS2809において、プロセス状態予測システム128のプロセス状態予測部204は、FORCE学習部1300に、FORCE学習処理が終了した時点での重みパラメータを設定する。
 (3)予測処理(ステップS2713)の詳細
 次に、プロセス状態予測処理に含まれる予測処理(ステップS2713)の詳細について説明する。図29は、予測処理の流れを示すフローチャートの一例である。
 ステップS2901において、FORCE学習部1300は、多電極I/Oチップ203から出力されたリザーバ特徴量を取得する。
 ステップS2902において、FORCE学習部1300は、取得したリザーバ特徴量に重みパラメータをかけ合わせることで、プロセス状態を予測する。
 ステップS2903において、FORCE学習部1300は、予測結果データを出力する。
 (4)再学習判定処理(ステップS2714)の詳細
 次に、管理装置123の管理部124による再学習判定処理(ステップS2714)の詳細について説明する。図30は、再学習判定処理の流れを示すフローチャートの一例である。
 ステップS3001において、管理装置123の管理部124は、予測期間において、プロセス状態予測システム128が取得する時系列のセンサデータaの種類が変更されたか否かを判定する。ステップS3001において、変更されたと判定した場合には(ステップS3001においてYESの場合には)、ステップS3004に進む。
 一方、ステップS3001において、変更されていないと判定した場合には(ステップS3001においてNOの場合には)、ステップS3002に進む。
 ステップS3002において、管理装置123の管理部124は、予測期間において、プロセス状態予測システム128が取得する時系列のセンサデータaの値が所定の閾値以上変動したか否かを判定する。ステップS3002において、時系列のセンサデータaの値が所定の閾値以上変動したと判定した場合には(ステップS3002においてYESの場合には)、ステップS3004に進む。
 一方、ステップS3002において、時系列のセンサデータaの値が所定の閾値以上変動していないと判定した場合には(ステップS3002においてNOの場合には)、ステップS3003に進む。
 ステップS3003において、管理装置123の管理部124は、予測期間において、プロセス状態予測システム128から送信される予測結果データの予測精度が所定の閾値以下に低下したか否かを判定する。
 ステップS3003において、予測精度が所定の閾値以下に低下したと判定した場合には(ステップS3003においてYESの場合には)、ステップS3004に進む。
 ステップS3004において、管理装置123の管理部124は、再学習が必要であると判定する。
 一方、ステップS3003において、予測精度が所定の閾値以下に低下していないと判定した場合には(ステップS3003においてNOの場合には)、図27のステップS2731に戻る。
 予測精度が所定の閾値以下に低下するとは、予測結果データと正解データとの誤差が許容閾値を超えたことを指す(上述したように、それまでの時間は「有効予測時間」である)。したがって、管理装置123の管理部124は、この有効予測時間を監視することで、再学習が必要であるか否かを判定する。図31を参照しながら、説明する。
 図31は、有効予測時間の他の一例を示す図である。図31において横軸は、学習により算出された重みパラメータが設定されてからの経過時間を示している。また、図31において縦軸は、予測結果データと正解データとの二乗誤差を示している。
 プロセス状態予測システム128では、予測結果データと正解データとの二乗誤差が、許容閾値を超えるまでの有効予測時間が、例えば、図31のtで示す時間であったとする(初期状態、ベストの状態)。ここから運用を開始し、その後、予測結果データと正解データとの二乗誤差が、許容閾値を超えるまでの有効予測時間がt(<t)になったとする。つまり、本来予測できる時間が短くなったときに(t-tが所定の閾値以上となったときに)、再学習する。
 (5)再学習処理(ステップS2721)の詳細
 次に、プロセス状態予測処理に含まれる再学習処理(ステップS2721)の詳細について説明する。図32は、再学習処理の流れを示すフローチャートの一例である。
 再学習処理を開始すると、プロセス状態予測システム128のプロセス状態予測部204及び管理装置123の管理部124は、ステップS3201~ステップS3208の処理と、ステップS3210~ステップS3215の処理とを、並行して実行する。
 はじめに、ステップS3201~ステップS3208の処理について説明する。ステップS3201において、プロセス状態予測システム128のプロセス状態予測部204は、多電極I/Oチップ203より出力されるリザーバ特徴量と、管理装置123の管理部124より送信されるプロセス状態データ(正解データ)とを取得する。
 なお、プロセス状態予測システム128のプロセス状態予測部204は、リザーバ特徴量とプロセス状態データ(正解データ)との組み合わせの一部を再学習用データとして取得し、残りの組み合わせを評価用データとして取得する。
 ステップS3202において、プロセス状態予測部204は、管理装置123の管理部124から送信された学習パラメータセット1~Mのうちのいずれか(ここでは、学習パラメータセット1)を、FORCE学習部1200_1に設定する。
 ステップS3203において、プロセス状態予測部204は、FORCE学習部1200_1に設定した学習パラメータセット1の“前回の重みパラメータを使用or初期化”の項目が、「使用」であるか否かを判定する。
 ステップS3203において、“前回の重みパラメータを使用or初期化”の項目が、「使用」であると判定した場合には(ステップS3203においてYESの場合には)、ステップS3205に進む。この場合、FORCE学習部1200_1では、前回のFORCE学習処理において算出された重みパラメータを、逐次重みパラメータの初期値として、今回のFORCE再学習処理を行う。
 一方、ステップS3203において、“前回の重みパラメータを使用or初期化”の項目が「初期化」であると判定した場合には(ステップS3203においてNOの場合には)、ステップS3204に進む。
 ステップS3204において、プロセス状態予測システム128のプロセス状態予測部204は、FORCE学習部1200_1の逐次重みパラメータを初期化する。
 ステップS3205において、FORCE学習部1200_1は、再学習用データを用いて、FORCE学習処理を行い、重みパラメータを算出する。また、FORCE学習部1200_1は、算出した重みパラメータを、FORCE学習部1300_1に設定する。
 ステップS3206において、FORCE学習部1300_1は、評価用データを用いて、プロセス状態を予測する。
 ステップS3207において、FORCE学習部1300_1は、予測結果データを管理装置123の管理部124に出力する。
 ステップS3208において、プロセス状態予測システム128のプロセス状態予測部204は、管理装置123の管理部124から送信された全ての学習パラメータセットを、FORCE学習部に設定したか否かを判定する。
 ステップS3208において、未だ設定していない学習パラメータセットがある場合には、次の学習パラメータセットを設定すると判定し(ステップS3208においてYESと判定し)、ステップS3202に戻る。
 一方、ステップS3208において、全ての学習パラメータセットを、FORCE学習部に設定したと判定した場合には、次の学習パラメータを設定しないと判定し(ステップS3208においてNOと判定し)、ステップS3221に進む。
 続いて、ステップS3210~S3215の処理について説明する。ステップS3210において、プロセス状態予測システム128のプロセス状態予測部204は、取得したリザーバ特徴量を、管理装置123の管理部124に出力する。また、管理装置123の管理部124は、プロセス状態予測部204より出力されたリザーバ特徴量と、プロセス状態データ(正解データ)との組み合わせの一部を再学習用データとして蓄積し、残りの組み合わせを評価用データとして蓄積する。
 ステップS3211において、プロセス状態予測システム128のプロセス状態予測部204は、蓄積した再学習用データ及び評価用データが、いずれも所定サイズに到達したか否かを判定する。
 ステップS3212において、所定サイズに到達していないと判定した場合には(ステップS3211においてNOの場合には)、ステップS3210に戻る。
 一方、ステップS3211において、所定サイズに到達したと判定した場合には(ステップS3211においてYESの場合には)、ステップS3212に進む。
 ステップS3212において、管理装置123の管理部124は、バッチ学習パラメータを設定する。
 ステップS3213において、管理装置123の管理部124は、蓄積した再学習用データを用いて、バッチ学習処理を行い、重みパラメータを算出する。
 ステップS3214において、管理装置123の管理部124は、算出した重みパラメータのもと、蓄積した評価用データを用いて、プロセス状態を予測する。
 ステップS3215において、管理装置123の管理部124は、バッチ学習予測結果データを算出する。
 ステップS3221において、管理装置123の管理部124は、学習パラメータセットごとにプロセス状態予測システム128から送信された各予測結果データの中に、予測精度が所定の許容範囲に含まれる予測結果データがあるか否かを判定する。このとき、管理装置123の管理部124では、算出したバッチ学習予測結果データに基づいて、所定の許容範囲を算出する。
 ステップS3221において、所定の許容範囲に含まれる予測結果データがないと判定した場合には(ステップS3221においてNOの場合には)、ステップS3222に進む。
 ステップS3222において、管理装置123の管理部124は、新たな学習パラメータセットを生成し、プロセス状態予測システム128に送信したうえで、ステップS3202に戻る。
 一方、ステップS3221において、所定の許容範囲に含まれる予測結果データがあると判定した場合には(ステップS3221においてYESの場合には)、ステップS3223に進む。
 ステップS3223において、管理装置123の管理部124は、再学習期間を終了し、予測期間への移行指示を、プロセス状態予測システム128に送信する。また、管理装置123の管理部124は、予測結果データが所定の許容範囲に含まれ、かつ、予測結果が最も高い重みパラメータを設定するよう、プロセス状態予測システム128に設定指示を行う。
 ステップS3224において、プロセス状態予測システム128のプロセス状態予測部204は、予測期間に移行する。また、プロセス状態予測システム128のプロセス状態予測部204は、予測結果データが所定の許容範囲に含まれ、かつ、予測精度が最も高い重みパラメータを、FORCE学習部1300_Xに設定する。これにより、再学習後の予測期間においては、適切な学習パラメータセットのもとで再学習することで得られた重みパラメータを用いて予測結果データを算出することができる。
 <まとめ>
 以上の説明から明らかなように、第1の実施形態に係るプロセス状態予測システム128は、
・POM分子とカーボンナノチューブとを有するナノ分子リザーバであって、所定の製造プロセスにおいてセンサにより測定される時系列のセンサデータに基づく電圧信号を入力として、電流信号を出力するナノ分子リザーバを有する。
・電流信号を読み出し、リザーバ特徴量を出力する読み出し機能部を有する。
・リザーバ特徴量と、所定の製造プロセスの状態を示すプロセス状態データとが相関するように学習された重みパラメータと、学習後に出力されるリザーバ特徴量とに基づき、所定の製造プロセスの状態を予測し、予測結果を出力するプロセス状態予測部を有する。
 このように、ナノ分子リザーバを用いてプロセス状態を予測する構成とすることで、第1の実施形態に係るプロセス状態予測システム128によれば、センサデータにおいて出現する短い挙動を捉えてリザーバ特徴量を出力することできる。
 また、第1の実施形態に係るプロセス状態予測システム128において、プロセス状態予測部は、逐次最小二乗法によるFORCE学習処理を行うハードウェアを用いて重みパラメータを学習する。
 これにより、第1の実施形態に係るプロセス状態予測システム128によれば、センサデータにおいて出現する短い挙動を捉えて重みパラメータを学習することができる。
 この結果、第1の実施形態によれば、時系列のセンサデータに基づきプロセス状態を予測する際の予測精度を向上させることができる。
 また、第1の実施形態に係るプロセス状態予測システム128は、
・学習後の予測期間中に、再学習が必要であると判定された場合に、重みパラメータを再学習する。
・重みパラメータを再学習する際、学習パラメータを最適化する。
 これにより、第1の実施形態に係るプロセス状態予測システム128によれば、製造プロセスの経時変化に伴う予測精度の低下を抑えることができる。
 この結果、第1の実施形態によれば、時系列のセンサデータに基づきプロセス状態を予測する際の予測精度を向上させることができる。
 [その他の実施形態]
 上記第1の実施形態では、プロセス状態を予測した予測結果データとして、異常の有無やセンサデータを出力する場合について説明した。しかしながら、プロセス状態予測部204により出力される予測結果データは、異常の有無やセンサデータに限定されず、例えば、プロセスの状態を示すレベルや、製造プロセスを実行する装置の故障の有無等であってもよい。
 なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
 本出願は、2021年6月17日に出願された日本国特許出願第2021-100983号に基づきその優先権を主張するものであり、同日本国特許出願の全内容を参照することにより本願に援用する。
 120           :基板処理装置
 121           :チャンバ
 122           :センサ
 123           :管理装置
 124           :管理部
 125           :制御装置
 126           :制御部
 127           :アクチュエータ
 128           :プロセス状態予測システム
 201           :I/O制御部
 202           :電圧変調部
 203           :多電極I/Oチップ
 204           :プロセス状態予測部
 401           :D/A変換部
 402           :ナノ分子リザーバ
 403           :読み出し機能部
 610           :入力側電極
 620           :出力側電極
 1200          :FORCE学習部
 1300          :FORCE学習部
 1200_1~1200_M :FORCE学習部
 1300_1~1300_M :FORCE学習部
 1601~1604     :信号線
 1721~1724     :FPGA
 2111、2112     :FPGA
 2601          :プロセス状態データ送信部
 2602          :プロセス状態データ取得部
 2603          :期間制御部
 2604          :終了情報取得部
 2605          :再学習判定部
 2606          :評価部
 2608          :リザーバ特徴量取得部
 2609          :バッチ学習部

Claims (18)

  1.  POM分子とカーボンナノチューブとを有するリザーバであって、所定のプロセスにおいて測定される時系列のセンサデータに基づく電圧信号を入力として、電流信号を出力するリザーバと、
     前記電流信号を読み出し、リザーバ特徴量を出力する読み出し部と、
     前記リザーバ特徴量と、前記所定のプロセスの状態とが相関するように学習された重みパラメータと、学習後に、前記所定のプロセスにおいて測定される時系列のセンサデータに基づく電圧信号が前記リザーバに入力され、前記読み出し部により電流信号が読み出されることで出力されるリザーバ特徴量とに基づき、前記所定のプロセスの状態を予測し、予測結果を出力する予測部と
     を有するプロセス状態予測システム。
  2.  前記所定のプロセスにおいて測定される時系列のセンサデータを、1MHz以上のサンプリング周波数で取得し、変調することで電圧データに変換する変調部と、
     前記電圧データをD/A変換し、前記電圧信号を生成する変換部と、を更に有し、
     前記変換部により生成された前記電圧信号を、入力側の電極を介して、前記リザーバに入力する、請求項1に記載のプロセス状態予測システム。
  3.  前記読み出し部は、前記電流信号を、出力側の電極、低ノイズアンプ、A/D変換器を介して、前記POM分子の全体から読み出す、請求項2に記載のプロセス状態予測システム。
  4.  前記リザーバに電圧信号が入力されてから、前記読み出し部により前記電流信号が読み出されることで前記リザーバ特徴量が出力されるまでの周期は、1μ秒以下である、請求項3に記載のプロセス状態予測システム。
  5.  入力側の電極数、前記POM分子の電荷蓄積数、リザーバノードの数、前記リザーバのネットワークの形状、対地容量、リザーバノードへの入力重み、リザーバノード間の結合重み、出力側の電極数、電極の形状、読み出し電流の積分時間、の少なくともいずれか1つが調整される、請求項3に記載のプロセス状態予測システム。
  6.  前記POM分子の液滴の濃度が不均一になるように前記リザーバのネットワークの形状が調整された場合、前記電圧信号は、前記POM分子の濃度分布に応じて配置された入力側の電極を介して入力され、出力側の電極を介して出力される、請求項5に記載のプロセス状態予測システム。
  7.  前記POM分子の液滴の濃度が均一になるように前記リザーバのネットワークの形状が調整される、請求項5に記載のプロセス状態予測システム。
  8.  前記POM分子と前記カーボンナノチューブとの連結数と、前記読み出し部により読み出される電流信号の時間的ゆらぎの大きさとの関係に基づき、所定の時間的ゆらぎの大きさを下回る連結数が導出された場合、前記リザーバのネットワークの形状は、該導出された連結数を上回るように調整される、請求項6に記載のプロセス状態予測システム。
  9.  前記入力側の電極と出力側の電極との間の電界が前記POM分子のネットワークに集中するように、前記電極の形状は尖端形状に構成される、請求項6に記載のプロセス状態予測システム。
  10.  前記対地容量は、前記POM分子と基板との間に存在する誘電体の厚みを調整することで調整される、請求項5に記載のプロセス状態予測システム。
  11.  前記予測部は、逐次最小二乗法によるFORCE学習処理を行うことで前記重みパラメータを学習する、請求項1に記載のプロセス状態予測システム。
  12.  前記予測部は、複数のFPGAを有し、各FPGAは、前記逐次最小二乗法によるFORCE学習処理において実行される複数行かつ複数列の行列演算の一部を実行し、各FPGAによる実行結果を集計することで、前記重みパラメータを学習する、請求項11に記載のプロセス状態予測システム。
  13.  前記予測部において、前記各FPGAは、前記逐次最小二乗法によるFORCE学習処理の一部の演算に用いられる行列の対称性を利用して、既に算出しているベクトルを転置することで、前記一部の演算を代替する、請求項12に記載のプロセス状態予測システム。
  14.  前記予測部は、学習後の予測期間中に、再学習が必要であると判定された場合に、前記逐次最小二乗法によるFORCE学習処理を行うことで前記重みパラメータを再学習する、請求項11に記載のプロセス状態予測システム。
  15.  前記予測部は、前記逐次最小二乗法によるFORCE学習処理により前記重みパラメータを再学習する際、学習パラメータの数に応じた回数の前記FORCE学習処理を実行することで、前記学習パラメータの数に応じた数の重みパラメータを算出し、算出した重みパラメータのうち、所定の許容範囲に含まれ、かつ、予測精度が最も高い予測結果に対応する重みパラメータを、再学習後の予測に用いる重みパラメータとして設定する、請求項14に記載のプロセス状態予測システム。
  16.  前記所定の許容範囲には、固定値が設定される、または、前記リザーバ特徴量を所定のデータ量まで蓄積し、バッチ学習を行うことにより算出された予測結果に基づく値が設定される、請求項15に記載のプロセス状態予測システム。
  17.  いずれの予測結果も予測精度が所定の許容範囲に含まれないと判定され、新たな学習パラメータが生成された場合、前記予測部は、前記新たな学習パラメータに基づいて前記FORCE学習処理を実行することで算出した重みパラメータを、再学習後の予測に用いる重みパラメータとして設定する、請求項15に記載のプロセス状態予測システム。
  18.  前記予測部により出力された予測結果の精度が所定の閾値以下になった場合、前記電圧信号として入力される前記時系列のセンサデータの種類が変更された場合、または、前記電圧信号として入力される前記時系列のセンサデータの値が所定の閾値以上変動した場合、再学習が必要であると判定される、請求項14に記載のプロセス状態予測システム。
PCT/JP2022/011741 2021-06-17 2022-03-15 プロセス状態予測システム WO2022264573A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021100983 2021-06-17
JP2021-100983 2021-06-17

Publications (1)

Publication Number Publication Date
WO2022264573A1 true WO2022264573A1 (ja) 2022-12-22

Family

ID=84527014

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/011741 WO2022264573A1 (ja) 2021-06-17 2022-03-15 プロセス状態予測システム

Country Status (2)

Country Link
TW (1) TW202303313A (ja)
WO (1) WO2022264573A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024018696A1 (ja) * 2022-07-20 2024-01-25 東京エレクトロン株式会社 リザーバ装置及びプロセス状態予測システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020194591A1 (ja) * 2019-03-27 2020-10-01 Tdk株式会社 外れ値検出装置、外れ値検出方法及び外れ値検出プログラム
JP2021060830A (ja) * 2019-10-08 2021-04-15 国立大学法人大阪大学 リザーバコンピューティング用リザーバ及びそれを用いた情報処理装置
WO2021095512A1 (ja) * 2019-11-14 2021-05-20 日本電気株式会社 機械学習装置、情報処理方法および記録媒体
WO2021111573A1 (ja) * 2019-12-05 2021-06-10 Tdk株式会社 リザーバ計算データフロープロセッサ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020194591A1 (ja) * 2019-03-27 2020-10-01 Tdk株式会社 外れ値検出装置、外れ値検出方法及び外れ値検出プログラム
JP2021060830A (ja) * 2019-10-08 2021-04-15 国立大学法人大阪大学 リザーバコンピューティング用リザーバ及びそれを用いた情報処理装置
WO2021095512A1 (ja) * 2019-11-14 2021-05-20 日本電気株式会社 機械学習装置、情報処理方法および記録媒体
WO2021111573A1 (ja) * 2019-12-05 2021-06-10 Tdk株式会社 リザーバ計算データフロープロセッサ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WU SHUO; ZHOU WENLI; WEN KAIQIANG; LI CHENGZHU; GONG QINGFENG: "Improved Reservoir Computing by Carbon Nanotube Network with Polyoxometalate Decoration", 2021 IEEE 16TH INTERNATIONAL CONFERENCE ON NANO/MICRO ENGINEERED AND MOLECULAR SYSTEMS (NEMS), IEEE, 25 April 2021 (2021-04-25), pages 994 - 997, XP033927891, DOI: 10.1109/NEMS51815.2021.9451290 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024018696A1 (ja) * 2022-07-20 2024-01-25 東京エレクトロン株式会社 リザーバ装置及びプロセス状態予測システム

Also Published As

Publication number Publication date
TW202303313A (zh) 2023-01-16

Similar Documents

Publication Publication Date Title
Schemmel et al. A wafer-scale neuromorphic hardware system for large-scale neural modeling
Tao et al. Continuous-time adaptive control of systems with unknown backlash
WO2022264573A1 (ja) プロセス状態予測システム
Manetti et al. A singular-value decomposition approach for ambiguity group determination in analog circuits
Cichocki et al. Simplified neural networks for solving linear least squares and total least squares problems in real time
US11461640B2 (en) Mitigation of conductance drift in neural network resistive processing units
JP2019144779A (ja) 因果推定装置、因果推定方法、及びプログラム
Postoyan et al. Parameter and state estimation for a class of neural mass models
Dreesen et al. Parameter estimation of parallel Wiener-Hammerstein systems by decoupling their Volterra representations
WO2024018696A1 (ja) リザーバ装置及びプロセス状態予測システム
JP7398625B2 (ja) 機械学習装置、情報処理方法およびプログラム
Shah et al. Hierarchical models for white mould in snap bean
JP3479333B2 (ja) 画像の画素セットに対してガウス型の再帰的演算を行う方法および装置
Lazar et al. Consistent recovery of sensory stimuli encoded with MIMO neural circuits
Wang et al. Fault detection for complex systems with channel fadings, randomly occurring multiple delays and infinitely distributed delays
Druckmann et al. A mechanistic model of early sensory processing based on subtracting sparse representations
Koda Neural network learning based on stochastic sensitivity analysis
Miyoshi et al. Storage capacity diverges with synaptic efficiency in an associative memory model with synaptic delay and pruning
Messaris et al. Mem-computing CNNs with bistable-like memristors
WO2021171455A1 (ja) リザボア素子および演算回路
RU2818303C1 (ru) Дискретно-аналоговый фильтр низких частот второго порядка с тремя частотозадающими конденсаторами
Higino et al. Digital filtering in smart load cells
Martinelli et al. Generalized cellular neural network for novelty detection
Arts et al. A discontinuous neural network for non-negative sparse approximation
Cafiero et al. Generalized dielectric breakdown model

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22824570

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE