Reservoir computer and abnormality detection method

WO2026181153A1PCT designated stage Publication Date: 2026-09-03TDK CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/006311
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-25
Publication Date
2026-09-03

Smart Images

  • Figure JP2025006311_03092026_PF_FP_ABST
    Figure JP2025006311_03092026_PF_FP_ABST
Patent Text Reader

Abstract

This reservoir computer comprises a storage unit and a calculation unit. The storage unit stores a distribution of coupling coefficients. The distribution of coupling coefficients is of coupling coefficients output for each learning session when learning is performed each time data is inputted in reservoir computing. The calculation unit determines that an abnormality exists if the coupling coefficients output when new data is inputted in reservoir computing exceed a prescribed range set from the distribution of coupling coefficients stored in the storage unit.
Need to check novelty before this filing date? Find Prior Art

Description

Reservoir calculator and anomaly detection method

[0001] This disclosure relates to a reservoir computer and an anomaly detection method.

[0002] Machine learning, which utilizes neural networks that mimic the human brain, is attracting attention. In recent years, attempts have been made to use machine learning for anomaly detection.

[0003] Recurrent neural networks are said to be suitable for analyzing time-series data and for anomaly detection. For example, reservoir computing is one way to implement recurrent neural networks.

[0004] For example, Patent Document 1 discloses an information processing device that issues a warning when the error between the first predicted data, which is predicted by the first data among the time series data input to a recurrent neural network, and the second data among the time series data is greater than a threshold.

[0005] Japanese Patent Publication No. 2018-173944

[0006] When using recurrent neural networks for anomaly detection, anomalies are often determined by the degree of deviation from a pre-trained model. For example, in Patent Document 1, anomalies are determined by the degree of error between the first predicted data based on the trained model and the second data.

[0007] Recurrent neural networks are configured to output the optimal solution based on input data, and the pre-trained model is fixed to one. However, when the model is fixed to one, it cannot handle slight changes in the model itself.

[0008] For example, in the field of actual anomaly detection, predetermined parameters may drift, the periodicity of time-series data signals may change slightly, or the operating mode may change, causing a change in the periodicity of time-series data. If a pre-trained model is fixed to a single model, these changes will be recognized as deviations from the model and judged as anomalies. On the other hand, these changes may be acceptable to the user as a shift in the normal state.

[0009] This disclosure is made in view of the above circumstances and provides a reservoir computer and an anomaly detection method that can tolerate shifts under normal conditions and appropriately detect anomalies.

[0010] The reservoir computer according to the first embodiment comprises a storage unit and an arithmetic unit. The storage unit stores a distribution of connection coefficients. The distribution of connection coefficients is the distribution of connection coefficients output for each learning session when learning is performed each time data is input to the reservoir computer. The arithmetic unit determines that an abnormality occurs when the connection coefficients output when new data is input to the reservoir computer exceed a predetermined range set from the distribution of connection coefficients stored in the storage unit.

[0011] The anomaly detection method according to the second embodiment includes the steps of: performing learning each time data is input to the reservoir computing; identifying the distribution of coupling coefficients from the coupling coefficients output each time learning is performed; and determining that an anomaly occurs when the coupling coefficients output when new data is input to the reservoir computing exceed a predetermined range set from the distribution of coupling coefficients.

[0012] The reservoir computer and anomaly detection method according to the above embodiment can tolerate shifts in a normal state and can appropriately detect anomalies.

[0013] This is a flowchart of the anomaly detection method according to this embodiment. This is a conceptual diagram of the reservoir performing reservoir computing in this embodiment. This is an image diagram of the distribution of coupling coefficients in reservoir computing according to this embodiment. This is an image diagram of the distribution of coupling coefficients in reservoir computing according to this embodiment when cluster analysis is performed. This is an image diagram of the distribution of coupling coefficients in reservoir computing according to this embodiment when cluster analysis is performed. This is a schematic block diagram showing a specific example of the functional configuration of the reservoir computer according to this embodiment. This is a conceptual diagram of a modified reservoir computer.

