Machine learning device, information processing method, and program

The self-modulating reservoir computing system enhances predictive performance and hardware implementability by dynamically modulating the reservoir layer's operation, addressing the limitations of conventional reservoir computers.

JP7881173B2Active Publication Date: 2026-06-29CHIBA INSTITUTE OF TECHNOLOGY

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CHIBA INSTITUTE OF TECHNOLOGY
Filing Date
2022-08-31
Publication Date
2026-06-29

AI Technical Summary

Technical Problem

Reservoir computers exhibit inferior predictive performance compared to deep learning models due to their limited learning capabilities, and implementing multi-layer structures increases hardware size, hindering practical applications.

Method used

A machine learning device with a self-modulating reservoir computing system that dynamically modulates the reservoir layer's operation based on output feedback, allowing separate learning of modulation weights and output weights, enhancing predictive performance while maintaining hardware implementability.

Benefits of technology

Improves predictive performance of reservoir computers by retaining signal information efficiently and reducing hardware complexity, facilitating easier implementation in practical applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007881173000009
    Figure 0007881173000009
  • Figure 0007881173000010
    Figure 0007881173000010
  • Figure 0007881173000011
    Figure 0007881173000011
Patent Text Reader

Abstract

To improve prediction performance while maintaining hardware mountability of a reservoir computer.SOLUTION: A machine learning device comprises: an input unit that acquires input data which is time-series data; an intermediate computing unit that performs computation on the basis of a first result of weighting on input data at a first time of day and a second result of weighing on its own computation result at a second time of day that immediately precedes the first time of day in the time-series data; an output unit that outputs output data based on a result of having applied weighting to output from the intermediate computing unit; an output training unit that does training of weighting regarding the weighting applied to the output from the intermediate computing unit; and a modulation unit that calculates a value of modulation carried out in computation by the intermediate computing unit, on the basis of the output from the intermediate computing unit. The intermediate computing unit modulates at least one of the first and the second results on the basis of the value of modulation calculated by the modulation unit and performs computation.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to a machine learning device, an information processing method, and a program. [Background technology]

[0002] A reservoir computer is an artificial intelligence model that takes information as input to a dynamical system called a reservoir and learns only the output layer. Furthermore, reservoirs can be implemented in various forms, such as analog circuits, optical systems, and spintronics, and can achieve high computational efficiency. However, because reservoir computers learn only the output layer, their predictive performance tends to be inferior to models that learn layers other than the output layer, such as deep learning. Due to its relatively low predictive accuracy, reservoir computers have not progressed as much in practical applications as deep learning.

[0003] A model is known for performing learning on layers other than the output layer in a reservoir computer (Non-Patent Literature 1). According to the model described in Non-Patent Literature 1, a multilayer structure is formed with multiple reservoirs, and the coupling strength between the reservoir layers is learned. The model described in Non-Patent Literature 1 achieves higher prediction performance compared to conventional reservoir computers by learning the coupling strength between the reservoir layers. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] “Physical Deep Learning with Biologically Plausible Training Method”, [online], Mitsumasa Nakajima, Katsuma Inoue, Kenji Tanaka, Yasuo Kuniyoshi, Toshikazu Hashimoto, Kohei Nakajima, [Accessed July 11, 2022], Internet <URL:https: / / arxiv.org / abs / 2204.13991> [Overview of the project] [Problems that the invention aims to solve]

[0005] However, the model described in Non-Patent Document 1 results in an increase in hardware size due to the multi-layer structure. There is a need to improve predictive performance while maintaining the hardware implementability of the reservoir computer.

[0006] The present invention has been made in view of the above points, and provides a machine learning device, an information processing method, and a program that can improve predictive performance while maintaining the hardware implementability of a reservoir computer. [Means for solving the problem]

[0007] The present invention has been made to solve the above problems, and one aspect of the present invention is a machine learning device comprising: an input unit that acquires input data which is time series data; an intermediate calculation unit that performs calculations based on a first result of weighting the input data at a first time step and a second result of weighting the calculation result performed by itself at a second time step which is the time immediately preceding the first time step in the time series data; an output unit that outputs output data based on the result of weighting the output from the intermediate calculation unit; an output learning unit that learns the weights of the weighting of the output from the intermediate calculation unit; and a modulation unit that calculates the modulation value performed in the calculation by the intermediate calculation unit based on the output from the intermediate calculation unit, wherein the intermediate calculation unit modulates at least one of the first result and the second result based on the modulation value calculated by the modulation unit and performs the calculation.

[0008] Furthermore, in one aspect of the present invention, the above-described machine learning device further comprises a modulation weight learning unit that calculates the modulation value based on the result of weighting the output from the intermediate calculation unit by modulation weights in the calculation performed by the intermediate calculation unit, and learns the modulation weights.

[0009] Furthermore, in one aspect of the present invention, in the above-described machine learning device, the learning by the output learning unit and the learning by the modulation weight learning unit are performed separately.

[0010] Furthermore, in one aspect of the present invention, in the above-described machine learning device, the modulation weight learning unit learns the modulation weights based on the gradient of the error of the output data with respect to the output data included in the training data when the input data included in the training data, which is a set of pre-prepared input data and output data, is acquired as the input data.

[0011] Furthermore, in one aspect of the present invention, in the above-described machine learning device, the input data consists of a plurality of components, and the modulation value for the first result calculated by the modulation unit is common to the plurality of components of the input data.

[0012] Furthermore, in one aspect of the present invention, in the above-described machine learning apparatus, the calculation result by the intermediate calculation unit consists of multiple components, and the modulation value for the second result calculated by the modulation unit is common to the multiple components of the calculation result by the intermediate calculation unit.

[0013] Furthermore, one aspect of the present invention includes: an input step of acquiring input data which is time-series data; an intermediate calculation step of performing calculations based on a first result of weighting the input data at a first time step and a second result of weighting the calculation result performed by itself at a second time step which is the time immediately preceding the first time step in the time-series data; an output step of outputting output data based on the result of weighting the output from the intermediate calculation step; an output learning step of learning the weights of the weighting of the output from the intermediate calculation step; and a modulation step of calculating the modulation value performed in the calculation by the intermediate calculation step based on the output from the intermediate calculation step, wherein the intermediate calculation step modulates at least one of the first result and the second result based on the modulation value calculated by the modulation step and performs the calculation. , the computer executes It is an information processing method.

