Data Science Algorithms is an elective I'm using to finish up my credits. I plan to pursue a Master's Degree in Data Science, so I thought a brief introduction would be a valuable class.
This class is a brief,
class on data science. The subject is massive, not to mention the subjects surrounding it are even more so. Machine learning encapsulates deep learning, AI encapsulates everything, data science encapsulates Big Data, and the list goes on. We utilize python libraries like pandas and sklearn to manipulate and analyze datasets.
Honestly, I am not big on statistics, and my black boxes have increased the difficulty of the course work. "But Alex how can you not like statistics if you want to be a data scie-" GO AWAY. I refuse to acknowledge this reality for now. I really should have began in the machine learning course, where the algorithms we utilize are actually programmed in the course work. Lesson learned.
Fortunately, we are moving on from using regression algorithms to simply make predictions, and we are touching on neural networks, as these are the basis of machine learning, and deep learning in particular.
I became curious of how neural networks would work on quantum computers. With my understanding of quantum computing, the structure seems to pose difficulties. Granted, what doesn't in quantum computing?
I assume my audience is somewhat inexperienced, so I am going to explain a few of the buzzwords I will be using:
- Machine Learning (ML): A practice of artificial intelligence where we train a computer using a bunch (or even a little bit) of data and "teach" it to predict other results. Numerous algorithms and models exist to accomplish these, and machine learning is valuable for automating systems. IBM Watson is a common example of an ML implementation.
- Quantum Computing (QC): This somewhat escapes me, but a very surface-level understanding of quantum computing is that the computation accuracy is based on probability more than actuality, mostly due to (atomic) physical limitations. We wouldn't use a quantum computer to calculate 1+1, but rather for intricate algorithms that would take a significant amount of time to process on a modern cluster of computers (if they can complete the computation at all). It boils down to quantum mechanics, and I suggest that as a place to start understanding the functionality behind quantum computing.
- Neural Networks: Specifically, artificial neural nets. Simply put, an algorithm will use neural nets to find the quickest path, and, in some cases, the path with the fewest steps. A common visualization is deciding a route to get someone in a car from point A to point B as quickly as possible. Each step (layer, node) is taken when conditions are satisfied. We do this constantly, as we are always making decisions prior to moving to the next goal.
I am certainly not the only one asking the question: "Will deep learning neural networks run on quantum computers?" on StackExchange quickly appears on a Bing search asked two years ago. An interesting point is made early: does deep learning make sense on a QC? The primary use we find with QC is the ability to compute FASTER. Many of you likely discovered QC in regards to password breaking, which can be attacked far more quickly with the use of QC. As of two years ago, not a lot of information existed on how quickly neural nets would be simulated with QC. Fortunately, later that year we may have been given an answer! The Next Web published an article November 2018 explaining research coming from Italy on a functioning QC simulating a neural network that simplifies and classifies images. Tristan Greene, author of the article, believes a purpose exists for neural nets in quantum computers,
neural networks running on quantum systems could, potentially, be exponentially more robust than those running on classical systems. The implications for this amalgam of AI and quantum computing are, well, beyond imagination.
Tristan Greene, The Next Web
At this point, it seems the question of capability was answered long ago, and now the question of where to use the neural nets within QC is being researched. Two possibilities of focus are Quantum Convolutional Neural Networks QCNN and Quantum Reinforcement Neural Networks QRNN. The latter is... more self-explanatory than the former. Reinforcement learning occurs while the machine is computing and classifying, and encourages the machine to make correct decisions. I find the most interesting part of QRNN to be the error-correction step. I find it amusing that we would work so hard on something that must fix itself, and equally intriguing that we can teach a computer to make a decision then look back and make sure the computation was correct. It makes me want to research implementation of quantum computing for networking!
QCNN is an approach to solve massive quantum physics problems.
Quantum many-body systems are essentially microscopic structures made up of several interacting particles. While quantum physics studies have focused on the collective behavior of these systems, using machine learning in these investigations has proven to be very difficult.
Iris Cong Et Al
Many-body systems describe n interacting objects, rather "agents." Simulating these is an obstacle we hope to solve with QC.
Carlos E. Perez writes a great rundown of many-body systems.
I discovered a rabbit hole of quantum neural nets, where interest lies more in a physical setup that follows the neural net pattern than in implementing the data structure on the QC. Alexandr A. Ezhov and Dan Ventura brief us on quantum computing, using neural networks to understand the processing within the brain, and address the Church-Turing thesis, which simply states any computation can be done on a Turing machine (modern computers are considered Turing machines, quantum computers excluded). At the time of publishing, they claim the brain hemispheres act similarly to a Von Neumann computer and a quantum computer. I believe a lot more research has been and must be done in our understanding of the mind before we make noisy comparisons of QC and the brain functions. This is a fairly old reference, so I refrain from addressing it further at this point, but it is an interesting read! Certainly another discussion should be made, but I do not agree with the rigid mindset that, to reach true AI, we must mimic consciousness as we know it down to the physicality. Heriot-Watt University tackles this in far more recent research project of a quantum computer that, of course, is modeled after the brain. They make the comparisons of
- regular computing processing a single picture at a time like our active thought, and
- quantum computing processing numerous pictures at a time like each neuron in our mind.
You can follow the Quromorphic Project to find new discoveries within the research.
That's all I have for the night. Please feel free to correct me where I made any mistakes, and I hope you add to the discussion!
Thanks for reading.