[0014] The following description of this embodiment will be given in detail with reference to the drawings as appropriate. The drawings used in the following description may be enlarged for convenience to make the features of this disclosure easier to understand, and the specific configuration of each component may differ from the actual one. The configurations etc. exemplified in the following description are examples, and this disclosure is not limited to them, and can be modified as appropriate to achieve the effects of this disclosure.

[0015] "Anomaly Detection Method" Figure 1 is a flowchart of the anomaly detection method according to this embodiment. The anomaly detection method according to this embodiment includes a learning step S1, a step S2 for specifying the distribution of coupling coefficients, a step S3 for setting the range, and a step S4 for determining an anomaly.

[0016] Figure 2 is a conceptual diagram of the reservoir 10 that performs reservoir computing in this embodiment. The reservoir 10 can perform nonlinear transformation of input signals and perform learning and inference processing. The learning process S1 is performed using the reservoir 10.

[0017] Reservoir 10 may be software, hardware, or a combination of software and hardware.

[0018] Software is a program implemented within a computer. Reservoir 10 includes, for example, memory to store this program and a processor to execute this program.

[0019] The hardware is a physical reservoir consisting of a combination of real elements or circuits. The physical reservoir consists of a plurality of circuits or elements corresponding to nodes, and these are connected to each other. The physical reservoir is an implementation of the concept of reservoir computing using real elements or circuits. Further, when the physical reservoir is an analog interface, the reservoir 10 may include a digital-to-analog converter. Further, the reservoir 10 formed by a digital circuit may be mounted on a PLD (Programmable Logic Device) such as an FPGA (Field-Programmable Gate Array).

[0020] The reservoir 10 includes an input layer 1, a hidden layer 2, and an output layer 3. The input layer 1 and the output layer 3 are connected to the hidden layer 2.

[0021] The input layer 1 receives an input signal S in and inputs data based thereon to the hidden layer 2. The input layer 1 is connected to, for example, a sensor or the like. The input layer 1 propagates the input signal S acquired by a sensor or the like in to the hidden layer 2. The input layer 1 is, for example, a signal propagation circuit.

[0022] The input layer 1 may propagate the input signal S in itself to the hidden layer 2, or may convert the input signal S in and propagate the converted signal to the hidden layer 2. For example, the input layer 1 may weight the input signal S in , convert the input signal S in into a time-division signal, digitally convert the input signal S in , or perform a combination of these processes. The input signal S in may be a scalar or a vector. When the input signal S in is a vector, each of the elements representing the components of the vector may carry the input signal S in . For example, all elements representing the components of the vector are input to the reservoir 10 as the input signal S in , and each of the elements may be input to the hidden layer 2.

[0023] Hidden layer 2 is configured to receive data from input layer 1. Hidden layer 2 stores the data from input layer 1 and converts it into another signal.

[0024] Hidden layer 2 has multiple nodes n2. Node n2 corresponds to neurons in a neural circuit, and the connections between nodes n2 correspond to synapses in a neural circuit. Node n2 nonlinearly transforms the input and outputs the result. The number of nodes n2 is irrelevant.

[0025] Each node n2 is connected to one or more other nodes n2. Each node n2 may be connected to all other nodes n2 in the hidden layer 2, or to some of the nodes n2 in the hidden layer 2. The connections between nodes n2 are random.

[0026] The connections between two nodes n2 include recursive connections. A recursive connection is a connection where the output returns to the input. For example, a signal output from one node n2 at time t may return to the node n2 that output the signal at time t+1 or later. This occurs because the signal output from one node n2 propagates through other nodes n2 and returns to the original node n2. Such a connection relationship between two nodes n2, where the output from one node n2 is re-inputted via another node n2, is called a recursive connection.

[0027] A coupling coefficient, which indicates the coupling weight, is set between two nodes n2. A signal input to node n2 propagates between nodes n2. The signal that has propagated to a node n2 is nonlinearly transformed by the activation function of node n2, and then multiplied according to the coupling coefficient before propagating to the next node n2.

