User:Maria Schuld/sandbox

Quantum machine learning is an emerging interdisciplinary research area between quantum physics and data mining that summarises efforts to combine methods from quantum information science and machine learning. One can distinguish four different ways of how to merge the two parent disciplines. Quantum machine learning algorithms can use the advantages of quantum computation in order to improve classical methods of machine learning, for example by developing efficient implementations of expensive classical algorithms on a quantum computer. On the other hand, one can apply classical methods of machine learning to analyse quantum systems. Furthermore, techniques from quantum physics can be adapted for tasks like deep learning. Lastly, a quantum device can be used to recognise patterns in quantum data.

Quantum-enhanced machine learning
Quantum-enhanced machine learning refers to quantum algorithms that solve tasks in machine learning, thereby improving a classical machine learning method. So called "quantum machine learning algorithms" typically require to encode a 'classical' dataset into a quantum computer, effectively turning it into quantum information. After this, quantum information processing routines can be applied and the result of the quantum computation is read out through measuring the quantum system. For example, the outcome of the measurement of a qubit could reveal the result of a binary classification task. While many proposals of quantum machine learning algorithms are still purely theoretical and require a full-scale universal quantum computer to be tested, others have been imlemented on small-scale or special purpose quantum devices .

Linear algebra simulation with quantum amplitudes
One line of approaches is based on the idea of 'amplitude encoding', or to associate the amplitudes of a quantum state with the inputs and outputs of computations. Since $$n$$ qubits are described by $$2^n$$ complex amplitudes, this information encoding can allow for an exponentially compact representation. As an intuition, this corresponds to associating a discrete probability distribution over binary random variables with a classical vector. The goal of algorithms based on amplitude encoding is to formulate quantum algorithms whose resources grow polynomial in the number of qubits $$n$$, which is a logarithmic growth in the number of amplitudes and thereby the dimension of the input.

Many quantum machine learning algorithms in this category are based on variations of the quantum algorithm for linear systems of equations, which under specific conditions performs a matrix inversion with logarithmic dependence on the dimensions of the matrix. One of these conditions is that a Hamiltonian which entrywise corresponds to the matrix can be simulated efficiently, which is known to be possible if the matrix is sparse or low rank. Quantum matrix inversion can be applied to machine learning methods in which the training reduces to solving a linear system of equations, for example in least-squares linear regression, the least-squares version of support vector machines, Gaussian processes.

A crucial bottleneck of methods that simulate linear algebra computations with the amplitudes of quantum states is state preparation, which often requires to initialise a quantum system such that its amplitudes reflect the features of the entire dataset. Although efficient methods regarding the number of qubits are known for very specific cases, this step easily hides the complexity of the task.

Quantum machine learning algorithms based on Grover search
Another approach to constructing quantum machine learning algorithms uses amplitude amplification methods based on Grover's search algorithm, which has been shown to solve unstructured search problems with a quadratic speedup compared to classical algorithms. These quantum routines can be employed for learning algorithms that translate into an unstructered search task, such as finding the closest datapoints to a new feature vector in k-nearest neighbors algorithm. Another application is a quadratic speedup in the training of perceptron.

Closely related to amplitude amplification are Quantum walk, offering the same quadratic speedup. Quantum walks have been proposed to enhance Google's PageRank algorithm as well as the reinforcement learning model of projective simulation.

Quantum sampling techniques
Sampling from high-dimensional probability distributions is at the core of a wide spectrum of computational techniques with important applications across science, engineering, and society. Examples include deep learning, probabilistic programming, and other machine learning and artificial intelligence applications.

A computationally hard problem, which is key for some relevant machine learning tasks is the estimation of averages over probabilistic models defined in terms of a Boltzmann distribution.

Sampling from generic probabilistic models, such as a Boltzmann distribution, is hard. For this reason, algorithms relying heavily on sampling are expected to remain intractable no matter how large and powerful classical computing resources become. Even though quantum annealers, like those produced by D-Wave Systems, were designed for challenging combinatorial optimization problems, it has been recently recognized as a potential candidate to speed up computations that rely on sampling by exploiting quantum effects.

