WO2020255634A1 - 情報処理システム及び情報処理方法 - Google Patents

情報処理システム及び情報処理方法 Download PDF

Info

Publication number
WO2020255634A1
WO2020255634A1 PCT/JP2020/020427 JP2020020427W WO2020255634A1 WO 2020255634 A1 WO2020255634 A1 WO 2020255634A1 JP 2020020427 W JP2020020427 W JP 2020020427W WO 2020255634 A1 WO2020255634 A1 WO 2020255634A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
learning
neural network
optimization
parameters
Prior art date
Application number
PCT/JP2020/020427
Other languages
English (en)
French (fr)
Inventor
井手 直紀
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2020255634A1 publication Critical patent/WO2020255634A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • This disclosure relates to an information processing system and an information processing method.
  • Non-Patent Document 1 a technique for fusing deep learning and quantum computing has been proposed (for example, Non-Patent Document 1).
  • the information processing system of one aspect according to the present disclosure includes a learning unit that performs learning using a neural network based on learning data, and the neural network sets predetermined parameters.
  • the learning unit includes an error calculated based on the execution result of the optimization by the optimization layer, including a parameter calculation net to be calculated and an optimization layer that executes optimization based on the parameters calculated by the parameter calculation net. Is back-propagated to update the parameters of the neural network.
  • Deep learning is a term that describes all the technologies related to neural network learning.
  • deep learning has brought about a major change in the performance of functional modules having functions related to recognition such as object recognition, voice recognition, and behavior recognition.
  • object recognition For example, the performance in "general object recognition", which assigns a class of an object from an image showing an object, has exceeded the performance of a human being.
  • the regression problem is a problem of predicting continuous values from data.
  • data is input and continuous values are output using a neural network.
  • the parameters of this neural network are learned in advance so as to reduce the loss (loss function) of the predicted value and the label value.
  • the squared error is used as a loss, it can be written down as in the following equation (1).
  • x 1 to x N are learning data
  • t 1 to t N are teacher data (labels).
  • is a neural network parameter.
  • n is an input serial number.
  • t n is a label value.
  • x n is the input data.
  • f ⁇ (x n ) is a predicted value.
  • the classification problem is the problem of classifying input data into discretized classes.
  • data is input and the prediction probability (prediction distribution) of the class is output using a neural network.
  • the parameters of this neural network are pre-learned to reduce the loss between the prediction probability and the empirical distribution of label values.
  • cross entropy is used as a loss in a multi-class classification problem, it can be written down as in the following equation (2), for example.
  • Equation (2) k is the serial number of the class.
  • t n is the label value of the class.
  • x n is an input data value.
  • x n , ⁇ ) is the prediction probability of class k.
  • the prediction probability is often approximated by the softmax function as shown in the following equation (3).
  • f k and ⁇ (x n ) are logit values of class k calculated by the neural network.
  • Expression learning / feature learning is learning a neural network so as to input data and output a feature vector suitable for a problem such as a regression problem or a classification problem.
  • the neural network is composed of an input layer, a hidden layer, and an output layer. Between these layers, there are layers with linear and non-linear functions. These are sometimes called linear layers and non-linear layers. That is, the linear layer and the non-linear layer are a part of the neural network.
  • the three-layer neural network includes an input layer, a hidden layer, and an output layer. Recently, such a three-layer neural network is often called a two-layer neural network. For example, between the input layer and the output layer, there are two linear layers and one non-linear layer (also called an active layer). In this way, in the neural network, the linear layer and the non-linear layer are combined to form a composite function.
  • a deep learning neural network is composed of a complex combination of a linear layer and a non-linear layer in multiple stages. Therefore, a design tool using a GUI (Graphical User Interface) or the like is also provided so as to save the trouble of designing a complicated neural network.
  • GUI Graphic User Interface
  • FIG. 1 is a diagram for explaining an example of GUI.
  • a toolbar with buttons used for selecting a tool is displayed above the screen IM1 shown in FIG. 1, and a first area AR1 and a second area AR2 are provided below the toolbar.
  • the rectangular first region AR1 provided at the left end in FIG. 1 is a region used for selecting various components and the like constituting the neural network.
  • each component is displayed for each category such as "IO”, “Loss”, “Parameter”, “Basic”, and "Pooling".
  • the "Loss” component includes “SquaredError”, “HuberLoss”, “AbsoluteError”, and the like.
  • the component of “Parameter” includes “Parameter”, “Working Memory” and the like.
  • “Basic” components include “Affine”, “Convolution”, “Deconvolution”, “Embed” and the like.
  • the second area AR2 is an area in which the neural network designed by using the components as shown in the first area AR1 is displayed.
  • each component of "Input”, “Affine”, “Sigmoid”, and “BinaryCrossEntropy” is selected in order, and blocks BK1 to BK4 representing each component are displayed side by side.
  • the block BK1 shown in FIG. 1 corresponds to the input layer
  • the block BK2 corresponds to the linear layer
  • the block BK3 corresponds to the activation layer
  • the block BK4 corresponds to the loss function layer.
  • the blocks BK1 to BK4 shown in FIG. 1 represent a learning neural network including an input layer, a linear layer, an activation layer, and a loss function layer.
  • the user can design the neural network by selecting the component from the first region AR1.
  • the loss function can also be regarded as a layer constituting the neural network and represented by GUI.
  • the square error loss which is a typical example of the loss function for the regression problem
  • the cross entropy loss which is a typical example of the loss function for the classification problem
  • the neural network can be used for learning. That is, the parameters of the neural network in the linear layer or the like can be updated by calculating the error of the loss function and back-propagating.
  • Quantum annealing is a type of quantum calculation that performs numerical calculations using a device that realizes a quantum state called a qubit. Quantum calculations are well known as a gate method and an annealing method.
  • the gate method is a method of combining several predetermined basic gate devices according to a program. Since the gate method can be used for various calculations, it is sometimes called a general-purpose quantum computer. A difficult task with the gate method is to maintain the quantum state during the calculation. At present, the number of qubits that can be used in calculations while maintaining the quantum state is as small as several tens of bits, which is said to be insufficient for solving practical problems.
  • the annealing method is a method for statistically controlling qubits.
  • the main use of the annealing method is to solve discrete optimization problems.
  • the annealing method is not required to maintain the quantum state more strictly than the gate method. For this reason, the number of qubits that can be used at present has reached several thousand. For this reason, the annealing method is fairly close to the level at which practical problems of discrete optimization can be solved.
  • Quantum calculation usually refers to universal quantum calculation in the gate method. It is known that the gate method can be realized by developing the annealing method, and the annealing method can be realized from the gate method. However, in the following, for the sake of convenience, the term “quantum calculation” and “quantum computer” including the annealing method will be used.
  • Quantum annealing can optimize discrete optimization problems.
  • quantum annealing can optimize the optimization problem of the objective function in binary quadratic form.
  • the optimization problem of the objective function of the binary quadratic form can be described by the following equation (4).
  • the parameters of the Ising model are defined as ⁇ as shown in the following equation (5) by combining J ij and h k .
  • Equation (5) is a parameter that is fixed while optimizing the problem.
  • the variable ⁇ to be optimized so as to minimize the objective function can be described by the following equation (6).
  • ⁇ described in the equation (6) is a combination of binary discrete variables having a value of either -1 or 1.
  • Discrete optimization problems include traveling salesman problems, clustering, dictionary learning, boosting, etc., which will be described later.
  • the optimum route can be searched by optimizing the traveling salesman problem, it is possible to optimally design the delivery technology in the factory, the manufacturing process, etc. in the factory, for example.
  • gene / antibody expression can be predicted, so it can be applied to flow cytometry and the like.
  • consumer preferences can be classified, so customer behavior can be predicted.
  • discrimination learning can be performed at high speed, so it can be applied to product inspection technology.
  • the quantum annealer is a device that efficiently searches for the solution that minimizes the energy of the Ising model by using the quantum effect.
  • the Ising model is a model in which spins are arranged in a grid pattern.
  • FIG. 2 is a diagram schematically showing the Ising model.
  • the Ising model is a model in which a plurality of spins S are arranged in a grid pattern. In the Ising model, the spin S takes either an upward or downward state.
  • the Hamiltonian of the Ising model is described by the following equation (7).
  • ⁇ i is the i-th spin
  • J ij is the binding energy acting between the i-th spin and the j-th spin
  • h k is a vertical magnetic field acting on the kth spin.
  • J ij or h k may be simply referred to as a parameter of the Ising model or a coefficient of the Ising model.
  • J ij is a model that takes a non-zero value only between adjacent spins.
  • Quantum Annealer deals with the spin glass model, which is a generalization of the Ising model.
  • the spin glass model is referred to as the Ising model, as is customary.
  • the spin group arrangement ⁇ of the Ising model follows the Gibbs Boltzmann distribution as shown in equation (8).
  • is the reciprocal of absolute temperature and is called the reciprocal temperature.
  • the spin arrangement of the Ising model takes the ground state. That is, the spin arrangement is minimized by the Hamiltonian. Therefore, if the temperature of the Ising model is set to absolute zero and the spin arrangement in the ground state is observed, the spin arrangement that minimizes the Hamiltonian can be observed.
  • the objective function of the quadratic optimization problem is equivalent to the Hamiltonian (energy function) of the Ising model. Therefore, in the quantum Annealer, the Ising model represented by the Hamiltonian, which has the same form as the objective function, is designed as a physical device. In other words, in the quantum annealer, J ij and h k can be artificially designed. Then, the designed physical device is brought close to absolute zero before observing the spin arrangement. By using the observed value as the solution of the binary variable, the optimization solution of the binary quadratic form problem can be obtained.
  • the first technique is the replacement of the optimized solver with a quantum annealer.
  • the second technique is quantum Boltzmann machine learning.
  • the deep learning solver can also be regarded as an optimization algorithm. For this reason, the idea is to use the optimization method performed by the quantum annealer in the deep learning solver.
  • the parameters that deep learning can handle are continuous values
  • the parameters that the quantum annealing can optimize are binary discrete values. In deep learning, it is possible to digitize continuous values into discrete values, but it is assumed that the configuration will be complicated and it will be difficult to realize.
  • Non-Patent Document 1 describes a technique commonly known as "QAdam".
  • Non-Patent Document 1 assumes that the quantum annealing can optimize continuous values. Then, in Non-Patent Document 1, the behavior of using the quantum annealing as a solver for deep learning is simulated by an algorithm similar to Adam. Therefore, the technique described in Non-Patent Document 1 does not actually replace the optimization solver, and therefore cannot be said to be a fusion of quantum computation and deep learning.
  • the replacement of the optimization solver itself has a problem that it does not correspond to the problem of dealing with the problem of having various complicated objective functions of regression and classification in deep learning.
  • Boltzmann machine learning is learning for a model called a Boltzmann machine, and the Boltzmann machine itself is often used as a generative model.
  • Quantum Boltzmann machine machine learning uses quantum annealers for learning and inference processing of Boltzmann machines.
  • Boltzmann machines are rarely used today.
  • the Boltzmann machine directly learns the parameters of the Ising model, but since the structure is simple as it is, it does not have the expressive power of the current deep learning. On the other hand, if the structure is complicated in order to increase the expressive power, there is a problem that learning becomes difficult rapidly.
  • FIG. 3 is a diagram showing an example of the configuration of the information processing system 10 according to the embodiment of the present disclosure.
  • the information processing system 10 includes an information processing device 100 and a quantum computer 200.
  • the information processing device 100 is communicably connected to the quantum computer 200 via a wired or wireless network NW.
  • the network NW is, for example, a communication line such as the Internet.
  • the information processing device 100 executes various processes.
  • the information processing device 100 executes, for example, deep learning.
  • the information processing device 100 can be realized by a computer.
  • the quantum computer 200 performs various quantum calculations.
  • the quantum computer 200 can be realized by, for example, a quantum annealer.
  • the quantum computer 200 may be a computer that imitates the Ising model.
  • the Ising layer that realizes the optimization layer according to the embodiment of the present disclosure will be described with reference to FIG.
  • the Ising layer is a layer that optimizes using the Ising model.
  • FIG. 4 is a diagram for explaining the Ising layer.
  • the information processing system 10 can handle the quantum computer 200 or the Ising model represented by the quantum computer 200 as one of the layers of deep learning. For example, the information processing system 10 can select the quantum computer 200 or the Ising model represented by the quantum computer 200 as one of the layers of deep learning from the first region AR1 of the screen IM1 shown in FIG.
  • a neural network including a block BK11, a block BK12, and a block BK13 is shown.
  • the block BK11 is a feature extraction net that extracts a feature amount from the input data X.
  • the block BK12 is a parameter calculation net for calculating the parameters of a predetermined Ising model.
  • the block BK13 is an Ising layer corresponding to the quantum computer 200.
  • the Ising layer In the Ising layer, a module that executes quantum annealing or equivalent binary quadratic form optimization is arranged. Therefore, the Ising layer has a structure for obtaining the spin arrangement of the Ising model.
  • the first point of the present disclosure is that one or more layers are composed of Ising layers (Ising layers) in a deep learning neural network.
  • Ising layers Ising layers
  • Such a neural network is called an Ising net.
  • Non-Patent Document 1 attempts to replace the deep learning optimization solver itself with a quantum annealer
  • the deep learning optimization solver is a standard solver for deep learning such as SGD or Adam.
  • the quantum annealer is used as one of the layers of deep learning.
  • the Ising layer is used as a loss function layer for deep learning.
  • learning is performed using an Ising net in which the loss function layer is composed of Ising layers.
  • the present disclosure can extend the problems that can be solved by deep learning to all problems having a quadratic form objective function that can be solved by a quantum annealer without being limited to classification and regression. That is, the present disclosure makes it possible to optimally solve all the problems that the Ising model contained in the Ising layer can solve.
  • the coefficients (parameters) of the Ising model are input from the neural network connected to the Ising layer. Specifically, the parameters J ij and h k of the Ising model represented by the Hamiltonian of the above equation (7) are input to the Ising layer.
  • the forward output of the Ising layer is the value of the binary quadratic form loss.
  • the optimized spin arrangement of the Ising model is obtained in the Ising layer by a quantum annealing or an algorithm similar thereto. That is, the value of the Hamiltonian (objective function) represented by the equation (7) is the value of the minimum loss calculated under the optimized spin arrangement of the Ising model.
  • the spin value can be calculated, for example, on the order of microseconds.
  • the loss value may not be output if the output is not required.
  • the quantum Boltzmann machine directly learns the parameters of the Ising model.
  • the parameters of the Ising model are calculated as the output of the neural network. That is, the second point of the present disclosure is that the parameters of the Ising model can be dynamically changed in various ways through learning of the parameters of the neural network.
  • ⁇ i , ⁇ j , and ⁇ k are spin arrangements optimized from equation (7).
  • the third point is that the error from the loss in the Ising layer is distributed as an error gradient to the neural network by the chain rule of error back propagation.
  • the parameters of the neural network are updated using a standard solver for deep learning based on the error gradient represented by the equation (9).
  • the parameters of the neural network connected to the Ising layer are learned by repeating with a standard solver for deep learning based on the error gradient back-propagated from the Ising layer. This is the fourth point.
  • FIG. 5 is a diagram for explaining a flow of processing for learning the parameters according to the embodiment of the present disclosure.
  • the Ising net IN includes a feature extraction net R1, a parameter calculation net R2, and an Ising layer R3.
  • the Ising layer R3 functions as a loss function layer of the neural network.
  • the learning unit 152 includes a deep learning processing unit 1521, a feature extraction net R1, and a parameter calculation net R2.
  • the deep learning processing unit 1521 executes learning based on the output from the Ising net IN.
  • the deep learning processing unit 1521 starts learning by inputting the learning data into the Ising net IN.
  • the learning data input to the Ising net IN propagates in the forward direction.
  • the feature extraction net R1 outputs the feature vector u to the parameter calculation net R2.
  • the parameter calculation net R2 outputs the parameters ⁇ (J ij , h k ) of the Ising model to the Ising layer R3.
  • the Ising layer R3 searches for the optimum spin arrangement of the Ising model under the given parameters of the Ising model, and obtains the error (loss) L in the optimum spin arrangement.
  • the error information obtained in the Ising layer R3 is propagated in the opposite direction.
  • the Ising layer R3 back-propagates the information on the optimum spin arrangement to the parameter calculation net R2.
  • the parameter calculation net R2 obtains the error gradient regarding the feature vector u according to the equation (9) from the optimum spin arrangement received from the Ising layer and the error gradient for each parameter of the Ising model calculated internally, and the feature extraction net R1 is used. Backpropagates the error gradient. If the parameter calculation net R2 also has a learning parameter, an error gradient related to this learning parameter is obtained and stored for each learning parameter. The calculation of the error gradient is performed by the equation in which u in the equation (9) is replaced with the learning parameter.
  • the error gradient regarding the learning parameters in the feature extraction net R1 is obtained from the error gradient regarding the feature vector u, and is stored for each learning parameter.
  • the calculation of this error gradient is the same as the calculation of the error gradient of a normal neural network.
  • the deep learning processing unit 1521 updates the parameters of the neural network with the error gradient accumulated for each parameter of the neural network by using a standard solver for deep learning such as SGD and Adam. By repeating these processes, the parameters of the neural network and Ising model are updated. That is, in the present disclosure, deep learning and quantum calculation are fused, but the parameters of the neural network can be updated by the same method as in ordinary deep learning.
  • the forward and reverse processing of the neural network other than the rising layer is performed by a normal computer, and the processing of the rising layer is performed by a dedicated computer such as a quantum computer. Therefore, in the present disclosure, communication is performed from a normal computer to a dedicated computer.
  • the information processing system 10 includes an information processing device 100 and a quantum computer 200.
  • the information processing device 100 and the quantum computer 200 are communicably connected to each other via a network NW.
  • the information processing apparatus 100 performs processing other than the Ising layer
  • the quantum computer 200 performs processing on the Ising layer.
  • the information processing device 100 transmits the parameters of the Ising model calculated by the forward calculation of the neural network to the quantum computer 200 via the network NW.
  • the fifth point of the quantum computer 200 is to search for the optimum spin arrangement of the Ising model based on the parameters of the Ising model received from the information processing apparatus 100.
  • the quantum computer 200 transmits the search result of the optimum spin arrangement to the information processing apparatus 100 via the network NW. That is, in the present disclosure, one neural network is configured by the information processing apparatus 100 and the quantum computer 200.
  • FIG. 6 is a block diagram showing an example of the configuration of the information processing apparatus 100 according to the embodiment of the present disclosure.
  • the information processing device 100 includes a communication unit 110, an input unit 120, an output unit 130, a storage unit 140, and a control unit 150.
  • the communication unit 110 is realized by, for example, a NIC (Network Interface Card), a communication circuit, or the like.
  • the communication unit 110 is connected to the network NW by wire or wirelessly.
  • the communication unit 110 transmits / receives information to / from other devices and the like under the control of the communication control unit 154 via the network NW.
  • the input unit 120 receives various operations from the user.
  • the input unit 120 accepts, for example, the user's selection of a learning method.
  • the input unit 120 receives, for example, a problem to be solved by the information processing apparatus 100 from the user.
  • the input unit 120 accepts, for example, input of a parameter value by a user.
  • the input unit 120 is composed of, for example, electronic devices such as a keyboard, a mouse, and a touch panel provided in the information processing device 100.
  • the input unit 120 may accept an utterance by the user as an input.
  • the input unit 120 may be configured by a voice input device such as a microphone.
  • the output unit 130 outputs various information.
  • the output unit 130 displays various types of information.
  • the output unit 130 includes, for example, a display including a liquid crystal display (LCD: Liquid Crystal Display) or an organic EL (Organic Electro-Luminescence) display.
  • the output unit 130 displays, for example, the screen IM1 shown in FIG. 1.
  • the output unit 130 displays, for example, the loss value calculated under the optimized spin arrangement of the Ising model.
  • the output unit 130 displays the solution of the problem received from the user.
  • the output unit 130 may have a function of outputting audio. In this case, the output unit 130 may be configured by, for example, a speaker that outputs sound.
  • the storage unit 140 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
  • the storage unit 140 has a data storage unit 141 and a model storage unit 142.
  • the data storage unit 141 stores various types of data.
  • the data storage unit 141 stores, for example, various learning data to be used for learning.
  • the model storage unit 142 stores the trained model.
  • the model storage unit 142 stores, for example, the model learned by the learning unit 152.
  • the model storage unit 142 may store the initial model before it is learned by the learning unit 152.
  • control unit 150 for example, a program stored inside the information processing device 100 is executed by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like with a RAM (Random Access Memory) or the like as a work area. It will be realized. Further, the control unit 150 is a controller, and may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the control unit 150 includes an acquisition unit 151, a learning unit 152, a prediction unit 153, and a communication control unit 154.
  • the internal configuration of the control unit 150 is not limited to the configuration shown in FIG. 6, and may be another configuration as long as it is a configuration for performing information processing described later.
  • the acquisition unit 151 acquires various types of information.
  • the acquisition unit 151 acquires various types of information from an external information processing device.
  • the acquisition unit 151 acquires various types of information from the external quantum computer 200.
  • the acquisition unit 151 acquires various types of information from the storage unit 140.
  • the acquisition unit 151 acquires the input information received by the input unit 120.
  • the acquisition unit 151 acquires, for example, a problem to be solved by the information processing system 10.
  • the acquisition unit 151 acquires, for example, an initial model before learning.
  • the acquisition unit 151 acquires, for example, learning data to be used for learning.
  • the acquisition unit 151 acquires execution data to be input to the trained learning model.
  • the acquisition unit 151 acquires information on the optimum spin arrangement of the Ising model from, for example, an external quantum computer 200.
  • the learning unit 152 performs various learning.
  • the learning unit 152 learns various types of information based on the information acquired by the acquisition unit 151.
  • the learning unit 152 learns various types of information based on the learning data stored in the data storage unit 141 of the storage unit 140.
  • the learning unit 152 learns based on the initial model and the learning data and generates a learning model.
  • the learning unit 152 generates, for example, a neural network for calculating the parameters of the Ising model as a learning model.
  • the learning unit 152 updates the learning model based on the information acquired by the acquisition unit 151.
  • the learning unit 152 updates the learning model based on the information stored in the storage unit 140.
  • the learning unit 152 learns the parameters of the neural network.
  • the learning unit 152 calculates the parameters of the Ising model using the learned neural network.
  • the learning unit 152 backpropagates the error based on the optimum spin arrangement of the Ising model acquired from the external quantum computer 200, and updates the parameters of the neural network.
  • Prediction unit 153 predicts various types of information.
  • the prediction unit 153 predicts various information based on, for example, various information acquired by the acquisition unit 131.
  • the prediction unit 153 predicts various information using, for example, the data storage unit 141 and the information stored in the model storage unit 142.
  • the prediction unit 153 predicts the execution result based on the execution data stored in the data storage unit 141 and the learning model stored in the model storage unit 142.
  • the communication control unit 154 controls the transmission and reception of information via the communication unit 110.
  • the communication control unit 154 controls the communication unit 110 to communicate with other information processing devices.
  • the communication control unit 154 controls the communication unit 110 to communicate with the quantum computer 200.
  • FIG. 7 is a block diagram showing an example of the configuration of the quantum computer 200 according to the embodiment of the present disclosure.
  • the quantum computer 200 includes a communication unit 210, an input unit 220, a quantum device unit 230, and a control unit 240.
  • the communication unit 210 is realized by, for example, a NIC or a communication circuit.
  • the communication unit 210 is connected to the network NW by wire or wirelessly.
  • the communication unit 110 transmits / receives information to / from other devices and the like under the control of the communication control unit 154 via the network NW.
  • the input unit 220 receives various inputs from the user to the quantum computer 200.
  • the input unit 220 receives, for example, an instruction from the user for measuring the quantum device unit 230.
  • the quantum device unit 230 executes various quantum calculations.
  • the quantum device unit 230 realizes the ground state of the Ising model based on, for example, the parameters of the Ising model received from the information processing apparatus 100.
  • the quantum device unit 230 realizes the optimum spin arrangement in which the Ising model is in the ground energy state. That is, the quantum device unit 230 realizes a state in which the optimization problem is optimized.
  • the quantum device unit 230 is composed of, for example, a plurality of qubits.
  • the quantum device unit 230 is cooled to near absolute zero in advance.
  • the quantum device unit 230 internally develops the ratio between the Ising model and the transverse magnetic field model (quantum fluctuation model) over time, so that the Ising model 230 is sized on the quantum device unit 230.
  • the optimum spin arrangement according to the model parameters is realized. That is, in the present disclosure, the optimum spin arrangement of the Ising model is physically realized on 230 parts of the quantum device.
  • the optimum spin arrangement of the Ising model can be obtained only by measuring the quantum device unit 230 without using the digital calculation algorithm for obtaining the optimum spin arrangement of the Ising model. From this, the quantum device unit 230 can optimize the discrete optimization problem, for example. In particular, the quantum device unit 230 can optimize the optimization problem of the objective function in the quadratic form.
  • the control unit 240 is realized by, for example, a CPU, an MPU, or the like executing a program stored inside the information processing apparatus 100 with a RAM or the like as a work area. Further, the control unit 240 is a controller, and may be realized by an integrated circuit such as an ASIC or FPGA.
  • the control unit 240 has an acquisition unit 241, a measurement unit 242, and a communication control unit 243.
  • the internal configuration of the control unit 240 is not limited to the configuration shown in FIG. 7, and may be another configuration as long as it is a configuration for performing information processing described later.
  • the acquisition unit 241 acquires various types of information.
  • the acquisition unit 241 acquires various types of information from the external information processing device 100.
  • the acquisition unit 241 acquires the input information received by the input unit 220.
  • the acquisition unit 241 acquires information on the parameters of the Ising model from, for example, an external information processing device.
  • the acquisition unit 241 acquires the measurement result of the quantum device unit 230 by the measurement unit 242.
  • the measuring unit 242 measures the quantum device unit 230.
  • the measuring unit 242 measures the quantum device unit 230 in which the optimum spin arrangement of the Ising model is realized.
  • the communication control unit 243 controls the transmission and reception of information via the communication unit 210.
  • the communication control unit 243 controls the communication unit 210 to communicate with other information processing devices.
  • the communication control unit 243 controls the communication unit 210 to communicate with the information processing device 100.
  • FIG. 8 is a flowchart showing an example of the flow of learning processing of the information processing system 10 according to the embodiment of the present disclosure.
  • control unit 150 acquires the initial model (step S101). Specifically, the acquisition unit 151 acquires an initial model from an external information processing device or a model storage unit 142. Then, the process proceeds to step S102.
  • the control unit 150 and the control unit 240 establish communication between the information processing device 100 and the quantum computer 200 (step S102). Specifically, the communication control unit 154 and the communication control unit 243 set up the information processing device 100 and the quantum computer 200 so that they can communicate with each other between the information processing device 100 and the quantum computer 200. Then, the process proceeds to step S103.
  • the control unit 150 acquires learning data for learning a model (neural network) (step S103). Specifically, the acquisition unit 151 acquires learning data from an external information processing device or data storage unit 141. Then, the process proceeds to step S104.
  • the control unit 150 inputs the learning data to the neural network (step S104). Specifically, the learning unit 152 inputs the learning data into the neural network of the learning unit 152. Then, the process proceeds to step S105.
  • the control unit 150 calculates the parameters of the Ising model (step S105). Specifically, the learning unit 152 calculates the parameters of the Ising model from the neural network by propagating the learning data to the neural network in the forward direction. Then, the process proceeds to step S106.
  • the control unit 150 inputs the parameters of the Ising model to the quantum computer 200 (step S106). Specifically, the communication control unit 154 inputs the parameters of the Ising model to the quantum computer 200 via the communication unit 110. Further, the parameters of the Ising model input to the quantum computer 200 are input to the quantum device unit 230. Then, the process proceeds to step S107.
  • the control unit 240 searches for the optimum spin arrangement of the Ising model according to the parameters of the Ising model input from the information processing device 100 (step S107). Specifically, the measuring unit 242 measures the quantum device unit 230 to search for the optimum spin arrangement of the Ising model. Then, the process proceeds to step S108.
  • the control unit 240 inputs the search result of the optimum spin arrangement to the information processing device 100 (step S108). Specifically, the communication control unit 253 inputs the search result of the optimum spin arrangement to the information processing device 100 via the communication unit 210. Further, the search result of the optimum spin arrangement input to the information processing apparatus 100 is input to the learning unit 152. Then, the process proceeds to step S109.
  • the control unit 150 calculates the error of the objective function (step S109). Specifically, the learning unit 152 calculates the error of the objective function based on the optimum spin arrangement. Then, the process proceeds to step S110.
  • the control unit 150 inputs the error of the objective function to the neural network (step S110). Specifically, the learning unit 152 inputs the error of the objective function into the neural network of the learning unit 152 and backpropagates. Then, the process proceeds to step S111.
  • the control unit 150 updates the parameters of the Ising model (step S111). Specifically, the learning unit 152 uses a preset deep learning solver to update the parameters of the neural network using the error gradient for each parameter obtained by the error back propagation. Then, the process proceeds to step S112.
  • the control unit 150 determines whether or not the learning has converged (step S112). Specifically, the learning unit 152 determines whether or not the learning has converged. If it is determined that the learning has not converged (No in step S112), the process proceeds to step S103. On the other hand, when it is determined that the learning has converged (Yes in step S112), the process proceeds to step S113.
  • step S113 the control unit 150 outputs the learning model. Specifically, the learning unit 152 outputs a learning model.
  • the learning model output by the learning unit 152 is stored in, for example, the model storage unit 142. Then, the process of FIG. 8 ends.
  • FIG. 9 is a flowchart showing an example of a flow of prediction processing of the information processing system 10 according to the embodiment of the present disclosure.
  • control unit 150 acquires the learning model (step S201). Specifically, the acquisition unit 151 acquires the learning model from the model storage unit 142. Then, the process proceeds to step S202.
  • the control unit 150 and the control unit 240 establish communication between the information processing device 100 and the quantum computer 200 (step S202). Specifically, the communication control unit 154 and the communication control unit 243 set up the information processing device 100 and the quantum computer 200 so that they can communicate with each other between the information processing device 100 and the quantum computer 200. Then, the process proceeds to step S203.
  • the control unit 150 acquires execution data (step S203). Specifically, the acquisition unit 151 acquires execution data from an external information processing device or data storage unit 141. Then, the process proceeds to step S204.
  • the control unit 150 inputs the execution data to the neural network (step S204). Specifically, the learning unit 152 inputs execution data to the neural network of the learning unit 152. Then, the process proceeds to step S205.
  • the control unit 150 calculates the parameters of the Ising model (step S205). Specifically, the learning unit 152 calculates the parameters of the Ising model by propagating the execution data in the forward direction of the neural network. That is, the learning unit 152 calculates the parameters of the optimization problem. Then, the process proceeds to step S206.
  • the control unit 150 inputs the parameters of the Ising model to the quantum computer 200 (step S206). Specifically, the communication control unit 154 inputs the parameters of the Ising model to the quantum computer 200 via the communication unit 110. Further, the parameters of the Ising model input to the quantum computer 200 are input to the quantum device unit 230. Then, the process proceeds to step S207.
  • the control unit 240 searches for the optimum spin arrangement of the Ising model according to the parameters of the Ising model input from the information processing device 100 (step S207). Specifically, the measuring unit 242 measures the quantum device unit 230 to search for the optimum spin arrangement of the Ising model. Then, the process proceeds to step S208.
  • the control unit 240 inputs the search result of the optimum spin arrangement to the information processing device 100 (step S208). Specifically, the communication control unit 253 inputs the search result of the optimum spin arrangement to the information processing device 100 via the communication unit 210. Further, the search result of the optimum spin arrangement input to the information processing apparatus 100 is input to the prediction unit 153. Then, the process proceeds to step S209.
  • the control unit 150 outputs a prediction result based on the optimum spin arrangement of the Ising model (step S209). Specifically, the prediction unit 153 outputs a prediction result based on the optimum spin arrangement of the Ising model. Then, the process of FIG. 9 ends.
  • FIG. 10 is a diagram for explaining a method of designing the neural network of the present disclosure.
  • the neural network to be learned by the learning unit 152 is designed by using the deep learning framework.
  • the neural network when the Ising layer is included can be represented by the neural network NN1 shown in FIG.
  • the example shown in FIG. 10 shows an example of using a well-known deep learning library.
  • the neural network NN1 contains four functions, "nn.Variable ([n1,])", “feature_net”, “problem_net”, and "F.ising”.
  • Nn.Variable ([n1,]) means the data to be input.
  • feature_net is a function that builds into a neural network that converts the input data "nn.Variable ([n1,])” into the feature amount f required to solve the problem to be solved. Is.
  • the “feature_net” contains (includes) learnable neural network parameters.
  • “Problem_net” is a layer that calculates Ising model parameters from the problem to be solved based on the features. "Problem_net” depends on the problem you want to solve, and the details will be described later.
  • “F.ising” is a function that builds the Ising model internally according to the input parameters.
  • the parameters of the Ising model obtained by "problem_net” are input to "F.ising".
  • FIG. 11 is a diagram for explaining a process for learning a neural network according to the embodiment of the present disclosure.
  • Learning L1 includes four processes of "solver.zero_grad ()", “l.forward ()”, “l.backward ()”, and “solver.update ()”.
  • Solver.zero_grad () executes the process to make the error gradient zero.
  • L.forward () executes forward processing from input x to calculation of loss l.
  • the process of the neural network built with "feature_net” or “problem_net” performs the same process as the forward process of the normal neural network.
  • the Ising layer built with "F.ising” was internally optimized by annealing to minimize the loss of the binary quadratic form, and calculated based on the obtained spin arrangement. Output the loss.
  • “L.backward ()” performs the process of back-propagating the gradient to minimize the loss.
  • the processing of the neural network built with “feature_net” and “problem_net” performs the same processing as the processing of error back propagation of a normal neural network.
  • the Ising layer built by "F.ising” remembers the spin arrangement already calculated by the “l.forward ()” process, and reverses to the previous layer based on the spin arrangement. Calculate the propagating gradient.
  • Solver.update () is a process that updates the parameters of the neural network using the already obtained error gradient. This process updates the parameters of the predetermined neural network based on the predetermined solver, as in the normal deep learning. Here, the parameters of the Ising layer are not learned.
  • the neural network console When the neural network console is used by using the graphical user interface as shown in FIG. 1, the neural network is designed as shown in FIG. 4 by using the graphical user interface as shown in FIG. You may.
  • the feature extraction net is a neural network built by the function of "feature_net" shown in FIG.
  • the feature extraction net actually has a structure in which various layers are stacked, but is shown in one block for simplification.
  • the feature extraction net calculates the feature amount used for the problem to be solved from the input data.
  • the parameter calculation net is a neural network built by the function of "problem_net" shown in FIG.
  • the parameter calculation net calculates the parameters of a predetermined optimization problem.
  • the role of the parameter calculation net is to calculate the parameters of the optimization problem. That is, the parameter calculation net calculates the coefficient related to each term of the binary quadratic form loss, which is a parameter of the optimization problem.
  • the binary quadratic form instead of the binary quadratic form, it may be generalized to the N value D quadratic form. In this way, the parameter calculation net calculates the parameters of the Ising model from the features calculated by the neural network.
  • the error gradient calculated from the Ising layer based on the optimum spin arrangement of the ground state of the Ising model is back-propagated to the parameter calculation net. Based on the chain rule, this error gradient is calculated with respect to the feature vector f, which is an input to the parameter calculation net, and is back-propagated to the feature calculation net. If there is a learnable parameter in the parameter calculation net, the error gradient for that parameter is backpropagated.
  • the parameter calculation net is shown in one block for simplification, but it is also possible to stack various layers. Moreover, the parameter calculation net is not uniquely determined because it depends on the problem to be solved. However, it is the same in any case in that the parameters of the Ising model for solving the optimization problem are calculated.
  • each of the typical optimization problems may be given a name and listed so that they can be used in common.
  • Typical problems include, for example, the traveling salesman problem (TSP: Traveling Salesman Problem), the clustering problem (Clustering), and the graph coloring problem.
  • TSP Traveling Salesman Problem
  • clustering Clustering
  • graph coloring problem For example, it may be a layer such as F.tsp (f) or F.clustering (f).
  • these representative problem layers may be layers that are pre-bonded to the Ising layer.
  • the parameters of the Ising model are input to the Ising layer.
  • the Ising layer calculates the optimal spin placement of the Ising model based on the input parameters.
  • the Ising layer uses the calculated optimal spin arrangement to backpropagate the error gradient for the parameters of the Ising model to the parameter calculation net.
  • the Ising layer can be selected from the screen IM1 of the graphical user interface shown in FIG. 1, for example.
  • the Ising layer can be used by the user selecting from the screen IM1.
  • the parameter calculation layer can also select the above-mentioned typical problem. For example, the traveling salesman problem, the clustering problem, and the graph coloring problem as described above. Further, a name such as an optimization problem layer may be given as a category of these layers on the screen.
  • the coefficient of the Ising model has different tensor dimensions between the quadratic term and the primary term, so the parameter calculation net BK12 may be divided into two blocks.
  • FIG. 12 is a diagram for explaining a modification of the neural network according to the present disclosure.
  • the neural network NN1A includes a block BK11, a block BK121, a block BK122, and a block BK13.
  • Block BK121 is a quadratic coefficient calculation net.
  • Block BK122 is a linear coefficient calculation net.
  • the quadratic coefficient calculation net is a block that calculates the quadratic coefficient of the Ising model.
  • the linear coefficient calculation net is a block for calculating the linear coefficient of the Ising model.
  • the quadratic coefficient calculation net and the linear coefficient calculation net are shown in one block for simplification, but it is also conceivable to stack various layers.
  • the problems handled by the quantum annealing can be learned by deep learning.
  • the quantum annealer performs the problem optimization process.
  • deep learning when the problem handled by the quantum annealer is to be expressed and learned, it is necessary to learn outside the optimization process executed by the quantum annealer. For this reason, if it takes time to optimize the problem handled by the quantum annealer, the outer learning takes more time, and there is a problem that the current optimization algorithm cannot learn in a practical time.
  • learning can be done in a practical time by executing the optimization process with the quantum annealing.
  • the forward and reverse processes other than the Ising layer are performed by the information processing apparatus 100 and the quantum computer 200.
  • the information processing device 100 calculates the parameters of the Ising model by the forward calculation of the neural network.
  • the information processing device 100 transmits the calculated parameters of the Ising model to the quantum computer 200.
  • the quantum computer 200 searches for the optimum spin arrangement according to the parameters of the Ising model.
  • the quantum computer 200 transmits the search result of the optimum spin arrangement to the information processing apparatus 100.
  • the quantum computer 200 does not necessarily have to be built on an on-premises server.
  • the quantum computer 200 may be remotely maintained by cloud computing.
  • a billing system may be introduced for the use of the quantum computer 200.
  • a billing method for example, it is conceivable to set the amount of money per use of the quantum computer 200 as the Ising layer or the amount of money according to the scale of the Ising layer.
  • the billing amount is determined, for example, by the size of the Ising layer and the number of repetitions.
  • the quantum computer 200 does not necessarily have to be a quantum computer such as a quantum annealer.
  • a digital annealing machine or a CMOS annealing machine known as an Ising machine may be used.
  • the quantum computer 200 instead of the quantum computer 200, it may be a classical solver for a quadratic programming problem. Therefore, there may be an interface in which the user can select whether to use a quantum annealing, a digital annealing machine, a CMOS annealing machine, or a classical solver as the Ising layer.
  • the estimated calculation time and the billing amount may be presented to provide information that guides the user in selecting.
  • the quantum computer 200 can solve, for example, the traveling salesman problem, the graph coloring problem, and the clustering problem.
  • the quantum computer 200 can solve, for example, a partitioning problem.
  • partitioning problem examples include number partitioning (Number Partitioning), graph partitioning (Graph Partitioning), and maximum clique problem (Cliques).
  • the quantum computer 200 can solve, for example, a binary Integer Linear Programming.
  • the quantum computer 200 can solve, for example, a covering / packing problem (Covering and Packing Problems).
  • a covering / packing problem (Covering and Packing Problems).
  • clothing / packing problems include a strict covering problem (Exact Cover), a set packing problem (Set Packing), a vertex covering problem (Vertex Cover), a satisfiability problem (SAT; Satisfiability), and a minimum weight maximum matching problem (Minimal Maximum). Matching) can be mentioned.
  • the quantum computer 200 can solve a problem with an inequality, for example.
  • problems dealing with inequalities include a set cover problem (Set Cover) and an integer weight knapsack problem (Knapsack with Integer Weights).
  • the quantum computer 200 can solve, for example, a coloring problem (Coloring Problems).
  • a coloring problem Coloring Problems
  • Examples of the coloring problem include a graph coloring problem (Graph Coloring), a clique cover problem (Clique Cover), and a job scheduling problem (Job Routing with Integer Lengths).
  • the quantum computer 200 can solve, for example, Hamiltonian Cycles.
  • Hamiltonian cycle examples include the Hamiltonian cycle and Hamiltonian path search (Hamiltonian Cycles and Paths) and the traveling salesman problem (Traveling Salesman).
  • the quantum computer 200 can solve, for example, a tree problem (Tree Problems).
  • Tree problems include the Minimal Spanning Tree with a Maximal Degree Constraint, the Steiner Trees, the Directed Feedback Vertex Set, and the Directed Feedback Vertex Set.
  • the undirected feedback vertex set problem (Undirected Feedback Vertex Set) and the feedback edge set problem (Feedback Edge Set) can be mentioned.
  • the quantum computer 200 can solve the graph isomorphism problem (Graph Isomorphism).
  • the Hamiltonian of the Ising model is determined as a function of a certain feature quantity.
  • the present disclosure is used when it is necessary to obtain a feature quantity by using learning.
  • traveling salesman problem (3-6-1. Traveling salesman problem)
  • the traveling salesman problem which is one of the typical applications of quantum annealing, will be described as an example.
  • the values of di and j are constant values.
  • the distances di and j are variable depending on the parameters. Normally, the distances di and j do not change, so it is appropriate to interpret that the change in the distance di.j changes the time required to move from the city i to the city j. Parameters that are likely to affect the time required for movement are, for example, movement speed and time zone. The parameters that are likely to affect the time required for movement may be other than the movement speed and time zone. It may also be considered that the distances di and j change due to city planning and public works projects. These inputs will be collectively referred to as x.
  • the distances di and j in the equation (10) are replaced with the following equation (11).
  • is a parameter representing the non-linear conversion from the input to the execution distance f ⁇ (x, ⁇ di , j ⁇ ). Further, the execution distance f ⁇ (x, ⁇ di ,, j ⁇ ) is set to a positive value so as to satisfy the distance.
  • the execution distance f ⁇ (x, ⁇ di , j ⁇ ) can be obtained by preparing various data and learning the parameter ⁇ that minimizes the correction value. The structure is determined by the designer, including setting f ⁇ to a positive value.
  • the traveling salesman problem coefficient layer is sandwiched between the neural network and the Ising layer.
  • the neural network is a neural network that processes the equation (11).
  • the traveling salesman problem coefficient layer is a layer that generates parameters of the Ising model from the equation (11) to the equation (10). This corresponds to the parameter calculation layer described above.
  • This layer is a layer that depends on the type of problem you want to solve. A layer having typical arguments of this layer may be used as a representative layer in a deep learning development framework or the like.
  • the Hamiltonian of the Ising model suitable for clustering can be expressed as the following equation (12).
  • dij is the distance between points i and point j.
  • the second term serves to impose a penalty if each point does not belong to any of the clusters and belongs to multiple clusters.
  • the spin variable is decomposed into a first-order term and a quadratic term.
  • the coefficient of the quadratic term includes the distance dij . That is, the distance dij is a value that determines the Hamiltonian parameter of the Ising model.
  • the data to be clustered is often fixed in the data space.
  • data is often a point (vector) in the feature space.
  • learning often causes the data to move to another point in the feature space, or the feature space itself to change, resulting in a change in the feature vector of the data.
  • the distance on the feature space in deep learning can be expressed by the following equation (13).
  • x i and x j are inputs (eg, images) to the neural network.
  • is a neural network parameter.
  • f ⁇ is a function representing the mapping from the input composed of the neural network to the feature space.
  • mini-batch learning is learning in which a mini-batch is sampled from the training data and the parameters of the neural network are updated in the mini-batch. Since the Ising layer can be used in the same way as other layers of the neural network, the learning process can be executed without making any significant changes.
  • FIG. 13 is a diagram for explaining a clustering optimization problem.
  • FIG. 13 is a diagram in which image data ID 1, image data ID 2, image data ID 3, image data ID 4, image data ID 5, image data ID 6, image data ID 7, and image data ID 8 are mapped in a feature space. Is.
  • the distance dij between each of the image data ID 1 to the image data ID 8 is calculated according to the equation (13), and the image data ID 1 to the image data ID 8 are clustered.
  • image data ID1 to image data ID4 are classified into the same class, and image data ID5 to image data ID8 are classified into the same class.
  • the process of generating the feature space while performing clustering has a large load and takes time to complete the process.
  • the load increases as the size of the batch data increases, and it takes time to complete the process.
  • the distance dij is calculated by the neural network and then output to the quantum annealing.
  • the quantum annealer can instantaneously optimize the Hamiltonian as represented by the equation (12). In other words, by including the quantum annealing in the neural network, the clustering problem in the feature space of deep learning can be solved end-to-end at high speed.
  • mini-batch is sampled from the training data set at the time of learning, and neural network mapping that realizes optimum clustering is learned with them.
  • metric learning that enables optimal clustering can be realized.
  • Clustering is classified as unsupervised learning in learning technology. Semi-supervised learning can be considered as one of the examples of applying this clustering.
  • Semi-supervised learning is a learning technique that combines unsupervised learning and supervised learning.
  • semi-supervised learning is used to facilitate learning with unsupervised data when supervised data is inadequate and supervised learning is not sufficient.
  • it can be used when a lot of unsupervised data is collected but it is difficult to collect supervised data.
  • Semi-supervised learning learns neural network parameters so as to reduce the objective function of unsupervised learning as shown by the following equation (14) and the objective function of supervised learning.
  • the left side is the objective function of the semi-supervised learning
  • X S is supervised data
  • Y S is the corresponding teacher data (labels)
  • X u is unsupervised (labeled) data
  • theta neural network It is a parameter of.
  • the first term on the right side is the objective function of supervised learning, which is calculated using supervised data and labels
  • the second term is the objective function of unsupervised learning.
  • the first term of supervised learning on the right side is performed by building a neural network for supervised learning and performing ordinary learning.
  • a neural network for supervised learning is a neural network that maps data to a feature space, converts it into class probabilities, and loses cross entropy with labels. Training is performed by sampling a mini-batch of data and labels from a supervised learning dataset and updating the parameters of the neural network that maps the data to the feature space.
  • a neural network for unsupervised learning is a neural network that maps data to a feature space, calculates the parameters of the Ising model from the distances between these feature vectors, and connects the parameters to the Ising layer.
  • learning a mini-batch of data is sampled from an unsupervised learning data set, and learning is performed using this mini-batch.
  • the learning method is normal mini-batch learning. Learning from unsupervised data is performed as described above.
  • semi-supervised learning of the classification model was realized by using clustering for unsupervised learning, but semi-supervised learning is not limited to the classification model.
  • semi-supervised learning of a ranking model sorting using a binary quadratic form can be used for unsupervised learning.
  • semi-supervised learning of a multi-instance model or a time series model matching or alignment using a binary quadratic form may be used for unsupervised learning.
  • FIG. 14 is a hardware configuration diagram showing an example of a computer 1000 that realizes the functions of an information processing device such as the information processing device 100.
  • the computer 1000 has a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600.
  • Each part of the computer 1000 is connected by a bus 1050.
  • the CPU 1100 operates based on the program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
  • the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, a program that depends on the hardware of the computer 1000, and the like.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100 and data used by the program.
  • the HDD 1400 is a recording medium for recording an information processing program according to the present disclosure, which is an example of program data 1450.
  • the communication interface 1500 is an interface for the computer 1000 to connect to an external network 1550 (for example, the Internet).
  • the CPU 1100 receives data from another device or transmits data generated by the CPU 1100 to another device via the communication interface 1500.
  • the input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000.
  • the CPU 1100 receives data from an input device such as a keyboard or mouse via the input / output interface 1600. Further, the CPU 1100 transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600. Further, the input / output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium (media).
  • the media is, for example, an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk), a magneto-optical recording medium such as MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
  • an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
  • a magneto-optical recording medium such as MO (Magneto-Optical disk)
  • tape medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
  • MO Magneto-optical disk
  • the CPU 1100 of the computer 1000 realizes the functions of the control unit 150 and the like by executing the information processing program loaded on the RAM 1200.
  • the information processing program according to the present disclosure and the data in the storage unit 140 are stored in the HDD 1400.
  • the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program, but as another example, these programs may be acquired from another device via the external network 1550.
  • the information processing system 10 includes a learning unit 152 that performs learning using a neural network model based on learning data.
  • the learning unit 152 includes a parameter calculation net that calculates a predetermined parameter, and an optimization layer that executes a predetermined optimization based on the parameters calculated by the parameter calculation net.
  • the learning unit 152 updates the parameters of the neural network by back-propagating the error based on the execution result of the optimization by the optimization layer.
  • the optimization layer consists of a computer that imitates the Ising model.
  • the optimization layer in the neural network can be configured by a computer that imitates the Ising model.
  • the optimization layer is composed of a quantum computer 200.
  • the optimization layer in the neural network can be configured by the quantum computer 200.
  • the quantum computer 200 is a quantum annealing computer.
  • the quantum computer 200 can be configured by an existing device. Therefore, the information processing system 10 can be configured by an existing device.
  • the learning unit 152 and the quantum computer 200 are communicably connected via a network.
  • the information processing apparatus 100 can execute processing other than the quantum calculation, and the quantum computer 200 can execute the quantum calculation. Therefore, the information processing apparatus 100 and the quantum computer 200 can fuse deep learning and quantum computing to solve a problem having a complicated objective function at high speed.
  • the parameter is a parameter related to a predetermined optimization problem.
  • the optimization problem can be optimized by using the information processing system 10. Therefore, a predetermined optimization problem can be solved at high speed.
  • the optimization problem is a discrete optimization problem.
  • the optimization problem can be optimized by using the information processing system 10. Therefore, the discrete optimization problem can be solved at high speed.
  • the discrete optimization problem is an optimization problem for an objective function in quadratic form.
  • the information processing system 10 can be used to optimize the objective function in the binary quadratic form. Therefore, the optimization problem of the objective function in the quadratic form can be solved at high speed.
  • the optimization layer calculates the optimum spin arrangement in which the Ising model is in the base energy state based on the Hamiltonian of the Ising model as an optimization problem of the objective function in the quadratic form.
  • the objective function of the binary quadratic form can be optimized by observing the ground state of the Ising model realized in the Ising layer without using a specific algorithm.
  • the parameter calculation net calculates the coefficients of the primary and secondary spin variable terms corresponding to the parameters of the Ising model based on the optimum spin arrangement.
  • the learning unit 152 updates the parameters of the neural network by back-propagating the error gradient calculated from the optimum spin arrangement from the optimization layer.
  • the information processing apparatus 100 can update the parameters of the neural network by using a normal back propagation method based on the optimum spin arrangement calculated by the quantum computer 200.
  • a prediction unit 153 that predicts the execution result of the execution data using the updated neural network.
  • the execution data can be predicted by using the neural network updated by the information processing device 100 and the quantum computer 200.
  • the prediction unit 153 predicts the execution result of the execution data based on the execution result of the predetermined optimization by the Ising layer.
  • the information processing apparatus 100 can predict the execution result of the execution data based on the calculation result of the quantum computer 200.
  • the information processing method calculates a predetermined parameter, executes a predetermined optimization based on the parameter calculated by the parameter calculation net, and updates the parameter of the neural network based on the execution result of the optimization.
  • the present technology can also have the following configurations.
  • (1) It is equipped with a learning unit that performs learning using a neural network based on learning data.
  • the neural network A parameter calculation net that calculates a predetermined parameter, and Includes an optimization layer that performs a predetermined optimization based on the parameters calculated by the parameter calculation net.
  • the learning unit updates the parameters of the neural network by back-propagating the error based on the execution result of the optimization by the optimization layer.
  • the optimization layer is composed of a computer that imitates the Ising model.
  • the optimization layer is composed of a quantum computer.
  • (4) The quantum computer is a quantum annealing computer.
  • the learning unit and the quantum computer are communicably connected via a network.
  • the parameters are parameters relating to a given optimization problem.
  • the optimization problem is a discrete optimization problem.
  • the discrete optimization problem is an optimization problem of an objective function in a quadratic form.
  • the optimization layer calculates the optimum spin arrangement in which the Ising model is in the basal energy state based on the Hamiltonian of the Ising model as an optimization problem of the objective function of the quadratic form.
  • the parameter calculation net calculates the loss of the primary and secondary spin variable terms corresponding to the parameters of the Ising model based on the optimum spin arrangement.
  • the learning unit updates the parameters of the neural network by back-propagating the error gradient calculated from the optimum spin arrangement from the optimization layer.
  • a prediction unit that predicts the execution result of execution data using the updated neural network is further provided.
  • the prediction unit predicts the execution result of the execution data based on the execution result of a predetermined optimization by the optimization layer.
  • (14) Calculate the given parameters
  • a predetermined optimization process is executed based on the parameter calculated by the parameter calculation net.
  • the neural network parameters are updated based on the execution result of the optimization. Information processing method.
  • Information processing system 100 Information processing device 110, 210 Communication unit 120, 220 Input unit 130 Output unit 140 Storage unit 141 Data storage unit 142 Model storage unit 150, 240 Control unit 151,241 Acquisition unit 152 Learning unit 153 Prediction unit 154 243 Communication control unit 200 Quantum computer 230 Quantum device unit 242 Measurement unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

