Reservoir calculator, reservoir calculation method, and reservoir calculation program

The reservoir computer system efficiently simulates coupled events by using a neural network structure with fixed weights to combine individual event simulators, addressing computational expense and complex interaction challenges in coupled simulations.

JP2026122752APending Publication Date: 2026-07-29HITACHI LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
HITACHI LTD
Filing Date
2025-01-16
Publication Date
2026-07-29

AI Technical Summary

Technical Problem

Coupled simulations are computationally expensive and challenging due to the need for separate simulators for each subsystem, especially when dealing with different time scales and complex interactions that only emerge when multiple subsystems are considered together.

Method used

A reservoir computer system with multiple first reservoir calculation units for individual events and a second reservoir calculation unit that combines these to predict coupled events, using a neural network structure with fixed weights between neurons in the input and reservoir layers.

Benefits of technology

Enables efficient coupled simulation by reducing computational cost and effectively capturing complex interactions across subsystems with different time granularities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026122752000001_ABST
    Figure 2026122752000001_ABST
Patent Text Reader

Abstract

To achieve efficient coupled simulations. [Solution] The reservoir computer includes a plurality of first reservoir calculation units, each having a first reservoir calculation module provided for each of a plurality of individual events, which calculates a prediction result of the individual event by reservoir calculation when data related to the individual event is input, and a second reservoir calculation unit which includes a plurality of the first reservoir calculation modules combined, and which calculates a prediction result of a coupled event resulting from the coupling of the plurality of individual events based on a plurality of calculation results from the plurality of first reservoir calculation modules constituting the second reservoir calculation module when data related to the individual event is input to each of the plurality of first reservoir calculation modules.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a reservoir computer that executes reservoir computing, a reservoir computing method, and a reservoir computing program.

Background Art

[0002] Co-simulation is used to analyze the behavior of a complex system composed of a plurality of subsystems. For example, in the liquefaction phenomenon of the ground due to an earthquake, a microscopic simulation during the vibration of a mixture of soil, rock, air, and interstitial water that constitutes the ground, and a macroscopic simulation based on the interaction between the ground and structures such as buildings are co-simulated. As a result, after the occurrence of an earthquake, the liquefaction of the ground and the collapse of the buildings accompanying it can be simulated integrally, and the mechanism of damage occurrence can be investigated with higher accuracy.

[0003] Also, for example, various electronic devices are integrated in a semiconductor integrated circuit, but the Joule heat generated when an electric current flows through a certain electronic device may affect the current-voltage characteristics of other electronic devices, causing the entire integrated circuit to malfunction. Alternatively, the substrate may be deformed, such as warping, due to the accumulated Joule heat, and as a result, force may be applied to the contact between the electronic device and the substrate, causing physical damage such as peeling of the soldered portion.

[0004] Therefore, in order to efficiently exhaust heat, solutions are taken such as arranging electronic devices with high power consumption separately, but when the electronic devices that should operate in cooperation are physically arranged at distant positions, the throughput in information processing may deteriorate. Thus, complex events in the real world interact with each other.

[0005] Coupled simulation can involve tracking time evolution by mutually exchanging input and output data between subsystems. For example, the first output data of the first simulator for the first subsystem is provided as part of the second input data of the second simulator for the second subsystem, and the resulting second output data is then provided to the first simulator as part of the first input data.

[0006] In the semiconductor integrated circuit example mentioned earlier, the designer of the semiconductor integrated circuit would need to consider in detail the behavior of the entire system, such as the behavior of the entire electronic circuit and its durability, including cycle fatigue when repeatedly used. To achieve this, one possible approach is to couple simulations by mutually receiving the output results of simulations concerning multiple phenomena, such as stress simulations related to the circuit layout, thermal distribution simulations due to Joule heating, and current-voltage characteristic simulations of electronic devices.

[0007] Reservoir computing is a type of computing system composed of neural networks that is said to be able to efficiently learn time-series data with nonlinear dynamics. A typical reservoir computer has a neural network structure in which one input layer that accepts time-series data, one reservoir layer, and one output layer (also called a readout layer) are connected in sequence.

[0008] Typical neural networks acquire the ability to mimic the non-linear relationship between input and output in training data by optimizing the strength of the connections between neurons, called weights, through learning.

[0009] On the other hand, reservoir computers fix the weights between neurons in the input layer and the reservoir layer at their initial values ​​and do not optimize them during the learning process. Furthermore, the reservoir layer has the characteristic of having a large number of neurons randomly connected, lacking a structure such as layers, and allowing self-connections of neurons. Since only the weights between the reservoir layer and the output layer are optimized through learning, the number of parameters to be optimized is smaller compared to general neural networks.

[0010] Furthermore, a linear regression algorithm is used for optimization. Due to these characteristics, it is known that learning converges faster and more efficiently than neural networks used in deep learning.

[0011] In many cases, highly accurate simulations based on mathematical models are computationally expensive. Therefore, an approach has been developed to speed up simulations by having machine learning or neural networks learn the relationship between the input and output data of a simulator, and then predicting the output results for unknown input data. Because they are used as an alternative to simulations, such machine learning models and neural networks are called surrogate models.

[0012] Therefore, the reservoir computer can be used as a surrogate model for a simulator that outputs the time evolution of the system.

[0013] Non-Patent Document 1 below discloses a method for enabling a reservoir computer to acquire complex nonlinear dynamics in a single time-series data by simultaneously utilizing both long-term and short-term memory for time-series data. Non-Patent Document 1 below discloses a method that uses three parts: a reservoir calculation unit corresponding to long-term memory, a reservoir calculation unit corresponding to short-term memory, and a reservoir calculation unit that is intermediate between the two. [Prior art documents] [Non-patent literature]

[0014] [Non-Patent Document 1] K. Zheng, B. Qian, S. Li, Y. Xiao, W. Zhuang and Q. Ma, "Long-Short Term Echo State Network for Time Series Prediction," in IEEE Access, vol. 8, pp. 91961-91974, 2020. [Overview of the project] [Problems that the invention aims to solve]

[0015] Coupled simulations are generally computationally expensive because they require running separate simulators for each subsystem. Even if the computational cost can be reduced by replacing individual simulators with surrogate models, the computational cost of coupling itself increases as the number of subsystems to be coupled increases. Therefore, there is a need for simulation methods that can flexibly couple subsystems according to their number and scale.

[0016] In many cases, individual subsystem simulators have historically been developed independently and were often not designed with coupling in mind. For example, the time scales may differ for each subsystem. For instance, a current-voltage characteristic simulator that changes on a time scale equivalent to the electron's movement speed might operate on a microsecond scale, while a thermal distribution simulator dealing with heat conduction might handle events on a millisecond scale. When time scales differ in this way, it is not easy to implement coupled simulations.

[0017] A simple approach would be to run all individual simulators at the finest time-granularity scale. However, in this case, individual simulators with longer time scales would consume excessive computational resources because they would have to perform a series of simulation calculations even though they return the same output at most times. Therefore, a simulation method is needed that can easily couple multiple subsystems with different time granularities.

[0018] Individual simulators are specialized in mimicking the behavior of subsystems. Therefore, there may be interactions whose effects only become apparent when multiple subsystems are coupled together. These complex interactions are difficult to elucidate, and it often takes time to organize them into mathematical models that can be incorporated into simulations. Therefore, there is a need for simulation methods that can reflect and couple complex interactions and events, including those that can only be recognized when multiple subsystems are considered comprehensively, in the output results.

[0019] The present invention aims to achieve efficient coupled simulation. [Means for solving the problem]