Some research groups have recently explored the use of quantum annealing hardware for the learning of Boltzmann machines and deep neural networks. The standard approach to the learning of Boltzmann machines relies on the computation of certain averages that can be estimated by standard sampling techniques, such as Markov chain Monte Carlo algorithms. Another possibility is to rely on a physical process, like quantum annealing, that naturally generates samples from a Boltzmann distribution. In contrast to their use for optimization, when applying quantum annealing hardware to the learning of Boltzmann machines, the control parameters (instead of the qubits’ states) are the relevant variables of the problem. The objective is to find the optimal control parameters that best represent the empirical distribution of a given dataset.

The D-Wave 2X system hosted at NASA Ames Research Center has been recently used for the learning of a special class of restricted Boltzmann machines that can serve as a building block for deep learning architectures. Complementary work that appeared roughly simultaneously showed that quantum annealing can be used for supervised learning in classification tasks. The same device was later used to train a fully connected Boltzmann Machine to generate, reconstruct, and classify images that closely resemble (low resolution) handwritten digits, among other synthetic datasets. In both cases, the models trained by the D-Wave 2X displayed a similar or better performance in terms of quality (i.e. in term of the values of likelihood reached).

The ultimate question that drives this endeavor is whether there is quantum speedup in sampling applications. Experience with the use of quantum annealers for combinatorial optimization suggests the answer is not straightforward.

Inspired by the success of Boltzmann Machines based on classical Boltzmann distribution, a new machine learning approach based on quantum Boltzmann distribution of a transverse-field Ising Hamiltonian was recently proposed. Due to the non-commutative nature of quantum mechanics, the training process of the Quantum Boltzmann Machine (QBM) can become nontrivial. This problem was to some extend circumvented by introducing bounds on the quantum probabilities. This allowed the authors to train the QBM efficiently by sampling. It is possible that a specific type of quantum Boltzmann machine has been trained in the D-Wave 2X by using a learning rule analogous to that of classical Boltzmann machines.

On a related proposal, quantum computing was used not only to reduce the time required to train a deep restricted Boltzmann machine, but also to provide a richer and more comprehensive framework for deep learning than classical computing. The same quantum methods also permit efficient training of full Boltzmann machines and multi-layer, fully connected models and do not have well known classical counterparts.

Relying on an efficient thermal state preparation protocol starting from an arbitrary state, quantum-enhanced Markov logic networks exploit the symmetries and the locality structure of the probabilistic graphical model generated by a first-order logic template. This provides an exponential reduction in computational complexity in probabilistic inference, and, while the protocol relies on a universal quantum computer, under mild assumptions it can be embedded on contemporary quantum annealing hardware.

Learning about quantum systems
The term quantum machine learning can also be used for approaches that apply classical methods of machine learning to problems of quantum information theory. For example, when experimentalists have to deal with incomplete information on a quantum system or source, Bayesian methods and concepts of algorithmic learning can be fruitfully applied. This includes machine learning approaches to quantum state classification, Hamiltonian learning, and learning an unknown unitary transformation.

Classical machine learning algorithms to learn about quantum systems
A variety of classical machine learning algorithms have been proposed to tackle problems in quantum information and technologies. This becomes particularly relevant with the increasing ability to experimentally control and prepare larger quantum systems.

In this context, many machine learning techniques can be used to more efficiently address experimentally relevant problems. Indeed, the problem of turning huge and noisy data sets into meaningful information is by no means unique to the quantum laboratory. This results in many machine learning techniques being naturally adapted to tackle these problems. Notable examples are those of extracting information on a given quantum state, or on a given quantum process. A partial list of problems that have been addressed with machine learning techniques includes:
 * 1) The problem of identifying an accurate model for the dynamics of a quantum system, through the reconstruction of it Hamiltonian.
 * 2) Extracting information from unknown states.
 * 3) Learning unknown unitaries and measurements.
 * 4) Engineering of quantum gates from qubit networks with pairwise interactions, using time dependent or independent Hamiltonians.
 * 5) Generation of new quantum experiments by finding the combination of quantum operations that allow for the generation of a quantum state with a certain desired property.