[0028] The coupling coefficient between nodes n2 can be arbitrarily set within the range of -1.0 to +1.0. The coupling coefficient between nodes n2 can be set, for example, by a random number. The coupling coefficient between nodes n2 may also be set, for example, to maximize the amount of mutual information between the output signal from reservoir 10 and the expected signal.

[0029] Each node n2 may be fully connected to input layer 1. Fully connected to input layer 1 means that each node within the region is connected to input layer 1. When each node n2 is fully connected to input layer 1, the signals interact in a complex manner in hidden layer 2. As a result, the nonlinear performance of hidden layer 2 can be improved, and the reservoir 10 can handle more complex information.

[0030] Furthermore, each node n2 may be fully connected to the output layer 3. Fully connected to the output layer 3 means that each node n2 within the region is connected to the output layer 3. By fully connecting the output layer 3 and each node n2, more signals are input to the output layer 3. By obtaining an estimated solution using a large amount of data, the accuracy (correct response rate) of the output from the reservoir 10 can be improved.

[0031] Output layer 3 receives a signal from hidden layer 2 and outputs an output signal S based on that signal. out The output layer 3 performs training and inference processing.

[0032] In the inference process, the output layer 3 applies coupling coefficients (coupling weights) w to the data from the hidden layer 2 to produce the output signal S. out Output as: Output signal S out This, for example, represents the estimated solution to the task. Output signal S out It can be either a scalar or a vector. Also, the input signal S in When is a scalar, the output signal S out The input signal S can be either a scalar or a vector. in When is a vector, the output signal S out It can be either a scalar or a vector.

[0033] During the learning process, the coupling coefficient w between node n2 in hidden layer 2 and node n3 in output layer 3 is adjusted. The coupling coefficient w is adjusted to maximize the mutual information between the output from hidden layer 2 and the optimal solution.

[0034] The learning process is performed each time data is input to the hidden layer 2. The learning process may be online learning, where learning is performed each time a single data point is input, or batch learning, where learning is performed every time a certain amount of data has accumulated. With online learning, the coupling coefficient w is updated each time a single data point is input, making the model less stable. On the other hand, the anomaly detection method according to this embodiment accepts fluctuations in the model to determine anomalies, so online learning is preferable in order to grasp the fluctuations in the model.

[0035] By performing the learning process S1, the coupling coefficient w is obtained each time data is input.

[0036] In step S2, which determines the distribution of coupling coefficients, the distribution of coupling coefficients obtained in step S1 is determined. The distribution of coupling coefficients is the distribution of coupling coefficients output for each learning session when learning is performed each time data is input to the reservoir computing system.

[0037] Let's explain the distribution of coupling coefficients in detail. Sequential data is input to the reservoir 10. For example, when a first input signal is input at a certain time a, the reservoir 10 learns based on the first input signal. As a result of the learning of the reservoir 10, the coupling coefficient w is a The following is obtained. Coupling coefficient w a The number of connections between node n2 in hidden layer 2 and node n3 in output layer 3 is equal to the number of connections between them. For example, if the number of connections between node n2 and node n3 is n, then the connection coefficient w at a certain time a is given by a , lol a = (w a1 , lol a2 ...lol an It is represented as follows:

[0038] Next, when a second input signal is input at time b, the reservoir 10 performs further learning based on the second input signal. As a result of the learning of the reservoir 10, the coupling coefficient w is b The coupling coefficient w at a certain time b is obtained. b , lol b = (w b1 , lol b2 ...lol bn It is expressed as follows: Coupling coefficient w a The coupling coefficient is w bThis may not always be the case. The coupling coefficient w b This is because the learning process includes the second input signal as well.

[0039] Figure 3 is an illustrative diagram illustrating the distribution of connection coefficients in reservoir computing according to this embodiment. Although Figure 3 is shown in two dimensions for easier understanding, when the number of connections between node n2 and node n3 is n, the connection coefficient w is a collection of n data points and is n-dimensional.

[0040] The coupling coefficient w is determined each time training is performed. For example, as shown in Figure 3, the coupling coefficient w is w a , lol b , lol c , lol d , lol e ...and so on. Learning is performed each time new data is added to the original data. Each connection coefficient lol a , lol b , lol c , lol d , lol e ... are determined based on the original data, so even if new data is added, the learning results should show a similar trend. Therefore, the coupling coefficient w a , lol b , lol c , lol d , lol e ... are not completely random, but form a certain distribution 11. In step S2, which determines the distribution of coupling coefficients, this distribution 11 is determined.

[0041] The coupling coefficient used when determining the distribution of coupling coefficients a , lol b , lol c , lol d , lol e The number of , ... is not particularly important, but for example, it is preferable that it be 20 or more. The coupling coefficient w used when specifying the distribution of coupling coefficients a , lol b , lol c , lol d , lol e The more , ... there are, the higher the accuracy of the Gaussian distribution estimation based on the mean and standard deviation.

[0042] Furthermore, in step S2, which involves identifying the distribution of coupling coefficients, the distribution of coupling coefficients may be subjected to cluster analysis. Cluster analysis is an analytical method that groups similar data together from individual data points. Cluster analysis may be performed using the k-mean algorithm.

[0043] Figure 4 is an illustrative diagram of the cluster analysis of the coupling coefficient distribution in reservoir computing according to this embodiment. The coupling coefficient distribution 12 is, for example, a collection of distributions of multiple clusters 12A, 12B, and 12C. For example, if the operating mode of the device changes and the periodicity of the time-series data changes, the optimal coupling coefficient will differ for each operating mode. In this case, the distribution of coupling coefficients will differ for each operating mode, and multiple clusters 12A, 12B, and 12C will be formed as shown in Figure 4. The number of clusters 12A, 12B, and 12C is not particularly limited.

[0044] In the range setting step S3, a predetermined range is set from the distributions 11 and 12 of the coupling coefficients to determine whether an anomaly is occurring. The predetermined range can be set arbitrarily depending on the task being processed.

[0045] For example, as shown in Figure 3, the predetermined range 21 is the average w of the coupling coefficients. ave The range may be set as ±3σ or ±6σ based on the reference point.

[0046] σ represents the statistical standard deviation. For every 100% of the region of the normal distribution curve, data exists within ±3σ with a probability of 99.7%, and within ±6σ with a probability of 99.9997%.

[0047] Average w of the coupling coefficients ave w is the average position coordinate of the multiple coupling coefficients that make up the distribution of coupling coefficients. For example, if the number of coupling coefficients that make up the distribution of coupling coefficients is three, w ave = ((w a1 +w b1 +w c1 ) / 3, (w a2 +w b2 +w c2 ) / 3, (w a3 +w b3+w c3 ) / 3). Here, we have shown the case where there are three bond coefficients as an example, but in reality, the number of bond coefficients is much larger.

[0048] For example, as shown in Figure 4, the predetermined range 21 is the average w of the coupling coefficients for each of the clusters 12A, 12B, and 12C. ave_A , lol ave_B , lol ave_C The range can be set as ±3σ or ±6σ based on the reference value. ave_A , lol ave_B , lol ave_C This is calculated for each cluster 12A, 12B, and 12C.

[0049] Alternatively, as shown in Figure 5, for example, the predetermined range 22 may be a range that encompasses the entire distribution of each cluster 12A, 12B, and 12C, based on the centroid G of each cluster 12A, 12B, and 12C. The centroid G is the average w of the coupling coefficients for each cluster 12A, 12B, and 12C. ave_A , lol ave_B , lol ave_C This is the position coordinate obtained by further averaging the above. For example, the predetermined range 22 may be set as a range of ±3σ with respect to the centroid G, or it may be set as a range of ±6σ.

[0050] After setting predetermined ranges 21 and 22 that represent the normal range using the above procedure, the abnormality determination step S4 is performed.

[0051] The abnormality determination step S4 is performed, for example, each time new data is input. When new data is input to the reservoir 10, the coupling coefficients are updated. In the abnormality determination step S4, it is determined whether or not the updated coupling coefficients fall within the predetermined ranges 21 and 22. If the updated coupling coefficients do not fall within the predetermined ranges 21 and 22, it is determined to be abnormal; if they do, it is determined to be normal.

[0052] The predetermined ranges 21 and 22 are set based on the distribution of the coupling coefficients, and the coupling coefficients rarely exceed these ranges. For example, if the predetermined range is 3σ, the probability that the coupling coefficients exceed the predetermined range is 0.3 or less, and if the predetermined range is 6σ, the probability that the coupling coefficients exceed the predetermined range is 0.0003 or less. Therefore, if the updated coupling coefficients exceed these predetermined ranges 21 and 22, it can be judged as abnormal.

[0053] Whether the updated coupling coefficients exceed the predetermined range 21, 22 is determined by the updated coupling coefficients and the average of the coupling coefficients w ave The determination is made based on the distance. Here, the distance may be defined as either the Euclidean distance or the Mahalanobis distance. If the distribution of coupling coefficients is subjected to cluster analysis, the updated coupling coefficients and the average w of the coupling coefficients in any of the clusters 12A, 12B, and 12C are used. ave_A , lol ave_B , lol ave_C The determination is made based on the distance. If the distance between the updated coupling coefficient and the average coupling coefficient is greater than the distance between the perimeter of a predetermined range and the average coupling coefficient, it can be determined that the updated coupling coefficient exceeds the predetermined range.

[0054] The anomaly detection method according to this embodiment determines anomalies using a distribution of coupling coefficients. The coupling coefficients are optimal values ​​determined at each stage where new data is input, and include the features of a normal model at each stage. In other words, the anomaly detection method according to this embodiment defines the set of normal models at each stage where new data is input as the normal range. Therefore, compared to a method that determines anomalies based on a normal model at a single stage, the anomaly detection method according to this embodiment can tolerate fluctuations in the normal range and can appropriately detect anomalies.

[0055] "Reservoir Computer" Figure 6 is a schematic block diagram showing a specific example of the functional configuration of the reservoir computer 100 according to this embodiment. The reservoir computer 100 is composed of, for example, a personal computer or a server device. The reservoir computer 100 includes, for example, an input unit 30, an output unit 40, a storage unit 50, and an arithmetic unit 60.

[0056] The input unit 30 receives the input signal Sin This is the part where the input is received. The input unit 30 is an interface that handles connections to, for example, sensors. The input signal S is input to the input unit 30. in This information is not limited to passive elements such as sensors, but may also include images, audio, or text information selected by the user.

[0057] The output unit 40 outputs information in a format that the user can recognize. The output unit 40 outputs the result of the abnormality detection. The output unit 40 may be an image display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display. The output unit 40 may also be an interface for connecting an image display device to the reservoir computer 100. In this case, the output unit 40 generates a video signal for displaying image data and outputs the video signal to the image display device connected to it. The output unit 40 may also be a device that outputs sound, such as a speaker. The output unit 40 may also be an interface for connecting an audio output device such as a speaker or headphones to the reservoir computer 100. In this case, the output unit 40 generates an audio signal for playing audio data and outputs the audio signal to the audio output device connected to it. The output unit 40 may also be configured as a touch panel integrated with the input unit 30.

[0058] The storage unit 50 is configured using a storage medium such as a magnetic hard disk drive or a semiconductor memory device. The storage unit 50 may also be a recording medium that is readable by a computer. Computer-readable recording media include, for example, portable media such as flexible disks, magneto-optical disks, ROMs, CD-ROMs, and semiconductor memory devices (e.g., SSDs: Solid State Drives), as well as storage devices such as hard disks and semiconductor memory devices built into a computer system.

[0059] The storage unit 50 stores data and programs used by the arithmetic unit 60. The storage unit 50 stores data necessary when the arithmetic unit 60 performs processing.

[0060] The storage unit 50 includes, for example, a program storage unit 51, a coupling coefficient storage unit 52, and a range storage unit 53.

[0061] The program storage unit 51 stores the learning program for the reservoir 10, the program for identifying the connection distribution, the setting program for setting a predetermined range from the connection distribution, the program for determining abnormalities, and so on. The program may be transmitted to the reservoir computer 100 via a telecommunications line.

[0062] The learning program is a programmed version of the learning process S1 described above. The program for identifying the bond distribution is a programmed version of the process S2 for identifying the distribution of the bond coefficients described above. The setting program is a programmed version of the process S3 for setting the range described above. The judgment program is a programmed version of the abnormality judgment process S4 described above.

[0063] The coupling coefficient storage unit 52 stores the updated coupling coefficients after each learning process. Based on the coupling coefficients stored in the coupling coefficient storage unit 52, the distribution of coupling coefficients is determined.

[0064] The range storage unit 53 stores a predetermined range set based on the distribution of the identified coupling coefficients. The data stored in the range storage unit 53 is used when determining abnormalities.

[0065] The arithmetic unit 60 is configured using a processor such as a CPU (Central Processing Unit). The arithmetic unit 60 functions when the processor executes a program. Note that all or part of the functions of the arithmetic unit 60 may be implemented using hardware such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array). The program is stored in the program storage unit 51.