情報処理システムは、学習用データに基づいて、ニューラルネットを用いた学習を行う学習部(152)を備える。ニューラルネットは、所定のパラメータを算出するパラメータ算出ネットと、パラメータ算出ネットによって算出されたパラメータに基づいて所定の最適化計算を実行する最適化レイヤと、を含む。学習部(152)は、最適化レイヤによる最適化計算の実行結果に基づく誤差を逆伝搬することで、ニューラルネットのパラメータを更新する。

Description

情報処理システム及び情報処理方法
 本開示は、情報処理システム及び情報処理方法に関する。
 近年、ニューラルネットを用いた深層学習等の機械学習によってモデルを構築し、分類や認識等の演算を行う技術が盛んに研究されている。例えば、深層学習と、量子計算とを融合する技術が提案されている(例えば、非特許文献1)。
Masayuki Ohzeki, Shuntaro Okada, Masayoshi Terabe, and Shinichiro Taguchi, "Optimization of neural networks via finite-value quantum fluctuations" Scientific Reports 8, 9950 (2018)
 深層学習は、ニューラルネットのパラメータを学習することで、比較的簡単な式で目的関数を表現できる回帰や分類に適した中間表現を獲得することができる。しかしながら、深層学習では、より複雑な目的関数を持つ問題の場合は、計算時間が長くなり学習することが困難となる。そのため、深層学習では、複雑な目的関数を持つ問題を高速に解くことが困難であるという問題がある。
 そこで、本開示では、複雑な目的関数を持つ問題を高速に解くことのできる情報処理システム及び情報処理方法を提案する。
 上記の課題を解決するために、本開示に係る一態様の情報処理システムは、学習用データに基づいて、ニューラルネットを用いた学習を行う学習部を備え、前記ニューラルネットは、所定のパラメータを算出するパラメータ算出ネットと、前記パラメータ算出ネットによって算出されたパラメータの元で最適化を実行する最適化レイヤと、を含み、前記学習部は、前記最適化レイヤによる最適化の実行結果に基づく誤差を逆伝搬することで、前記ニューラルネットのパラメータを更新する。