[0020] A reservoir computer, which is one aspect of the invention disclosed in this application, is characterized by having a plurality of first reservoir calculation units, each having a first reservoir calculation module provided for each of a plurality of individual events, which calculates a prediction result of the individual event by reservoir calculation when data relating to the individual event is input; and a second reservoir calculation unit which includes a plurality of the first reservoir calculation modules combined, and which, when data relating to the individual event is input to each of the plurality of first reservoir calculation modules, calculates a prediction result of a coupled event resulting from the coupling of the plurality of individual events based on a plurality of calculation results from the plurality of first reservoir calculation modules constituting the second reservoir calculation module. [Effects of the Invention]

[0021] According to a typical embodiment of the present invention, efficient coupled simulation can be achieved. Other issues, configurations, and effects not mentioned above will be clarified by the following description of the embodiments. [Brief explanation of the drawing]

[0022] [Figure 1]FIG. 1 is a block diagram showing an example of the logical configuration of the reservoir computer according to Embodiment 1. [Figure 2] FIG. 2 is a block diagram showing an example of the hardware configuration of the reservoir computer. [Figure 3] FIG. 3 is an explanatory diagram showing an example of a neural network constituting the reservoir computer according to Embodiment 1. [Figure 4] FIG. 4 is an explanatory diagram showing an example of a node management table. [Figure 5] FIG. 5 is an explanatory diagram showing an example of an edge management table. [Figure 6] FIG. 6 is a flowchart showing an example of the individual event learning processing procedure of the micro-reservoir calculation unit in the reservoir computer. [Figure 7] FIG. 7 is a flowchart showing an example of the sequential event learning processing procedure of the macro-reservoir calculation unit in the reservoir computer. [Figure 8] FIG. 8 is an explanatory diagram showing an example of a display screen on which the calculation result by the reservoir computer is displayed. [Figure 9] FIG. 9 is an explanatory diagram showing an example of the display content of the first display area. [Figure 10] FIG. 10 is an explanatory diagram showing an example of the display content of the second display area. [Figure 11] FIG. 11 is an explanatory diagram showing an example of the display content of the third display area. [Figure 12] FIG. 12 is an explanatory diagram showing an example of the display content of the fourth display area.

MODE FOR CARRYING OUT THE INVENTION

[0023] In the following, where necessary for convenience, the explanation will be divided into multiple sections or examples. Unless otherwise specified, these are not unrelated, and one may be a modification, detail, or supplement to part or all of the other. Furthermore, when referring to the number of elements (including quantity, numerical value, amount, range, etc.), unless otherwise specified or clearly limited to a specific number in principle, it is not limited to that specific number, and may be greater than or less than that number.

[0024] A reservoir computer may be a physical computer system (one or more physical computers) or a system built on a cloud infrastructure or other computing resource group (multiple computing resources). A computer system or computing resource group includes one or more interface devices (e.g., communication devices and input / output devices), one or more storage devices (e.g., memory (main memory) and auxiliary storage devices), and one or more processors.

[0025] When a function is realized by a program being executed by a processor, the defined processing is carried out using memory devices and / or interface devices as appropriate, so the function may be at least a part of the processor. The processing described with a function as the subject may be the processing performed by the processor or the system having that processor. The program may be installed from the program source. The program source may be, for example, a program distribution computer or a computer-readable storage medium (for example, a computer-readable non-transient storage medium). The description of each function is an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions.

[0026] In this embodiment, coupled simulations related to the design of semiconductor integrated circuits are used as the subject. Specifically, the explanation will be given as an example of a coupled simulation that is performed by mutually receiving the output results of simulations for multiple individual events, such as a simulation of stress related to the circuit layout of a semiconductor integrated circuit, a simulation of thermal distribution due to Joule heating generated in electronic devices implemented in the semiconductor integrated circuit, and a simulation of the current-voltage characteristics of electronic devices implemented in the semiconductor integrated circuit. The coupled event is, for example, the degree of degradation associated with cycle fatigue of a semiconductor integrated circuit.

[0027] <Figure 1: Example of a reservoir computer's logical configuration> Figure 1 is a block diagram showing an example of the logical configuration of a reservoir computer according to Embodiment 1. The reservoir computer 100 includes a data processing unit 101, a data storage unit 102, an input / output unit 103, and a connection unit 104 that connects these.

[0028] The data processing unit 101 includes a macro-reservoir calculation unit 110 and a micro-reservoir calculation unit 120. However, there may be multiple micro-reservoir calculation units 120. For example, there may be as many instances of the micro-reservoir calculation unit 120 as there are individual events to be coupled.

[0029] The macro reservoir calculation unit 110 includes a macro input module 111 corresponding to the input layer in reservoir calculation, a macro reservoir module 112 corresponding to the reservoir layer in reservoir calculation, a macro output module 113 corresponding to the output layer in reservoir calculation, and a macro learning module 114 corresponding to the learning unit in reservoir calculation.

[0030] The micro-reservoir calculation unit 120 includes a micro-input module 121 corresponding to the input layer in reservoir calculation, a micro-reservoir module 122 corresponding to the reservoir layer in reservoir calculation, a micro-output module 123 corresponding to the output layer in reservoir calculation, and a micro-learning module 124 corresponding to the learning unit in reservoir calculation.

[0031] The data storage unit 102 includes a time-series database 126, a parameter database 127, a reservoir database 128, and a DB manager 125 that manages these databases 126 to 128.

[0032] The time series database 126 stores various time series data that the reservoir computer 100 will emulate as a surrogate model.

[0033] The parameter database 127 stores the parameter data necessary for the reservoir calculation performed by the reservoir computer 100. The parameter data includes information about the data input to the reservoir computer 100 and parameter information for performing the reservoir calculation in the reservoir computer 100. The parameter data also includes at least one of the initial or default values ​​and user-defined values ​​for all parameters that determine the behavior of the reservoir computer 100.

[0034] The reservoir database 128 stores initial, post-trained, or in-progress models of neural networks that constitute multiple micro-reservoir calculation units 120 and macro-reservoir calculation unit 110 in the reservoir computer 100.

[0035] The input / output unit 103 includes a data transmission / reception unit 131, an input receiving unit 132 that receives input from the user, and a display unit 133 that presents the output results of the data processing unit 101 to the user.

[0036] The connection unit 104 enables communication between the data processing unit 101 and the data storage unit 102, enables communication between the data processing unit 101 and the input / output unit 103, and enables communication between the data storage unit 102 and the input / output unit 103.

[0037] <Figure 2: Example of hardware configuration of reservoir computer 100> Figure 2 is a block diagram showing an example of the hardware configuration of the reservoir computer 100. The reservoir computer 100 includes a processor 201, a storage device 202, an input device 203, an output device 204, and a communication interface (communication IF) 205. The processor 201, storage device 202, input device 203, output device 204, and communication IF 205 are connected by a bus 206. The processor 201 controls the reservoir computer 100. The storage device 202 serves as the work area for the processor 201. The storage device 202 is also a non-temporary or temporary recording medium that stores various programs and data. Examples of storage devices 202 include ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), and flash memory. The input device 203 inputs data. Examples of input devices 203 include a keyboard, mouse, touch panel, numeric keypad, scanner, microphone, and sensor. Output device 204 outputs data. Examples of output devices 204 include displays, printers, and speakers. Communication IF 205 connects to a network and sends and receives data.

[0038] The data processing unit 101 is a logical configuration realized by having the processor 201 execute a program stored in the storage device 202. The data storage unit 102 is a logical configuration realized by the storage device 202. The data transmission / reception unit 131 is a logical configuration realized by the communication IF 205. The input receiving unit 132 is a logical configuration realized by the input device 203. The display unit 133 is a logical configuration realized by the output device 204. The connection unit 104 is a logical configuration realized by the bus 206.

[0039] <Figure 3 Neural Network> Figure 3 is an explanatory diagram showing an example of a neural network constituting the reservoir computer 100 according to Embodiment 1. The reservoir computer 100 comprises a neural network 300 consisting of three micro-reservoir calculation units 120 (first micro-reservoir calculation unit 120-1, second micro-reservoir calculation unit 120-2, and third micro-reservoir calculation unit 120-3) and one macro-reservoir calculation unit 110.