Quantum Reinforcement Learning
Inside the field of quantum machine learning, a topic that has risen interest in the past few years is quantum reinforcement learning. The aim in this research line is to analyze the behaviour of quantum agents interacting with a certain environment, which may be either classical or quantum. Depending on the chosen interaction between the quantum agent and the environment, the former will receive a different reward that will allow it, after some iterations, to achieve a policy for succeeding in its goal. A tradeoff must be balanced between exploration and exploitation. In some situations, either because of the quantum processing capability of the agent, or due to the possibility to probe the environment in superpositions, a quantum speedup may be achieved. Preliminary implementations of these kind of protocols in superconducting circuits have been proposed.

Quantum learning theory
While quantum computers can outperform classical ones in some machine learning tasks, a full characterization of statistical learning theory with quantum resources is still under development. The sampling complexity of broad classes of quantum and classical machine learning algorithms are polynomially equivalent, but their computational complexities need not be. The ability of quantum computers to search for the most informative samples can polynomially improve the expected number of samples necessary to learn a concept.

Classically, learning an inductive model splits into a training and and an application phase. The model parameters are estimated in the training phase, and the learned model is applied an arbitrary many times in the application phase. In the asymptotic limit of the number of applications, this splitting of phases is also present with quantum resources. This clear splitting allows to talk about bounds on generalization performance in the quantum case, which, in turn, makes it relevant to analyse model complexity.

Implementations and experiments
Li et al. (2015) did the first experimental implementation of quantum support vector machine to distinguish hand written number ‘6’ and ‘9’ on a liquid-state Nuclear Magnetic Resonance (NMR) quantum computer. The training data involved the pre-processing of the image which maps them to normalized 2-dimensional vectors, this mapping helps to represent the images as the states of a qubit. The two entries of the vector are the vertical and horizontal ratio of the pixel intensity of the image. Once the vectors are defined on the feature space the Quantum support vector machine was implemented to classify the unknown input vector. The readout avoids quantum tomography by reading out the final state in terms of direction (up/down) of the NMR signal. Neigovzen et al. (2009) devised and implemented a quantum pattern recognition algorithm on NMR. They implemented the quantum Hopfield network and the input data and memorized data is being mapped to Hamiltonians, this eventually helps to use the adiabatic quantum computation.

Cai et al. (2015) were first to experimentally demonstrate quantum machine learning on a photonic quantum computer and showed that the distance between two vectors and their inner product can indeed be computed quantum mechanically. Brunner et al. (2013) used photonics to demonstrate simultaneous spoken digit and speaker recognition and chaotic time-series prediction at data rates beyond 1 gigabyte per second. Furthermore, Tezak & Mabuchi (2015) proposed using non-linear photonics to implement an all-optical linear classifier capable of learning the classification boundary iteratively from training data through a feedback rule.

In an early experiment, Neven et al. (2009) used the adiabatic D-Wave quantum computer to detect cars in digital images using regularized boosting with a nonconvex objective function. Benedetti et al. (2016) trained a probabilistic generative models with arbitrary pairwise connectivity on the D-Wave quantum computer. In their paper, they showed that their model is capable of generating handwritten digits as well as reconstructing noisy images of bars and stripes and handwritten digits.

In recent years, also leading tech companies have shown interest in the potential of quantum machine learning for future technological implementations. In 2013, Google Research, NASA and the Universities Space Research Association launched the Quantum Artificial Intelligence Lab which explores the use of the adiabatic D-Wave quantum computer. Researchers at Microsoft Research conduct theoretical research in the field of quantum machine learning but until this point no experimental implementations are known.

Recently, a novel ingredient has been added to the field of quantum machine learning, in the form of a so-called quantum memristor, a quantized model of the standard classical memristor. This kind of device incorporates a superconducting quantum bit together with the possibility to perform a weak measurement on the system and apply a feed-forward mechanism. Recently, an implementation of a quantum memristor in superconducting circuits has been proposed. A quantum memristor would implement nonlinear interactions in the quantum dynamics which would aid the search for a fully functional quantum neural network.