本開示のニューラルネット設計支援のGUIの例を示す図である。 イジングモデルを模式的に示す図である。 本開示の実施形態に係る情報処理システムの構成の例を示す図である。 本開示の実施形態に係るイジングレイヤを説明するための図である。 本開示の実施形態に係るパラメータを学習する処理の流れを説明するための図である。 本開示の実施形態に係る情報処理装置の構成の一例を示すブロック図である。 本開示の実施形態に係る量子計算機の構成の一例を示すブロック図である。 本開示の実施形態に係る学習処理の流れの一例を示すフローチャートである。 本開示の実施形態に係る予測処理の流れの一例を示すフローチャートである。 本開示の実施形態に係るニューラルネットを設計する方法を説明するための図である。 本開示の実施形態に係るニューラルネットを学習させる処理を説明するための図である。 本開示の実施形態に係るニューラルネットの変形例を説明するための図である。 クラスタリングの最適化問題を説明するための図である。 情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 以下に示す項目順序に従って本開示を説明する。
 1.概要
  1-1.深層学習
   1-1-1.回帰問題
   1-1-2.分類問題
   1-1-3.表現学習・特徴学習
  1-2.ニューラルネットの設計
  1-3.量子アニーリング
  1-4.離散最適化問題
  1-5.量子アニーラ
 2.情報処理システム
  2-1.情報処理システムの構成
  2-2.イジングレイヤ
  2-3.イジングモデルの係数
  2-4.誤差逆伝搬
  2-5.パラメータの学習
 3.実施形態
  3-1.情報処理装置の構成
  3-2.量子計算機の構成
  3-3.学習処理
  3-4.予測処理
  3-5.深層学習フレームワーク
  3-6.問題の種類
   3-6-1.巡回セールスマン問題
   3-6-2.クラスタリング