[0040] Here, the first micro-reservoir calculation unit 120-1 is responsible for simulating stress related to the circuit layout of the semiconductor integrated circuit, the second micro-reservoir calculation unit 120-2 is responsible for simulating the thermal distribution due to Joule heating of electronic devices mounted on the semiconductor integrated circuit, and the third micro-reservoir calculation unit 120-3 is responsible for simulating the current-voltage characteristics of electronic devices mounted on the semiconductor integrated circuit.

[0041] The number of micro-reservoir calculation units 120 may be one, two, or four or more. If the first micro-reservoir calculation unit 120-1, the second micro-reservoir calculation unit 120-2, the third micro-reservoir calculation unit 120-3, etc. are not distinguished, they are referred to simply as micro-reservoir calculation unit 120.

[0042] Each node in the neural network 300, represented by a circular shape, is a neuron, and the connections between neurons are represented by edges. In Figure 3, the nodes are labeled with uppercase letters or numbers, but in this specification, they will be referred to as node n# (where # is the uppercase letter or number within the node).

[0043] The neural network 300 is represented as a directed graph, and there is a direction in the transmission of activity values ​​between neurons. However, information transmission from node n4 to node n7 and information transmission from node n4 to node n4 may coexist, as is the case with node n4 and node n7. Furthermore, self-connected neurons, such as node n1, may be included, in which their own output is input to itself.

[0044] Nodes nA, nB, ..., nC constitute the first micro-input module 121-1 in the first micro-reservoir calculation unit 120-1.

[0045] Nodes nD, nE, ..., nF constitute the second micro-input module 121-2 in the second micro-reservoir calculation unit 120-2.

[0046] Nodes nG, nH, ..., nI constitute the third micro-input module 121-3 in the third micro-reservoir calculation unit 120-3.

[0047] These nodes nA to nI constitute the macro input module 111 in the macro reservoir calculation unit 110.

[0048] Nodes n1 to n8 constitute the first micro-reservoir module 122-1 in the first micro-reservoir calculation unit 120-1.

[0049] Nodes n9 to n18 constitute the second micro-reservoir module 122-2 in the second micro-reservoir calculation unit 120-2.

[0050] Nodes n19 to n28 constitute the third micro-reservoir module 122-3 in the third micro-reservoir calculation unit 120-3.

[0051] These nodes n1 to n28 constitute the macro-reservoir module 112 in the macro-reservoir calculation unit 110.

[0052] Nodes nJ and nK constitute the first micro output module 123-1 in the first micro reservoir calculation unit 120-1.

[0053] Nodes nL and nM constitute the second micro output module 123-2 in the second micro reservoir calculation unit 120-2.

[0054] Nodes nN and nO constitute the third micro output module 123-3 in the third micro reservoir calculation unit 120-3.

[0055] Nodes nP, nQ, ..., nR, and nS constitute the macro output module 113 in the macro reservoir calculation unit 110.

[0056] Furthermore, the number of neuronal connections (number of edges) between the micro-reservoir computation modules that make up the macro-reservoir computation module is less than the number of neuronal connections (number of edges) that make up the micro-reservoir computation module. The strength of causality and interaction differs between the individual events reproduced by the micro-reservoir computation module and the coupled events reproduced by the macro-reservoir computation module. In other words, the greater the number of connections, the stronger the causality and interaction. In this example, we demonstrate that the causality and interaction are stronger in coupled events than in individual events.

[0057] <Figure 4 Node Management Table> Figure 4 is an explanatory diagram showing an example of a node management table. The node management table 400 is a table that manages node n# within the neural network 300. The node management table 400 is stored in the reservoir database 128.

[0058] The node management table 400 has the following fields: module category 401, module ID 402, node ID 403, and node value 404. An entry consisting of combinations of values ​​for each field in the same row represents node information that defines a single node n#.

[0059] Module category 401 indicates the category of the module to which node n# belongs. For example, module category 401 may store one of the following values: Input, Micro, Output, or Macro.

[0060] Input refers to the micro input module 121. In the example in Figure 2, the first micro input module 121-1, the second micro input module 121-2, and the third micro input module 121-3 correspond to Input.

[0061] "Micro" refers to the micro-reservoir module 122. In the example in Figure 2, the first micro-reservoir module 122-1, the second micro-reservoir module 122-2, and the third micro-reservoir module 122-3 all correspond to "Micro".

[0062] Output refers to the micro-output module 123. In the example in Figure 2, the first micro-output module 123-1, the second micro-output module 123-2, and the third micro-output module 123-3 correspond to Output.

[0063] Macro refers to the macro output module 113. In the example in Figure 2, the macro output module 113 corresponds to Macro.

[0064] Module ID 402 is identification information that uniquely identifies the module to which node n# belongs. For example, "Mic_♯01" indicates the first micro-reservoir calculation unit 120-1. Specifically, for example, since nodes nA, nB, n2, nJ, and nK are located within the first micro-reservoir calculation unit 120-1, the module ID 402 values ​​for nodes nA, nB, n2, nJ, and nK will all be "Mic_♯01".

[0065] Node ID 403 is an identifier that uniquely identifies node n#. The value stored in node ID 403 is the uppercase letter # of node n#, either an uppercase alphanumeric character.

[0066] Node value 404 is the output value, which is the calculation result of the neuron representing node n#. Specifically, for example, the output value of the j-th neuron at time t (node ​​nj, where node ID 403 has the value "j") is z. jLet (t) be the sigmoid function, then the node value 404 is expressed by the following equation (1).

[0067]

number

[0068] In equation (1) above, i is the node ID 403 value of node n# (hereinafter referred to as node ni) connected to the beginning of the edge to which node nj is connected at the end. m is the total number of nodes ni. ij This is the weight assigned to the edges connected to nodes ni and nj.

[0069] <Figure 5 Edge Management Table> Figure 5 is an explanatory diagram showing an example of an edge management table 500. The edge management table 500 is a table that manages the edges connecting nodes n# within the neural network 300. The edge management table 500 is stored in the reservoir database 128.

[0070] The edge management table 500 has the following fields: edge ID 501, start node ID 502, end node ID 503, load value 504, and edge category 505. An entry consisting of combinations of values ​​for each field in the same row represents edge information that defines a single edge.

[0071] Edge ID 501 is an identifier that uniquely identifies an edge. For example, Edge ID 501 is denoted as xy, where x is the value of Node ID 403 of node n# at the beginning of the edge, and y is the value of Node ID 403 of node n# at the end of the edge. For example, "A-1" represents the value of Edge ID 501 that uniquely identifies an edge connected to nodes nA and n1, and traveling in the direction from node nA to node n1.

[0072] An edge with edge ID 501 whose value is xy is denoted as edge e(xy).

[0073] The starting node ID 502 indicates node ID 403 of node n#, which is connected to the starting edge e(xy).

[0074] The terminal node ID 503 indicates node ID 403 of node n#, which is connected to the end of its edge e(xy).

[0075] The load value 504 indicates the weight assigned to that edge e(xy). The load value 504 is the w shown in equation (1) above. ij That is the case.

[0076] Edge category 505 is identification information that uniquely identifies the location to which edge e(xy) belongs. If the value of edge category 505 is "Micro", it indicates that edge e(xy) belongs to the micro reservoir calculation unit 120, and if it is "Macro", it indicates that edge e(xy) belongs to the macro reservoir calculation unit 110.

