/FML-project-IITJ

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

FML-project-IITJ

Quantum Machine Learning Awesome

Python version 3.9

Proposal Title | Problem Statement | contributors | Plan of Action | Implementation details | Project Report | Project Slides | Video | Conclusion |

The implementation of the project can be accessed via the following link: here.
Also access the implemented code notebook.

CSL7670 : Fundamentals of Machine Learning-Project Proposal

Contributors:

Author Linkedin profile
Shisheer S Kaushik(M23IQT0063) Kaushik
Thirumalai M(M23IQT008) Thiru
Haris Ansari(M23IQT003) Haris
Sumit Kumar(M23IQT007) Sumit

Proposal Title

QCNN - Automated Medical Image Diagnostics using QML

Problem Statement

In the realm of image classification, the endeavor to harness the capabilities of Quantum Convolution Neural Networks (QCNN) emerges as an intriguing challenge. Our mission is to delve into the unique convergence of quantum computing and image analysis. Specifically, we aim to implement a model classifying face image data set to predict disorders (i.e.,Parkinson’s, Autism, etc), And to unravel the mysteries of QCNN architecture and its application in classifying images, while keeping a keen focus on the medical dataset and targeted towards disorders. Furthermore, we endeavor to draw comparisons between the QCNN and its classical counterpart, the Convolution Neural Network (CNN).

Objectives

Our project’s primary objectives include:
• Building a diagnostic model for medical images.
• Employing Convolution Neural Networks (CNNs) and transfer learning techniques.
• Understanding the CNN in terms of Quantum Gates and circuits
• Comparing the results between Classical CNN and QCNN.
• Enabling real-time image interpretation to expedite the diagnostic process.

Plan of Action

To successfully execute our project, we propose a structured plan of action:
Week 1: Literature Survey and Data Preparation
• Analyzing critically and concisely earlier research and literature related QCNN.
• Gain a thorough understanding of medical data set and its unique challenges.Preprocess the dataset, ensuring it’s structured and cleaned.

Week 2: Quantum Circuit Design
• Begin the design of quantum circuits for the QCNN model. Translate Convolution and pooling layers into quantum gate operations.
• Implement a QCNN architecture designed for 4 qubits. Verify that the circuits match the classical CNN layers in functionality.

Week 3: Quantum Model Training
• Set up the training pipeline for the QCNN. Define loss functions and optimization strategies for quantum parameters.
• Train the QCNN, aiming to minimize the loss function through iterations. Evaluate its performance on the training data.

Week 4: Testing, Evaluation and Comparison
• Employ a dedicated test dataset to assess the QCNN’s image classification capabilities. Calculate accuracy, precision, and recall.
• Create a comparative analysis with a classical CNN model for image classification, focusing on their respective performance.

Conclusion

By adhering to this 4-week plan, we aim to unravel the potential of Quantum Convolution Neural Networks in image classification and shed light on their quantum prowess in comparison to traditional approaches.

First steps to run locally

Create a conda environment with the required dependencies:

conda env create -n quantumproj environment.yml && conda activate quantumproj

Installing pennylane :

python3 -m pip install -U pennylane --upgrade

PennyLane comes with high performance built-in simulators, such as default.qubit, default.mixed, and lightning.qubit. In addition, it supports additional quantum simulators and quantum hardware via an array of plugins. Visit the plugins page for details. As a instance, to use 'qiskit' :

python3 -m pip install -U pennylane-qiskit

Final step, installing PySCF (no support for native Windows platform, see issue #750):

python3 -m pip install -U qiskit-nature[pyscf]

Alternatively, one can install the required dependencies via the package_list.txt file:

conda create -yn quantumproj python==3.9.11 && conda activate quantumproj
conda update -yn base -c defaults conda && conda install -yc conda-forge pip==22.1.2
python3 -m pip install --user --upgrade pip && python3 -m pip install -r requirements.txt

Contributions:

Contributions to the repository are always welcome! If you have any ideas for new projects or would like to contribute to an existing one, please feel free to open a pull request.

License

This work is licensed under a Apache v2.0 license.


Created and maintained by @Shisheer S Kaushik.