[1.概要]
[1-1.深層学習]
 本開示を説明する前に、本開示に係る概要について説明する。
 深層学習(ディープラーニング)は、ニューラルネットの学習に関する技術全般を表す用語である。昨今、深層学習は、物体認識、音声認識、行動認識等の認識に関する機能を有する機能モジュールの性能の向上に大きな変革をもたらしている。例えば、物体が映っている画像から物体のクラスをあてる「一般物体認識」における性能は、人の性能を超えるに至った。
[1-1-1.回帰問題]
 回帰問題は、データから連続値を予測する問題である。深層学習の場合、データを入力して、ニューラルネットを用いて連続値を出力する。このニューラルネットのパラメータ(線形層の重みやバイアス)は、予測値とラベル値のロス(損失関数)を小さくするように予め学習されている。二乗誤差をロスとして用いる場合は、以下の式(1)のように書き下せる。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、x~xは学習データ、t~tは教師データ(ラベル)である。θはニューラルネットのパラメータである。nは入力の通し番号である。tはラベル値である。xは入力データである。fθ(x)は予測値である。
[1-1-2.分類問題]
 分類問題は、入力データを離散化されたクラスに分類する問題である。深層学習の場合、データを入力して、ニューラルネットを用いてクラスの予測確率(予測分布)を出力する。このニューラルネットのパラメータは、予測確率と、ラベル値の経験分布の間のロスを小さくするように予め学習されている。多クラス分類問題で、クロスエントロピーをロスとして用いる場合は、例えば、以下の式(2)のように書き下せる。
Figure JPOXMLDOC01-appb-M000002
 式(2)において、kはクラスの通し番号である。tはクラスのラベル値である。xは入力データ値である。p(k|x,θ)は、クラスkの予測確率である。多クラス分類問題では、予測確率は以下の式(3)のようにソフトマックス関数で近似することが多い。
Figure JPOXMLDOC01-appb-M000003
 式(3)において、fk,θ(x)は、ニューラルネットによって算出されたクラスkのロジット値である。
[1-1-3.表現学習・特徴学習]
 表現学習・特徴学習とは、データを入力して、回帰問題や分類問題などの問題に適した特徴ベクトルを出力するようにニューラルネットを学習することである。
[1-2.ニューラルネットの設計]
 ニューラルネットは、入力層と、隠れ層と、出力層とで構成される。これらの層(レイヤ)の間には、線形関数、非線形関数による層が存在する。これらを線形層、非線形層とよぶこともある。すなわち、線形層、非線形層はニューラルネットの一部である。
 三層ニューラルネットは、入力層と、隠れ層と、出力層とを含む。最近では、このような三層ニューラルネットを二層ニューラルネットと呼ぶことが多い。例えば、入力層と、出力層との間には、2つの線形層と、1つの非線形層(活性層とも呼ばれる)がある。このように、ニューラルネットでは、線形層と、非線形層とを組み合わせて合成関数を構成する。
 一般に、深層学習のニューラルネットは線形層と非線形層とを複雑に多段に組み合わせて構成する。そこで、複雑なニューラルネットを設計する手間を省けるようにGUI(Graphical User Interface)等を用いた設計ツールなども提供されている。
 図1を用いて、GUIの一例について説明する。図1は、GUIの一例を説明するための図である。
 図1に示す画面IM1の上方にはツールの選択に用いられるボタンが並ぶツールバーが表示され、その下に、第1領域AR1と第2領域AR2が設けられる。
 図1中の左端部に設けられる矩形状の第1領域AR1は、ニューラルネットを構成する各種のコンポーネント等の選択に用いられる領域である。図1の例においては、各コンポーネントが、「IO」、「Loss」、「Parameter」、「Basic」、「Pooling」等のカテゴリ毎に表示される。
 例えば、「Loss」のコンポーネントには、「SquaredError」、「HuberLoss」、「AbsoluteError」等が含まれる。「Parameter」のコンポーネントには、「Parameter」、「WorkingMemory」等が含まれる。また、「Basic」のコンポーネントには、「Affine」、「Convolution」、「Deconvolution」、「Embed」等が含まれる。
 第2領域AR2は、第1領域AR1に示すようなコンポーネントを用いて設計したニューラルネットが表示される領域である。図1の例においては、「Input」、「Affine」、「Sigmoid」、「BinaryCrossEntropy」の各コンポーネントが順に選択された場合を示し、各コンポーネントを表すブロックBK1~BK4が並べて表示されている。図1に示すブロックBK1は、入力層に対応し、ブロックBK2は、線形層に対応し、ブロックBK3は、活性化層に対応し、ブロックBK4は、ロス関数層に対応する。このように、図1に示すブロックBK1~BK4は、入力層、線形層、活性化層、ロス関数層を含む学習用ニューラルネットを表す。
 そして、学習用データセットが指定され、学習の実行をユーザが指示した場合、このニューラルネットを用いた学習が行われる。このように、ユーザは、第1領域AR1からコンポーネントを選択することでニューラルネットの設計を行うことができる。
 図1に示すようにロス関数もニューラルネットを構成する層とみなしてGUIで表すこともできる。例えば、回帰問題用のロス関数の代表例である二乗誤差ロスを1つのレイヤとしてもよい。また、分類問題用のロス関数の代表例であるクロスエントロピーロスを1つのレイヤとしてもよい。ニューラルネットにロス関数が設定されていると、そのニューラルネットを学習に用いることができる。すなわち、ロス関数の誤差を算出して逆伝搬することで、線形層などにあるニューラルネットのパラメータを更新することができる。
[1-3.量子アニーリング]
 量子アニーリングは、量子ビットと呼ばれる量子状態を実現したデバイスを用いて数値計算を行う量子計算の一種である。量子計算は、ゲート方式と、アニーリング方式とがよく知られている。
 ゲート方式は、予め決められたいくつかの基本的なゲートデバイスをプログラムに沿って組み合わせる方式である。ゲート方式は様々な計算に使用できることから汎用量子計算機と呼ばれることもある。ゲート方式で困難な課題は、計算中に量子状態を維持することである。現時点では、計算に量子状態を維持したまま使用できる量子ビットが数十ビットと数が少ないため、実用的な問題を解法するためには不十分であるとされている。
 アニーリング方式は、量子ビットを統計的に制御する方式である。アニーリング方式の主な用途は、離散最適化問題の解法である。アニーリング方式は、ゲート方式と比べると厳密に量子状態を維持することが求められていない。このため、現時点でも使用できる量子ビットが数千ビットを達成している。このため、アニーリング方式は、離散最適化の実用的な問題を解けるレベルにかなり近づいている。
 量子計算は、通常ゲート方式にユニバーサル量子計算を指すことが多い。アニーリング方式を発展させてゲート方式を実現でき、ゲート方式からアニーリング方式を実現できることが知られている。しかし、以下では、便宜的にアニーリング方式も含めて量子計算、量子計算機と呼ぶものとする。