[0077] For example, the edge e(2-23) from node n2 to node n23 belongs to the macro-reservoir calculation unit 110, which includes the first micro-reservoir module 122-1 and the third micro-reservoir module 122-3, because the ModuleID402 value of node n2 is "Mic_#01" (first micro-reservoir module 122-1 in the first micro-reservoir calculation unit 120-1) and the ModuleID402 value of node n23 is "Mic_#03" (third micro-reservoir module 122-3 in the third micro-reservoir calculation unit 120-3).

[0078] In the reservoir computer 100, the binding density R1 that can be calculated for the micro-reservoir module 122 and the binding density R2 that can be calculated for the macro-reservoir module 112 may satisfy R1 > R2. Here, the binding density R1 is calculated by the following equation (2).

[0079] R1=|E1| / {|V1|(|V1|―1)}···(2)

[0080] Here, E1 in the numerator of the right-hand side is the number of edges xy within the micro-reservoir module 122, and V1 in the denominator of the right-hand side is the number of nodes n# within the micro-reservoir module 122. Therefore, taking the first micro-reservoir module 122-1 in Figure 2 as an example, E1=13 and V1=8.

[0081] In the reservoir computer 100, the binding density R2 that can be calculated for the macro-reservoir module 112 is calculated by the following equation (3).

[0082] R2=|E2| / (|V2|(|V2|−1))···(3)

[0083] However, E2 in the numerator of the right-hand side is the number of edges e(xy) whose edge category 505 in the edge management table 500 is "Macro", and V2 in the denominator of the right-hand side is the number of nodes n# that make up the macro reservoir module 112. Therefore, using the macro reservoir module 112 in Figure 3 as an example, E2=8 and V2=28.

[0084] The bond densities R1 and R2 are one of the index values ​​introduced in graph theory as graph densities for directed graphs. However, other index values ​​may be used as long as they represent the density or concentration of edges e(xy) on the graph.

[0085] The reservoir computer 100 is a surrogate model based on the neural network 300, and defines two types of behavior: a learning mode and an inference mode.

[0086] [Individual Event Learning Mode] First, let's explain the processing in individual event learning mode. The reservoir computer 100 has the same number of micro-reservoir calculation units 120 as the time-series data corresponding to the individual events that are the basis of the coupling. First, the reservoir computer 100 performs a learning process in which each micro-reservoir calculation unit 120 is trained using the time-series data of the individual events.

[0087] The learning process performed by the micro-learning module 124 here involves, for example, receiving a series of Δt time-series data from time 0 to time t, predicting the value at time t+1, calculating the error between the predicted value and the actual time-series data value at time t+1, and optimizing the load value 504 between the micro-reservoir module 122 and the micro-output module 123 based on the error.

[0088] <Figure 6: Individual Event Learning Processing Procedure of Micro Reservoir Calculation Unit 120> Figure 6 is a flowchart showing an example of the individual event learning processing procedure of the micro-reservoir calculation unit 120 in the reservoir computer 100.

[0089] (Step S601) The reservoir computer 100 reads individual event learning parameter data from the parameter database 127, which contains all the information necessary to execute the individual event learning process. The individual event learning parameter data includes the individual event learning completion determination conditions of step S606. The individual event learning parameter data may also include information for uniquely identifying the time series data to be studied individually. The individual event learning parameter data may also include structural information of the neural network to be studied individually (node ​​information in the node management table 400, edge information in the edge management table 500), and information about initial parameters (for example, the hyperparameters of the neural network).

[0090] However, edge information for edges e(xy) connecting nodes n# of different micro-reservoir calculation units 120 is not included in the individual event learning parameter data. For example, between the first micro-reservoir calculation unit 120-1 and the second micro-reservoir calculation unit 120-2, edge information for edges e(6-9) and e(8-15) is not included in the individual event learning parameter data.

[0091] (Step S602) The reservoir computer 100 loads an individual event learning dataset for each individual event used in individual event learning. This dataset consists of an individual event learning dataset and its corresponding ground truth data. The individual event learning dataset is a series of Δt time-series data points from time 0 to time t for that individual event, while the ground truth data is the time-series data point t+1 for that individual event.

[0092] Specifically, for example, if an individual event is a stress related to the circuit layout of a semiconductor integrated circuit, the combination of a series of Δt stress values ​​in the circuit layout from time 0 to time t, and the stress value in the circuit layout at time t+1, constitutes the individual event learning dataset.

[0093] Furthermore, if the individual event is Joule heat generated in an electronic device implemented in a semiconductor integrated circuit, the combination of the temperature values ​​representing a series of Δt Joule heat events in the electronic device from time 0 to time t, and the temperature value representing the Joule heat at time t+1 in the electronic device, constitutes the individual event learning dataset.

[0094] Furthermore, if the individual events are the current-voltage characteristics of an electronic device implemented in a semiconductor integrated circuit, then the combination of a series of Δt current and voltage values ​​from time 0 to time t in the electronic device, and the current and voltage values ​​at time t+1 in the electronic device, constitutes the individual event learning dataset.