[0014] Furthermore, one aspect of the present invention is a program for causing a computer to execute: an input step of acquiring input data which is time-series data; an intermediate calculation step of performing calculations based on a first result of weighting the input data at a first time step and a second result of weighting the calculation result performed by the computer at a second time step which is the time immediately preceding the first time step in the time-series data; an output step of outputting output data based on the result of weighting the output from the intermediate calculation step; an output learning step of learning the weights of the weighting of the output from the intermediate calculation step; and a modulation step of calculating the modulation value performed in the calculation by the intermediate calculation step based on the output from the intermediate calculation step, wherein the intermediate calculation step is a program that modulates at least one of the first result and the second result based on the modulation value calculated by the modulation step and performs the calculation. [Effects of the Invention]

[0015] According to the present invention, it is possible to improve the predictive performance while maintaining the hardware implementability of the reservoir computer. [Brief explanation of the drawing]

[0016] [Figure 1] This figure shows an example of a schematic configuration of a self-modulating reservoir computing system according to an embodiment of the present invention. [Figure 2] This figure shows an example of the functional configuration of a machine learning device according to an embodiment of the present invention. [Figure 3] This figure shows an example of a learning process using a machine learning device according to an embodiment of the present invention. [Figure 4] This figure shows an example of prediction processing by a machine learning device according to an embodiment of the present invention. [Figure 5] This figure shows the execution result of a memory task according to the first embodiment of the present invention. [Figure 6] This figure shows the execution result of a memory task according to a comparative example of the first embodiment of the present invention. [Figure 7] This figure shows the results of performing chaotic time series prediction according to the second embodiment of the present invention. [Figure 8] This figure shows the results of performing chaotic time series prediction according to a comparative example of the second embodiment of the present invention. [Figure 9] This figure shows the relationship between the size of the reservoir layer and the mean squared error in a comparative example of the second embodiment of the present invention. [Figure 10] This figure shows an example of a schematic configuration of a self-modulating reservoir computing system according to the first modified example of the present invention. [Figure 11] This figure shows an example of a schematic configuration of a self-modulating reservoir computing system according to a second embodiment of the present invention. [Figure 12] This is a schematic block diagram showing the configuration of a computer according to an embodiment of the present invention. [Figure 13] This diagram shows a schematic configuration of a conventional reservoir computing system. [Modes for carrying out the invention]

[0017] (Embodiment) Embodiments of the present invention will be described in detail below with reference to the drawings. (About reservoir computing) Before describing the reservoir computing according to this embodiment, a conventional reservoir computing system will be described. Figure 13 is a diagram showing the schematic configuration of a conventional reservoir computing system 900. The reservoir computing system 900 comprises an input layer 911, a reservoir layer 913, an output layer 915, a coupling 912 from the input layer 911 to the reservoir layer 913, and a coupling 914 from the reservoir layer 913 to the output layer 915.

[0018] The input layer 911 and output layer 915 each consist of one or more nodes. For example, if the reservoir computing system 900 is configured as a neural network, the nodes are configured as neurons. The reservoir layer 913 comprises nodes and unidirectional edges that transmit data between the nodes of the reservoir layer 913 by multiplying it by a weight coefficient.

[0019] In the reservoir computing system 900, data is input to the nodes of the input layer 911. The connection 912 from the input layer 911 to the reservoir layer 913 is configured as a set of edges connecting the nodes of the input layer 911 and the nodes of the reservoir layer 913. The connection 912 transmits a value obtained by multiplying the value of the node in the input layer 911 by a weight coefficient to the node in the reservoir layer 913. The connection 914 from the reservoir layer 913 to the output layer 915 is configured as a set of edges connecting the nodes of the reservoir layer 913 to the nodes of the output layer. The connection 914 transmits a value obtained by multiplying the value of the node in the reservoir layer 913 by a weight coefficient to the node in the output layer 915.

[0020] In Figure 13, the coupling 912 from the input layer 911 to the reservoir layer 913 and the coupling 914 from the reservoir layer 913 to the output layer 915 are indicated by arrows. The reservoir computing system 900 learns only the weights (weight coefficient values) of the connections 914 from the reservoir layer 913 to the output layer 915. On the other hand, the weights of the connections 912 from the input layer 911 to the reservoir layer 913, and the weights of the edges between nodes in the reservoir layer are not studied and take on constant values. Because the reservoir computing system 900 learns only the weights of the connections 914 from the reservoir layer 913 to the output layer 915, it achieves faster learning compared to models that learn layers other than the output layer, such as deep learning models.

[0021] The reservoir computing system 900 may, but is not limited to, be configured as a neural network. For example, the reservoir computing system 900 may be configured as a model representing any dynamical system.

[0022] When a neural network is used as the dynamical system (echo state network), the reservoir computing system 900 is configured as the model shown by equations (1) and (2).

[0023]

number

[0024]

number