[0066] The calculation unit 60 includes, for example, a learning processing unit 61, a coupling coefficient distribution identification unit 62, a range setting unit 63, and an abnormality determination unit 64.

[0067] The learning processing unit 61 includes the reservoir 10 described above. The learning processing unit 61 executes a learning program and obtains an optimal value of the coupling coefficient based on input data. The optimal value of the coupling coefficient obtained by the learning processing unit 61 is stored in the coupling coefficient storage unit 52. Each time data is input, the learning processing unit 61 performs learning and sends the updated coupling coefficient to the coupling coefficient storage unit 52.

[0068] The coupling coefficient distribution specifying unit 62 executes a coupling distribution specifying program, and obtains a distribution of coupling coefficients based on coupling coefficients obtained through past learning. The specified distribution of coupling coefficients may be stored in the coupling coefficient storage unit 52. The coupling coefficient distribution specifying unit 62 may perform cluster analysis on the distribution of coupling coefficients. The cluster analysis may be performed by the k-means algorithm.

[0069] The range setting unit 63 executes a setting program and sets a predetermined range from the distribution of coupling coefficients. The predetermined range 21 is based on the average w of the coupling coefficients ave and may be set as a range of ±3σ, or may be set as a range of ±6σ. Further, the predetermined range 21 is based on the average w of coupling coefficients in each of the clusters 12A, 12B, and 12C ave_A , w ave_B , w ave_C and may be set as a range of ±3σ, or may be set as a range of ±6σ. Furthermore, the predetermined range 22 may be a range that includes the entire distribution of each of the clusters 12A, 12B, and 12C based on the center of gravity G of each of the clusters 12A, 12B, and 12C. The set range is stored in the range storage unit 53.