[0095] (Step S603) The reservoir computer 100 selects a micro-reservoir calculation unit 120 to be used for individual event learning from among the untrained micro-reservoir calculation units 120. For example, if the first micro-reservoir calculation unit 120-1 is selected, its components (node ​​n#, edge e(xy)) are identified.

[0096] (Step S604) The reservoir computer 100 initializes the micro-reservoir calculation unit 120, which is the target of individual event learning. Specifically, for example, the reservoir computer 100 sets the parameter data read in step S601 to the instance of the neural network identified by the micro-reservoir calculation unit 120, which is the target of individual event learning. The parameter data of the neural network also includes the initial values ​​of the load values ​​504 and node values ​​404. This initializes the micro-reservoir calculation unit 120, which is the target of individual event learning.

[0097] (Step S605) The reservoir computer 100 uses the individual event learning dataset read in step S602 to execute the individual event learning process of the micro-reservoir calculation unit 120, which was initialized in step S604. Specifically, for example, when the reservoir computer 100 inputs the corresponding individual event learning data to the micro-input module 121 in the micro-reservoir calculation unit 120, which is the target of individual event learning, the individual event learning data is output to the micro-reservoir module 122. The micro-reservoir module 122 calculates the time series data at time t+1 and outputs it to the micro-output module 123.

[0098] The reservoir computer 100 calculates the error between the time series data output from the micro output module 123 at time t+1 and the correct time series data at time t+1, and optimizes the load value 504 of the edge e(xy) connecting the micro reservoir module 122 and the micro output module 123 based on the calculated error.

[0099] Specifically, for example, if the individual event learning target is the micro-reservoir calculation unit 120, the load value 504 for edges e(5-J), ..., e(5-K), e(8-J), ..., e(8-K) will be optimized.

[0100] The individual event learning process here may follow the general framework of reservoir computation, or it may follow a learning process that modifies some or all of the individual event learning method. Generally, the individual event learning process here may involve repeatedly executing a learning routine on an individual event learning dataset. In step S605, the node values ​​404 and weight values ​​504 involved in individual event learning are updated.

[0101] (Step S606) The reservoir computer 100 performs a termination determination for individual event learning (step S605) based on the individual event learning termination determination conditions. The individual event learning termination determination conditions include the number of termination determinations included in the individual event learning parameter data and an error threshold.

[0102] If the individual event learning completion condition is the number of completion checks, and the number of times the individual event learning routine is repeated in step S605 has not reached the completion check count, the reservoir computer 100 determines that individual event learning (step S605) has not been completed (step S606: No), and returns to step S605.

[0103] On the other hand, if the number of times the individual event learning routine is repeated in step S605 reaches the number of times the termination judgment is made, the reservoir computer 100 determines that the individual event learning (step S605) has finished (step S606: Yes) and proceeds to step S607.

[0104] Furthermore, if the individual event learning completion determination condition is an error threshold, and the error output by the individual event learning routine repeated in step S605 is greater than the error threshold, the reservoir computer 100 determines that the individual event learning (step S605) of the micro-reservoir calculation unit 120 that is the target of individual event learning has not been completed (step S606: No), and returns to step S605.

[0105] On the other hand, if the error output by the individual event learning routine repeated in step S605 is less than or equal to the error threshold, the reservoir computer 100 determines that the individual event learning (step S605) of the micro-reservoir calculation unit 120 that is the target of individual event learning has been completed (step S606: Yes), and proceeds to step S607.

[0106] Furthermore, the reservoir computer 100 may determine that the individual event learning of the micro-reservoir calculation unit 120 (step S605) has finished (step S606: Yes) and proceed to step S607 only if the number of times the individual event learning routine repeated in step S605 is equal to or greater than the number of termination determinations, and the error output by the latest individual event learning routine is less than or equal to the error threshold.

[0107] The algorithm for determining when individual event learning has finished may employ methods commonly used in deep learning or reservoir computation.

[0108] (Step S607) The reservoir computer 100 determines whether the individual event learning (step S605) of all micro-reservoir calculation units 120 has been completed. For example, in the example in Figure 2, if the individual event learning (step S605) of the first micro-reservoir calculation unit 120-1, the second micro-reservoir calculation unit 120-2, and the third micro-reservoir calculation unit 120-3 has been completed (step S607: Yes), the process proceeds to step S608.

[0109] If the individual event learning (step S605) of the first micro-reservoir calculation unit 120-1, the second micro-reservoir calculation unit 120-2, and the third micro-reservoir calculation unit 120-3 has not been completed (step S607: No), the system returns to step S603, and the reservoir computer 100 selects the unlearned micro-reservoir calculation unit 120 (step S603).

[0110] (Step S608) The reservoir computer 100 writes the node values ​​404 and weight values ​​504 of each neural network in each micro-reservoir calculation unit 120 after individual event learning (step S605) to the parameter database 127 as part of the individual event learning parameter data, and then terminates the series of processes. As a result, the reservoir computer 100 can call up and reconfigure each micro-reservoir calculation unit 120 again.

[0111] [Coupled Event Learning Mode] After the individual event learning process for all micro-reservoir calculation units 120 shown in Figure 6 is completed, the reservoir computer 100 performs learning of the macro-reservoir calculation unit 110 (hereinafter referred to as coupled event learning) using the time-series data of coupled events.

[0112] <Figure 7: Coupled event learning processing procedure of macro reservoir calculation unit 110> Figure 7 is a flowchart showing an example of the coupled event learning processing procedure of the macro reservoir calculation unit 110 in the reservoir computer 100.

[0113] (Step S701) The reservoir computer 100 reads coupled event learning parameter data from the parameter database 127, which contains all the information necessary to execute the coupled event learning process. The coupled event learning parameter data includes the coupled event learning termination determination conditions of step S706. The coupled event learning parameter data may also include information for uniquely identifying the time series data to be subjected to coupled event learning. The coupled event learning parameter data may also include structural information of the neural network to be subjected to coupled event learning (node ​​information in the node management table 400, edge information in the edge management table 500), and information about initial parameters (for example, the hyperparameters of the neural network).

[0114] (Step S702) The reservoir computer 100 reads a coupled event learning dataset, which is a combination of coupled event learning data and its ground truth data. The coupled event learning data is a collection of individual event learning data. The ground truth data for coupled event learning is measured values ​​of coupled events (for example, cycle fatigue of a semiconductor integrated circuit).

[0115] (Step S703) The reservoir computer 100 initializes the macro-reservoir calculation unit 110, which is the target of coupled event learning. Specifically, for example, the reservoir computer 100 sets the coupled event learning parameter data read in step S701 to the instance of the neural network 300 identified by the macro-reservoir calculation unit 110. This initializes the macro-reservoir calculation unit 110.

[0116] (Step S704) Based on the coupled event learning parameter data read in step S701, the reservoir computer 100 updates a portion of the neural network, which is the macro-reservoir calculation unit 110, with the trained neural network that constitutes the micro-reservoir calculation unit 120.

[0117] Specifically, for example, among the neural networks, the neural network constituting the first micro-reservoir calculation unit 120-1 is updated by the first micro-reservoir calculation unit 120-1 which has been individually trained in Figure 6, the neural network constituting the second micro-reservoir calculation unit 120-2 is updated by the second micro-reservoir calculation unit 120-2 which has been individually trained in Figure 6, and the neural network constituting the third micro-reservoir calculation unit 120-3 is updated by the third micro-reservoir calculation unit 120-3 which has been individually trained in Figure 6.

[0118] (Step S705) The reservoir computer 100 executes the coupled event learning process of the macro reservoir computer 110 using the coupled event learning dataset read in step S702. Specifically, for example, when the reservoir computer 100 inputs the corresponding individual event learning data to the first micro input module 121-1 to the third micro input module M121-3, each individual event learning data is output to the first micro reservoir module 122-1 to the third micro reservoir module 122-3. The first micro reservoir module 122-1 to the third micro reservoir module 122-3 each calculate the time series data at time t+1 and output it to the first micro output module 123-1 to the third micro output module 123-3, respectively.

[0119] The first micro output module 123-1 to the third micro output module 123-3 each output time-series data at time t+1 to the macro output module 113.

[0120] The reservoir calculator 100 calculates the error between the time series data at time t+1 output from the macro output module 113 and the correct time series data at time t+1, and optimizes the load value 504 of the edge e(xy) connecting the micro output module 123 and the macro output module 113 based on the calculated error.

[0121] Specifically, for example, the load value of 504 for edges e(JP), e(JQ), ..., e(JR), e(JS), ..., e(KP), e(KQ), ..., e(KR), e(KS), e(LP), e(LQ), ..., e(LR), e(LS), ..., e(MP), e(MQ), ..., e(MR), e(MS), e(NP), e(NQ), ..., e(NR), e(NS), ..., e(OP), e(OQ), ..., e(OR), e(OS) is optimized.

[0122] The coupled event learning process here may follow the general framework of reservoir computation, or it may follow a learning process that modifies some or all of the coupled event learning method. Generally, the coupled event learning process here may involve repeatedly executing a learning routine on a coupled event learning dataset. In step S705, the node values ​​404 and weight values ​​504 involved in coupled event learning are updated.

[0123] (Step S706) The reservoir computer 100 performs a termination determination for coupled event learning (step S705) based on the coupled event learning termination determination conditions. The coupled event learning termination determination conditions include the number of termination determinations and the error threshold included in the coupled event learning parameter data.

[0124] If the coupling event learning termination condition is the number of termination judgments, and the number of times the coupling event learning routine is repeated in step S705 has not reached the termination judgment count, the reservoir computer 100 determines that the coupling event learning (step S705) has not finished (step S706: No), and returns to step S705.

[0125] On the other hand, if the number of times the coupled event learning routine is repeated in step S705 reaches the number of times the termination determination is made, the reservoir computer 100 determines that the coupled event learning (step S705) of the macro reservoir calculation unit 110 has finished (step S706: Yes), and proceeds to step S707.

[0126] Furthermore, if the coupled event learning completion determination condition is an error threshold, and the error output by the coupled event learning routine repeated in step S705 is greater than the error threshold, the reservoir computer 100 determines that the coupled event learning of the macro reservoir calculation unit 110 (step S705) has not been completed (step S706: No), and returns to step S705.

[0127] On the other hand, if the error output by the coupled event learning routine repeated in step S705 is less than or equal to the error threshold, the reservoir computer 100 determines that the coupled event learning of the macro reservoir calculation unit 110 (step S705) has finished (step S706: Yes), and proceeds to step S707.

[0128] Furthermore, the reservoir computer 100 may determine that the coupled event learning of the macro reservoir computer 110 (step S705) has finished (step S706: Yes) and proceed to step S707 only if the number of times the coupled event learning routine repeated in step S705 is equal to or greater than the number of termination determinations, and the error output by the latest coupled event learning routine is less than or equal to the error threshold.

[0129] The algorithm for determining when coupled event learning has ended may employ methods commonly used in deep learning or reservoir computation.

[0130] (Step S707) The reservoir computer 100 writes the node values ​​404 and load values ​​504 of the neural network in the macro-reservoir calculation unit 110 after coupled event learning to the parameter database 127 as part of the coupled event learning parameter data, and then terminates the series of processes. As a result, the reservoir computer 100 can call the macro-reservoir calculation unit 110 again and reconfigure it.

[0131] [Inference Mode] Next, the inference mode will be explained. Once the individual event learning process in the micro-reservoir calculation unit 120 is completed, the micro-reservoir calculation unit 120 can infer time series data at future times when time evolution occurs, given several time points of time data related to the corresponding individual event as input.

[0132] Furthermore, once the coupled event learning process in the macro-reservoir calculation unit 110 is completed, the macro-reservoir calculation unit 110 can receive time-series data for the initial few time points of each individual event as input and infer time-series data about the coupled event at future time points when time evolves.

[0133] However, the time-series data of individual events provided as input here may all have the same number of records, or they may have different numbers of records.

[0134] Through the inference processing of the macro-reservoir calculation unit 110, the reservoir computer 100 can function as a coupled simulator. By using the macro-reservoir calculation unit 110, which is loosely coupled with the micro-reservoir calculation unit 120, time-varying known or unknown interactions occurring between individual events can be incorporated into the reservoir calculation framework and learned. Therefore, the simulation results of coupled events by the macro-reservoir calculation unit 110 can incorporate elements that cannot be considered by individual simulators by learning from the time-series data of the coupled events.

[0135] Furthermore, each micro-reservoir calculation unit 120 functions as a simulator for each individual event, and by changing the time constant given as a parameter in the reservoir calculation for each micro-reservoir calculation unit 120, it is possible to handle multiple individual events with different time scales.

[0136] [Time constant τ] Here, we will describe one configuration in which the macro-reservoir calculation unit 110 is composed of multiple micro-reservoir calculation units 120 with different time constants τ.

[0137] The time constant τ is a parameter that adjusts the time granularity of the time series data input to the input module and the time granularity of the time series data output from the output module in response to the input time series data. Specifically, for example, the time constant τ is defined as the ratio of the timing of the input time series data input to the input module to the timing of the output time series data output from the output module in response to the input time series data. For example, if the time interval of the input time series data is 1 second in real time and the time interval of the output time series data is also 1 second, then the time constant τ is defined as τ = 1.

[0138] Furthermore, if the time interval of the input time series data is 1 second in real time and the time interval of the output time series data is 10 seconds, the time constant τ is defined as τ = 10. Alternatively, the frequency or other data defined by an external device may be used as reference data, and the time constant τ may be defined as the output timing relative to the reference data.

[0139] In coupled event learning mode, the macro learning module 114 of the macro reservoir calculation unit 110 reads the time constant τ of each micro learning module 124 from the parameter data. In step S706 shown in Figure 6, when the learning process of the macro reservoir calculation unit 110 is executed, the node values ​​404 of the node management table 400 and the load values ​​504 of the edge management table 500 are referenced to calculate the input / output error, and the node values ​​404 and load values ​​504 are further updated by coupled event learning.

[0140] At this time, the node value 404 of each node n# and the load value 504 of each edge e(xy) read by the macro learning module 114 are updated according to the time constant τ of the micro reservoir calculation unit 120 to which each node n# and each edge e(xy) belong.

[0141] The update of the edge e(xy) will be used as an example to explain the process. Note that in Figure 2, the time constant τ of the first microreservoir calculation unit 120-1 is τ=1, the time constant τ of the second microreservoir calculation unit 120-2 is τ=10, and the time constant τ of the third microreservoir calculation unit 120-3 is τ=15.

[0142] For example, the load value 504 of edge e(xy) belonging to the first micro-reservoir calculation unit 120-1 with a time constant τ=1 is updated each time the first micro-reservoir calculation unit 120-1 calculates the error.

[0143] At this time, the load value 504 of the edge e(xy) belonging to the second micro-reservoir calculation unit 120-2 with a time constant τ=10 is updated once every 10 times the first micro-reservoir calculation unit 120-1 calculates the error.

[0144] Similarly, the load value 504 of edge e(xy) belonging to the third micro-reservoir calculation unit 120-3 with a time constant τ=15 is updated once every 15 times the first micro-reservoir calculation unit 120-1 calculates the error.

[0145] Therefore, the update frequency of the load value 504 for the edge e(xy) belonging to the micro-reservoir calculation unit 120 with the smallest time constant τ is the highest, and as the time constant τ increases, the update frequency decreases. As a result, during coupled event learning in the macro-reservoir calculation unit 110, it is not necessary to update the load value 504 for all edges e(xy) constituting the macro-reservoir calculation unit 110 each time, thus saving computational resources.

[0146] Similarly, in the inference mode for coupled events, the macro-reservoir calculation unit 110 performs inference processing at a frequency corresponding to the respective time constants τ defined in the micro-reservoir calculation unit 120 that constitute the macro-reservoir calculation unit 110.

[0147] For example, suppose data is input to each of the first micro input modules 121-1 to the third micro input module 121-3.

[0148] The reservoir computer 100 uses the node values ​​404 belonging to each of the first micro output modules 123-1 to the third micro output modules 123-3, and the load values ​​504 of the edge e(xy) stretched between the first micro output modules 123-1 to the third micro output modules 123-3 and the macro output module 113 to calculate the node value 404 of the macro output module 113, and outputs the calculation result as the macro reservoir calculation unit 110. At this time, the node value 404 and the load value 504 are read out at a frequency corresponding to the time constant τ and used in the calculation.

[0149] For example, let the time constant τ of the first microreservoir calculation unit 120-1 in Figure 2 be τ=1, the time constant τ of the second microreservoir calculation unit 120-2 be τ=10, and the time constant τ of the third microreservoir calculation unit 120-3 be τ=15.

[0150] Here, we will explain an example of calculating the node value 404 of macro output module 113, that is, the output value of macro output module 113. Following the general structure of a neural network, we will use the calculation of node nP belonging to macro output module 113 as an example, but the same applies to other nodes nQ, ..., nS.

[0151] The node value 404 of node nP is calculated by sum-of-products operation using the node values ​​404 of all nodes nJ to nO connected to node nP, and the load value 504 of the edges e(JP) to e(OP) that are connected to node nP.

[0152] However, node nJ belongs to the first microreservoir calculation unit 120-1, where the time constant τ is τ=1. Therefore, the node value 404 of node nJ and the load value 504 of the edge e(JP) between node nJ and node nP are recalculated each time the node value 404 of node nP is calculated. Note that in the cases where the node values ​​404 of nodes nL~nM and nN~nO are not calculated, the initial values ​​of the node values ​​404 of nodes nL~nM and nN~nO, and the initial values ​​of the load values ​​504 of each edge e(LP)~e(OP) between nodes nL~nM and nN~nO and node nP are used in the sum-of-products calculation of the node value 404 of node nP. The same applies to node nK.

[0153] On the other hand, node nL belongs to the second microreservoir calculation unit 120-2 with a time constant τ=10. Therefore, the node value 404 of node nL and the load value 504 of the edge e(LP) between node nL and node nP only need to be recalculated each time the node value 404 of node nP is calculated 10 times. Note that in the cases where the node value 404 of nN~nO is not calculated, the initial value of the node value 404 of nodes nN~nO and the initial value of the load value 504 of each edge e(LP)~e(OP) between nodes nN~nO and node nP are used in the sum-of-products calculation of the node value 404 of node nP. The same applies to node nM.

[0154] Similarly, node nN belongs to the third microreservoir calculation unit 120-3 with a time constant τ=15. Therefore, the node value 404 of node nN and the load value 504 of the edge e(NP) between node nN and node nP only need to be recalculated each time the node value 404 of node nP is calculated 15 times. Note that in the cases where the node value 404 of nodes nL~nM is not calculated, the initial values ​​of the node value 404 of nodes nL~nM and the initial values ​​of the load values ​​504 of each edge e(LP)~e(MP) between nodes nL~nM and node nP are used in the sum-of-products calculation of the node value 404 of node nP. The same applies to node nO.

[0155] In this way, sum-of-products calculations are performed to calculate the prediction results of coupled events at synchronous timings based on the time constant τ for each micro-reservoir calculation unit 120.

[0156] The macro learning module 114 of the macro reservoir calculation unit 110 may maintain an intermediate table for each micro output module 123 that associates the time constant τ of the micro reservoir calculation unit 120 with the calculation result of the sum-of-products operation of node n# belonging to the micro output module 123.

[0157] Furthermore, the macro learning module 114 may retrieve and reuse the necessary calculation results (node ​​value 404 and load value 504) from the intermediate table each time a sum-of-products operation is performed on node n# belonging to the macro output module 113.

[0158] Alternatively, the macro learning module 114 of the macro reservoir calculation unit 110 may, instead of using an intermediate table, continuously store the calculation results of the sum-of-accumulate operation of node n# belonging to the macro output module 113 in a cache and reuse them.

[0159] The macro learning module 114 can store a portion of these sum-of-products operations so that they can be reused according to the time constant τ, thus eliminating the need to recalculate them each time. In this way, the output of the macro reservoir calculation unit 110, which is composed of multiple micro reservoir calculation units 120 with different time constants τ, can be obtained.

[0160] <Figure 8: Example of display screen> Figure 8 is an explanatory diagram showing an example of a display screen where the calculation results from the reservoir computer 100 are displayed. The display screen 800 is displayed on the display unit 133 of the input / output unit 103. The display screen 800 may be a single window on a personal computer, or the display content may be distributed and displayed across multiple windows. The display screen 800 includes, for example, a first display area 801, a second display area 802, a third display area 803, and a fourth display area 804.

[0161] <Figure 9, First Display Area 801> Figure 9 is an explanatory diagram showing an example of the display contents of the first display area 801. The first display area 801 displays parameter information 901 of the first micro-reservoir calculation unit 120-1, stress distribution display area 902, first mesh time-series data display area 903, and second mesh time-series data display area 904.

[0162] Parameter information 901 includes, for example, the time constant τ, the name of the regression model type (e.g., Ridge), and the mean error, which is one of the metrics of the learning result.

[0163] The stress distribution display area 902 displays the measured stress distribution at time t=276 [sec] for a substrate or integrated structure constituting a certain semiconductor integrated circuit. The display area is divided into multiple meshes, and each mesh is assigned a mesh ID that uniquely identifies it. The time t of the stress distribution displayed in the stress distribution display area 902 can be changed by user input.

[0164] The first mesh time-series data display area 903 and the second mesh time-series data display area 904 display time-series data showing the time evolution of the stress distribution for each mesh. Measured values ​​in the time-series data are shown as solid lines, and predicted values ​​as dotted lines. The first mesh time-series data display area 903 displays time-series data showing the time evolution of the stress distribution for the mesh with mesh ID "#PT241-01". The second mesh time-series data display area 904 displays time-series data showing the time evolution of the stress distribution for the mesh with mesh ID "#PT241-02".

[0165] The first display area 801 may display time-series data showing the time evolution of stress distribution for all meshes, or it may display time-series data showing the time evolution of stress distribution for meshes selected by the user. The example in Figure 9 shows an example where data is displayed for meshes selected by the user.

[0166] <Figure 10 Second display area 802> Figure 10 is an explanatory diagram showing an example of the display content of the second display area 802. The second display area 802 displays parameter information 1001 of the second micro reservoir calculation unit 120-2, a temperature distribution display area 1002, a first mesh time series data display area 1003, and a second mesh time series data display area 1004.

[0167] Parameter information 1001 includes, for example, the time constant τ, the name of the regression model type (e.g., Ridge), and the mean error, which is one of the indicator values ​​of the learning result.

[0168] The temperature distribution display area 1002 displays the measured temperature distribution at time t=128 [sec] for a certain electronic device constituting a certain semiconductor integrated circuit and its surrounding area. The display area is divided into multiple meshes, and each mesh is assigned a mesh ID that uniquely identifies it. The time t of the temperature distribution displayed in the temperature distribution display area U112 can be changed by user input.

[0169] The first mesh time-series data display area 1003 and the second mesh time-series data display area 1004 display time-series data showing the time change in temperature distribution for each mesh. Measured values ​​in the time-series data are displayed as solid lines, and predicted values ​​as dotted lines. The first mesh time-series data display area 1003 displays time-series data showing the time change in temperature distribution for the mesh with mesh ID "#QR15501". The second mesh time-series data display area 1004 displays time-series data showing the time change in temperature distribution for the mesh with mesh ID "#QR15502".

[0170] The second display area 802 may display time-series data showing the time change in temperature distribution for all meshes, or it may display time-series data showing the time change in temperature distribution for meshes selected by the user. The example in Figure 10 shows an example where data is displayed for meshes selected by the user.

[0171] <Figure 11 Third display area 803> Figure 11 is an explanatory diagram showing an example of the display contents of the third display area 803. The third display area U803 displays parameter information 1101 of the third micro-reservoir calculation unit 120-3, current time-series data display area 1102, and voltage time-series data display area 1103.

[0172] Parameter information 1101 includes, for example, the time constant τ, the type name of the regression model (for example, Ridge), and the mean error, which is one of the metrics of the learning result.

[0173] The current time-series data display area 1102 displays time-series data relating to the current value of an electronic device that constitutes a semiconductor integrated circuit. Measured values ​​of the time-series data are displayed as solid lines, and predicted values ​​as dotted lines.

[0174] The voltage time-series data display area 1103 displays time-series data related to the voltage values ​​of the electronic device mentioned above. Measured values ​​are shown as solid lines, and predicted values ​​as dotted lines.

[0175] <Figure 12, 4th display area 804> Figure 12 is an explanatory diagram showing an example of the display content of the fourth display area 804. The fourth display area 804 displays the parameter information 1201 of the macro reservoir calculation unit 110 and the coupled result display area 1202.

[0176] Parameter information 1201 includes, for example, the time constant τ, the name of the regression model type (e.g., Ridge), and the mean error, which is one of the metrics of the learning result.

[0177] The coupled result display area 1202 displays the coupled simulation results of the degradation degree due to cycle fatigue when this semiconductor integrated circuit is repeatedly operated and shut down. In this example, the measured values ​​are only available up to time t=1800 [min], and beyond that, predicted values ​​calculated by the reservoir computer 100 are displayed.

[0178] As shown above, by considering and coupling the time evolution of stress in an integrated circuit, the time evolution of temperature or heat in an integrated circuit, and the time evolution of the current-voltage characteristics of an electronic device, it becomes possible to predict degradation based on the coupled event of cycle fatigue.

[0179] Thus, according to this embodiment, efficient coupled simulation can be achieved. Specifically, for example, it is possible to flexibly couple subsystems according to the number and scale of subsystems to be coupled. Furthermore, multiple subsystems with different time granularities can be easily coupled. In addition, complex interactions that can only be recognized when multiple subsystems are considered comprehensively can be reflected in the output results and coupled.

[0180] It should be noted that the present invention is not limited to the embodiments described above, but includes various modifications and equivalent configurations within the spirit of the attached claims. For example, the embodiments described above are described in detail to make the present invention easier to understand, and the present invention is not necessarily limited to having all of the described configurations. Furthermore, some of the configurations of one embodiment may be replaced with those of another embodiment. Furthermore, some of the configurations of one embodiment may be added to those of another embodiment. Furthermore, some of the configurations of each embodiment may be added, deleted, or replaced with other configurations.

[0181] Furthermore, each of the aforementioned configurations, functions, processing units, and processing means may be implemented in hardware, for example, by designing them as integrated circuits, or they may be implemented in software by having a processor interpret and execute programs that realize each function.

[0182] Information such as programs, tables, and files that implement each function can be stored in memory, hard disks, SSDs (Solid State Drives), or on recording media such as IC (Integrated Circuit) cards, SD cards, and DVDs (Digital Versatile Discs).

[0183] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes and do not necessarily represent all control lines and information lines required for implementation. In reality, it can be assumed that almost all components are interconnected. [Explanation of Symbols]

[0184] 100 Reservoir Calculator 101 Data Processing Unit 102 Data Storage Unit 103 Input / output section 104 Connection part 110 Macro Reservoir Calculation Unit 111 Macro Input Module 112 Macro Reservoir Module 113 Macro Output Module 114 Macro Learning Module 120 Micro-reservoir calculation unit 121 Micro Input Module 122 Micro Reservoir Module 123 Micro Output Module 124 Micro Learning Modules 300 Neural Networks 400 node management table 404 Node Value 500 Edge Management Table 504 Load Value τ time constant

Claims

1. A plurality of first reservoir calculation units are provided for each of the multiple individual events, and each unit has a first reservoir calculation module that calculates a prediction result for the individual event by reservoir calculation when data related to the individual event is input. The second reservoir calculation unit includes a second reservoir calculation module formed by combining the plurality of first reservoir calculation modules, and when data relating to the individual events is input to each of the plurality of first reservoir calculation modules, it calculates a prediction result of a coupled event resulting from the coupling of the plurality of individual events based on a plurality of calculation results from the plurality of first reservoir calculation modules constituting the second reservoir calculation module. A reservoir computer characterized by having the following features.

2. A reservoir calculator according to claim 1, The first reservoir calculation unit is: It is composed of a first input module for inputting data relating to the individual events, a first reservoir calculation module coupled to the first input module, and a first output module coupled to the first reservoir calculation module. The second reservoir calculation unit is: It comprises a second input module composed of a plurality of the first input modules, a second reservoir calculation module, and a second output module coupled with a plurality of the first output modules, The second reservoir calculation unit is: When data relating to the individual event is input to each of the multiple first reservoir calculation modules constituting the second reservoir calculation module, a calculation process is performed which involves executing reservoir calculations within and between the first reservoir calculation modules, and outputting the calculation results calculated by each of the first reservoir calculation modules to the first output module connected to the first reservoir calculation module. The second output module performs an output process that obtains the calculation results calculated by the calculation process and output to the first output module for each of the first reservoir calculation modules from each of the multiple first output modules, and calculates the prediction result of the coupled event based on the multiple calculation results obtained. A reservoir calculator characterized by performing the following.

3. A reservoir calculator according to claim 1, The number of neuronal connections between the first reservoir computing modules that constitute the second reservoir computing module is less than the number of neuronal connections that constitute the first reservoir computing module. A reservoir calculator characterized by the following features.

4. A reservoir calculator according to claim 1, The data relating to the individual events is input time-series data that is input to the first reservoir calculation module. The calculation result is output time series data from the first reservoir calculation module. A reservoir calculator characterized by the following features.

5. A reservoir calculator according to claim 4, The first reservoir calculation module has a time constant that adjusts the time granularity of the input time series data and the time granularity of the output time series data. The second reservoir calculation module outputs a plurality of calculation results based on the time constants of each of the plurality of first reservoir calculation modules. A reservoir calculator characterized by the following features.

6. A reservoir calculator according to claim 5, The second reservoir calculation unit calculates the prediction results of the coupled events at synchronous timings based on a plurality of time constants. A reservoir calculator characterized by the following features.

7. A reservoir calculator according to claim 1, The first reservoir calculation unit includes a first learning module that performs a first learning process to update the learning parameters within the first reservoir calculation unit using a first learning dataset which is a combination of data relating to the individual events and first correct data relating to the individual events. The second reservoir calculation unit includes a second learning module that performs a second learning process to update the learning parameters within the second reservoir calculation unit using a second learning dataset which is a combination of data relating to the individual events for each individual event and second ground truth data relating to the coupled events. A reservoir calculator characterized by the following features.

8. A reservoir calculator according to claim 7, The second reservoir calculation unit executes the second learning process after the first learning process has been executed by the first learning module of each of the plurality of first reservoir calculation units. A reservoir calculator characterized by the following features.

9. A reservoir calculator according to claim 7, The data relating to the individual events is input time-series data that is input to the first reservoir calculation module. The calculation result is output time series data from the first reservoir calculation module, The first reservoir calculation module has a time constant that adjusts the time granularity of the input time series data and the time granularity of the output time series data. The second reservoir calculation module outputs a plurality of calculation results based on the time constants of each of the plurality of first reservoir calculation modules. The second reservoir calculation unit updates the learning parameters of each of the multiple first reservoir calculation modules that constitute the second reservoir calculation module at an update frequency based on the time constant. A reservoir calculator characterized by the following features.

10. A reservoir calculation method using a reservoir computer that predicts coupled events arising from the coupling of multiple individual events, The reservoir computer is, For each of the aforementioned multiple individual events, the system comprises a first input module, a first reservoir calculation module coupled to the first input module, and a first output module coupled to the first reservoir calculation module. The coupled event comprises a second input module composed of the first input modules of the plurality of individual events, a second reservoir calculation module composed of the first reservoir calculation modules of the plurality of individual events with the first reservoir calculation modules coupled together, and a second output module coupled with the first output modules of the plurality of individual events. The reservoir computer is, Input processing for inputting data relating to the individual event into each of the multiple first input modules constituting the second input module, A calculation process that outputs the calculation results obtained from each of the first reservoir calculation modules to the first output module connected to the first reservoir calculation module by inputting the data relating to the individual events input by the input process to each of the plurality of first reservoir calculation modules constituting the second reservoir calculation module, thereby performing reservoir calculations within and between the first reservoir calculation modules, and The second output module performs an output process that obtains the calculation results calculated by the calculation process and output to the first output module for each of the first reservoir calculation modules from each of the multiple first output modules, and calculates the prediction result of the coupled event based on the multiple calculation results obtained. A reservoir calculation method characterized by performing the following.

11. A reservoir calculation program that causes a reservoir computer to predict coupled events resulting from the coupling of multiple individual events, The reservoir computer is, For each of the aforementioned multiple individual events, the system comprises a first input module, a first reservoir calculation module coupled to the first input module, and a first output module coupled to the first reservoir calculation module. The coupled event comprises a second input module composed of the first input modules of the plurality of individual events, a second reservoir calculation module composed of the first reservoir calculation modules of the plurality of individual events with the first reservoir calculation modules coupled together, and a second output module coupled with the first output modules of the plurality of individual events. The reservoir computer, Input processing for inputting data relating to the individual event into each of the multiple first input modules constituting the second input module, A calculation process that outputs the calculation results obtained from each of the first reservoir calculation modules to the first output module connected to the first reservoir calculation module by inputting the data relating to the individual events input by the input process to each of the plurality of first reservoir calculation modules constituting the second reservoir calculation module, thereby performing reservoir calculations within and between the first reservoir calculation modules, and The second output module performs an output process that obtains the calculation results calculated by the calculation process and output to the first output module for each of the first reservoir calculation modules from each of the multiple first output modules, and calculates the prediction result of the coupled event based on the multiple calculation results obtained. A reservoir calculation program characterized by executing [a specific action].