Quantum Computing
Practically every neural network thus far has been implemented using a Von Neumann computer. But, might the successor to the Von Neumann computer take neural networks to the near human level? Advances in an area called Quantum computing may do just that. A Quantum computer would be constructed very differently than a Von Neumann computer.
But what exactly is a quantum computer? Quantum computers use small particles to represent data. For example, a pebble is a quantum computer for calculating the constant-position function. A quantum computer would use small particles to represent the neurons of a neural network. Before seeing how to construct a Quantum neural network, you must first see how a Quantum computer is constructed.
The most basic level of a Von Neumann computer is the bit. Similarly, the most basic level of the Quantum computer is the “qubit”. A qubit, or quantum bit, differs from a normal bit in one very important way. Where a normal bit can only have the value 0 or 1, a qubit can have the value 0, 1 or both simultaneously. To see how this is possible, first you will be shown how a qubit is constructed.
A qubit is constructed with an atom of some element. Hydrogen makes a good example. The hydrogen atom consists of a nucleus and one orbiting electron. For the purposes of Quantum computing, only the orbiting electron is important. This electron can exist in different energy levels, or orbits about the nucleus. The different energy levels would be used to represent the binary 0 and 1. The ground state, when the atom is in its lowest orbit, could represent the value 0. The next highest orbit would represent the value 1. The electron can be moved to different orbits by subjecting the electron to a pulse of polarized laser light. This has he effect of adding photons into the system. So, to flip a bit from 0 to 1, enough light is added to move the electron up one orbit. To flip from 1 to 0, we do the same thing, since overloading the electron will cause the electron to return to its ground state. This is logically equivalent to a NOT gate. Using similar ideas, other gates can be constructed such as AND and OR.
Thus far, there is no qualitative difference between qubits and regular bits. Both are capable of storing the values 0 and 1. What is different is the concept of super position. If only half of the light necessary to move an electron is added, the elector will occupy both orbits simultaneously. Superposition allows two possibilities to be computed at once. Further, if you have one “qubyte”, that is 8 qubits, then 256 numbers can be represented simultaneously.
Calculation with super position can have certain advantages. For example, to calculate with the superpositional property, a number of qubits are raised to their superpositions. Then the algorithm is performed on these qubits. When the algorithm is complete, the superposition is collapsed. This results in the true answer being revealed. You can think of the algorithm as being run on all possible combinations of the definite qubit states (i.e. 0 and 1) in parallel. This is called quantum parallelism.
Quantum computers clearly process information differently than their Von Neumann counterpart. But does quantum computing offer anything not already achievable by ordinary classical computers. The answer is yes. Quantum computing provides tremendous speed advantages over the Von Neumann architecture.
To see this difference in speed, consider a problem which takes an extremely long time to compute on a classical computer. Factoring a 250 digit number is a good example. It is estimated that this would take approximately 800,000 years to factor with 1400 present day Von Neumann computers working in parallel. Unfortunately, even as Von Neumann computers improve in speed and methods of large scale parallelism improve, the problem is still exponentially expensive to compute. This same problem, posed to a quantum computer would not take nearly so long. With a Quantum computer it becomes possible to factor 250 digit number in just a few million steps. The key element is that using the parallel properties of superposition all possibilities can be computed simultaneously.
The idea that the Church-Turing thesis is indeed true for all quantum computers is in some doubt. The quantum computer previously mentioned process similar to Von Neumann computers, using bits and logic gates. This is not to say that we cannot use other types of quantum computer models that are more powerful. One such model may be a Quantum Neural Network, or QNN. A QNN could certainly be constructed using qubits. This would be analogous to constructing an ordinary neural network on a Von Neumann computer. The result, would only offer speed, not computability, advantages over Von Neumann based neural networks. To construct a QNN that is not restrained by Church-Turing, a radically different approach to qubits and logic gates must be sought. As of yet, of there does not seem to be any clear way of doing this.
Quantum Neural Networks
How might a QNN be constructed? Currently there are several research institutes around the world working on a QNN. Two such examples are Georgia Tech and Oxford University. Most are reluctant to publish details of their work. This is likely because building a QNN is potentially much easier than an actual quantum computer, which has created a sort of quantum race.
A QNN would likely gain exponentially over classic neural networks through superposition of values entering and exiting a neuron. Another advantage would be a reduction in the number of neuron layers required. This is because neurons can be used to calculate over many possibilities, by using superposition. The model would therefore requires less neurons to learn. This would result in networks with fewer neurons and greater efficiency.
