Quantum Neural Networks
Through the quantum neural network architecture, using quantum processors to operate qubits, the problems of high time and sample complexity of machine learning tasks in the prior art are solved, and more efficient training processes and better robustness are achieved.
Patent Information
- Application Number
- JP2023172891
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-06-02
- Filing Date
- 2023-10-04
- Publication Date
- 2025-05-12
- Estimated Expiration
- 2038-06-01
AI Technical Summary
When implementing machine learning tasks, the time complexity and sample complexity are high, and complex backpropagation techniques are required during the training process, resulting in unstable and costly training process.
The quantum neural network architecture is adopted, and is implemented through one or more quantum processors, including an input quantum neural network layer, multiple intermediate quantum neural network layers and output quantum neural network layers. Each layer uses a quantum logic gate to operate multiple qubits, and finally generates an output through a quantum measurement gate.
Quantum neural networks can complete machine learning tasks at lower time and sample complexity, avoiding the complexity and instability of traditional backpropagation technologies, while improving representation capabilities and noise robustness.
Smart Images

Figure 0007675146000003 
Figure 0007675146000004 
Figure 0007675146000005
Abstract
Description
[Technical field]
[0001] This specification relates to neural network architectures and quantum computing. [Background technology]
[0002] A neural network is a machine learning model that uses one or more layers of nonlinear units to predict an output for a received input. Some neural networks include one or more hidden layers in addition to an output layer. The output of each hidden layer is used as the input to the next layer in the network, i.e. the next hidden layer or the output layer. Each layer of the network generates an output from the received input according to the current values of its corresponding set of parameters. Summary of the Invention [Means for solving the problem]
[0003] Described herein is a neural network architecture implemented with one or more quantum processors.
[0004] In general, one innovative aspect of the subject matter described herein may be embodied in a quantum neural network implemented by one or more quantum processors, comprising: an input quantum neural network layer comprising: (i) a plurality of qubits prepared at an initial quantum state encoding a machine learning task data input; and (ii) a target qubit prepared at the initial state; a series of intermediate quantum neural network layers, each comprising a plurality of quantum logic gates operating on the plurality of qubits and the target qubit; and an output quantum neural network layer comprising a measurement quantum gate operating on the target qubit to provide as output data representing a solution to the machine learning task that the quantum neural network was trained to perform.
[0005] Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices. One or more classical or quantum computer systems can be configured to perform a particular operation or action by software, firmware, hardware, or any combination thereof, embedded on the system that, when operated, can cause the system to perform the action. One or more computer programs can be configured to perform a particular operation or action by including instructions that, when executed by a data processing device, cause the device to perform the action.
[0006] The foregoing and other embodiments may each optionally include one or more of the following features, either alone or in combination: In some implementations, the machine learning task includes a binary classification task.
[0007] In some implementations, the machine learning task data input is a Boolean function input {0,1} n and the solution to the machine learning task comprises a Boolean function output {0,1}.
[0008] In some implementations, each intermediate quantum neural network layer comprises (i) single qubit quantum logic gates, (ii) two-qubit quantum logic gates, or (iii) both single qubit and two-qubit quantum logic gates.
[0009] In some implementations, a single qubit quantum gate is j ) single-qubit gates.
[0010] In some implementations, a two-qubit quantum gate is j Z k ) two-qubit gates of the form
[0011] In some implementations, a series of intermediate quantum neural network layers map the encoded machine learning task data inputs to the evolved states of the target qubits.
[0012] In some implementations, mapping the encoded machine learning task data input to the evolving state of the target qubit includes applying a unitary operator parameterized by the quantum logic gate parameters of the quantum logic gate to the initial quantum state.
[0013] In some implementations, preparing the plurality of qubits in an initial state includes setting a z-direction of each of the plurality of qubits.
[0014] In some implementations, the measurement quantum gate measures the y-direction of the target qubit.
[0015] In some implementations, a quantum neural network replaces the n top layers of a classical deep neural network trained to perform a machine learning task.
[0016] In some implementations, the machine learning task data input includes output from a classical deep neural network.
[0017] In some implementations, the multiple qubits and the target qubit are arranged as a two-dimensional lattice with nearest-neighbor interactions.
[0018] In general, another innovative aspect of the subject matter described herein may be embodied in a method for processing a data input using a quantum neural network trained to perform a machine learning task, the method including: preparing a plurality of qubits of an input quantum neural network layer in an initial quantum state to encode the machine learning task data input; processing the machine learning task data input using one or more intermediate quantum neural network layers, each intermediate quantum neural network layer comprising a plurality of quantum logic gates operating on a plurality of qubits and a target qubit, the target qubit also being in the input quantum neural network layer, the processing including, for each intermediate quantum neural network layer in turn, applying a quantum logic gate of the intermediate quantum neural network layer to a current quantum state representing the plurality of qubits and the target qubit; and measuring the target qubit by a measurement quantum gate in an output quantum neural network layer to generate an output representing a solution to the machine learning task.
[0019] Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the method. One or more computer systems can be configured to perform a particular operation or action by software, firmware, hardware, or any combination thereof embedded on the system that, when operated, can cause the system to perform the action. One or more computer programs can be configured to perform a particular operation or action by including instructions that, when executed by a data processing device, cause the device to perform the action.
[0020] The foregoing and other embodiments may each optionally include one or more of the following features, either alone or in combination: In some implementations, the machine learning task includes a binary classification task.
[0021] In some implementations, the machine learning task data input is a Boolean function input {0,1} n and the solution to the machine learning task comprises a Boolean function output {0,1}.
[0022] In some implementations, each intermediate quantum neural network layer comprises (i) single qubit quantum logic gates, (ii) two-qubit quantum logic gates, or (iii) both single qubit and two-qubit quantum logic gates.
[0023] In some implementations, a single qubit quantum gate is j ) single-qubit gates.
[0024] In some implementations, a two-qubit quantum gate is j Z k ) two-qubit gates of the form
[0025] In some implementations, processing the data input using a series of intermediate quantum neural network layers includes mapping the encoded machine learning task data input to evolving states of target qubits.
[0026] In some implementations, mapping the encoded machine learning task data input to the evolving state of the target qubit includes applying a unitary operator parameterized by the quantum logic gate parameters of the quantum logic gate to the initial quantum state.
[0027] In some implementations, encoding the data input into the initial quantum state of the plurality of qubits includes setting a z-direction of each of the plurality of qubits.
[0028] In some implementations, measuring the target qubit to generate an output representing a solution to the machine learning task includes measuring a y-direction of the target qubit.
[0029] In general, another innovative aspect of the subject matter described herein is a method for training a quantum neural network, comprising: obtaining a plurality of training examples, each of which includes a machine learning task input and a known classification for the machine learning task input paired therewith; training the quantum neural network on the training examples, where for each training example, in an initial quantum state, preparing a plurality of qubits of an input quantum neural network layer in the initial quantum state to encode the machine learning task input; processing the machine learning task input using one or more intermediate quantum neural network layers, where each intermediate quantum neural network layer comprises a plurality of qubits operating on the plurality of qubits and a target qubit. The present invention may be embodied in a method comprising: a quantum logic gate, the target qubit also being in an input quantum neural network layer, the processing including, for each intermediate quantum neural network layer in turn, applying the quantum logic gate of the intermediate quantum neural network layer to a current quantum state representing the plurality of qubits and the target qubit; measuring the target qubit by a measurement quantum gate in an output quantum neural network layer to generate an output representing a solution to the machine learning task; and comparing the generated output to known classifications to determine one or more gate parameter adjustment values; and training including adjusting values of the gate parameters from initial values to trained values.
[0030] Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the method. One or more computer systems can be configured to perform a particular operation or action by software, firmware, hardware, or any combination thereof embedded on the system that, when operated, can cause the system to perform the action. One or more computer programs can be configured to perform a particular operation or action by including instructions that, when executed by a data processing device, cause the device to perform the action.
[0031] The foregoing and other embodiments may each optionally include one or more of the following features, alone or in combination: In some implementations, comparing the generated output to a known classification to determine one or more gating parameter adjustments includes calculating a loss function using the generated output and the known classification for the machine learning task, and performing a gradient descent method to determine the adjustments to the gating parameters.
[0032] In some implementations, the method further includes performing regularization after processing the subset of training examples.
[0033] In some implementations, the regularization includes 0-norm or 1-norm regularization.
[0034] In some implementations, training a quantum neural network to perform a machine learning task comprises computing a Boolean function f:{0,1} n →This involves training a quantum neural network to learn {0,1}.
[0035] In some implementations, the loss function is Loss(s,θ)=(<ψ(θ,z s)|σ y out |ψ(θ,z s )>-y s ) 2 where θ represents the quantum gate parameter, and ψ(θ,z s ) represents the evolution quantum state of the multiple qubits and the target qubit, and σ y out represents the measurement quantum gate, and y s represents a known classification.
[0036] In some implementations, the Boolean function includes a parity function, a subset parity function, a subset majority function, or a logical AND function.
[0037] The subject matter described herein can be implemented in particular embodiments to realize one or more of the following advantages.
[0038] The presently described disclosure represents a significant, broadly applicable improvement over the state of the art in classical and quantum neural networks.
[0039] The quantum neural networks described herein can perform machine learning tasks with less time complexity than other known classical or quantum neural networks. For example, the quantum neural networks described herein can be used to perform factorization tasks by treating the factorization task as a decision task and performing the decision task using the quantum neural network. The time complexity can be less because the difference between the number of neural network layers required to perform factorization using known neural networks and the number of neural network layers required to perform factorization using the presently described quantum neural network can grow exponentially with the length of the number to be factored.
[0040] The quantum neural networks described herein can perform machine learning tasks with lower sample complexity than other known classical or quantum neural networks. For example, the presently described quantum neural networks can learn machine learning tasks with polynomial sample complexity compared to other neural networks that learn the same machine learning tasks with exponential sample complexity.
[0041] The quantum neural networks described herein can also achieve high representational power (a measure of how the structural properties of a neural network affect the functions it can compute) relative to other known classical or quantum neural networks. For example, the Vapnik Chervonenkis dimension can be large in the presently described quantum neural networks compared to other neural networks, such as convolutional neural networks.
[0042] The quantum neural networks described herein can achieve greater robustness to label noise than other known classical or quantum neural networks, for example, the presently described quantum neural networks can achieve greater robustness to label noise when learning parity tasks.
[0043] Due to the specific architecture of the quantum neural network currently described, the quantum neural network described herein can be trained to perform machine learning tasks without using backpropagation techniques.This can simplify the training process and reduce the processing time and cost required to train a quantum neural network.For example, the notorious downsides of using backpropagation techniques, such as suffering from the practical instability of the learning process due to vanishing and exploding gradients, or the difficulty of parallelizing large-scale neural networks due to the sequential nature of backpropagation, can be avoided.
[0044] The quantum neural network described herein may be combined with a classical neural network. By replacing a layer of a classical neural network with the currently described quantum neural network, the accuracy and time that the neural network can be trained and used in inference can be improved, i.e., compared to using only a classical neural network. Conversely, using a classical neural network to perform some pre-computation to generate processed inputs for the currently described quantum neural network can reduce the computational cost and resources required to train and use the quantum neural network, i.e., compared to using only a quantum neural network.
[0045] The details of one or more embodiments of the subject matter herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims. [Brief description of the drawings]
[0046] [Figure 1] FIG. 1 is a block diagram of an example quantum neural network architecture. [Diagram 2]1 is a flow diagram of an exemplary process for training a quantum neural network. [Diagram 3] 1 is a flow diagram of an exemplary process for processing a data input using a quantum neural network trained to perform a machine learning task. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0047] Like reference numbers and designations in the various drawings indicate like elements.
[0048] This specification describes a neural network architecture implemented by one or more quantum processors. The neural network, hereafter referred to as a quantum neural network (QNN), can be trained to perform machine learning tasks, such as binary classification tasks. For example, a QNN can be trained to compute a Boolean function f:{0,1} n In these examples, the machine learning task data input may be trained to learn a Boolean function input {0,1} → {0,1}, e.g., a parity function, a subset parity function, or a subset majority function. n The solution to a machine learning task contains the Boolean function output {0,1}.
[0049] Exemplary Hardware 1 illustrates an exemplary quantum neural network architecture 100 for performing machine learning tasks. Quantum neural network architecture 100 is an example of a system implemented as a classical or quantum computer program on one or more classical computers or quantum computing devices at one or more locations, in which the systems, components, and techniques described below may be implemented.
[0050] The quantum neural network architecture 100 includes a quantum neural network 102. The quantum neural network 102 is configured to receive as input machine learning task input data, e.g., input data 150, and to process the received input data to generate as output data representing a solution to the machine learning task, e.g., output data 152. The data input may be received during training or when performing a machine learning task, i.e., the data input may represent training examples or run-time input. For example, the quantum neural network 102 may receive data input from a training dataset during training, or may receive data input from a user device during an inference-based machine learning process. An exemplary process for training a quantum neural network is described in more detail below with reference to FIG. 2. An exemplary inference-based machine learning process is described in more detail below with reference to FIG. 3.
[0051] The quantum neural network 102 includes an input quantum neural network layer 104, a series of intermediate quantum neural network layers 106a-106e, and an output quantum neural network layer 108. For simplicity, the exemplary quantum neural network 102 is shown as including five intermediate quantum neural network layers 106a-106e, although in some implementations the quantum neural network may include fewer or more layers. The number of layers may depend on the complexity of the machine learning task the quantum neural network is trained to perform and / or the target accuracy of the solutions generated by the quantum neural network.
[0052] The input quantum neural network layer 104 includes a plurality of qubits 110 arranged, for example, as a two-dimensional lattice with nearest neighbor interactions. The types of physical realizations of the qubits included in the input quantum neural network layer may vary. For example, in some implementations, the input quantum neural network layer 104 may include superconducting qubits, such as superconducting charge qubits, superconducting flux qubits, or superconducting phase qubits. In other implementations, the input quantum neural network layer 104 may include qubits implemented by spin, for example, electron spin, nuclear spin, or atomic spin.
[0053] The plurality of qubits 110 includes a plurality of qubits prepared in an initial quantum state that encodes a machine learning task data input 150. For example, one or more control devices 114 may encode the machine learning task data input in the initial quantum state of the plurality of qubits by setting the z-direction of each of the qubits. For example, if the data input includes a binary string of length n, the system may set the z-direction of n qubits corresponding to each binary digit to 0 or 1, where 0 is considered to be the computational basis state |0> of 0 and 1 is considered to be the computational basis state |1> of 1. The plurality of qubits also includes a target qubit that is prepared in an initial state, e.g., any superposition state.
[0054] Each of the intermediate quantum neural network layers 106a-106e includes a plurality of quantum logic gates that operate on a plurality of qubits 110 (i.e., a plurality of qubits prepared in an initial state that encodes the machine learning task data input, and a target qubit). The quantum logic gates included within each intermediate quantum neural network layer may include single qubit quantum logic gates, two qubit quantum logic gates, or both single qubit quantum logic gates and two qubit quantum logic gates. For example, in the exemplary quantum neural network 100, the first intermediate quantum neural network layer 106a includes a plurality of single qubit gates, e.g., single qubit gate 112, that operate on each of the plurality of qubits 110. The subsequent intermediate quantum neural network layers 106b-106e include two qubit gates, e.g., two qubit gate 118. In some implementations, the single qubit quantum gates are represented by exp(-iθ j X j ), where θ j represents the gate parameter, and X j represents the Pauli X operator. In some implementations, the two-qubit quantum gate is j Z k ), where Z j represents the Pauli Z operator, or any other product of two Pauli operators.
[0055] The series of intermediate quantum neural network layers 106a-106e operate on the plurality of qubits 110 to evolve quantum states representing the plurality of qubits 110 to evolved quantum states that encode a solution to a machine learning task. More specifically, the series of quantum neural network layers 104, 106a-106e map initial quantum states that encode machine learning task data inputs 150 to evolved states of target qubits that encode a solution to the machine learning task.
[0056] An output quantum neural network layer 108 including a number of measurement quantum gates, e.g., measurement gate 120, that operates on a target qubit to provide as an output a measurement result that represents a solution to the machine learning task. For example, measurement quantum gate 120 may be a gate that measures the y-direction of the target qubit to obtain a solution to the machine learning task. The position of the target qubit may vary, and FIG. 1 illustrates one of a number of possible positions.
[0057] The quantum neural network architecture 100 may include one or more control devices 114 and one or more classical processors 116. The control device 114 includes devices configured to act on the quantum neural network 102 and components therein. For example, the control device 114 may include hardware used to initialize the plurality of qubits, e.g., control lines coupled to the plurality of qubits that pass excitation pulses that allow the states of the qubits to be controlled. The control device 114 may further include hardware used to control quantum logic gates applied to the plurality of qubits, e.g., hardware used to set or adjust values of quantum logic gate parameters. In some implementations, the control device may include a microwave control device.
[0058] Classical processor 116 may be configured to perform classical operations. For example, classical processor 116 may perform pre-processing of input data or post-processing of output data. For example, classical processor 116 may receive output data representing a solution to a machine learning task from quantum neural network 102 and process the received data to generate a data output that may be provided for display to an operator of system 100.
[0059] In some implementations, quantum neural network 100 may be used in conjunction with a classical deep neural network implemented by classical processor 116. For example, quantum neural network 100 may replace the top (last) n layers of a classical deep neural network trained to perform a machine learning task. In these examples, the machine learning task data inputs received by the quantum neural network include outputs from the (new) top layers in the classical deep neural network.
[0060] Hardware Programming Figure 2 is a flow diagram of an example process 200 for training a quantum neural network to perform a classification task. For example, this example process may be used to train the quantum neural network 100 described above with reference to Figure 1. For simplicity, process 200 is described as being performed by one or more classical and / or quantum computer systems located at one or more locations.
[0061] The system obtains a number of training examples, each of which includes a machine learning task input paired with a known classification for the machine learning task input (step 202). For example, if a quantum neural network is to be trained to learn a Boolean function, the training examples may be {z s ,y s =f(z s )} s=1,…S may contain, except z s represents the machine learning task input, and y s represents the known classification for that input.
[0062] The system trains the quantum neural network on the training examples to adjust the values of the gate parameters from initial values to trained values (step 204). To train the quantum neural network on the training examples, the system prepares a plurality of qubits of an input quantum neural network layer in an initial quantum state and encodes a machine learning task input within the initial quantum state (step 204a). The system then processes the machine learning task input using one or more intermediate quantum neural network layers (step 204b). Each quantum neural network layer includes a plurality of quantum logic gates that operate on a plurality of qubits and a target qubit, the target qubit also being within the input quantum neural network layer. Thus, processing the machine learning task input using one or more intermediate quantum neural network layers may include, for each intermediate quantum neural network layer in turn, applying a quantum logic gate of the intermediate quantum neural network layer to a current quantum state representing the plurality of qubits and the target qubit. The system then measures the target qubit by applying a measurement quantum gate to the target qubit within the output quantum neural network layer to generate an output representing a solution to the machine learning task (step 204c).
[0063] The system compares the generated output to a known classification to determine one or more gate parameter adjustment values (step 204d). Comparing the generated output to a known classification may include calculating a function, e.g., a loss function, using the generated output and the known classification. The function depends on the evolving quantum states of the multiple qubits and the target qubit, which in turn may depend on quantum gate parameters of single-qubit and two-qubit quantum logic gates included in one or more intermediate quantum neural network layers. For example, a quantum neural network may calculate a Boolean function f:{0,1} n→{0,1}, for example, when trained to learn a parity function, a subset parity function, a subset majority function, or a logical AND function, the loss function is Loss(s,θ)=(<ψ(θ,z s )|σ y out |ψ(θ,z s )>-y s ) 2 where θ represents a quantum gate parameter and ψ(θ,z s ) represents the evolution quantum state of the multiple qubits and the target qubit, and σ y out represents the measurement quantum gate, and y s represents the known classification. Gradient descent, e.g., stochastic gradient descent, may then be performed on this loss function to determine adjustments to the gating parameters.
[0064] Due to the particular architecture of the present quantum neural network, backpropagation techniques are not required to determine one or more parameter adjustment values. This is because the structure of the input quantum neural network layer, the intermediate quantum neural network layer, and the output quantum neural network layer ensures that the function of the evolved quantum state used to compare the generated output to the known classification depends not only on the quantum logic gate parameters contained in the output quantum neural network layer, but also on the quantum logic gate parameters of the quantum logic gates contained in the intermediate quantum neural network layer. In other words, unlike conventional neural networks, the action of applying multiple intermediate quantum neural network layers to the input quantum neural network layer output is equivalent to evolving the initial state of the qubits contained in the input quantum neural network layer under a series of unitary operators that are parameterized by the quantum logic gate parameters of the quantum logic gates contained in the multiple intermediate quantum neural network layers. In contrast, conventional neural networks can be considered as highly nested functions of their parameters. Thus, the evolved initial state depends on all the quantum logic gate parameters. Thus, when performing optimization on a function of the evolving quantum state, only one gradient descent routine or other optimization routine needs to be performed to determine parameter adjustment values for all quantum logic gate parameters (i.e., parameter adjustment values for all intermediate quantum neural network layers).
[0065] The system then adjusts the values of the gating parameters from their initial values to their post-training values (step 204e).
[0066] In some implementations, the system may perform a regularization technique after processing a subset of training examples, such as after processing 100 training examples. Regularization techniques include 0-norm or 1-norm regularization. For example, after processing a subset of training examples, quantum gate parameters θ may be monitored to determine whether any parameters are close to 0. If the parameters are close to 0, the gates may be adjusted, such as by replacing Z-gates with Y-gates, so that learning may be recirculated.
[0067] Figure 3 is a flow diagram of an example process 300 for processing data inputs using a quantum neural network trained to perform a machine learning task. For example, the example process 300 may be used to process data inputs using the quantum neural network 100 of Figure 1 trained to perform a machine learning task using process 200 of Figure 2. For simplicity, the process 300 is described as being performed by one or more classical and / or quantum computer systems located at one or more locations.
[0068] The system prepares a plurality of qubits of an input quantum neural network layer in an initial quantum state and encodes the data input into the initial quantum state (step 302). For example, the system may encode the data input into the initial quantum state by setting the z-direction of each of the plurality of qubits of the input quantum neural network layer. Preparing the plurality of qubits of the input quantum neural network layer may include setting a target qubit included in the input quantum neural network layer to an initial state, e.g.,
number
[0069] The system processes the data input using one or more intermediate quantum neural network layers, each of which includes a number of quantum logic gates that operate on a number of qubits and a target qubit (step 304). Each intermediate quantum neural network layer includes a single qubit quantum logic gate, e.g., exp(-iθX j ) single-qubit gates, two-qubit quantum logic gates, e.g., exp(iθZ j Z k ), or both single-qubit quantum logic gates and two-qubit quantum logic gates, which operate on qubits contained within the intermediate quantum neural network layers. Thus, processing a data input using one or more intermediate quantum neural network layers includes, for each intermediate quantum neural network layer in turn, applying the quantum logic gate of the intermediate quantum neural network layer to a current quantum state representing the multiple qubits and the target qubit.
[0070] Processing a data input using one or more intermediate quantum neural network layers in this manner maps the encoded data input to an evolved state of a target qubit, i.e., the encoded data input is mapped to the evolved state of the target qubit through application of a unitary operator to an initial quantum state, the unitary operator being parameterized by a one-quantum-gate quantum logic gate parameter and a two-quantum-gate quantum logic gate parameter of the quantum logic gates contained within the intermediate quantum neural network layer.
[0071] The system measures the target qubit to generate an output that represents a solution to the machine learning task (step 306). For example, the machine learning task is a binary classification task and the data inputs encoded in the initial quantum state in step 302 are the Boolean function inputs {0,1} nIf x = 1 , then the generated output representing a solution to the machine learning task may include Boolean function outputs {0,1}. Measuring the target qubit may include measuring a y-direction of the target qubit.
[0072] Implementations of the digital and / or quantum subject matter and digital functional and quantum operations described herein may be implemented in digital electronic circuitry, suitable quantum circuitry, or more generally, in a quantum computing system, in tangibly embodied digital and / or quantum computer software or firmware, in digital and / or quantum computer hardware including the structures disclosed herein and their structural equivalents, or in a combination of one or more of these. The term "quantum computing system" may include, but is not limited to, a quantum computer, a quantum information processing system, a quantum cryptography system, or a quantum simulator.
[0073] Implementations of the digital and / or quantum subject matter described herein can be implemented as one or more digital and / or quantum computer programs, i.e., one or more modules of digital and / or quantum computer program instructions, encoded on a tangible, non-transitory storage medium for execution by or to control the operation of a data processing device. The digital and / or quantum computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, one or more quantum bits, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially generated propagated signal capable of encoding digital and / or quantum information, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode the digital and / or quantum information so that it can be transmitted to a suitable receiver device for execution by the data processing device.
[0074] The terms quantum information and quantum data refer to information or data carried by, held or stored in, a quantum system, where the smallest non-trivial system is a qubit, a system that defines a unit of quantum information. It will be understood that the term "qubit" encompasses any quantum system that can be appropriately approximated as a two-level system in a corresponding context. Such quantum systems may include multi-level systems, for example, with two or more levels. By way of example, such systems may include atoms, electrons, photons, ions, or superconducting qubits. In many implementations, the computational basis states are considered to be the ground state and the first excited state, although it will be understood that other configurations are possible in which the computational states are considered to be higher-level excited states.
[0075] The term "data processing apparatus" refers to digital and / or quantum data processing hardware and encompasses any kind of apparatus, device, and machine for processing digital and / or quantum data, including, as examples, programmable digital processors, programmable quantum processors, digital computers, quantum computers, multiple digital and quantum processors or computers, and combinations thereof. The apparatus may also be or further include special-purpose logic circuits, such as FPGAs (field programmable gate arrays), ASICs (application specific integrated circuits), or quantum simulators, i.e., quantum data processing apparatuses designed to simulate or generate information about a particular quantum system. In particular, quantum simulators are special-purpose quantum computers that do not have the ability to perform universal quantum computation. In addition to hardware, the apparatus may also optionally include code that creates an execution environment for digital and / or quantum computer programs, such as code constituting a processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof.
[0076] A digital computer program, which may also be referred to or described as a program, software, software application, module, software module, script, or code, may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a digital computing environment. A quantum computer program, which may also be referred to or described as a program, software, software application, module, software module, script, or code, may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and converted to a suitable quantum programming language, or written in a quantum programming language, such as QCL or Quipper.
[0077] A digital and / or quantum computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file holding other programs or data, e.g., in one or more scripts stored in a markup language document, in a single file dedicated to the program, or in multiple linked files, e.g., files storing one or more modules, subprograms, or portions of code. A digital and / or quantum computer program can be deployed to run on one digital computer or one quantum computer, or on multiple digital and / or quantum computers located at one site or distributed across multiple sites and interconnected by a digital and / or quantum data communication network. A quantum data communication network is understood to be a network capable of transmitting quantum data using quantum systems, e.g., qubits. In general, a digital data communication network cannot transmit quantum data, but a quantum data communication network can transmit both quantum data and digital data.
[0078] The processes and logic flows described herein may be implemented by one or more programmable digital and / or quantum computers, operating as appropriate with one or more digital and / or quantum processors executing one or more digital and / or quantum computer programs to perform functions by operating on input digital and quantum data and generating output. The processes and logic flows may also be implemented by special purpose logic circuitry, e.g., FPGAs or ASICs, or quantum simulators, or by a combination of special purpose logic circuitry or quantum simulators with one or more programmed digital and / or quantum computers, and the apparatus may be implemented as a special purpose logic circuitry, e.g., FPGAs or ASICs, or quantum simulators, or by a combination of special purpose logic circuitry or quantum simulators with one or more programmed digital and / or quantum computers.
[0079] One or more digital and / or quantum computer systems are "configured to" perform a particular operation or action means that the system has software, firmware, hardware, or a combination thereof implemented thereon that, when operated, causes the system to perform that operation or action. One or more digital and / or quantum computer programs are configured to perform a particular operation or action means that the one or more programs include instructions that, when executed by a digital and / or quantum data processing device, cause the device to perform that operation or action. A quantum computer can receive instructions from a digital computer that, when executed by a quantum computing device, cause the device to perform that operation or action.
[0080] A digital and / or quantum computer suitable for executing a digital and / or quantum computer program may be based on a general-purpose digital and / or quantum processor or a dedicated digital and / or quantum processor, or both, or any other kind of digital and / or quantum central processing unit. In general, the digital and / or quantum central processing unit receives instructions and digital and / or quantum data from a read-only memory, a random access memory, or a quantum system suitable for transmitting quantum data, e.g. photons, or a combination thereof.
[0081] The essential elements of a digital and / or quantum computer are a central processing unit for carrying out or executing instructions, and one or more memory devices for storing instructions and digital and / or quantum data. The central processing unit and memory can be supplemented by or incorporated into dedicated logic circuits or quantum simulators. In general, a digital and / or quantum computer also includes one or more mass storage devices for storing digital and / or quantum data, such as magnetic disks, magneto-optical disks, optical disks, or quantum systems suitable for storing quantum information, or is operatively coupled to receive digital and / or quantum data therefrom, or to transfer digital and / or quantum data thereto, or both. However, a digital and / or quantum computer need not have such devices.
[0082] Suitable digital and / or quantum computer readable media for storing digital and / or quantum computer program instructions and digital and / or quantum data include, by way of example, all forms of non-volatile digital and / or quantum memories, media, and memory devices, including semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices, magnetic disks, e.g., internal hard disks or removable disks, magneto-optical disks, CD-ROM disks and DVD-ROM disks, and quantum systems, e.g., trapped atoms or trapped electrons. It will be understood that a quantum memory is a device, e.g., a light-matter interface, capable of storing quantum data with high fidelity and efficiency over extended periods of time, where light is used for transmission and matter is used to store and maintain the quantum characteristics of the quantum data, such as superposition and quantum coherence.
[0083] Control of the various systems described herein, or portions thereof, may be implemented in a digital and / or quantum computer program product that includes instructions stored on one or more non-transitory machine-readable storage media and executable on one or more digital and / or quantum processing devices. Each of the systems described herein, or portions thereof, may be implemented as an apparatus, method, or system that may include one or more digital and / or quantum processing devices and a memory for storing executable instructions for performing the operations described herein.
[0084] Although this specification contains many specific details of implementations, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to a particular implementation. Certain features described in the context of separate implementations herein may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented separately in multiple implementations or in any suitable subcombination. Furthermore, although features may be described above as acting in a particular combination, and may even be initially claimed as such, one or more features from a claimed combination may, in some cases, be deleted from the combination, and the claimed combination may be directed to a subcombination or a variation of the subcombination.
[0085] Similarly, although operations are depicted in a particular order in the figures, this should not be understood as requiring that such operations be performed in the particular order or sequence shown, or that all of the operations shown be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Furthermore, it should be understood that the separation of various system modules and system components in the above-described implementations should not be understood as requiring such separation in all implementations, and that the described program components and systems may generally be integrated together in a single software product or packaged in multiple software products.
[0086] Particular implementations of the present subject matter have been described above. Other implementations are within the scope of the appended claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As an example, the processes depicted in the appended figures do not necessarily require the particular order shown, or sequence, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous. [Explanation of symbols]
[0087] 100 Quantum Neural Network Architecture, Exemplary Quantum Neural Network, System 102 Quantum Neural Network 104 input quantum neural network layers 106a First intermediate quantum neural network layer 106b Intermediate quantum neural network layer 106c Intermediate quantum neural network layer 106d Intermediate quantum neural network layer 106e Intermediate quantum neural network layer 108 output quantum neural network layers 110 qubits 112 Single qubit gate 114 Control Devices 116 Classical Processors 118 Two-qubit gate 120 Measurement gate, measurement quantum gate 150 Input Data, Machine Learning Task Data Input 152 Output Data 200 Example Process 300 Example Process
Claims
1. 1. A method performed by a computing system for training a quantum neural network to perform a machine learning task, comprising: training the quantum neural network on a plurality of training examples; Each of the training examples includes a machine learning task input paired with a known classification for the machine learning task input, and the training step includes, for each training example: encoding the machine learning task input into initial quantum states of a plurality of qubits of an input quantum neural network layer; processing the machine learning task input using one or more intermediate quantum neural network layers, each intermediate quantum neural network layer including a plurality of quantum logic gates operating on the plurality of qubits and a target qubit, the target qubit also being in the input quantum neural network layer, the processing including, for each intermediate quantum neural network layer in turn, applying the quantum logic gates of the intermediate quantum neural network layer to current quantum states representing the plurality of qubits and the target qubit to evolve the initial quantum states of the plurality of qubits and the target qubit to evolved quantum states; measuring the target qubit at an output quantum neural net layer to obtain an output representing a solution to the machine learning task; the output includes measurements dependent on the evolved quantum states of the plurality of qubits and the target qubit; the evolving quantum state is dependent on the plurality of quantum logic gates operating on the plurality of qubits in each intermediate quantum neural network layer and the target qubit; comparing the output to the known classification to determine one or more quantum logic gate parameter adjustments; adjusting values of quantum logic gate parameters from initial values to trained values according to the one or more quantum logic gate parameter adjustment values; A method comprising:
2. 2. The method of claim 1 , wherein each intermediate quantum neural network layer includes (i) single qubit quantum logic gates, (ii) two qubit quantum logic gates, or (iii) both single qubit and two qubit quantum logic gates.
3. The single qubit quantum logic gate is exp(-iθX j 3. The method of claim 2, further comprising a single qubit gate of the form
4. The two-qubit quantum logic gate is exp(iθZ j Z k 3. The method of claim 2, further comprising a two-qubit gate of the form
5. 2. The method of claim 1 , wherein processing the machine learning task inputs using the one or more intermediate quantum neural network layers comprises mapping the encoded machine learning task inputs to evolving states of the target qubits.
6. 6. The method of claim 5, wherein mapping the encoded machine learning task input to an evolved state of the target qubit comprises applying a unitary operator to the initial quantum state, the unitary operator being parameterized by the quantum logic gate parameters for the quantum logic gate.
7. 2. The method of claim 1 , wherein encoding the machine learning task input into an initial quantum state of the plurality of qubits comprises setting a z-direction of each of the plurality of qubits.
8. 2. The method of claim 1 , wherein measuring the target qubit and obtaining an output representing a solution to the machine learning task comprises measuring a y-direction of the target qubit.
9. comparing the output to the known classification and determining one or more quantum logic gate parameter adjustment values; calculating a loss function using the output and the known classification for the machine learning task; adjusting values of quantum logic gate parameters from initial values to trained values according to the one or more quantum logic gate parameter adjustment values, 2. The method of claim 1, comprising performing a gradient descent method to determine tuning values for the quantum logic gate parameters.
10. the loss function depends on the evolution states of the plurality of qubits and the target qubit; 10. The method of claim 9, wherein the progression state depends on quantum logic gate parameters for the quantum logic gates for each of the intermediate quantum neural network layers.
11. The loss function is [0010] where θ represents the quantum logic gate parameter and ψ(θ,z s ) represents the evolved quantum states of the plurality of qubits and the target qubit, and σ y out represents the measurement quantum gate, and y s The method of claim 9 , wherein:
12. The method of claim 1 , further comprising the step of performing regularization after processing the subset of training examples, the regularization comprising 0-norm or 1-norm regularization.
13. The machine learning task comprises a binary classification task, and the machine learning task input is a Boolean function input {0, 1} n and the solution to the machine learning task comprises a Boolean function output {0,1}.
14. The method of claim 13 , wherein the Boolean function input comprises a parity function input, a subset parity function input, a subset majority function input, or a logical AND function input.
15. 1. An apparatus comprising: a quantum neural network implemented by one or more quantum processors; a classical processor in data communication with the quantum neural network; the apparatus is configured to perform operations for training the quantum neural network to perform a machine learning task; The operations include training the quantum neural network on a plurality of training examples, each of the training examples including a machine learning task input paired with a known classification for the machine learning task input, and the training operations include, for each training example: encoding the machine learning task input into initial quantum states of a plurality of qubits of an input quantum neural network layer; and processing the machine learning task input using one or more intermediate quantum neural network layers, each intermediate quantum neural network layer including a plurality of quantum logic gates operating on the plurality of qubits and a target qubit, the target qubit also being in the input quantum neural network layer, the processing including, for each intermediate quantum neural network layer in turn, applying the quantum logic gates of the intermediate quantum neural network layer to current quantum states representing the plurality of qubits and the target qubit to evolve the initial quantum states of the plurality of qubits and the target qubit to evolved quantum states; and measuring the target qubit at an output quantum neural net layer to obtain an output representing a solution to the machine learning task, the output includes measurements dependent on the evolving quantum states of the plurality of qubits and the target qubit; the evolving quantum state is dependent on the plurality of quantum logic gates operating on the plurality of qubits and the target qubit in each intermediate quantum neural network layer; and comparing said output with said known classification to determine one or more quantum logic gate parameter adjustment values; adjusting values of quantum logic gate parameters from initial values to trained values according to the one or more quantum logic gate parameter adjustment values; 13. An apparatus comprising:
16. 16. The apparatus of claim 15, wherein each intermediate quantum neural network layer includes (i) single qubit quantum logic gates, (ii) two qubit quantum logic gates, or (iii) both single qubit and two qubit quantum logic gates.
17. The single qubit quantum logic gate is exp(-iθX j 17. The apparatus of claim 16, comprising a single qubit gate of the form
18. The two-qubit quantum logic gate is exp(iθZ j Z k 20. The apparatus of claim 16, comprising a two-qubit gate of the form:
19. 16. The apparatus of claim 15, wherein processing the machine learning task inputs using the one or more intermediate quantum neural network layers comprises mapping the encoded machine learning task inputs to evolved states of the target qubits.
20. 20. The apparatus of claim 19, wherein mapping the encoded machine learning task input to an evolved state of the target qubit comprises applying a unitary operator to the initial quantum state, the unitary operator being parameterized by the quantum logic gate parameters for the quantum logic gate.
Citation Information
Patent Citations
Quantum-assisted training of neural networks
US20150317558A1