Path: blob/main/notebooks/quantum-machine-learning/project.ipynb
3855 views
Project
Congratulations!

You’ve finished the taught part of this course.
Completing a guided project
Hopefully you enjoyed learning about quantum computing. If so, we now encourage you to try a project. In your project, you'll pick an area you’ve come across that you find interesting and investigate it. The final form of your project can be whatever you choose, from a blog post explaining an investigation, to improving Qiskit itself.
Step 1: Connect to the community
If you haven’t joined already, the Qiskit Slack workspace is a great place to ask questions and get support. The developers of Qiskit and this online textbook hang out there, as well as plenty of students and enthusiasts. You can join via this link, and introduce yourself in the #textbook-projects channel.
Step 2: Get started with GitHub
Using GitHub you can:
Display code you've written.
Create your own web page (e.g. for a blog or online demo) using GitHub pages.
Fork Qiskit and start working on an issue.
Git and GitHub are great tools, but they also come with a fair bit of jargon. We'll include tooltips for some of these terms when we come across them.
You can follow GitHub's quickstart guide here.
Step 3: Decide on a project
Your project can be on anything you want. You can post your ideas in the #textbook-projects Slack channel to get advice from mentors, and find other people to collaborate with.
Below are some ideas to get your imagination going. Each set of bullet points is roughly ordered from easier to harder projects. You can use one of these ideas, adapt them, or do something completely different!
Project ideas
Lighter projects
If you enjoy writing, you could:
Write a blog post explaining what you’ve learnt and how the experience was.
Write a blog post explaining the suspected advantages of quantum machine learning over classical machine learning. You could aim it at a layperson, a classical developer, or a quantum computer scientist (or anyone else). What are the most promising areas? Where are the current challenges?
Implementations
You can try to implement or adapt something from this course, or something from another resource. Some ideas are:
In the QGAN page, we use QGAN to approximate several specified distributions. Create a generalized Python function that takes as input any target distribution and outputs a circuit that approximates that distribution.
Starting from the most popular classical datasets such as the:
Discuss the advantages and disadvantages of different encoding and optimization techniques.
Implement a data reuploading classifier for (any) dataset (look at this paper and this paper for inspiration)
Investigations
You could investigate a technical area in quantum machine learning, and write up your findings. For example, you could:
Benchmark each ansatz (e.g.
ZZFeatureMap,TwoLocal) and propose one with the lowest cost for each task.Analyze some classical machine learning methods and find places that might benefit from using quantum circuits.
Read this paper on variational quantum generators. Try to extend a QGAN to learn a certain continuous distribution (e.g. a continuous 4Q Gaussian).
Read this paper on ansatz expressibility, gradient magnitudes, and barren plateaus. Write about, or empirically evaluate the connection between expressibility and barren plateaus.
Explore other data encoding schemes and the impacts they have on the circuit (see this paper)
Investigate how the techniques used in this course could be applied to quantum datasets (e.g. this dataset and this dataset). What are the advantages and/or limitations?
Step 4: Have fun!
Start working towards your goal. If you find your project too difficult, get stuck, or simply get bored, ask for help in the #textbook-projects channel. The mentors can either point you in the right direction, or help you adjust your project’s goals.
Step 5: Share your work
After you’ve put in the time and effort, share your work with others on the #textbook-projects channel. If you maintain your GitHub profile and GitHub pages web page, you can use this to evidence your knowledge and experience to others (e.g. in applications or interviews).