[0070] The abnormality determination unit 64 executes a determination program and determines whether there is an abnormality. When a coupling coefficient output when new data is input to reservoir computing exceeds the predetermined range stored in the range storage unit 53, the abnormality determination unit 64 determines that an abnormality is present. The result determined by the abnormality determination unit 64 is output from the output unit 40.

[0071] When the abnormality determination unit 64 determines that the state is normal, an inference result obtained by the reservoir 10 may be output from the output unit 40. The inference result obtained by the reservoir 10 is obtained based on the coupling coefficient when it is determined that the state is normal.

[0072] The reservoir computer 100 according to this embodiment is a machine that performs the above-described anomaly determination method and determines anomalies using the distribution of coupling coefficients. Compared to the case in which anomaly determination is performed based on a normal model at a certain stage, the reservoir computer 100 according to this embodiment can tolerate fluctuations within the normal range and can appropriately detect anomalies.

[0073] Although this embodiment has been described in detail above with reference to the drawings, the configurations and their combinations in this embodiment are merely examples, and additions, omissions, substitutions, and other modifications to the configurations are possible without departing from the spirit of the present invention.

[0074] Figure 7 is a schematic diagram of a modified reservoir computer 101. The reservoir computer 101 includes a terminal device 70 and a server 90. The terminal device 70 and the server 90 are connected to each other via a network 80. The network 80 may be a wireless communication network or a wired communication network. The network 80 may be configured using, for example, the Internet or a local area network (LAN). The network 80 may be configured by combining multiple networks.