[1-4.離散最適化問題]
 量子アニーリングは、離散最適化問題を最適化することができる。特に、量子アニーリングは、二値二次形式の目的関数の最適化問題を最適化することができる。二値二次形式の目的関数の最適化問題は、以下の式(4)のように記載することができる。
Figure JPOXMLDOC01-appb-M000004
 式(4)において、Jijとhとをあわせて以下の式(5)のようにイジングモデルのパラメータを、λと定義する。
Figure JPOXMLDOC01-appb-M000005
 式(5)のように記載されるλは、問題を最適化する間は固定されるパラメータである。目的関数を最小化するように最適化したい変数σは、以下の式(6)のように記載することができる。
Figure JPOXMLDOC01-appb-M000006
 式(6)のように記載されるσは、-1または1のいずれかの値をとる二値離散変数の組み合わせである。
 離散最適化問題としては、後述するが、巡回セールスマン問題、クラスタリング、辞書学習、ブースティングなどが挙げられる。
 巡回セールスマン問題を最適化することで最適な経路を探索することができるため、例えば工場内などにおける工場内の配送技術や、製造工程などを最適に設計することができる。
 クラスタリングや辞書学習では、遺伝子・抗体の発現を予測することができるため、フローサイトメトリなどに適用することができる。クラスタリングや辞書学習では、消費者の嗜好性を分類することができるので、顧客の行動を予測することができる。
 ブースティングでは、高速に判別学習が行えるので、製品検査技術などに適用することができる。
[1-5.量子アニーラ]
 量子アニーラは、イジングモデルのエネルギーが最小となる解を、量子効果を使って効率的に探索する装置である。イジングモデルは、スピンが格子状に配置されたモデルである。図2は、イジングモデルを模式的に示す図である。イジングモデルとは、複数のスピンSが格子状に配列されたモデルである。イジングモデルでは、スピンSは、上向きまたは下向きのいずれか一方の状態をとる。詳細には、イジングモデルのハミルトニアンは、以下の式(7)のように記載される。
Figure JPOXMLDOC01-appb-M000007
 式(7)において、σは、i番目のスピンである、Jijは、i番目のスピンとj番目のスピンとの間に働く結合エネルギーである。hは、k番目のスピンに働く上下方向の磁場である。Jijまたはhのことを、単に、イジングモデルのパラメータまたはイジングモデルの係数と呼ぶこともある。
 イジングモデルでは、Jijは、隣接するスピン間にのみ0でない値をとるモデルである。量子アニーラでは、イジングモデルを一般化したスピングラスモデルを扱う。本明細書では、スピングラスモデルのことを通例に倣ってイジングモデルと呼んでいる。
 イジングモデルのスピン群の配置σは、式(8)のようにギブスボルツマン分布にしたがう。
Figure JPOXMLDOC01-appb-M000008
 βは絶対温度の逆数であり、逆温度と呼ばれる。逆温度を大きくする(絶対零度に近づける)と、イジングモデルのスピン配置は基底状態をとる。すなわち、ハミルトニアンが最小とするスピン配置となる。このため、イジングモデルの温度を絶対零度にして、基底状態のスピン配置を観測すれば、ハミルトニアンを最小にするスピン配置を観測することができる。
 ここで、上述した二値二次形式の最適化問題を考える。二値二次形式の最適化問題の目的関数は、イジングモデルのハミルトニアン(エネルギー関数)と等価である。このため、量子アニーラでは、目的関数と同形式のハミルトニアンで表されるイジングモデルを物理デバイスとして設計する。言い換えれば、量子アニーラでは、Jijとhとを人工的に設計することができる。そして、設計した物理デバイスを絶対零度に近づけてからスピン配置を観測する。観測された値を二値変数の解とすることで、二値二次形式問題の最適化の解を得ることができる。
 しかしながら、問題に応じて、イジングモデルのパラメータを決定することは容易ではないことが多い。そのため、量子計算と深層学習とを融合させた技術で、最適化問題を解くことが望ましい。
 量子計算と深層学習の融合として、2つの技術が挙げられる。1つ目の技術は、量子アニーラによる最適化ソルバーの置き換えである。2つ目の技術は、量子ボルツマン機械学習である。
 深層学習のソルバーとして、合成関数の勾配法(最急降下法:SGD(Steepest Gradient Descent))である誤差逆伝搬法を発展させた様々な手法がある。特に、Adam(Adaptive Moment Estimation)と呼ばれる手法では、SGDの持つ様々な問題(データスケールへの依存や時間応答性)が修正されている。そのため、現在ではAdamが、深層学習で最も使用されているソルバーである。
 深層学習のソルバーも、最適化アルゴリズムと捉えることができる。このため、深層学習のソルバーで、量子アニーラが実行する最適化の手法を使用するというアイデアがある。しかしながら、深層学習が扱えるパラメータは連続値であるが、量子アニーラが最適化できるパラメータは二値離散値である。深層学習において、連続値をデジタル化し離散値とすることも考えられるが、構成が複雑になり実現は困難であることが想定される。
 上述の非特許文献1では、通称「QAdam」と呼ばれる技術が記載されている。非特許文献1では、量子アニーラが連続値を最適化できるようになったことを仮定している。そして、非特許文献1では、量子アニーラを深層学習のソルバーに利用したらどのような振る舞いをするかを、Adamに類似したアルゴリズムでシミュレートしている。そのため、非特許文献1に記載の技術は、最適化ソルバーを実際に置き換えている訳ではないので、量子計算と深層学習の融合であるとは言えない。
 また、最適化ソルバーの置き換え自体は、深層学習で回帰や分類の様々な複雑な目的関数を持つ問題に対応するという課題には対応していない問題がある。
 ボルツマン機械学習は、ボルツマンマシンと呼ばれるモデルに対する学習であり、ボルツマンマシン自体は生成モデルによく用いられる。量子ボルツマンマシン機械学習は、ボルツマンマシンの学習や推論処理に量子アニーラを用いるものである。しかしながら、ボルツマンマシンは、現在では殆ど使われることはない。ボルツマンマシンは、イジングモデルのパラメータを直接学習するが、そのままでは構造が簡単であるため、現在の深層学習のような表現力をもっていない。一方、表現力を大きくするために構造を複雑にすると今度は、急激に学習が難しくなるという問題がある。
 そこで、本開示では、量子計算と深層学習を融合させることで、イジングモデルのパラメータを容易に求める方法を提案する。
[2.情報処理システム]
(2-1.情報処理システムの構成)
 図3を用いて、本開示の実施形態に係る情報処理システム10の構成について説明する。図3は、本開示の実施形態に係る情報処理システム10の構成の一例を示す図である。
 図3に示すように、情報処理システム10は、情報処理装置100と、量子計算機200とを含む。情報処理装置100は、有線または無線のネットワークNWを介して、量子計算機200と通信可能に接続されている。ネットワークNWは、例えばインターネット等の通信回線である。
 情報処理装置100は、種々の処理を実行する。情報処理装置100は、例えば深層学習を実行する。情報処理装置100は、コンピュータで実現することができる。量子計算機200は、種々の量子計算を実行する。量子計算機200は、例えば量子アニーラで実現することができる。なお、量子計算機200は、イジングモデルを模した計算機であってもよい。
(2-2.イジングレイヤ)
 図4を用いて、本開示の実施形態に係る最適化レイヤを実現するイジングレイヤについて説明する。イジングレイヤは、イジングモデルを使って最適化を行うレイヤである。図4は、イジングレイヤを説明するための図である。
 情報処理システム10は、量子計算機200または量子計算機200の表すイジングモデルを、深層学習のレイヤの1つとして扱うことができる。例えば、情報処理システム10は、図1に示す画面IM1の第1領域AR1から、量子計算機200または量子計算機200の表すイジングモデルを、深層学習のレイヤの1つとして選択することができる。
 図4に示す例では、ブロックBK11と、ブロックBK12と、ブロックBK13とを含むニューラルネットが示されている。ブロックBK11は、入力されたデータXから特徴量を抽出する特徴抽出ネットである。ブロックBK12は、所定のイジングモデルのパラメータを算出するパラメータ算出ネットである。ブロックBK13は、量子計算機200に対応するイジングレイヤである。
 イジングレイヤの中には、量子アニーラまたはそれに準ずる二値二次形式最適化を実行するモジュールが配置されている。このため、イジングレイヤは、イジングモデルのスピン配置を求める構造を有している。
 深層学習のニューラルネットにおいて、1つ以上のレイヤがイジングレイヤ(イジングレイヤ)で構成されていることが、本開示の第1のポイントである。このような、ニューラルネットをイジングネットと呼ぶものとする。
 非特許文献1では、深層学習の最適化ソルバー自体を量子アニーラで置き換えようとしているのに対して、本開示では深層学習の最適化ソルバーは、SGDまたはAdamなどの深層学習の標準的なソルバーを用い、量子アニーラは、深層学習のレイヤの一つとして利用している。
 本開示では、例えばイジングレイヤを深層学習のロス関数層として利用する。言い換えれば、本開示では、ロス関数層がイジングレイヤで構成されたイジングネットを用いて学習する。これにより、本開示は深層学習が解ける問題を、分類および回帰に制限されず、量子アニーラが解けるとされる二値二次形式の目的関数をもつ問題全般に拡張することができる。すなわち、本開示は、イジングレイヤに内包されるイジングモデルが解ける問題全般を最適に解くことを可能にする。
(2-3.イジングモデルの係数)
 情報処理システム10においては、イジングレイヤに接続されたニューラルネットからイジングモデルの係数(パラメータ)が入力される。詳細には、イジングレイヤには上述の式(7)のハミルトニアンで表されるイジングモデルのパラメータJijとhが入力される。
 イジングレイヤの順方向の出力は、二値二次形式ロスの値である。情報処理システム10においては、まず、イジングレイヤ内で量子アニーラまたはそれに準ずるアルゴリズムでイジングモデルの最適化されたスピン配置を求める。すなわち、式(7)で表されるハミルトニアン(目的関数)の値は、イジングモデルの最適化されたスピン配置のもとで計算した最小値のロスの値となる。イジングレイヤを量子アニーラで構成した場合には、例えばマイクロ秒オーダーでスピンの値を算出することができる。なお、イジングレイヤをロス関数層として用いる場合は、その出力が必要ないのであればロスの値を出力しなくともよい。
 量子ボルツマンマシンは、イジングモデルのパラメータを直接学習する。それに対し、本開示では、イジングモデルのパラメータをニューラルネットの出力として計算する。すなわち、イジングモデルのパラメータを、ニューラルネットのパラメータの学習を介して、動的に様々に変化させることができることが本開示の第2のポイントとなる。
(2-4.誤差逆伝搬)
 情報処理システム10においては、イジングモデルの最適化されたスピン配置に基づく誤差がイジングレイヤに接続されたニューラルネットへ逆伝搬される。目的関数の誤差勾配は、以下の式(9)で表される。
Figure JPOXMLDOC01-appb-M000009
 式(9)において、σ、σ、σは、式(7)を最適化したスピン配置である。誤差逆伝搬のチェーンルールにより、イジングレイヤにおけるロスからの誤差が、ニューラルネットへの誤差勾配として配分されることが第3のポイントとなる。本開示では、式(9)で表される誤差勾配に基づいて、深層学習の標準的なソルバーを使って、ニューラルネットのパラメータを更新する。
(2-5.パラメータの学習)
 情報処理システム10においては、イジングレイヤに接続されているニューラルネットのパラメータは、イジングレイヤから逆伝搬された誤差勾配をもとに、深層学習の標準的なソルバーで繰り替えし、学習されることが第4のポイントとなる。
 図5を用いて、本開示の実施形態に係るパラメータを学習する処理の流れについて説明する。図5は、本開示の実施形態に係るパラメータを学習する処理の流れを説明するための図である。
 図5に示すように、イジングネットINは、特徴抽出ネットR1と、パラメータ算出ネットR2と、イジングレイヤR3とを含む。イジングレイヤR3は、ニューラルネットのロス関数層として機能する。
 学習部152は、深層学習処理部1521と、特徴抽出ネットR1と、パラメータ算出ネットR2とを含む。深層学習処理部1521は、イジングネットINからの出力に基づいて学習を実行する。深層学習処理部1521は、学習用データをイジングネットINに入力することで、学習を開始する。
(順方向処理)
 まず、イジングネットINに入力された学習用データは、順方向に伝搬する。特徴抽出ネットR1は、特徴ベクトルuをパラメータ算出ネットR2に出力する。パラメータ算出ネットR2は、イジングモデルのパラメータλ(Jij、h)をイジングレイヤR3に出力する。イジングレイヤR3は、与えられたイジングモデルのパラメータのもとでイジングモデルの最適スピン配置を探索し、最適スピン配置における誤差(ロス)Lを求める。
(逆方向処理)
 続いて、イジングレイヤR3で得られた誤差情報が、逆方向に伝搬される。まず、イジングレイヤR3は、最適スピン配置の情報を、パラメータ算出ネットR2に逆伝搬する。パラメータ算出ネットR2は、イジングレイヤから受け取った最適スピン配置と、内部で算出したイジングモデルのパラメータごとの誤差勾配から、式(9)に従って、特徴ベクトルuに関する誤差勾配を求め、特徴抽出ネットR1に誤差勾配を逆伝搬する。もし、パラメータ算出ネットR2にも学習パラメータがあれば、この学習パラメータに関する誤差勾配を求め、学習パラメータ毎に記憶しておく。この誤差勾配の計算は式(9)のuを学習パラメータで置き換えた式で実行される。特徴抽出ネットR1では、特徴ベクトルuに関する誤差勾配から、特徴抽出ネットR1内の学習パラメータに関する誤差勾配を求め、学習パラメータ毎に記憶しておく。この誤差勾配の計算は、通常のニューラルネットの誤差勾配の計算と同じである。
(パラメータ更新処理)
 深層学習処理部1521は、ニューラルネットのパラメータごとに蓄積された誤差勾配を、SGDやAdamなどの深層学習の標準的なソルバーを用いてニューラルネットのパラメータを更新する。これらの処理を繰り返すことで、ニューラルネットとイジングモデルのパラメータを更新していく。すなわち、本開示では、深層学習と量子計算を融合しているが、通常の深層学習と同様の手法でニューラルネットのパラメータを更新することができる。
 情報処理システム10においては、イジングレイヤ以外のニューラルネットの順方向および逆方向の処理は通常の計算機で行い、イジングレイヤの処理は、量子計算機などの専用計算機で行う。このため、本開示では、通常の計算機から専用計算機への通信がなされる。
 詳細には、図3に示すように、情報処理システム10は、情報処理装置100と、量子計算機200とを含む。情報処理装置100と、量子計算機200とは、ネットワークNWを介して、互いに通信可能に接続されている。この場合、情報処理装置100がイジングレイヤ以外の処理を行い、量子計算機200がイジングレイヤの処理を行う。
 情報処理装置100は、ネットワークNWを介して、ニューラルネットの順方向の計算で算出されたイジングモデルのパラメータを量子計算機200に送信する。そして、量子計算機200は、情報処理装置100から受けたイジングモデルのパラメータをもとにイジングモデルの最適スピン配置を探索することが第5のポイントとなる。量子計算機200は、ネットワークNWを介して、最適スピン配置の探索結果を情報処理装置100に送信する。すなわち、本開示では、情報処理装置100と、量子計算機200とによって、1つのニューラルネットを構成している。
