Information processing device
A hybrid reservoir and linear node layer configuration enhances reservoir computing by allowing for more past input information utilization, improving memory capacity and prediction accuracy.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NAT UNIV CORP KYUSHU INST OF TECH (JP)
- Filing Date
- 2024-11-27
- Publication Date
- 2026-06-08
Smart Images

Figure 2026093028000001_ABST
Abstract
Description
Technical Field
[0004] , , , , , , , ,
[0005]
[0001] The present invention relates to a technology of an information processing apparatus that performs machine learning.
Background Art
[0002] Technologies of machine learning using neural networks and the like have been developed. As shown in Patent Document 1, there is a technology called reservoir computing as one of the technologies related to machine learning. In reservoir computing, a reservoir layer is arranged as an intermediate layer between the output layer and the input layer in a learning model. A plurality of nodes constituting the reservoir layer are recursively connected. According to this, there is an advantage that the correct output can be estimated by referring to the past inputs at continuous times. Also, in reservoir computing, since learning of the intermediate layer is not performed, there is an advantage that the number of processes (computation cost) required for learning can be suppressed. Further, Non-Patent Document 1 presents a method of applying a control clock to a chaotic Boltzmann machine to operate it as a reservoir (hereinafter abbreviated as chaotic Boltzmann machine reservoir).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Non-Patent Documents
[0004] On the other hand, some reservoir computing methods allow for more complex predictions (representations), but they have the challenge that only information from the recent past is significantly used in the calculations.
[0006] Therefore, the present invention aims to provide a technology that enables calculations based on more past input information in reservoir computing. [Means for solving the problem]
[0007] One aspect of the present invention is an information processing device for training a model that estimates a correct output based on an input, the device having a model comprising three layers: an input layer; an intermediate layer that outputs an output value corresponding to an input value input from the input layer based on its internal state; and an output layer that outputs a value based on the output value output from the intermediate layer, wherein the intermediate layer is connected in parallel to the input layer by a reservoir layer, which is a collection of multiple nonlinear nodes each performing nonlinear operations, and a linear node layer, which is a collection of multiple linear nodes each performing linear operations, and the reservoir layer and the linear node layer are interconnected.
[0008] With this configuration, the reservoir layer and linear node layer are connected in parallel, resulting in improved memory capacity compared to cases where only the reservoir layer is included as an intermediate layer. Therefore, it becomes possible to estimate the correct output by referencing past inputs.
[0009] In the above configuration, the reservoir layer has information processing capability of order 4 or higher, and the reservoir From the information stored in the layer, it may be possible to infer (recover) only outputs corresponding to information within the last 5 steps. Thus, even if the reservoir layer alone can infer outputs corresponding to information within the last 5 steps, with this configuration, the presence of the linear node layer allows for the inference of the correct output by referring to inputs (data) from even earlier periods.
[0010] In the above configuration, the reservoir layer may be realized by random coupling of devices that exhibit nonlinear input / output responses in response to analog signals according to a rule. The reservoir layer may also be a chaotic Boltzmann machine reservoir. By using such a device, circuits that are not chaotic but exhibit near-chaotic behavior can easily explore a wide state space, enabling the recognition and prediction of complex patterns. This allows for more flexible and advanced computation.
[0011] In the above configuration, the nonlinear nodes utilize physical phenomena for computation, while the linear nodes may be implemented by integrated circuits. By implementing nonlinear nodes using physical phenomena (e.g., light, quantum mechanical effects, thermodynamic phenomena), it becomes possible to obtain sophisticated nonlinear responses that are difficult to reproduce with conventional electronic circuits or digital computers. On the other hand, by implementing linear nodes with integrated circuits (ICs), efficient and stable computation becomes possible. Therefore, by implementing nonlinear nodes using physical phenomena and linear nodes with integrated circuits, it becomes possible to construct a hybrid system that takes advantage of the characteristics of both. Note that while digital integrated circuits are machines that realize Boolean algebra using combinations of switches, analog integrated circuits can be considered to utilize physical phenomena.
[0012] In the above configuration, the system has a reservoir integrated circuit that feeds back each output of the circuit array performing the sum-accumulate operation to the input of the circuit array via a first processing unit or a second processing unit. The first processing unit is a processing unit that constitutes the linear node layer and outputs the result of the sum-accumulate operation without further processing. The second processing unit is a processing unit that constitutes the reservoir layer and performs a nonlinear operation on the result of the sum-accumulate operation. It may be possible to switch which of the first and second processing units each output of the circuit array is connected to. With such a configuration, the number of linear nodes and the number of nonlinear nodes in the information processing device (learning model) can be freely adjusted. Here, increasing the number of linear nodes (number of units) increases the memory capacity (it becomes possible to retain more past information), but decreases the nonlinear performance (its ability to perform complex predictions decreases). Increasing the number of nonlinear nodes (number of units) increases the nonlinear performance, but decreases the memory capacity. Therefore, it becomes possible to adjust the number of linear nodes and nonlinear nodes more appropriately according to the requirements of the user.
[0013] In the above configuration, the second processing unit may be a chaos Boltzmann machine reservoir. [Effects of the Invention]
[0014] According to the present invention, reservoir computing enables calculations based on more past input information. [Brief explanation of the drawing]
[0015] [Figure 1] This figure illustrates the learning model of the information processing device according to Embodiment 1. [Figure 2] This figure illustrates the reservoir layer and linear node layer according to Embodiment 1. [Figure 3] This is an example of a hardware configuration diagram of an information processing device according to Embodiment 1.
Best Mode for Carrying Out the Invention
[0016] Hereinafter, embodiments of the present invention will be described in detail based on the accompanying drawings. Note that the following embodiments do not limit the present invention. The descriptions in the embodiments can be arbitrarily combined as long as there is no contradiction.
[0017] <Embodiment 1> Hereinafter, the information processing apparatus 1 according to Embodiment 1 will be described. The information processing apparatus 1 is a learning apparatus having a learning model that estimates a correct output based on an input. The information processing apparatus 1 executes processing using reservoir computing. Hereinafter, an example in which the information processing apparatus 1 executes processing using a technique called a chaotic Boltzmann machine (CBM (Chaotic Boltzmann Machine)-reservoir computing (RC)) will be described. However, the information processing apparatus 1 may execute processing using other reservoir computing.
[0018] Patent Document 1 (and the prior art documents described in Patent Document 1) and Non-Patent Document 1 describe CBM-RC. Therefore, a detailed description of CBM-RC will be omitted hereinafter. That is, the techniques of Patent Document 1 and Non-Patent Document 1 are applicable to Embodiment 1 as long as there is no contradiction.
[0019] CBM-RC can be used for stock price prediction, weather prediction, time series prediction, speech recognition, image classification, anomaly detection (anomaly detection in manufacturing and security systems), and the like. Further, taking advantage of the characteristics of high efficiency and high-speed processing by CBM-RC, CBM-RC may be applicable to systems that require real-time data processing (such as an automatic driving vehicle control system and a financial transaction system).
[0020] Referring to FIGS. 1A and 1B, the information processing apparatus 1 will be described. As shown in FIG. 1A, the information processing apparatus 1 has an input layer 11, an intermediate layer 13, and an output layer 14 as a learning model. The intermediate layer 13 has a reservoir layer 30 and a linear node layer 31. In the reservoir layer 30, a plurality of non-linear nodes are recursively connected. The recursive connection means that the past input state affects the current output, and thus an improvement in performance when processing time-dependent data (such as audio, video, time-series data, etc.) can be expected. FIG. 1B is a diagram showing the configuration of the information processing apparatus 1 shown in FIG. 1A in more detail.
[0021] The input layer 11 has an input value imparting unit 16, and may further have an encoder 18 that converts the information amount into an amount suitable for the processing of the reservoir layer. For example, the input value imparting unit 16 has a plurality of units 15 that output time series of continuous values of a discrete-time system based on the input respectively. The encoder 18 has a plurality of units 17. The plurality of units 17 convert the values output from the plurality of units 15 into signals that the intermediate layer 13 can handle. The plurality of units 17 provide the converted signals as input values to the intermediate layer 13 (linear node layer 31 and reservoir layer 30).
[0022] The reservoir layer 30 is an aggregate of a plurality of units 12A (a plurality of non-linear nodes). The reservoir layer 30 can also be realized by utilizing physical phenomena. The physical phenomena here refer to various physical systems based on time-delay systems, cellular automata, non-linear dynamical systems (such as coupled oscillator systems), electric and electronics, light, spin, micro machines, chemical substances, nanoparticles, soft materials, cultured cells, etc. At least one of the input value from the input layer 11, the value output from the reservoir layer 30, and the value output from other units 12A is input to each of the plurality of units 12A. Each unit 12A changes the input value according to its internal state value and outputs it to other units 12A, the linear node layer 31, or the output layer 14. Each unit 12A outputs the result of performing a non-linear calculation using the input value. Therefore, the reservoir layer 30 is a non-linear node layer.
[0023] For example, as shown in Figure 2A, consider a case where a value u is output from the input layer 11, a value xl is output from the linear node layer 31, and a value xc (= a value indicating the internal state) is output from one unit 12A of the reservoir layer 30. Then, let WA1 be the weight of the connection between the input layer 11 and the unit 12A, WA2 be the weight of the connection between the linear node layer 31 and the unit 12A, and WA3 be the weight of the connection between the unit 12A and itself. In this case, for example, the unit 12B outputs a value f(WA1×u+WA2×xl,WA3×xc) obtained by applying "WA1×u+WA2×xl" and "WA3×xc" to a nonlinear activation function f(a,b). The activation function f can be, for example, the tanh function, sigmoid function, ReLU (Rectified Linear Unit), or it can include nonlinear transformation operations associated with physical phenomena.
[0024] The reservoir layer 30 can be realized by randomly connecting devices that exhibit nonlinear input / output responses in response to analog signals according to a rule. For example, the reservoir layer 30 can be realized by operating a nonlinear neural circuit (such as a chaotic Boltzmann machine) that exhibits chaotic behavior in response to analog signals according to a rule as a reservoir. In these cases, the reservoir layer 30 has, for example, an information processing capability of order 4 or higher. The expression "has an information processing capability of order 4 or higher" refers to the order defined in IPC (Information Processing Capacity), and represents the order of the powers of each term and the terms combined in the orthogonal polynomial used for learning.
[0025] Furthermore, the reservoir layer 30 alone may have low memory capacity (poor performance in storing older data). For example, from the information stored in the reservoir layer 30, only outputs corresponding to information within the last 5 steps, including the present, can be reconstructed (inferred). This is because, in nonlinear nodes, nonlinear calculations are performed, and with each calculation, the influence of past inputs on the output decreases compared to linear nodes.
[0026] The linear node layer 31 is connected in parallel to the reservoir layer 30 (the reservoir layer 30 and the linear node layer 31 are connected in parallel to the input layer 11). The linear node layer 31 is a collection of multiple units 12B (multiple linear nodes). Each of the multiple units 12B is implemented by an integrated circuit. Each of the multiple units 12B receives at least one of the following input values: an input value from the input layer 11, an output value from the reservoir layer 30, and an output value from another unit 12B. Each unit 12B changes the input value according to its own internal state value and outputs it to another unit 12B, the reservoir layer 30, or the output layer 14. Each unit 12B outputs the result of a linear calculation performed using the input value. The calculation of each unit 12B is very simple, and the result always changes proportionally to the input.
[0027] For example, as shown in Figure 2B, consider a case where a single unit 12B outputs a value u from the input layer 11, a value xc from the reservoir layer 30, and a value xl (= a value indicating the internal state) from itself. Then, let WB1 be the weight of the connection between the input layer 11 and the unit 12B, WB2 be the weight of the connection between the reservoir layer 30 and the unit 12B, and WB3 be the weight of the connection between the unit 12B and itself. In this case, for example, the unit 12B outputs WB1 × u + WB2 × xc + WB3 × xl.
[0028] Thus, by connecting the reservoir layer 30 and the linear node layer 31 in parallel to the input layer 11, the memory capacity of the intermediate layer 13 increases compared to the case where the linear node layer 31 is absent. This is because each unit 12B of the linear node layer 31 performs linear operations, so past inputs have a significant impact on the output, and each unit 12B holds data that is useful for reconstructing even earlier inputs.
[0029] The output layer 14 may have a decoder 20 in addition to the output unit 21. The decoder 20 has a plurality of units 22. Each unit 22 may or may not correspond one-to-one with a single unit 12. A value (output value) is output from the unit 12. Each unit 22 converts the output value into a time series of continuous values in a discrete-time system, for example. The output unit 21 has a plurality of units 23 coupled to each unit 22. The coupling between units 22 and 23 is weighted. Each unit 23 calculates a value to output based on the value output to itself and the weight of the coupling. Then, each unit 23 outputs the calculated value (= output value estimated by the learning model). The weight of each coupling between units 22 and 23 is predetermined by a known learning method such as ridge regression. A learning method using ridge regression is described in Patent Document 1, so its explanation is omitted.
[0030] (Hardware configuration) Referring to Figures 3A and 3B, an example of the hardware configuration relating to the input layer 11, the reservoir layer 30, and the linear node layer 31 will be described. Figure 3A shows the reservoir integrated circuit included in the information processing device 1. The reservoir integrated circuit has a CiM (Compute-in-Memory) multiply-accumulate circuit array 301, an RN circuit (reservoir neuron circuit) 302, and a shift register 303.
[0031] The CiM multiply-accumulate circuit array 301 employs CiM technology, which performs calculations within memory. Unlike conventional systems where the processor and memory exist separately and data is read from memory for calculations, CiM technology reduces access overhead by having the memory itself perform calculations.
[0032] The CiM multiply-accumulate circuit array 301 acquires multiple input values. Then, the CiM multiply-accumulate circuit array 301 multiplies each acquired input value by a weight and outputs the sum of the results (the result of the multiply-accumulate operation) to the RN circuit 302. For example, when input value I1 is acquired, it is multiplied by the weight w1 corresponding to the node where input value I1 was acquired, and when input value I2 is acquired, it is multiplied by the weight w2 corresponding to the node where input value I2 was acquired. In this way, the result of I1 × W1 + I2 × W2 + I3 × W3... is output to the RN circuit 302.
[0033] The RN circuit 302 generates an output based on the output value from the CiM multiply-accumulate circuit array 301. The output value generated by the RN circuit 302 is input to the CiM multiply-accumulate circuit array 301 and the output layer 14. As shown in Figure 3B, the RN circuit 302 has a linear transformation module (linear transformation processing unit) 311 and a nonlinear transformation module (nonlinear transformation processing unit) 312. Depending on the state of the switch SW, either the linear transformation module 311 or the nonlinear transformation module 312 is connected to the input (input terminal) and output (output terminal) of the CiM multiply-accumulate circuit array 301.
[0034] The linear transformation module 311 outputs the output value (the result of the multiply-accumulate operation) from the CiM multiply-accumulate circuit array 301 directly. In other words, the output value from the CiM multiply-accumulate circuit array 301 can be directly fed back to the CiM multiply-accumulate circuit array 301.
[0035] The nonlinear transformation module 312 performs nonlinear calculations on the output values from the CiM multiply-accumulate circuit array 301 and outputs the calculation results. In other words, the results of the nonlinear calculations performed using the output values from the CiM multiply-accumulate circuit array 301 can be fed back to the CiM multiply-accumulate circuit array 301. The nonlinear transformation module 312 can be a circuit that makes a chaotic Boltzmann machine operate as a reservoir (operates as a reservoir).
[0036] The shift register 303 controls the state of the switch SW in the RN circuit 302 by outputting a signal to the RN circuit 302. By controlling the state of the switch SW, the shift register 303 switches whether to connect the linear transformation module 311 or the nonlinear transformation module 312 to the CiM multiply-accumulate circuit array 301 and the output layer 14.
[0037] Here, the horizontal line portion of the CiM multiply-accumulate circuit array 301, to which input values are received from sources other than the RN circuit 302, corresponds to the input layer 11. Furthermore, the configuration formed by combining one vertical line of the CiM multiply-accumulate circuit array 301 with the RN circuit 302 connected to that vertical line (referred to as the "vertical line portion") corresponds to one unit 12B of the linear node layer 31, or one unit 12A of the reservoir layer 30.
[0038] Specifically, when the CiM multiply-accumulate circuit array 301 and the linear transformation module 311 are connected in the vertical line section, that vertical line section operates as unit 12B of the linear node layer 31. When the CiM multiply-accumulate circuit array 301 and the nonlinear transformation module 312 are connected in the vertical line section, that vertical line section operates as unit 12A of the reservoir layer 30.
[0039] Therefore, the number of units 12A in the reservoir layer 30 and the number of units 12B in the linear node layer 31 of the information processing device 1 can be adjusted by control using the shift register 303. Here, increasing the number of units 12B in the linear node layer 31 increases the memory capacity (it can retain more past information), but decreases the nonlinear performance (its ability to predict complex relationships decreases). Increasing the number of units 12A in the reservoir layer 30 increases the nonlinear performance, but decreases the memory capacity.
[0040] According to Embodiment 1, in the intermediate layer 13, the reservoir layer 30 and the linear node layer 31 are connected in parallel to the input layer 11. This increases the memory capacity compared to the case where the linear node layer 31 is not present. In other words, it becomes possible to perform calculations that make effective use of earlier inputs. Therefore, it becomes possible to estimate the correct answer of the current output by referring to earlier information, and thus an improvement in performance can be expected when processing data with temporal dependencies (such as audio, video, and time-series data). [Explanation of Symbols]
[0041] 1: Information processing unit, 11: Input layer, 13: Hidden layer, 14: Output layer, 30: Reservoir layer, 31: Linear node layer
Claims
1. An information processing device that trains a model to estimate the correct output based on the input. The input layer, An intermediate layer that outputs an output value corresponding to the input value input from the input layer based on its internal state, An output layer that outputs a value based on the output value output from the intermediate layer, The model has the above three layers, In the aforementioned intermediate layer, a reservoir layer, which is a collection of multiple nonlinear nodes each performing nonlinear operations, and a linear node layer, which is a collection of multiple linear nodes each performing linear operations, are connected in parallel to the input layer. An information processing device characterized by the following:
2. The aforementioned reservoir layer has information processing capabilities of four or higher order levels. From the information stored in the reservoir layer, only outputs corresponding to information within the last five steps can be inferred. The information processing apparatus according to feature 1.
3. The reservoir layer is realized by random coupling of devices that exhibit nonlinear input / output responses in response to analog signals according to a rule. The information processing apparatus according to claim 1 or 2.
4. In the aforementioned nonlinear node, physical phenomena are used in the calculations. The aforementioned linear node is implemented by an integrated circuit. The information processing apparatus according to feature 1.
5. The system includes a reservoir integrated circuit that feeds back each output of a circuit array performing a sum-of-accumulate operation to the input of the circuit array via a first processing unit or a second processing unit. The first processing unit is a processing unit that constitutes the linear node layer and outputs the result of the sum-of-accumulate operation without further processing. The second processing unit is a processing unit that constitutes the reservoir layer and is a processing unit that performs a nonlinear operation on the result of the sum-of-accumulate operation, It is possible to switch which of the first and second processing units each output of the circuit array is connected to. The information processing apparatus according to claim 1 or 2.
6. The second processing unit is a circuit that causes the chaos Boltzmann machine to operate as a reservoir. The information processing apparatus according to feature 5.