[0025] Here, u(t) = {u1(t), u2(t), ..., u K u(t) is the input vector that constitutes the input layer 911. K is a positive integer indicating the number of nodes in the input layer 911. That is, u(t) is a vector representing the input time series data to the reservoir computing system 900. Since the nodes of the input layer 911 take the values ​​of the input data, u(t) is also a vector representing the values ​​of the nodes in the input layer 911.

[0026] x(t) = {x1(t), x2(t), ..., x N (t) is the vector representation of the dynamical system that constitutes the reservoir layer 913. N is a positive integer indicating the number of nodes in the reservoir layer 913. That is, x(t) is a vector representing the node values ​​of the reservoir layer 913.

[0027] y(t)={y1(t),y2(t),…,y M y(t) is the output vector. M is a positive integer indicating the number of nodes in the output layer 915. That is, y(t) is a vector representing the node values ​​of the output layer 915. Since the reservoir computing system 900 outputs the node values ​​of the output layer 915, y(t) is also a vector representing the output data of the reservoir computing system 900.

[0028] f(·) is a function representing the time evolution of the state of the reservoir layer 913. f(·) is, for example, tanh(·). Here, tanh(·) represents the Hyperbolic Tangent Function. As described above, x(t) on the left side of Equation (1) is a vector, and f(·) on the right side means a vector having function values as components. The reservoir computing system 900 receives inputs from the object to be predicted and learned every prediction time step Δt. The prediction time step Δt takes a sufficiently small value according to the speed of the state change of the object to be predicted and learned. In Equations (1) and (2), the value of the prediction time step Δt is set to 1.

[0029] Into f(·), together with the value of the node of the input layer 911 at time t (i.e., u(t)), the value of the node of the reservoir layer 913 at time t−1 (i.e., x(t−1)) is input. When input into f(·), the value of the node of the reservoir layer 913 is multiplied by the weight coefficient at each individual edge between the nodes of the reservoir layer 913. Also, when input into f(·), the value of the node of the input layer 911 is multiplied by the weight coefficient at each individual edge constituting the connection 912.

[0030] W res is a matrix indicating the connection strength between the nodes of the reservoir layer 913. W res 's elements indicate the weight coefficients at the individual edges between the nodes of the reservoir layer 913 described above. Let R NxN be a set of N×N real matrices, then W res ∈R NxN is shown as. W res is also referred to as the connection matrix of the reservoir. W in is a matrix indicating the connection strength from the input layer 911 to the reservoir layer 913. W in 's elements indicate the weight coefficients at the individual edges constituting the connection 912 described above. Let R NxK be a set of N×K real matrices, then W in ∈R NxK is shown as.

[0031] W out This is a matrix showing the coupling strength from the reservoir layer 913 to the output layer 915. out The elements of R represent the weight coefficients at each individual edge that makes up the connection 914. MxN If we let be the set of M x N real matrix numbers, then W out ∈R MxN This is indicated. W out This is also called the output combination matrix, or simply the output matrix.

[0032] (Hardware implementation of reservoir computing) As mentioned above, the reservoir computing system 900 can be constructed using a variety of dynamical systems. Here, a dynamical system is a system whose state changes over time according to certain rules. Examples of dynamical systems include neural networks or physical phenomena (such as the motion of a ball). Because the reservoir computing system 900 can be constructed using a variety of dynamical systems, hardware implementation is easy.

[0033] Implementing reservoir computing in hardware makes it possible to perform calculations faster and with lower power consumption than when performing reservoir computing in software using a CPU (Central Processing Unit). Therefore, when considering applications in real-world settings, it is important to consider not only the algorithms of reservoir computing but also the hardware implementation.

[0034] Examples of hardware implementations for reservoir computing include implementations using electronic circuits such as Field Programmable Gate Arrays (FPGAs), Graphical Processing Units (GPUs), or Application Specific Integrated Circuits (ASICs). The reservoir computing system 900 may also be implemented using one of these methods. Furthermore, as an implementation of reservoir computing other than electronic circuits, there are reports of implementations using physical hardware, known as physical reservoirs. For example, implementations using spintronics and optical systems are known. The reservoir computing system 900 may also be implemented using one of these methods.

[0035] (Regarding self-modulated reservoir computing) Next, we will describe the self-modulating reservoir computing that is the reservoir computing according to this embodiment. Figure 1 is a diagram showing an example of the schematic configuration of the self-modulating reservoir computing system 200 according to this embodiment. The self-modulating reservoir computing system 200 comprises an input layer 211, a reservoir layer 213, and an output layer 215. Although not denoted by reference numerals in Figure 1, the self-modulating reservoir computing system 200 includes a coupling from the input layer 211 to the reservoir layer 213 and a coupling from the reservoir layer 213 to the output layer 215.

[0036] The self-modulating reservoir computing system 200 differs from the conventional reservoir computing system 900 in that it dynamically self-modulates the operation (or processing) of the reservoir layer 213. Dynamic self-modulation means modulating (changing) the intensity of the input signal and the internal coupling strength of the reservoir layer 213 based on the output from the reservoir layer 213 at each time point.

[0037] The self-modulating reservoir computing system 200 is configured as the model shown by equations (3), (4), (5), and (6).

[0038]

number

[0039]

number

[0040]

number

[0041]

number

[0042] Comparing equation (3) with equation (1) described above, we see that the function representing the time evolution of the state of the reservoir layer 213 is shown in concrete form as tanh(·), that is, the hyperbolic tangent function, and that the value input to this function is a coupled modulation gate g res , and input gate g in The difference lies in the modulation applied by [the function]. Note that, similar to equation (1), x(t) on the left side is a vector, and tanh(·) on the right side represents a vector whose components are the values ​​of the hyperbolic tangent function.

[0043] In equation (3), the coupled modulation gate g res This shows the modulation value with respect to the internal coupling strength of the reservoir layer 213. Input gate g in This indicates the modulation value relative to the intensity of the input signal. Coupled modulation gate g res 、 and input gate g in These are real numbers, each with a value that depends on time. The coupled modulation gate g res This is common to all coupling strengths between nodes in the reservoir layer 213. Input gate g in This is common to all nodes in the input layer 211.

[0044] Equation (4) shows the coupled modulation gate g res This shows the specific form of the coupled modulation gate g. res The output x(t) from the reservoir layer 213 at time t is given a modulation weight W. fb res The value multiplied by bias b fb res The sum of these two values ​​is given as the input value to the sigmoid function.

[0045] Equation (5) shows the input gate g in This shows the specific form. In other words, input gate g in The output x(t) from the reservoir layer 213 at time t is given a modulation weight W. fb in The value multiplied by bias b fb in The sum of these two values ​​is given as the input value to the sigmoid function. The sigmoid function is given by equation (7).

[0046]

number

[0047] In the following explanation, the modulation weight W fb in , and modulation weight W fb res Each of these, or the modulation weight W fb in , and modulation weight W fb res This is collectively called a feedback coupling.

[0048] As shown in equation (3), the output x(t) from the reservoir layer 213 at time t is obtained by inputting the sum of the first value and the second value into the hyperbolic tangent function. Here, the first value is the vector x(t-1) representing the node value of the reservoir layer 913 at time t-1, plus the binding matrix W of the reservoir layer 913. res The value multiplied by this is further multiplied by the coupled modulation gate g at time t-1. res This is the value multiplied by (t-1). The second value is the vector u(t) representing the node value of input layer 911 at time t1, multiplied by the matrix W representing the coupling strength from input layer 211 to reservoir layer 213. in The value multiplied by this is further multiplied by the input gate g at time t-1. in This is the value multiplied by (t-1).

[0049] Furthermore, as shown in equation (6), the vector y(t) representing the output data of the reservoir computing system 900 is the output combination matrix W out The vector obtained by multiplying the output x(t) from the reservoir layer 213 at time t by the bias b out This is the vector after addition.

[0050] As described above, input gate g in This is common to all nodes in the input layer 211, and self-modulation is performed simply by multiplying it by the intensity of the input signal. Therefore, the self-modulating reservoir computing system 200 requires few hardware changes from the conventional reservoir computing system 900 for modulation of the intensity of the input signal, making hardware implementation easy. Also, in practical applications, the input signal is often a digital signal. When the input signal is a digital signal, some parts of the self-modulating reservoir computing system 200 may be implemented as digital circuits.

[0051] As described above, the coupled modulation gate g res This is common to all of the coupling strengths between nodes in the reservoir layer 213. Therefore, the self-modulating reservoir computing system 200 requires few hardware changes from the conventional reservoir computing system 900 for modulation of the internal coupling strength of the reservoir layer 213, making hardware implementation easy.

[0052] In equations (4) and (5), the activation function may be a function other than the sigmoid function. For example, the activation function may be an exponential function.

[0053] (Regarding the configuration of the machine learning system) Figure 2 shows an example of the functional configuration of the machine learning device 100 according to this embodiment. The machine learning device 100 includes an input unit 110, an intermediate processing unit 120, an output unit 130, an output learning unit 140, a modulation unit 150, a modulation weight learning unit 160, and a storage unit 170. The machine learning device 100 performs information processing based on a self-modulating reservoir computing system 200.

[0054] The input unit 110 acquires input data, which is time-series data. The input data can be represented as {u(t), u(t+1), ..., u(t+T)} using u(t) as described above. Here, T is a positive integer indicating the number of time-series data points. The input unit 110 acquires the input data sequentially. For example, the input unit 110 acquires u(t), u(t+1), ..., u(t+T) sequentially in this order. The input unit 110 corresponds to the input layer 211.

[0055] The intermediate calculation unit 120 performs calculations on the input data for each time point acquired by the input unit 110. The intermediate calculation unit 120 performs calculations based on a first result and a second result. The first result is the result of weighting the input data at the first time point (e.g., time t). The second result is the result of weighting the calculation result by the intermediate calculation unit 120 at the second time point (e.g., time t-1), which is the time immediately preceding the first time point in the time series data.

[0056] Here, the intermediate processing unit 120 is the input gate g in The first result is modulated based on the value of and the calculation is performed. In addition, the intermediate calculation unit 120 performs g res The second result is modulated based on the value of and the calculation is performed. The intermediate calculation unit 120 performs the calculation based on, for example, the above-described equation (3). The intermediate calculation unit 120 corresponds to the reservoir layer 213.

[0057] The output unit 130 outputs output data. The output data is based on the weighted output from the intermediate calculation unit 120. The output data can be expressed as {y(t), y(t+1), ..., y(t+T)} using y(t) as described above. Here, T is a positive integer representing the number of time-series data points in the input data. Therefore, the number of output data points is the same as the number of input data points. The output unit 130 corresponds to the output layer 215.

[0058] The output learning unit 140 learns the weights for the weighting of the output x(t) from the intermediate processing unit 120. These weights are assigned to the output matrix W out It corresponds to this.

[0059] The modulation unit 150 calculates the modulation value performed in the calculation by the intermediate calculation unit 120 based on the output x(t) from the intermediate calculation unit 120. The modulation unit 150 calculates the modulation value based on the result of weighting the output from the intermediate calculation unit 120 by modulation weights in the calculation by the intermediate calculation unit 120. This modulation is performed on the input gate g in , and coupled modulation gate g res That is the case.

[0060] The modulation weight learning unit 160 learns the modulation weights. The modulation weights are the feedback couplings (modulation weights W) described above. fb in , and modulation weight W fb res )

[0061] The memory unit 170 stores various types of data. For example, the memory unit 170 stores reservoir computing information A1. Reservoir computing information A1 is information indicating the configuration and status of the self-modulating reservoir computing system 200.

[0062] The configuration of the self-modulating reservoir computing system 200 includes nodes, connections between nodes, and weights (W) of the connections between nodes. in , W res , and W outThe state of the self-modulating reservoir computing system 200 includes the state of the intermediate arithmetic unit 120 (i.e., the reservoir layer 213). The state of the intermediate arithmetic unit 120 is indicated by the output x(t) from the reservoir layer 213, which is the result of the calculation performed by the intermediate arithmetic unit 120.

[0063] The state of the intermediate calculation unit 120 is determined by the calculation results at each time step performed by the intermediate calculation unit 120 (the state of the intermediate calculation unit 120 when the calculation for that time step is completed). Note that the time referred to here indicates which calculation step it is and does not necessarily refer to actual (physical) time. Furthermore, the reservoir computing information A1 includes the feedback coupling (modulation weight W) used by the modulation unit 150 to calculate the modulation value. fb in , and modulation weight W fb res ) is included.

[0064] (Regarding the learning process) This section describes the learning process in the self-modulating reservoir computing system 200. In the self-modulating reservoir computing system 200, as shown by equation (3), the node value of the reservoir layer 913 at time t-1 (i.e., x(t-1)) is used in the calculation performed by the reservoir layer 213 at time t. In other words, the self-modulating reservoir computing system 200 is a network with recursive connections. Learning such a network with recursive connections is difficult. Therefore, in the self-modulating reservoir computing system 200, the output matrix W out Learning and feedback coupling (modulation weight W fb in , and modulation weight W fb res The learning of each of these subjects is carried out individually.

[0065] FIG. 3 is a diagram showing an example of the learning process by the machine learning device 100 according to the present embodiment. The learning process shown in FIG. 3 is performed in advance at a time before the prediction process is performed by the machine learning device 100. The prediction process refers to a process of making a prediction based on input data.

[0066] Step S10: The output learning unit 140 performs learning of the output layer 215. The output learning unit 140 performs learning of the output matrix W out using teacher data. The teacher data is a set of prepared input data and output data. For example, the teacher data is a pair {u Te (t), y Te (t)}, (t = 0, Δt, 2Δt,..., TΔt) composed of. The superscript Te in u Te (t) indicates that it is an input vector for learning. The superscript Te in y Te (t) indicates that it is an output vector for learning.

[0067] When the input vector u Te (t) of this teacher data develops the reservoir layer 913 over time, vectors x(0), x(Δt), x(2Δt),..., x(TΔt) indicating the internal state of the reservoir layer 913 are obtained. The learning of the output matrix W out is performed by reducing the difference between the output vector y(t) and the teacher data y Te (t) of the output vector using the internal state of the reservoir layer 913. As a method for reducing the difference between the output vector y(t) and the teacher data y Te (t) of the output vector, for example, ridge regression can be used. After that, the machine learning device 100 executes the process of step S20.

[0068] Step S20: The modulation weight learning unit 160 performs feedback coupling (modulation weights W fb in and modulation weights W fb resPerform the learning of (). The modulation weight learning unit 160 uses a mini-batch and a gradient method in the learning of the feedback connection.

[0069] The modulation weight learning unit 160 randomly selects B unused (where B is a natural number) teacher data items from the shuffled teacher data in ascending order. However, if there is no unused teacher data, the modulation weight learning unit 160 reshuffles the teacher data again to use it as unused teacher data. The B teacher data items thus selected are called a mini-batch. Here, the teacher data used for the learning of the feedback connection may be the teacher data used for the learning of the output matrix W out described above.

[0070] The modulation weight learning unit 160 obtains the output data output from the output layer 215 when the input data included in the mini-batch is input to the input layer 211. The modulation weight learning unit 160 uses the gradient method to update the feedback connection (modulation weights W fb in and modulation weights W fb res ) based on the obtained output data and the output data included in the mini-batch. The gradient method is a method of calculating parameters such that the parameters change in the direction of the gradient that makes the error (objective function) smaller. Here, the feedback connection (modulation weights W fb in and modulation weights W fb res ) correspond to the parameters. That is, the modulation weight learning unit 160 performs the learning of the modulation weights based on the gradient of the modulation weights with respect to the error between the output data included in the teacher data and the output data included in the teacher data when the input data included in the teacher data is obtained as the input data.

[0071] The modulation weight learning unit 160 repeats the above-described update of the feedback connection a predetermined number of times in units of mini-batches. Note that the modulation weight learning unit 160 may repeat the above-described update of the feedback connection until the error (objective function) converges. Subsequently, the machine learning device 100 executes the process in step S30.

[0072] Step S30: The output learning unit 140 determines whether the learning termination condition has been met. The learning termination condition is, for example, that each process in step S10 and step S20 is executed a predetermined number of times. If the output learning unit 140 determines that the learning termination condition has been met (step S30; YES), the machine learning device 100 terminates the learning process. On the other hand, if the output learning unit 140 determines that the learning termination condition has not been met (step S30; NO), the machine learning device 100 executes the process in step S10 again. The processing in step S30 may also be performed by the modulation weight learning unit 160. With this, the machine learning device 100 terminates the learning process.

[0073] As described above, the learning by the output learning unit 140 and the learning by the modulation weight learning unit 160 are performed separately. In this embodiment, the output matrix W out We have described an example where learning of the modulation weights and learning of the feedback coupling are performed alternately and repeatedly, but this is not the only example. Learning of the feedback coupling involves the modulation weights W fb in Learning and modulation weight W fb res The learning and processing may be performed separately. In that case, for example, the output matrix W out Learning of modulation weights W fb in Learning, output matrix W out Learning and modulation weights W fb res The learning process may be repeated in this order.

[0074] Also, the modulation weight W fb in Learning and modulation weight W fb res Only one of the following may be performed: learning of the modulated weight W. fb in Learning and modulation weight W fbres Learning of this does not need to be performed. In other words, learning of the feedback coupling does not need to be performed. Modulation weight W fb in If learning is not performed, the modulation weight W fb in The value of is a predetermined constant value. Modulation weight W fb res If learning is not performed, the modulation weight W fb res The value of is a predetermined constant value. Note that if feedback coupling learning is not performed, the modulation weight learning unit 160 may be omitted from the configuration of the machine learning device 100. Furthermore, performing feedback coupling training can improve prediction performance compared to not performing feedback coupling training.

[0075] (Regarding prediction processing) Figure 4 shows an example of prediction processing by the machine learning device 100 according to this embodiment. Prediction processing is performed after the learning processing described above has been carried out in advance.

[0076] Step S110: The input unit 110 acquires input data, which is time-series data. Subsequently, the machine learning device 100 executes the process of step S120.

[0077] Step S120: The modulation unit 150 calculates the modulation value performed in the calculation by the intermediate calculation unit 120 based on the output from the intermediate calculation unit 120. The modulation unit 150 calculates the modulation value based on the result of weighting the output from the intermediate calculation unit 120 by modulation weights in the calculation by the intermediate calculation unit 120. Subsequently, the machine learning device 100 executes the process of step S130.

[0078] Step S130: The intermediate calculation unit 120 modulates the first result and the second result based on the modulation value calculated by the modulation unit 150 and performs calculations. The first result is the result of weighting the input data at the first time step. The second result is the result of weighting the calculation result by the intermediate calculation unit 120 at the second time step, which is the time immediately preceding the first time step in the time series data. Subsequently, the machine learning device 100 executes the process of step S140.

[0079] Step S140: The output unit 130 outputs output data based on the weighted results of the output from the intermediate calculation unit 120. For example, the output unit 130 outputs the output data to a server or display device separate from the machine learning device 100. Subsequently, the machine learning device 100 executes the process of step S130. With this, the machine learning device 100 terminates the prediction process.

[0080] In this embodiment, an example has been described in which the intermediate calculation unit 120 modulates the first result (the result of weighting the input data at the first time step) and the second result (the result of weighting the calculation result by the intermediate calculation unit 120 at the second time step, which is the time immediately preceding the first time step in the time series data) based on the modulation value calculated by the modulation unit 150, and performs calculations. However, the invention is not limited to this example. The intermediate calculation unit 120 may modulate at least one of the first result and the second result based on the modulation value calculated by the modulation unit 150 and perform calculations. For example, the intermediate calculation unit 120 may modulate only the first result of the two results and perform calculations. Alternatively, the intermediate calculation unit 120 may modulate only the second result of the two results and perform calculations.

[0081] Furthermore, in this embodiment, the input gate g inAn example was described in which the value is common to all nodes of the input layer 211. In other words, the input data consists of multiple components, and the modulation value for the first result (the result of weighting the input data at the first time step) calculated by the modulation unit 150 is common to multiple components of the input data. However, this is not the only example. Input gate g in This may differ for each node in the input layer 211. In that case, for example, the input gate g may differ for each node in the input layer 211. in The form of the activation function used to calculate may be different. In that case, for example, at a certain node, the input gate g in The activation function used to calculate this is a sigmoid function as shown in equation (5), while at another node, it is an exponential function.

[0082] Also, input gate g in This may differ for each group when the nodes of the input layer 211 are grouped together. Each group contains one or more nodes of the input layer 211. As the number of input layer 211 nodes in a group increases (the group size increases), the degree of freedom in modulation with respect to the intensity of the input signal decreases, but hardware implementation becomes easier.

[0083] Furthermore, in this embodiment, the coupled modulation gate g res An example was described in which the coupling strength between nodes of the reservoir layer 213 is common to all of them. In other words, the calculation result by the intermediate calculation unit 120 consists of multiple components, and the modulation value for the second result calculated by the modulation unit 150 (the result of weighting the calculation result by the intermediate calculation unit 120 at the second time step, which is the time immediately preceding the first time step in the time series data) is described in an example in which the coupling value is common to multiple components of the calculation result by the intermediate calculation unit 120, but is not limited to this. Coupling modulation gate g res This may differ for each coupling strength between nodes of the reservoir layer 213. In that case, for example, the coupling modulation gate g may differ for each coupling strength between nodes of the reservoir layer 213. res The form of the activation function used to calculate may be different. In that case, for example, at a certain coupling strength, the coupling modulation gate gres The activation function used to calculate the result is a sigmoid function as shown in equation (4), and an exponential function for other binding strengths.

[0084] Also, coupling modulation gate g res The coupling strength between nodes of the reservoir layer 213 may differ for each group. Each group contains one or more nodes of the reservoir layer 213. As the number of coupling strengths between nodes of the reservoir layer 213 included in a group increases (the group size increases), the degree of freedom for modulation of the internal coupling strength of the reservoir layer 213 decreases, but hardware implementation becomes easier.

[0085] The modulation unit 150 has been described as an example in which it calculates the modulation value based on the result of weighting the output from the intermediate arithmetic unit 120 by modulation weights in the calculation performed by the intermediate arithmetic unit 120, but it is not limited to this example. The modulation unit 150 may also calculate the modulation value as the value of a predetermined function when the output from the intermediate arithmetic unit 120 is input to that predetermined function. For example, it may be a multilayer neural network.

[0086] In this embodiment, an example in which the reservoir layer is composed of a neural network has been described, but the embodiment is not limited to this. The reservoir layer is a moduloable dynamical system f_g as shown in equation (8) below. res A self-modulating reservoir layer can be created using (·).

[0087]

number

[0088] (First embodiment) A first embodiment of this model will now be described. In this first embodiment, the results obtained when the machine learning device 100 is made to perform a memory task will be described. The time series data used as input data is data representing a square wave. Here, the time series data contains noise during times when a square wave is not generated. The objective of the memory task in the first embodiment is that when input data of a square wave containing noise is received, a square wave with the same waveform as the input data will be output after a certain period of time.

[0089] Figure 5 shows the execution results of the memory task according to this embodiment. In Figure 5, input data containing a square wave is shown in the interval from time 50 to 60. In this input data, noise is included in intervals other than the interval from time 50 to 60. In Figure 5, the output x(t) for each node from the reservoir layer 213 is shown. In Figure 5, the output data output from the output layer 215 is shown together with the output data included in the training data. The waveform of the output data output from the output layer 215 reproduces the waveform of the output data included in the training data.

[0090] Also, in Figure 5, input gate g in The value of the coupling modulation gate g res The values ​​of each are shown for each time point. Comparing the waveforms of the input data with the time-dependent values ​​of their feedback coupling, it can be seen that when a square wave is input to the input data, the input gate increases, and when the square wave signal disappears, the input gate decreases. In other words, the input gate functions to allow only the square wave signal to enter the reservoir layer, while preventing noise signals from entering. Furthermore, after the input of a square wave, the value of the coupling modulation gate increases. In other words, the coupling modulation gate functions to retain information within the reservoir layer. Thus, in the machine learning device 100 based on the self-modulating reservoir computing system 200, signal (square wave) information is efficiently retained within the reservoir layer through gating.

[0091] For comparison with this embodiment, the execution results of a memory task using a conventional reservoir computing system 900 are shown. Figure 6 shows the execution results of a memory task related to a comparative example of this embodiment. In Figure 6, the output data and the node-by-node output x(t) from the reservoir layer 913 are shown when the same input data as shown in Figure 5 is used. According to the output data shown in Figure 6, the conventional reservoir computing system 900 cannot reproduce the square wave contained in the input data in the output data.

[0092] (Second example) A second embodiment of this designation will now be described. In the second embodiment, the results obtained when the machine learning device 100 is used to perform chaotic time series prediction will be described. In the chaotic time series prediction of the second embodiment, noise was added to the input data in the Lorentz model. Here, as the input data, a value was selected in which noise was added to x, one of the three-dimensional Cartesian coordinates x, y, and z at each time step. As the output data, a value of z at a predetermined step ahead of the input data was selected.

[0093] Figure 7 shows the results of chaotic time series prediction according to this embodiment. In Figure 7, the input data, the output from each node of the reservoir layer 213, and the output data output from the output layer 215 are shown together with the output data included in the training data. Also in Figure 7, the input gate g in The value of the coupling modulation gate g res The values ​​are shown for each time point.

[0094] Furthermore, for comparison with this embodiment, the results of chaotic time series prediction using a conventional reservoir computing system 900 are shown. Figure 8 shows the results of chaotic time series prediction related to a comparative example of this embodiment. In Figure 8, the input data, the output from each node of the reservoir layer 913, and the output data output from the output layer 915 are shown together with the output data included in the training data.

[0095] Here, to compare the prediction accuracy of the self-modulated reservoir computing system 200 with that of the reservoir computing system 900, the mean square error (MSE) was calculated. A lower MSE value indicates higher prediction accuracy. In the results shown in Figure 7, the MSE value was 0.0140. In the results shown in Figure 8, the MSE value was 0.101. In other words, according to this embodiment, in chaotic time series prediction, the prediction accuracy of the self-modulated reservoir computing system 200 was 10 times higher in terms of MSE value compared to the prediction accuracy of the reservoir computing system 900.

[0096] In addition, in this embodiment, for comparison, the relationship between the size of the reservoir layer 913 included in the conventional reservoir computing system 900 and the prediction accuracy was investigated. The size of the reservoir layer 913 is the number of nodes included in the reservoir layer 913. The prediction accuracy was evaluated based on MSE. Figure 9 is a diagram showing the relationship between the size of the reservoir layer and MSE in a comparative example of this embodiment. In Figure 9, the MSE value for the prediction result by the reservoir computing system 900 is shown for each value of noise added to the input data. Also in Figure 9, the MSE value for the prediction result by the self-modulating reservoir computing system 200 when the size of the reservoir layer 213 is fixed at 100 is shown for each value of noise.

[0097] The graphs for "RC,noise:0.1", "RC,noise:0.01", and "RC,noise:0.001" show the relationship between the size of the reservoir layer 913 and the MSE value relative to the prediction results by the reservoir computing system 900 for noise values ​​of 0.1, 0.01, and 0.001, respectively. The graphs for "proposed,noise:0.1", "proposed,noise:0.01", and "proposed,noise:0.001" show the MSE value relative to the prediction results by the self-modulated reservoir computing system 200 for noise values ​​of 0.1, 0.01, and 0.001, respectively. The larger the noise level, the more difficult the prediction becomes, and therefore the lower the prediction accuracy. In other words, the larger the noise level, the larger the MSE value.

[0098] In the conventional reservoir computing system 900, it can be seen that the prediction accuracy improves as the size of the reservoir layer 913 increases. On the other hand, in the self-modulating reservoir computing system 200, where the size of the reservoir layer 213 is fixed at 100, higher prediction accuracy is achieved for each noise value than that of the reservoir computing system 900 when the size of the reservoir layer is 8 times larger (when the size of the reservoir layer is 800).

[0099] (First variation) Figure 10 shows an example of the schematic configuration of the self-modulating reservoir computing system 300 according to this modified example. The self-modulating reservoir computing system 300 comprises an input layer 311, a parallel reservoir layer 313, and an output layer 315. The parallel reservoir layer 313 is composed of a plurality of reservoir layers arranged in parallel. In Figure 10, reservoir layer 313-1 and reservoir layer 313-2 are shown among the plurality of reservoir layers.

[0100] Each of the multiple reservoir layers constituting the parallel reservoir layer 313 receives the common input of the weighting results for the nodes of the input layer 311. The calculation results output by each of the multiple reservoir layers constituting the parallel reservoir layer 313 are combined and output to the output layer 315 as the output from the parallel reservoir layer 313. Here, the combined value of the calculation results output by each of the multiple reservoir layers is, for example, the concatenation, averaging, or weighted average of the calculation results of the multiple reservoir layers.

[0101] In the parallel reservoir layer 313, at least one of the internal coupling strength of the reservoir layer and the strength of the input signal is modulated in each of the multiple reservoir layers constituting the parallel reservoir layer 313, similar to the reservoir layer 213 according to the embodiment described above. In the parallel reservoir layer 313, the modulation of the internal coupling strength of each of the multiple reservoir layers constituting the parallel reservoir layer 313 and the modulation of the strength of the input signal are performed based on the output from the parallel reservoir layer 313, rather than the output from the respective reservoir layer, which is different from the reservoir layer 213.

[0102] (Second variation) Figure 11 shows an example of a schematic configuration of the self-modulated reservoir computing system 400 according to this modified example. The self-modulated reservoir computing system 400 comprises an input layer 411, a multilayer reservoir layer 413, and an output layer 415. The multilayer reservoir layer 413 is composed of multiple reservoir layers arranged in series. In Figure 11, as an example, the multilayer reservoir layer 413 is composed of two reservoir layers (reservoir layer 413-1 and reservoir layer 413-2).

[0103] The self-modulating reservoir computing system 400 is provided with a coupling from the input layer 411 to the reservoir layer 413-1, a coupling from the reservoir layer 413-1 to the reservoir layer 413-2, and a coupling from the reservoir layer 413-2 to the output layer 415.

[0104] The reservoir layer 413-1 receives the weighting results for the nodes in the input layer 411. The calculation results output by the reservoir layer 413-1 are then output to the reservoir layer 413-2. The reservoir layer 413-2 receives the results of weighting the nodes of the reservoir layer 413-2 as input. The calculation results output by the reservoir layer 413-2 are output to the output layer 415.

[0105] In the reservoir layer 413-1, at least one of the internal coupling strength of the reservoir layer 413-1 and the intensity of the input signal is modulated, similar to the reservoir layer 213 according to the embodiment described above. In the reservoir layer 413-1, the modulation of the internal coupling strength of the reservoir layer 413-1 and the modulation of the intensity of the input signal are performed not based on the output from the reservoir layer 413-1, but on a value obtained by combining the output from the reservoir layer 413-1 and the output from the reservoir layer 413-2, respectively. Here, the value obtained by combining the output from the reservoir layer 413-1 and the output from the reservoir layer 413-2 is, for example, a vector obtained by linking the output from the reservoir layer 413-1 and the output from the reservoir layer 413-2.

[0106] In the reservoir layer 413-2, at least one of the internal coupling strength of the reservoir layer 413-2 and the calculation result output by the reservoir layer 413-1 is modulated. The modulation of the internal coupling strength of the reservoir layer 413-2 and the modulation of the calculation result output by the reservoir layer 413-1 are each performed based on the output from the reservoir layer 413-2.

[0107] As described above, the machine learning apparatus 100 according to this embodiment includes an input unit 110, an intermediate calculation unit 120, an output unit 130, an output learning unit 140, and a modulation unit 150. The input unit 110 acquires input data, which is time-series data. The intermediate calculation unit 120 performs calculations based on a first result of weighting the input data at the first time step and a second result of weighting its own calculation results at the second time step, which is the time immediately preceding the first time step in the time series data. The output unit 130 outputs output data based on the result of weighting the output from the intermediate calculation unit 120. The output learning unit 140 learns the weights for assigning weights to the output from the intermediate processing unit 120. The modulation unit 150 calculates the modulation value performed in the calculation by the intermediate calculation unit 120 based on the output from the intermediate calculation unit 120. The intermediate calculation unit 120 modulates at least one of the first result and the second result based on the modulation value calculated by the modulation unit 150 and performs calculations.

[0108] With this configuration, the machine learning device 100 according to this embodiment can modulate at least one of the first result of weighting the input data and the second result of weighting its own calculation result at the second time step, which is the time immediately preceding the first time step in the time series data. This allows for improved prediction performance while maintaining the hardware implementability of the reservoir computer. Hardware implementability of the reservoir computer refers, for example, to the hardware implementability of a conventional reservoir computing system 900.

[0109] Figure 12 is a schematic block diagram showing the configuration of a computer according to an embodiment. In the configuration shown in Figure 12, the computer 700 comprises a CPU (Central Processing Unit) 710, a main memory 720, an auxiliary memory 730, and an interface 740.

[0110] The above-described machine learning device 100 may be implemented in a computer 700. In that case, the operation of each of the above-described processing units is stored in auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from auxiliary storage device 730, loads it into main memory 720, and executes the above-described processing according to the program. The CPU 710 also allocates memory areas in main memory 720 corresponding to each of the above-described memory units according to the program.

[0111] When the machine learning device 100 is implemented in the computer 700, the operations of the input unit 110, the intermediate processing unit 120, the output unit 130, the output learning unit 140, the modulation unit 150, and the modulation weight learning unit 160 are stored in auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, loads it into the main memory device 720, and executes the operation of each unit according to the program.

[0112] Data acquisition by the input unit 110 is performed when the interface 740, for example, has a communication function and receives data from other devices under the control of the CPU 710. Data output by the output unit 130 is performed when the interface 740, for example, has an output function such as a communication function or a display function and performs output processing under the control of the CPU 710. The CPU 710 also reserves a storage area in the main memory 720 corresponding to the storage unit 170.

[0113] Alternatively, a program for realizing all or part of the functions of the machine learning device 100 may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be loaded into a computer system and executed to perform the processing of each part. Here, "computer system" includes hardware such as the OS (operating system) and peripheral devices. "Computer-readable recording media" refers to portable media such as flexible disks, magneto-optical disks, ROMs (Read Only Memory), CD-ROMs (Compact Disc Read Only Memory), and storage devices such as hard disks built into computer systems. Furthermore, the above-mentioned program may only be for the purpose of implementing some of the functions described above, and may also be able to implement the above-mentioned functions in combination with programs already recorded in the computer system.

[0114] Although one embodiment of this invention has been described in detail above with reference to the drawings, the specific configuration is not limited to that described above, and various design changes can be made without departing from the spirit of this invention. [Explanation of Symbols]

[0115] 100...Machine learning device, 110...Input unit, 120...Intermediate processing unit, 130...Output unit, 140...Output learning unit, 150...Modulation unit

Claims

1. The input unit acquires time-series data, An intermediate calculation unit performs calculations based on a first result of weighting the input data at a first time step and a second result of weighting its own calculation result at a second time step, which is the time immediately preceding the first time step in the time series data. An output unit that outputs output data based on the result of weighting the output from the intermediate calculation unit, An output learning unit that learns the weights for assigning weights to the output from the intermediate processing unit, A modulation unit that calculates the modulation value performed in the calculation by the intermediate calculation unit based on the output from the intermediate calculation unit, Equipped with, The intermediate calculation unit modulates at least one of the first result and the second result based on the modulation value calculated by the modulation unit and performs the calculation. Machine learning device.

2. The modulation unit calculates the modulation value based on the result of weighting the output from the intermediate calculation unit by the modulation weight in the calculation performed by the intermediate calculation unit. The system further comprises a modulation weight learning unit that learns the aforementioned modulation weights. The machine learning apparatus according to claim 1.

3. The learning by the output learning unit and the learning by the modulation weight learning unit are performed separately. The machine learning apparatus according to claim 2.

4. The modulation weight learning unit learns the modulation weights based on the gradient of the error of the output data relative to the output data included in the training data, which is a set of pre-prepared input data and output data, when the input data included in the training data is acquired as the input data. The machine learning apparatus according to claim 3.

5. The aforementioned input data consists of multiple components, The modulation value for the first result calculated by the modulation unit is common to multiple components of the input data. The machine learning apparatus according to claim 1.

6. The calculation result by the intermediate calculation unit consists of multiple components, The modulation value for the second result calculated by the modulation unit is common to multiple components of the calculation result by the intermediate calculation unit. The machine learning apparatus according to claim 1.

7. The input step involves obtaining input data, which is time-series data. An intermediate calculation step that performs calculations based on a first result of weighting the input data at a first time step and a second result of weighting the calculation result performed by itself at a second time step, which is the time immediately preceding the first time step in the time series data; An output step that outputs output data based on the result of weighting the output from the intermediate calculation step, An output learning step that learns the weights for the weighting of the output from the intermediate calculation step, A modulation step that calculates the value of the modulation performed in the calculation by the intermediate calculation step based on the output from the intermediate calculation step, It has, The intermediate calculation step modulates at least one of the first result and the second result based on the modulation value calculated in the modulation step and performs the calculation. The information processing method performed by computers.

8. On the computer, The input step involves obtaining input data, which is time-series data. An intermediate calculation step that performs calculations based on a first result of weighting the input data at a first time step and a second result of weighting the calculation result performed by itself at a second time step, which is the time immediately preceding the first time step in the time series data; An output step that outputs output data based on the result of weighting the output from the intermediate calculation step, An output learning step that learns the weights for the weighting of the output from the intermediate calculation step, A modulation step that calculates the value of the modulation performed in the calculation by the intermediate calculation step based on the output from the intermediate calculation step, A program to execute, The intermediate calculation step modulates at least one of the first result and the second result based on the modulation value calculated in the modulation step and performs the calculation. program.