[3.実施形態]
(3-1.情報処理装置の構成)
 次に、図6を用いて、本開示の実施形態に係る情報処理装置100の構成の一例について説明する。図6は、本開示の実施形態に係る情報処理装置100の構成の一例を示すブロック図である。
 図6に示すように、情報処理装置100は、通信部110と、入力部120と、出力部130と、記憶部140と、制御部150とを備える。
 通信部110は、例えば、NIC(Network Interface Card)や通信回路等によって実現される。通信部110は、ネットワークNWと有線又は無線で接続されている。通信部110は、ネットワークNWを介して、通信制御部154の制御に従って他の装置等との間で情報の送受信を行う。
 入力部120は、ユーザから各種の操作を受け付ける。入力部120は、例えば、ユーザによる学習方法の選択を受け付ける。入力部120は、例えば、ユーザから情報処理装置100で解くための問題を受け付ける。入力部120は、例えば、ユーザによるパラメータの値の入力を受け付ける。入力部120は、例えば、情報処理装置100に設けられたキーボードやマウスやタッチパネルなどの電子機器で構成されている。なお、入力部120は、ユーザによる発話を入力として受け付けてもよい。この場合、入力部120は、マイクなどの音声入力装置で構成すればよい。
 出力部130は、各種の情報を出力する。出力部130は、各種の情報を表示する。出力部130は、例えば液晶ディスプレイ(LCD:Liquid Crystal Display)または有機EL(Organic Electro-Luminescence)ディスプレイ等を含むディスプレイで構成される。出力部130は、例えば、図1に図示の画面IM1を表示する。出力部130は、例えば、イジングモデルの最適化されたスピン配置のもとで計算したロスの値を表示する。出力部130は、ユーザから受け付けた問題の解を表示する。なお、出力部130は、音声を出力する機能を有してもよい。この場合、出力部130は、例えば、音声を出力するスピーカーで構成すればよい。
 記憶部140は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部140は、データ記憶部141と、モデル記憶部142とを有する。
 データ記憶部141は、各種のデータを記憶する。データ記憶部141は、例えば、学習に用いるための各種の学習データを記憶する。モデル記憶部142は、学習済みのモデルを記憶する。モデル記憶部142は、例えば、学習部152によって学習されたモデルを記憶する。なお、モデル記憶部142は、学習部152によって学習される前の初期モデルを記憶してもよい。
 制御部150は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部に記憶されたプログラムがRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部150は、コントローラ(Controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
 制御部150は、取得部151と、学習部152と、予測部153と、通信制御部154とを有する。なお、制御部150の内部構成は、図6に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
 取得部151は、各種の情報を取得する。取得部151は、外部の情報処理装置から各種の情報を取得する。取得部151は、外部の量子計算機200から各種の情報を取得する。取得部151は、記憶部140から各種の情報を取得する。取得部151は、入力部120により受け付けられた入力情報を取得する。
 取得部151は、例えば、情報処理システム10で解くための問題を取得する。取得部151は、例えば、学習前の初期モデルを取得する。取得部151は、例えば、学習に用いるための学習データを取得する。取得部151は、学習済みの学習モデルに入力するための実行用データを取得する。取得部151は、例えば、外部の量子計算機200からイジングモデルの最適スピン配置に関する情報を取得する。
 学習部152は、各種学習を行う。学習部152は、取得部151により取得された情報に基づいて、各種情報を学習する。学習部152は、記憶部140のデータ記憶部141に記憶された学習データに基づいて、各種情報を学習する。学習部152は、初期モデルと学習データに基づいて学習し学習モデルを生成する。学習部152は、例えば学習モデルとして、例えば、イジングモデルのパラメータを計算するニューラルネットを生成する。
 学習部152は、取得部151により取得された情報に基づいて、学習モデルを更新する。学習部152は、記憶部140に記憶された情報に基づいて、学習モデルを更新する。例えば、学習部152は、ニューラルネットのパラメータを学習する。また、学習部152は学習したニューラルネットを用いて、イジングモデルのパラメータを算出する。学習部152は、外部の量子計算機200から取得したイジングモデルの最適スピン配置に基づく誤差を逆伝搬して、ニューラルネットのパラメータを更新する。
 予測部153は、各種の情報を予測する。予測部153は、例えば、取得部131により取得された各種情報に基づいて、種々の情報を予測する。予測部153は、例えば、データ記憶部141と、モデル記憶部142に記憶された情報を用いて種々の情報を予測する。詳細には、予測部153は、データ記憶部141に記憶された実行用データと、モデル記憶部142に記憶された学習モデルに基づいて実行結果を予測する。
 通信制御部154は、通信部110を介した情報の送受信を制御する。通信制御部154は、通信部110を制御して、他の情報処理装置と通信を行う。通信制御部154は、通信部110を制御して、量子計算機200と通信を行う。
(3-2.量子計算機の構成)
 次に、図7を用いて、本開示の実施形態に係る量子計算機200の構成の一例について説明する。図7は、本開示の実施形態に係る量子計算機200の構成の一例を示すブロック図である。
 図7に示すように、量子計算機200は、通信部210と、入力部220と、量子デバイス部230と、制御部240とを備える。
 通信部210は、例えば、NICや通信回路等によって実現される。通信部210は、ネットワークNWと有線又は無線で接続されている。通信部110は、ネットワークNWを介して、通信制御部154の制御に従って他の装置等との間で情報の送受信を行う。
 入力部220は、ユーザから量子計算機200に対する各種の入力を受け付ける。入力部220は、例えば、ユーザから量子デバイス部230を測定するための指示を受け付ける。
 量子デバイス部230は、種々の量子計算を実行する。量子デバイス部230は、例えば、情報処理装置100から受け付けたイジングモデルのパラメータに基づいて、そのイジングモデルの基底状態を実現する。言い換えれば、量子デバイス部230は、イジングモデルが基底エネルギー状態となる最適スピン配置を実現する。すなわち、量子デバイス部230は、最適化問題を最適化した状態を実現する。
 量子デバイス部230は、例えば、複数の量子ビットから構成される。量子デバイス部230は、予め絶対零度付近まで冷却しておく。量子デバイス部230にイジングモデルのパラメータが入力された後、量子デバイス部230は内部でイジングモデルと横磁場モデル(量子ゆらぎモデル)の比率を時間発展させることで、量子デバイス部230上で、イジングモデルのパラメータに応じた最適なスピン配置が実現する。すなわち、本開示では、量子デバイス230部上でイジングモデルの最適なスピン配置が物理的に実現されている。そのため、本開示はイジングモデルの最適なスピン配置を得るためのデジタル計算アルゴリズムを用いることなく、量子デバイス部230を測定することだけでイジングモデルの最適なスピン配置を得ることができる。これより、量子デバイス部230は、例えば、離散最適化問題を最適化することができる。特に、量子デバイス部230は、二値二次形式の目的関数の最適化問題を最適化することができる。
 制御部240は、例えば、CPUやMPU等によって、情報処理装置100内部に記憶されたプログラムがRAM等を作業領域として実行されることにより実現される。また、制御部240は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
 制御部240は、取得部241と、測定部242と、通信制御部243とを有する。なお、制御部240の内部構成は、図7に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
 取得部241は、各種の情報を取得する。取得部241は、外部の情報処理装置100から各種の情報を取得する。取得部241は、入力部220により受け付けられた入力情報を取得する。取得部241は、例えば、外部の情報処理装置からイジングモデルのパラメータに関する情報を取得する。取得部241は、測定部242による量子デバイス部230の測定結果を取得する。
 測定部242は、量子デバイス部230を測定する。測定部242は、イジングモデルの最適スピン配置が実現された量子デバイス部230を測定する。
 通信制御部243は、通信部210を介した情報の送受信を制御する。通信制御部243は、通信部210を制御して、他の情報処理装置と通信を行う。通信制御部243は、通信部210を制御して、情報処理装置100と通信を行う。
(3-3.学習処理)
 次に、図8を用いて、本開示の実施形態に係る情報処理システム10の学習処理の流れについて説明する。図8は、本開示の実施形態に係る情報処理システム10の学習処理の流れの一例を示すフローチャートである。
 まず、制御部150は、初期モデルを取得する(ステップS101)。詳細には、取得部151が外部の情報処理装置またはモデル記憶部142から初期モデルを取得する。そして、ステップS102に進む。
 制御部150と、制御部240とは、情報処理装置100と、量子計算機200との間で通信を確立する(ステップS102)。詳細には、通信制御部154と、通信制御部243とによって、情報処理装置100と、量子計算機200との間において、通信可能な状態に情報処理装置100と、量子計算機200とをセットアップする。そして、ステップS103に進む。
 制御部150は、モデル(ニューラルネット)を学習するための学習用データを取得する(ステップS103)。詳細には、取得部151が外部の情報処理装置またはデータ記憶部141から学習用データを取得する。そして、ステップS104に進む。
 制御部150は、学習用データをニューラルネットに入力する(ステップS104)。詳細には、学習部152が学習部152のニューラルネットに学習用データを入力する。そして、ステップS105に進む。
 制御部150は、イジングモデルのパラメータを算出する(ステップS105)。詳細には、学習部152が学習用データをニューラルネットに順方向に伝搬することで、ニューラルネットからイジングモデルのパラメータを算出する。そして、ステップS106に進む。
 制御部150は、イジングモデルのパラメータを量子計算機200に入力する(ステップS106)。詳細には、通信制御部154が、通信部110を介して、イジングモデルのパラメータを量子計算機200に入力する。また、量子計算機200に入力されたイジングモデルのパラメータは量子デバイス部230に入力される。そして、ステップS107に進む。
 制御部240は、情報処理装置100から入力されたイジングモデルのパラメータに応じた、イジングモデルの最適スピン配置を探索する(ステップS107)。詳細には、測定部242が量子デバイス部230を測定することで、イジングモデルの最適スピン配置を探索する。そして、ステップS108に進む。
 制御部240は、最適スピン配置の探索結果を情報処理装置100に入力する(ステップS108)。詳細には、通信制御部253が、通信部210を介して、最適スピン配置の探索結果を情報処理装置100に入力する。また、情報処理装置100に入力された最適スピン配置の探索結果は学習部152に入力される。そして、ステップS109に進む。
 制御部150は、目的関数の誤差を算出する(ステップS109)。詳細には、学習部152が最適スピン配置をもとに目的関数の誤差を算出する。そして、ステップS110に進む。
 制御部150は、目的関数の誤差をニューラルネットに入力する(ステップS110)。詳細には、学習部152が学習部152のニューラルネットに目的関数の誤差を入力し逆伝搬する。そして、ステップS111に進む。
 制御部150は、イジングモデルのパラメータを更新する(ステップS111)。詳細には、学習部152が予め設定された深層学習のソルバーを用いて、誤差逆伝搬で得られたパラメータごとの誤差勾配を使ってニューラルネットのパラメータを更新する。そして、ステップS112に進む。
 制御部150は、学習が収束したか否かを判定する(ステップS112)。詳細には、学習部152が、学習が収束したか否かを判定する。学習が収束していないと判定された場合(ステップS112のNo)、ステップS103に進む。一方、学習が収束したと判定された場合(ステップS112のYes)、ステップS113に進む。
 ステップS112でYesと判定された場合、制御部150は、学習モデルを出力する(ステップS113)。詳細には、学習部152が学習モデルを出力する。学習部152が出力した学習モデルは、例えばモデル記憶部142に格納される。そして、図8の処理は終了する。
(3-4.予測処理)
 次に、図9を用いて、本開示の実施形態に係る情報処理システム10の予測処理の流れについて説明する。図9は、本開示の実施形態に係る情報処理システム10の予測処理の流れの一例を示すフローチャートである。
 まず、制御部150は、学習モデルを取得する(ステップS201)。詳細には、取得部151がモデル記憶部142から学習モデルを取得する。そして、ステップS202に進む。
 制御部150と、制御部240とは、情報処理装置100と、量子計算機200との間で通信を確立する(ステップS202)。詳細には、通信制御部154と、通信制御部243とによって、情報処理装置100と、量子計算機200との間において、通信可能な状態に情報処理装置100と、量子計算機200とをセットアップする。そして、ステップS203に進む。
 制御部150は、実行用データを取得する(ステップS203)。詳細には、取得部151が外部の情報処理装置またはデータ記憶部141から実行用データを取得する。そして、ステップS204に進む。
 制御部150は、実行用データをニューラルネットに入力する(ステップS204)。詳細には、学習部152が学習部152のニューラルネットに実行用データを入力する。そして、ステップS205に進む。
 制御部150は、イジングモデルのパラメータを算出する(ステップS205)。詳細には、学習部152が実行用データをニューラルネットの順方向に伝搬することで、イジングモデルのパラメータを算出する。すなわち、学習部152は、最適化問題のパラメータを算出する。そして、ステップS206に進む。
 制御部150は、イジングモデルのパラメータを量子計算機200に入力する(ステップS206)。詳細には、通信制御部154が、通信部110を介して、イジングモデルのパラメータを量子計算機200に入力する。また、量子計算機200に入力されたイジングモデルのパラメータは量子デバイス部230に入力される。そして、ステップS207に進む。
 制御部240は、情報処理装置100から入力されたイジングモデルのパラメータに応じた、イジングモデルの最適スピン配置を探索する(ステップS207)。詳細には、測定部242が量子デバイス部230を測定することで、イジングモデルの最適スピン配置を探索する。そして、ステップS208に進む。
 制御部240は、最適スピン配置の探索結果を情報処理装置100に入力する(ステップS208)。詳細には、通信制御部253が、通信部210を介して、最適スピン配置の探索結果を情報処理装置100に入力する。また、情報処理装置100に入力された最適スピン配置の探索結果は予測部153に入力される。そして、ステップS209に進む。
 制御部150は、イジングモデルの最適スピン配置に基づいて、予測結果を出力する(ステップS209)。詳細には、予測部153がイジングモデルの最適スピン配置に基づいて予測結果を出力する。そして、図9の処理は終了する。
(3-5.深層学習フレームワーク)
 次に、図10を用いて、本開示の実施形態に係るニューラルネットを生成する方法について説明する。図10は、本開示のニューラルネットを設計する方法を説明するための図である。
 本開示では、学習部152で学習するニューラルネットは、深層学習フレームワークを用いて設計する。例えば、イジングレイヤを含む場合のニューラルネットは図10に示すニューラルネットNN1で表すことができる。図10に示す例は、周知の深層学習ライブラリを利用する例を示している。
 ニューラルネットNN1には、「nn.Variable([n1,])」「feature_net」、「problem_net」、および「F.ising」との4つの関数が含まれている。
 「nn.Variable([n1,])」は、入力されるデータを意味している。
 ニューラルネットNN1において、「feature_net」は、入力されたデータ「nn.Variable([n1,])」を、解きたい問題を解くために必要となる特徴量fに変換するニューラルネットに、ビルドする関数である。「feature_net」には、学習可能なニューラルネットのパラメータが含まれている(内包されている)。
 「problem_net」は、特徴量をもとに、解きたい問題からイジングモデルのパラメータを算出するレイヤである。「problem_net」は、解きたい問題に依存しており、詳細は後述する。
 「F.ising」は、入力されたパラメータに応じて、内部でイジングモデルをビルドする関数である。「problem_net」で得られたイジングモデルのパラメータは、「F.ising」に入力される。
 次に、図11を用いて、ニューラルネットを学習させる処理について説明する。図11は、本開示の実施形態に係るニューラルネットを学習させる処理を説明するための図である。
 図10に示されるような、ニューラルネットNN1を学習するには、図11に示すような学習L1のようにフレームワークを記載する。
 学習L1には、「solver.zero_grad()」、「l.forward()」、「l.backward()」、および「solver.update()」の4つの処理が含まれている。
 「solver.zero_grad()」は、誤差勾配をゼロにする処理を実行する。
 「l.forward()」は、入力xからロスlを算出するまでの順方向の処理を実行する。この処理において、「feature_net」や、「problem_net」でビルドされたニューラルネットの処理は、通常のニューラルネットの順方向の処理と同等の処理を行う。一方、「F.ising」でビルドされたイジングレイヤは、内部で二値二次形式のロスを最小化するためのアニーリングによる最適化の処理を行い、得られたスピン配置をもとに計算したロスを出力する。
 「l.backward()」は、ロスを最小化するための勾配を逆伝搬する処理を行う。「l.forward()」の場合と同様、「feature_net」や、「problem_net」でビルドされたニューラルネットの処理は、通常のニューラルネットの誤差逆伝搬の処理と同等の処理を行う。一方、「F.ising」でビルドされたイジングレイヤは、「l.forward()」処理ですでに計算されたスピン配置を記憶しておき、その、スピン配置をもとに前のレイヤに逆伝搬する勾配を算出する。
 「solver.update()」は、ニューラルネットのパラメータの更新をすでに得られた誤差勾配を利用して行う処理である。この処理は、通常の深層学習と同様に、予め決められたソルバーに基づいて、予め決められたニューラルネットのパラメータを更新する。ここでは、イジングレイヤのパラメータは学習しない。
 図1に示すようなグラフィカルユーザインターフェースを用いて、ニューラルネットワークコンソールを利用する場合には、図1に示すようなグラフィカルユーザインターフェースを用いて、図4に示すようにニューラルネットの設計を行うようにしても良い。
 図4において、特徴抽出ネットは、図10に図示の「feature_net」の関数でビルドされるニューラルネットである。特徴抽出ネットは、実際には、様々なレイヤがスタックされた構成を有しているが簡略化して1つのブロックで示している。特徴抽出ネットは、入力されたデータから解きたい問題に用いられる特徴量を算出する。
 パラメータ算出ネットは、図10に図示の「problem_net」の関数でビルドされるニューラルネットである。パラメータ算出ネットは、所定の最適化問題のパラメータを算出する。
 パラメータ算出ネットの役割は、最適化問題のパラメータを算出することである。すなわち、パラメータ算出ネットは、最適化問題のパラメータである二値二次形式ロスの各項に係る係数を算出する。なお、二値二次形式のかわりに、N値D次形式と一般化しても良い。このように、パラメータ算出ネットは、ニューラルネットで計算された特徴量からイジングモデルのパラメータを算出する。
 一方、パラメータ算出ネットには、イジングレイヤからイジングモデルの基底状態の最適スピン配置に基づいて算出された誤差勾配が逆伝搬される。この誤差勾配は、チェーンルールに基づいて、パラメータ算出ネットへの入力である特徴ベクトルfに関する誤差勾配が算出され、特徴算出ネットへ逆伝搬される。もし、パラメータ算出ネットの中に、学習可能なパラメータがあれば、そのパラメータに関する誤差勾配が逆伝搬される。
 パラメータ算出ネットは、簡略化して1つのブロックで示しているが、様々なレイヤをスタックして構成することも考えられる。また、パラメータ算出ネットは、解きたい問題に依存するため一意には決まらない。しかし、最適化問題を解くためのイジングモデルのパラメータを算出する点においてはどのような場合であっても同じである。
 解きたい問題については、代表的な最適化問題について、それぞれ名前を付与してリストアップされていて、共通に使えるようになっていてもよい。代表的な問題とは、たとえば、巡回セールスマン問題(TSP:Traveling Salesman Problem)、クラスタリング問題(Clustering)、グラフ彩色問題などである。たとえば、F.tsp(f)、F.clustering(f)などのレイヤとしてもよい。さらに、これらの代表的問題レイヤは、イジングレイヤと予め結合しているレイヤであってもよい。
 イジングレイヤには、イジングモデルのパラメータが入力される。イジングレイヤは、入力されたパラメータに基づいて、イジングモデルの最適スピン配置を算出する。イジングレイヤは、算出した最適スピン配置を用いて、イジングモデルのパラメータに関する誤差勾配をパラメータ算出ネットに逆伝搬する。イジングレイヤは、例えば図1に図示のグラフィカルユーザインターフェースの画面IM1から選択できるようになっている。イジングレイヤは、ユーザが画面IM1から選択することで利用することができる。同様にパラメータ算出レイヤも、前述の代表的な問題が選択できるようになっているものとする。たとえば、前述のような巡回セールスマン問題、クラスタリング問題、グラフ彩色問題である。また、画面上に、これらのレイヤのカテゴリとして、最適化問題レイヤなどの名前が付与されているようにしてもよい。
 なお、イジングモデルの係数は二次の項と一次の項とでは、テンソルの次元が異なるのでパラメータ算出ネットBK12は2つのブロックに分けてもよい。
 図12を用いて、ニューラルネットの変形例について説明する。図12は、本開示に係るニューラルネットの変形例を説明するための図である。
 図12に示すように、ニューラルネットNN1Aは、ブロックBK11と、ブロックBK121と、ブロックBK122と、ブロックBK13とを含む。ブロックBK121は、二次係数算出ネットである。ブロックBK122は、一次係数算出ネットである。
 二次係数算出ネットは、イジングモデルの二次係数を算出するブロックである。一次係数算出ネットは、イジングモデルの一次係数を算出するブロックである。二次係数算出ネットと、一次係数算出ネットとは、簡略化して1つのブロックで示しているが、様々なレイヤをスタックして構成することも考えられる。
 深層学習と量子アニーラの融合について説明する。
 情報処理システム10においては、量子アニーラが扱う問題を深層学習で学習できる。量子アニーラは、問題の最適化処理を実行する。深層学習で、量子アニーラで扱う問題を表現学習する場合、量子アニーラが実行する最適化処理を内包しながら、その外側で学習しなければならない。このため、量子アニーラが扱う問題の最適化処理の時間がかかると、外側の学習は更に時間がかかるため、現状の最適化アルゴリズムでは、実用な時間で学習できないという問題があった。
 本開示では、最適化処理を量子アニーラで実行することで、実用的な時間で学習することができる。
 本開示では、イジングレイヤ以外の順方向および逆方向の処理は情報処理装置100で行い、量子計算機200で行う。
 情報処理装置100は、ニューラルネットの順方向の計算でイジングモデルのパラメータを算出する。情報処理装置100は、算出したイジングモデルのパラメータを量子計算機200に送信する。量子計算機200は、イジングモデルのパラメータに応じた最適なスピン配置を探索する。量子計算機200は、最適なスピン配置の探索結果を情報処理装置100に送信する。
 量子計算機200は、必ずしもオンプレミスなサーバ上に構築する必要はない。例えば、量子計算機200は、クラウドコンピューティングによって、遠隔で整備されるようにしてもよい。
 また、量子計算機200を使うことは、量子計算機200を使用するユーザに対してメリットを享受する。そのため、量子計算機200の使用に、課金システムを導入してもよい。課金の方法としては、例えば量子計算機200をイジングレイヤとして使用する1回あたりの金額、またはイジングレイヤの規模に応じた金額という設定が考えられる。
 また、イジングレイヤをグラフィカルユーザインターフェースによって使用する際に、「このレイヤを使用すると課金されます。」といったメッセージが提示されるようにしてもよい。課金額は、例えばイジングレイヤの規模や、繰り返し回数などで決まる。
 さらに、量子計算機200は、必ずしも量子アニーラのような量子計算機でなくてもよい。量子アニーラのようにイジングモデルのエネルギー最小化を用いて二値二次形式最適化を行う機械をイジングマシンと呼ぶ。量子計算機200の代わりに、イジングマシンとして知られるデジタルアニーラ、CMOSアニーリングマシンであってもよい。あるいは、量子計算機200の代わりに、二次計画問題の古典ソルバーであってもよい。そのため、イジングレイヤとして、量子アニーラ、デジタルアニーラ、CMOSアニーリングマシン、および古典ソルバーのいずれを使用するかをユーザが選択できるインターフェースがあってもよい。また、量子アニーラ、デジタルアニーラ、CMOSアニーリングマシン、および古典ソルバーのそれぞれについて、計算見込時間と、課金額を提示して、ユーザが選択する際の指針となる情報を提示してもよい。
(3-6.問題の種類)
 次に、量子計算機で解くことのできる問題の種類について説明する。
 量子計算機200は、例えば巡回セールスマン問題、グラフ彩色問題、クラスタリング問題などを解くことができる。
 量子計算機200は、例えば分割問題(Partitioning Problems)を解くことができる。分割問題としては、例えば数分割(Number Partitioning)、グラフ分割(Graph Partitioning)、最大クリーク問題(Cliques)を挙げることができる。
 また、量子計算機200は、例えば二値整数線型計画(Binary Integer Linear Programming)を解くことができる。
 また、量子計算機200は、例えば被覆・パッキング問題(Covering and Packing Problems)を解くことができる。被服・パッキング問題としては、例えば厳密被覆問題(Exact Cover)、集合パッキング問題(Set Packing)、頂点被覆問題(Vertex Cover)、充足可能性問題(SAT; Satisfiability)、最小重み最大マッチング問題(Minimal Maximal Matching)を挙げることができる。
 また、量子計算機200は、例えば不等式を伴う問題を解くことができる。不等式を扱う問題としては、例えば集合被覆問題(Set Cover)、整数重みナップサック問題(Knapsack with Integer Weights)を挙げることができる。
 また、量子計算機200は、例えば彩色問題(Coloring Problems)を解くことができる。彩色問題としては、例えばグラフ彩色問題(Graph Coloring)、クリーク被覆問題(Clique Cover)、ジョブスケジューリング問題(Job Sequencing with Integer Lengths)を挙げることができる。
 また、量子計算機200は、例えばハミルトンサイクル(Hamiltonian Cycles)を解くことができる。ハミルトンサイクルとしては、例えばハミルトンサイクル・ハミルトン路探索(Hamiltonian Cycles and Paths)、巡回セールスマン問題(Traveling Salesman)を挙げることができる。
 また、量子計算機200は、例えば木問題(Tree Problems)を解くことができる。木問題としては、例えば最大次数制約付き最小全域木(スパニング・ツリー)問題(Minimal Spanning Tree with a Maximal Degree Constraint)、シュタイナー木(Steiner Trees)、有向フィードバック頂点集合問題(Directed Feedback Vertex Set)、無向フィードバック頂点集合問題(Undirected Feedback Vertex Set)、フィードバック辺集合問題(Feedback Edge Set)を挙げることができる。
 また、量子計算機200は、グラフ同型性判定問題(Graph Isomorphism)を解くことができる。
 量子計算機200が解くことのできる問題は、いずれも、ある種の特徴量の関数としてイジングモデルのハミルトニアンが決められている。本開示は、学習を利用して特徴量を求める必要がある場合に、用いられる。
(3-6-1.巡回セールスマン問題)
 以下では、量子アニーリングの代表的なアプリケーションの1つである巡回セールスマン問題を例に説明する。
 巡回セールスマン問題を、二値二次係数のロス関数で定式化する場合、以下の式(10)のように表すことができる。
Figure JPOXMLDOC01-appb-M000010
 式(10)において、Lは総距離、di,jは都市iと都市jの間の距離、aは訪問の順番を表す。また、na,iは0または1を取る変数である。そのため、na,iはイジングモデルのスピン変数σa,iに変換(σa,i=2na,i-1)できる。
 通常の巡回セールスマン問題であれば、di,jの値は一定値である。しかしながら、例えば距離di,jがパラメータにより可変である場合を考える。通常は、距離di,jは変化しないので、距離di.jが変化することは都市iから都市jまでの移動に要する所要時間が変化すると解釈することが適切である。移動に要する所要時間に影響を与えそうなパラメータは、例えば移動速度や時間帯などである。移動に要する所要時間に影響を与えそうなパラメータは、移動速度や時間帯以外であってもよい。また、都市計画や公共事業などで距離di,jが変わることを考えてもよい。これらの入力をまとめてxと表すことにする。ここで、式(10)の距離di,jを以下の式(11)に置き換える。
Figure JPOXMLDOC01-appb-M000011
 式(11)において、θは入力から実行距離fθ(x,{di,j})への非線形変換を表すパラメータである。また、実行距離fθ(x,{di、,j})は、距離を満たすように正の値とする。実行距離fθ(x,{di,j})は、様々なデータを用意して、補正値を最小にするパラメータθを学習することで得られる。なお、fθは正の値にすることなどを含めて構造は設計者が決定する。
 巡回セールスマン問題の場合、ニューラルネットとイジングレイヤの間には、巡回セールスマン問題係数レイヤが挟まれことになる。ここで、ニューラルネットは式(11)の処理をするニューラルネットである。また、巡回セールスマン問題係数レイヤは、式(11)から式(10)を経て、イジングモデルのパラメータを生成するレイヤである。これは、前述のパラメータ算出レイヤに相当する。このレイヤは、解きたい問題の種別に依存するレイヤである。このレイヤの典型的な引数を持つものを代表的なレイヤとして、深層学習開発フレームワークなどで利用できるようにしてもよい。
(3-6-2.クラスタリング)
 以下では、量子アニーリングでクラスタリングを行う場合について説明する。
 クラスタリングに適したイジングモデルのハミルトニアンは、以下の式(12)のように表すことができる。
Figure JPOXMLDOC01-appb-M000012
 式(12)において、dijは、点iと点jとの間の距離である。qikは、点iがクラスタkに属する場合に1、そうでない場合は0を取る変数である。そのため、qikはイジングモデルのスピン変数σikに変換(σik=2qik-1)できる。第二項は、各点はクラスタのどれにも所属していない、複数のクラスタに所属する場合にペナルティを課す役割を果たしている。
 式(12)の変数qikをスピン変数σikに置き換えた上で、展開すると、スピン変数に関して一次の項と二次の項に分解される。このうち二次の項の係数には、距離dijが含まれる。すなわち、距離dijは、イジングモデルのハミルトニアンのパラメータを決める値である。
 クラスタリングをする場合、クラスタリングしたいデータは、データの空間内で固定されていることが多い。しかし、深層学習では、たとえば、データが特徴空間内の点(ベクトル)である場合も多い。また、学習により、データが特徴空間の別の点に移動する、あるいは、特徴空間自体が変貌し、結果としてデータの特徴ベクトルが変化する、といったことが起こることもしばしばある。深層学習における特徴空間上の距離は以下の式(13)のように表すことができる。
Figure JPOXMLDOC01-appb-M000013
 式(13)において、xおよびxは、ニューラルネットへの入力(例えば、画像)である。θはニューラルネットのパラメータである。fθは、ニューラルネットで構成された入力から特徴空間へのマッピングを表す関数である。式(13)の距離を使って、式(12)にある距離dijを置き換えることを考える。このとき、式(12)は、ニューラルネットが算出した特徴ベクトル間の距離という変数を、イジングモデルのパラメータに変換する役割を担っている。これが、前述のパラメータ算出レイヤの処理である。このレイヤは、たとえば、代表的なレイヤとして、開発フレームワークから簡単に利用できるようにしてあってもよい。あるいは、パラメータ算出レイヤとイジングレイヤをあわせて、クラスタリングレイヤとして、開発フレームワークから簡単に利用できるようにしてあってもよい。
 このようなクラスタリングと深層学習の組み合わせは、普通の深層学習と同じように、一般的なミニバッチ学習を用いる。ミニバッチ学習は、学習データからミニバッチをサンプリングしてミニバッチ内でニューラルネットのパラメータ更新を行う学習である。イジングレイヤは、ニューラルネットのほかのレイヤと同じ使い方ができるため、学習処理は、特段大きな変更を加えず実行できる。
 図13を用いてクラスタリングの最適化問題について説明する。図13は、クラスタリングの最適化問題を説明するための図である。
 図13は、画像データID1と、画像データID2と、画像データID3と、画像データID4と、画像データID5と、画像データID6と、画像データID7と、画像データID8とを特徴空間にマッピングした図である。画像データID1~画像データID8とのそれぞれの間の距離dijを式(13)に従って算出し、画像データID1~画像データID8をクラスタリングする。
 図13では、画像データID1~画像データID4が同一のクラスに分類され、画像データID5~画像データID8が同一のクラスに分類されている。ここで、クラスタリングを行いながら特徴空間を生成する処理は、負荷が大きく処理が終了するまでに時間がかかる。また、バッチデータのサイズが大きくなることによっても負荷が大きくなり、処理が終了するまでに時間がかかる。本開示では、ニューラルネットで距離dijを算出後、量子アニーラに出力する。上述したように、量子アニーラでは、式(12)で示されるようなハミルトニアンを瞬間的に最適化することができる。言い換えれば、ニューラルネットに量子アニーラを内包することによって、深層学習の特徴空間上でのクラスタリング問題をエンドtoエンドで高速に解くことができる。
 クラスタリングでは、学習時は学習データセットからミニバッチをサンプルして、それらで最適なクラスタリングを実現するようなニューラルネットのマッピングを学習する。この学習により、最適にクラスタリングができるようなメトリック学習が実現できる。
 クラスタリングは学習技術の中では教師なし学習に分類される。このクラスタリングを応用する例の一つとして、半教師学習が考えられる。
 半教師学習は、教師なし学習と教師あり学習を組み合わせる学習技術である。たとえば、半教師学習は、教師ありデータが不十分で教師あり学習では十分な学習ができないときに、教師なしデータを使って学習を促進するために使われる。たとえば、教師なしデータはたくさん集められるが、教師ありデータを集めるのが困難な場合に、使うことができる。
 半教師学習は、以下の式(14)で示されるような教師なし学習の目的関数と、教師あり学習の目的関数を足し合わせた目的関数を小さくするようにニューラルネットのパラメータを学習する。
Figure JPOXMLDOC01-appb-M000014
 式(14)において、左辺は、半教師学習の目的関数であり、Xは教師ありデータ、Yは対応する教師データ(ラベル)、Xは教師(ラベル)なしデータ、θはニューラルネットのパラメータである。また、右辺第一項は、教師あり学習の目的関数で、教師ありデータとラベルを用いて算出し、第二項は、教師なし学習の目的関数である。
 右辺の第一項の教師あり学習は、教師あり学習用のニューラルネットをビルドして、普通の学習で行う。教師あり学習用のニューラルネットは、データを特徴空間にマッピングして、これをクラス確率に変換して、ラベルとのクロスエントロピーをロスとするニューラルネットである。学習は、教師あり学習用データセットからデータとラベルのミニバッチをサンプリングして、データから特徴空間へのマッピングをするニューラルネットのパラメータを更新することで行う。
 これに対して、第二項の教師なし学習は、様々な手法が知られているが、ここでは、前述の特徴空間上でのクラスタリングを用いる方法を説明する。
 教師なし学習用のニューラルネットは、データを特徴空間にマッピングして、これら特徴ベクトル間の距離からイジングモデルのパラメータを算出し、そのパラメータをイジングレイヤに接続したニューラルネットである。学習は、教師なし学習用データセットから、データのミニバッチをサンプリングして、このミニバッチを用いて学習する。学習の仕方は、通常のミニバッチ学習である。以上のようにして教師なしデータからの学習を行う。
 教師ありデータのミニバッチ学習と教師なしデータのミニバッチ学習を繰り返していくことで、教師なしデータを正しくクラスタリングしつつ、各クラスタにはクラスラベルを付与する半教師学習が実現できる。
 なお、ここでは、教師なし学習にクラスタリングを用いることで分類モデルの半教師学習を実現したが、半教師学習ができるのは、分類モデルには限らない。たとえば、ランキングモデルの半教師学習として、教師なし学習に二値二次形式を利用したソーティングを用いることができる。あるいは、マルチインスタンスのモデルや時系列モデルの半教師学習として、教師なし学習に二値二次形式を用いたマッチングやアラインメントなどを用いても良い。
[ハードウェア構成]
 上述してきた情報処理装置100等の情報機器は、例えば図14に示すような構成のコンピュータ1000によって実現される。図14は、情報処理装置100等の情報処理装置の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。以下、実施形態に係る情報処理装置100を例に挙げて説明する。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、制御部150等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部140内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
(効果)
 情報処理システム10は、学習用データに基づいて、ニューラルネットモデルを用いた学習を行う学習部152を備える。学習部152は、所定のパラメータを算出するパラメータ算出ネットと、パラメータ算出ネットによって算出されたパラメータに基づいて所定の最適化を実行する最適化レイヤと、を含む。学習部152は、最適化レイヤによる最適化の実行結果に基づく誤差を逆伝搬して、ニューラルネットのパラメータを更新する。
 この構成によれば、深層学習と量子計算を融合させることができるので、複雑な目的関数を持つ問題を高速に解くことができる。
 最適化レイヤは、イジングモデルを模した計算機で構成される。
 この構成によれば、ニューラルネット中の最適化レイヤを、イジングモデルを模した計算機で構成することができる。
 最適化レイヤは、量子計算機200で構成される。
 この構成によれば、ニューラルネット中の最適化レイヤを量子計算機200で構成することができる。
 量子計算機200は、量子アニーリング計算機である。
 この構成によれば、量子計算機200を既存の装置で構成することができる。そのため、情報処理システム10を既存の装置で構成することができる。
 学習部152と、量子計算機200とは、ネットワークを介して通信可能に接続されている。
 この構成によれば、情報処理装置100で量子計算以外の処理の実行し、量子計算機200で量子計算を実行することができる。そのため、情報処理装置100と、量子計算機200とによって深層学習と量子計算を融合させ、複雑な目的関数を持つ問題を高速に解くことができる。
 パラメータは、所定の最適化問題に関するパラメータである。
 この構成によれば、情報処理システム10を用いて最適化問題を最適化することができる。そのため、所定の最適化問題を高速に解くことができる。
 最適化問題は、離散最適化問題である。
 この構成によれば、情報処理システム10を用いて最適化問題を最適化することができる。そのため、離散最適化問題を高速に解くことができる。
 離散最適化問題は、二値二次形式の目的関数の最適化問題である。
 この構成によれば、情報処理システム10を用いて二値二次形式の目的関数を最適化することができる。そのため、二値二次形式の目的関数の最適化問題を高速に解くことができる。
 最適化レイヤは、二値二次形式の目的関数の最適化問題として、イジングモデルのハミルトニアンに基づいて、イジングモデルが基底エネルギー状態となる最適スピン配置を算出する。
 この構成によれば、特定のアルゴリズムによらずに、イジングレイヤで実現されたイジングモデルの基底状態を観測することで、二値二次形式の目的関数を最適化することができる。
 パラメータ算出ネットは、最適スピン配置に基づいて、イジングモデルのパラメータに相当する一次および二次のスピン変数項の係数を算出する。
 この構成によれば、ニューラルネットのロス関数をイジングレイヤで置き換えたニューラルネットを構築することができる。
 学習部152は、最適化レイヤから最適スピン配置から算出された誤差勾配が逆伝搬されることでニューラルネットのパラメータを更新する。
 この構成によれば、情報処理装置100は、量子計算機200で計算された最適スピン配置に基づいて、通常の逆伝搬法を用いてニューラルネットのパラメータを更新することができる。
 更新されたニューラルネットを用いて実行用データの実行結果を予測する予測部153をさらに備える。
 この構成によれば、情報処理装置100と、量子計算機200とによって更新されたニューラルネットを用いて、実行用データを予測することができる。
 予測部153は、イジングレイヤによる所定の最適化の実行結果に基づいて実行用データの実行結果を予測する。
 この構成によれば、情報処理装置100は、量子計算機200の計算結果に基づいて、実行用データの実行結果を予測することができる。
 情報処理方法は、所定のパラメータを算出し、パラメータ算出ネットによって算出された前記パラメータに基づいて所定の最適化を実行し、最適化の実行結果に基づいて、ニューラルネットのパラメータを更新する。
 この構成によれば、深層学習と量子計算を融合させることができるので、複雑な目的関数を持つ問題を高速に解くことができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 学習用データに基づいて、ニューラルネットを用いた学習を行う学習部を備え、
 前記ニューラルネットは、
 所定のパラメータを算出するパラメータ算出ネットと、
 前記パラメータ算出ネットによって算出された前記パラメータに基づいて所定の最適化を実行する最適化レイヤと、を含み、
 前記学習部は、前記最適化レイヤによる最適化の実行結果に基づく誤差を逆伝搬することで、前記ニューラルネットのパラメータを更新する、
 情報処理システム。
(2)
 前記最適化レイヤは、イジングモデルを模した計算機で構成される、
 前記(1)に記載の情報処理システム。
(3)
 前記最適化レイヤは、量子計算機で構成される、
 前記(1)または(2)に記載の情報処理システム。
(4)
 前記量子計算機は、量子アニーリング計算機である、
 前記(3)に記載の情報処理システム。
(5)
 前記学習部と、前記量子計算機とは、ネットワークを介して通信可能に接続されている、
 前記(3)または(4)に記載の情報処理システム。
(6)
 前記パラメータは、所定の最適化問題に関するパラメータである、
 前記(1)~(5)のいずれか1つに記載の情報処理システム。
(7)
 前記最適化問題は、離散最適化問題である、
 前記(6)に記載の情報処理システム。
(8)
 前記離散最適化問題は、二値二次形式の目的関数の最適化問題である、
 前記(7)に記載の情報処理システム。
(9)
 前記最適化レイヤは、前記二値二次形式の目的関数の最適化問題として、イジングモデルのハミルトニアンに基づいて、前記イジングモデルが基底エネルギー状態となる最適スピン配置を算出する、
 前記(8)に記載の情報処理システム。
(10)
 前記パラメータ算出ネットは、前記最適スピン配置に基づいて、前記イジングモデルのパラメータに相当する一次および二次のスピン変数項のロスを算出する、
 前記(9)に記載の情報処理システム。
(11)
 前記学習部は、前記最適化レイヤから前記最適スピン配置から算出された誤差勾配が逆伝搬されることで前記ニューラルネットのパラメータを更新する、
 前記(10)に記載の情報処理システム。
(12)
 更新された前記ニューラルネットを用いて実行用データの実行結果を予測する予測部をさらに備える、
 前記(1)~(11)のいずれか1つに記載の情報処理システム。
(13)
 前記予測部は、前記最適化レイヤによる所定の最適化の実行結果に基づいて前記実行用データの実行結果を予測する、
 前記(12)に記載の情報処理システム。
(14)
 所定のパラメータを算出し、
 前記パラメータ算出ネットによって算出された前記パラメータに基づいて所定の最適化処理を実行し、
 前記最適化の実行結果に基づいて、ニューラルネットのパラメータを更新する、
 情報処理方法。
 10 情報処理システム
 100 情報処理装置
 110,210 通信部
 120,220 入力部
 130 出力部
 140 記憶部
 141 データ記憶部
 142 モデル記憶部
 150,240 制御部
 151,241 取得部
 152 学習部
 153 予測部
 154,243 通信制御部
 200 量子計算機
 230 量子デバイス部
 242 測定部

Claims (14)

  1.  学習用データに基づいて、ニューラルネットを用いた学習を行う学習部を備え、
     前記ニューラルネットは、
     所定のパラメータを算出するパラメータ算出ネットと、
     前記パラメータ算出ネットによって算出された前記パラメータに基づいて所定の最適化を実行する最適化レイヤと、を含み、
     前記学習部は、前記最適化レイヤによる最適化の実行結果に基づく誤差を逆伝搬することで、前記ニューラルネットのパラメータを更新する、
     情報処理システム。
  2.  前記最適化レイヤは、イジングモデルを模した計算機で構成される、
     請求項1に記載の情報処理システム。
  3.  前記最適化レイヤは、量子計算機で構成される、
     請求項1に記載の情報処理システム。
  4.  前記量子計算機は、量子アニーリング計算機である、
     請求項3に記載の情報処理システム。
  5.  前記学習部と、前記量子計算機とは、ネットワークを介して通信可能に接続されている、
     請求項3に記載の情報処理システム。
  6.  前記パラメータは、所定の最適化問題に関するパラメータである、
     請求項1に記載の情報処理システム。
  7.  前記最適化問題は、離散最適化問題である、
     請求項6に記載の情報処理システム。
  8.  前記離散最適化問題は、二値二次形式の目的関数の最適化問題である、
     請求項7に記載の情報処理システム。
  9.  前記最適化レイヤは、前記二値二次形式の目的関数の最適化問題として、イジングモデルのハミルトニアンに基づいて、前記イジングモデルが基底エネルギー状態となる最適スピン配置を算出する、
     請求項8に記載の情報処理システム。
  10.  前記パラメータ算出ネットは、前記最適スピン配置に基づいて、前記イジングモデルのパラメータに相当する一次および二次のスピン変数項の係数を算出する、
     請求項9に記載の情報処理システム。
  11.  前記学習部は、前記最適化レイヤから前記最適スピン配置から算出された誤差勾配が逆伝搬されることで前記ニューラルネットのパラメータを更新する、
     請求項10に記載の情報処理システム。
  12.  更新された前記ニューラルネットを用いて実行用データの実行結果を予測する予測部をさらに備える、
     請求項1に記載の情報処理システム。
  13.  前記予測部は、前記最適化レイヤによる所定の最適化の実行結果に基づいて前記実行用データの実行結果を予測する、
     請求項12に記載の情報処理システム。
  14.  所定のパラメータを算出し、
     算出された前記パラメータに基づいて所定の最適化処理を実行し、
     前記最適化処理の実行結果に基づいて、ニューラルネットのパラメータを更新する、
     情報処理方法。
PCT/JP2020/020427 2019-06-17 2020-05-22 情報処理システム及び情報処理方法 WO2020255634A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-112356 2019-06-17
JP2019112356 2019-06-17

Publications (1)

Publication Number Publication Date
WO2020255634A1 true WO2020255634A1 (ja) 2020-12-24

Family

ID=74037245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/020427 WO2020255634A1 (ja) 2019-06-17 2020-05-22 情報処理システム及び情報処理方法

Country Status (1)

Country Link
WO (1) WO2020255634A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022259822A1 (ja) * 2021-06-10 2022-12-15 株式会社日立製作所 経路探索情報処理システム、経路探索情報処理方法
WO2024195087A1 (ja) * 2023-03-23 2024-09-26 日本電信電話株式会社 量子計算委託システム、クライアント、量子計算委託方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018156473A (ja) * 2017-03-17 2018-10-04 ヤフー株式会社 解析装置、解析方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018156473A (ja) * 2017-03-17 2018-10-04 ヤフー株式会社 解析装置、解析方法、およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OHZEKI MASAYUKI, OKADA SHUNTARO, TERABE MASAYOSHI, TAGUCHI SHINICHIRO: "Optimization of neural networks via finite- value quantum fluctuations", SCIENTIFIC REPORTS, vol. 8, no. 9950, 2 July 2018 (2018-07-02), pages 1 - 10, XP055773217, Retrieved from the Internet <URL:https://www.nature.com/articles/s41598-018-28212-4.pdf?origin=ppub> DOI: 10.1038/ s 41598-018 -28212-4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022259822A1 (ja) * 2021-06-10 2022-12-15 株式会社日立製作所 経路探索情報処理システム、経路探索情報処理方法
WO2024195087A1 (ja) * 2023-03-23 2024-09-26 日本電信電話株式会社 量子計算委託システム、クライアント、量子計算委託方法、及びプログラム

Similar Documents

Publication Publication Date Title
Zare et al. A global best-guided firefly algorithm for engineering problems
US11556850B2 (en) Resource-aware automatic machine learning system
Plathottam et al. A review of artificial intelligence applications in manufacturing operations
US20220027738A1 (en) Distributed synchronous training architecture using stale weights
JP7271216B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2020198520A1 (en) Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
Morteza et al. Deep learning hyperparameter optimization: Application to electricity and heat demand prediction for buildings
Sasikala et al. Kappa and accuracy evaluations of machine learning classifiers
WO2020255634A1 (ja) 情報処理システム及び情報処理方法
CN110110372B (zh) 一种用户时序行为自动切分预测方法
Nguyen et al. A new workload prediction model using extreme learning machine and enhanced tug of war optimization
Chien et al. Tool allocation to smooth work-in-process for cycle time reduction and an empirical study
Subrahmanya et al. Constructive training of recurrent neural networks using hybrid optimization
Wu Hybrid forecasting model based on support vector machine and particle swarm optimization with adaptive and Cauchy mutation
CN111415051A (zh) 一种基于bp神经网络的电力物资需求计划预测方法
Khan et al. A multi-perspective revisit to the optimization methods of Neural Architecture Search and Hyper-parameter optimization for non-federated and federated learning environments
Sapnken et al. Learning latent dynamics with a grey neural ODE prediction model and its application
Dehuri et al. A condensed polynomial neural network for classification using swarm intelligence
US20220269835A1 (en) Resource prediction system for executing machine learning models
Poczeta et al. Application of fuzzy cognitive maps with evolutionary learning algorithm to model decision support systems based on real-life and historical data
Khan et al. Dynamic feedback neuro-evolutionary networks for forecasting the highly fluctuating electrical loads
Zhou et al. Online recommendation based on incremental-input self-organizing map
Dan et al. Application of machine learning in forecasting energy usage of building design
Hemkiran et al. Design of Automatic Credit Card Approval System Using Machine Learning
Saen The use of artificial neural networks for technology selection in the presence of both continuous and categorical data

Legal Events

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

Ref document number: 20827540

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20827540

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP