  We introduce a quantum neural network, QNN, that can represent labeled data,
classical or quantum, and be trained by supervised learning. The quantum
circuit consists of a sequence of parameter dependent unitary transformations
which acts on an input quantum state. For binary classification a single Pauli
operator is measured on a designated readout qubit. The measured output is the
quantum neural network's predictor of the binary label of the input state.
First we look at classifying classical data sets which consist of n-bit strings
with binary labels. The input quantum state is an n-bit computational basis
state corresponding to a sample string. We show how to design a circuit made
from two qubit unitaries that can correctly represent the label of any Boolean
function of n bits. For certain label functions the circuit is exponentially
long. We introduce parameter dependent unitaries that can be adapted by
supervised learning of labeled data. We study an example of real world data
consisting of downsampled images of handwritten digits each of which has been
labeled as one of two distinct digits. We show through classical simulation
that parameters can be found that allow the QNN to learn to correctly
distinguish the two data sets. We then discuss presenting the data as quantum
superpositions of computational basis states corresponding to different label
values. Here we show through simulation that learning is possible. We consider
using our QNN to learn the label of a general quantum state. By example we show
that this can be done. Our work is exploratory and relies on the classical
simulation of small quantum systems. The QNN proposed here was designed with
near-term quantum processors in mind. Therefore it will be possible to run this
QNN on a near term gate model quantum computer where its power can be explored
beyond what can be explored with simulation.
