What You Need To Get Started With Quantum Machine Learning
By: Frank Zickert, Quantum Machine Learning
Tags: Artificial Intelligence, Computer Science, Quantum Computing, Python, Machine Learning

What You Need To Get Started With Quantum Machine Learning

The one thing you need to get started with quantum machine learning is not a degree in physics. It is a teacher able to explain it simply!

This is the aim of Hands-On Quantum Machine Learning with Python.

Quantum machine learning is the use of quantum computing to solve machine learning problems. It does sound a little bit like rocket science. It really is!

Rocket science is a widely-used phrase for something intellectually difficult. Something outside of the capabilities of the average Cletus.

Image by author, Frank Zickert, inspired by “The Simpsons”

But the sole fact you stumbled across this post lets me safely assume you bring the intellectual prerequisites to enter the field. Some smart algorithms have evaluated the topics you’re interested in and came to the conclusion that this post might fit. But also, you self-selected yourself. You wouldn’t have decided to look into this post if you haven’t considered learning quantum computing, machine learning, or quantum machine learning. Something you wouldn’t do if you were not clever enough.

We’re living at a time when knowledge and education are not limited to a small group of privileged persons. You can grab the latest research in quantum machine learning off the internet. There are plenty of scientific articles on Arxiv. There are a lot of books on machine learning and some on quantum computing, too. And, there are myriads of blog posts.

The problem is the literature on quantum computing is full of physical jargon and mathematical formulae. Pretty soon, you might get the feeling the topic is restricted to mathematicians and physicists holding a Ph.D.

Let’s take this quote, for instance:

VQE can help us to estimate the energy of the ground state of a given quantum mechanical system. This is the upper bound of the lowest eigenvalue of a given Hamiltonian. It builds upon the variational principle that is described as: ⟨ψλ|H|ψλ⟩>=E0

The first and natural reaction — if you don’t hold a degree in physics — is to put the article away.

“Well, nice try. Maybe the whole topic is not for me”, you think. “Maybe, quantum machine learning is beyond my reach”.

Don’t give up that fast. Most of the stuff in quantum computing was discovered by physicists and mathematicians. Of course, they build upon the knowledge of their peers when they share their insights and teach their students. It is reasonable they use the terms they are familiar with.

You wouldn’t use the vocabulary of a bartender to explain programming and machine learning either, would you?

It is reasonable to assume a certain kind of knowledge when we talk or write about something. But should we restrain students of other, nearby disciplines from learning the stuff? Why shouldn’t we support a computer scientist or a software engineer in learning quantum computing?

I’ve got a clear opinion. I believe anyone sincerely interested in quantum machine learning should be able to learn it. There should be resources out there catering to the needs of the student, not to the convenience of the teacher. Of course, this requires a teacher able to explain the complex stuff in allegedly simple language.

Image by author, Frank Zickert

“If you can’t explain it simply, you don’t understand it well enough.” — Albert Einstein

I don’t believe anyone (including me) really understands how a classical computer works. Yet, we all use them. We even program them! I learned how to code a classical computer because my teachers explained it to me in a way I was able to understand.

My high-school teacher explained the concepts of data types and algorithms in an applied way. He taught me how they work and what they are good for. Even though — or maybe because — we didn’t go through electro-mechanical circuits and information theory, I was able to learn to program.

Conclusion

Of course, it is desirable to understand the underlying theory of quantum mechanics. Of course, it is desirable to be able to do the math. But, more importantly, you need to understand how to solve a certain problem.

Essentially, in quantum computing, we use quantum superposition, entanglement, and interference to solve tasks. These are astonishing and maybe counter-intuitive phenomena. But no matter how weird they may appear, quantum mechanical systems adhere to a certain set of physical laws. And these laws make the systems behave in certain ways.

Learning these laws is not harder than learning a new programming language — when put into the right context and when explained conceptually.

I truly believe developers, programmers, and students who have at least some programming experience can become proficient in quantum machine learning.

What you need to get started with quantum machine learning is not a degree in physics or math. It is a teacher able to explain it in simple terms!

I wouldn’t dare to say I understood quantum machine learning well enough to explain it with the vocabulary bartenders use. But I’d give it a shot explaining it to a computer scientist and a software engineer. I don’t see a reason to restrict this field to mathematicians and physicists, only.

In my post “Quantum Programming — For Non-Mathematicians”, I showed how to calculate the joint probability of two probabilities with Qiskit — the quantum SDK of IBM. You don’t need to know all the theories to follow it. In “Do You Struggle With The Quantum Superposition?”, I give a hands-on introduction to quantum computing.

These two posts are just a small excerpt of what’s inside Hands-On Quantum Machine Learning With Python.

Whether you just get started with quantum computing and machine learning or you’re already a senior machine learning engineer, Hands-On Quantum Machine Learning With Python is your comprehensive guide to get started with Quantum Machine Learning — the use of quantum computing for the computation of machine learning algorithms.