[0075] The terminal device 70 includes an input unit 30, an output unit 40, a range storage unit 53, and an abnormality determination unit 64 of the reservoir computer 100. The other configurations of the reservoir computer 100 are stored in the server 90. The server 90 sets a predetermined range based on the distribution of coupling coefficients using past data. The terminal device 70 stores only the predetermined range and performs abnormality determination. By separating the functions between the server 90 and the terminal device 70, the load on the terminal device 70 can be reduced.

[0076] The terminal device 70 is configured using information devices such as smartphones, tablets, personal computers, and dedicated equipment.

[0077] The terminal device 70 and the server 90 may each include a communication unit. The communication unit may be configured as, for example, a network interface. The communication unit performs data communication with other devices via the network 80. The communication unit may be a device that performs wireless communication, or may be a device that performs wired communication.

[0078] 1 Input layer 2 Hidden layer 3 Output layer 10 Reservoir 11, 12 Distribution of coupling coefficients 12A, 12B, 12C Clusters 21, 22, 23 Predetermined ranges 30 Input unit 40 Output unit 50 Storage unit 51 Program storage unit 52 Coupling coefficient storage unit 53 Range storage unit 60 Calculation unit 61 Learning processing unit 62 Distribution specifying unit 63 Range setting unit 64 Anomaly determination unit 70 Terminal device 80 Network 90 Server 100, 101 Reservoir computers S in Input signal S out Output signal n2, n3 Nodes G Centroid w ave , w ave_A , w ave_B , w ave_C Average

Claims

1. A reservoir computer comprising a memory unit and an arithmetic unit, wherein the memory unit stores a distribution of coupling coefficients, the distribution of coupling coefficients is the distribution of coupling coefficients output for each learning session when learning is performed each time data is input to the reservoir computing, and the arithmetic unit determines that an abnormality occurs when the coupling coefficients output when new data is input to the reservoir computing exceed a predetermined range set from the distribution of coupling coefficients stored in the memory unit.

2. The reservoir calculator according to claim 1, wherein the predetermined range is within ±3σ of the average of the coupling coefficients output for each learning cycle.

3. The reservoir calculator according to claim 1, wherein the predetermined range is within ±6σ of the average of the coupling coefficients output for each learning cycle.

4. The reservoir computer according to claim 1, wherein the learning is online learning.

5. The reservoir computer according to claim 1, wherein the distribution of the coupling coefficients is a set of distributions of each cluster obtained by applying cluster analysis to the coupling coefficients output for each learning stage.

6. The reservoir computer according to claim 5, wherein the cluster analysis is performed based on the k-mean algorithm.

7. The reservoir computer according to claim 5, wherein the predetermined range is a range that encompasses the entire distribution of each cluster with respect to the centroid of each cluster.

8. An anomaly detection method comprising: a step of performing learning each time data is input to a reservoir computing system; a step of identifying the distribution of connection coefficients from the connection coefficients output each time learning is performed; and a step of determining an anomaly when the connection coefficients output when new data is input to the reservoir computing system exceed a predetermined range set from the distribution of connection coefficients.

9. The anomaly detection method according to claim 8, wherein the predetermined range is within ±3σ of the average of the coupling coefficients output for each learning cycle.

10. The anomaly detection method according to claim 8, wherein the predetermined range is within ±6σ of the average of the coupling coefficients output for each learning cycle.

11. The anomaly detection method according to claim 8, wherein the learning is online learning.

12. The anomaly detection method according to claim 8, wherein the distribution of the coupling coefficients is a set of distributions of each cluster obtained by applying cluster analysis to the coupling coefficients output for each learning stage.

13. The anomaly detection method according to claim 12, wherein the cluster analysis uses a k-mean algorithm.

14. The anomaly detection method according to claim 12, wherein the predetermined range is a range that encompasses the entire distribution of each cluster with respect to the centroid of each cluster.