cirKITers / Split-Optimization

MIT License
1 stars 0 forks source link

Split Optimizer

When building hybrid models, a single optimizer is usually handling all parameters ([1], [2], [3]), quantum and classical ones. This project aims to clarify if there are advantages of having individual optimizers for each part of the hybrid model.

Approach :pencil:

With the current approach a full-size MNIST sample (28x28) is fed into a classical neural network. The output of this network is then embedded onto a Variational Quantum Circuit which performs the final classification.

Architecture Overview

Both parts have individual optimisers, of which the following types are planned to be tested:

Besides the overall performance, the convergence speed should be considered in evaluation.

Getting Started :rocket:

This project is built using the Kedro Framework.

Install Dependencies :floppy_disk:

Using pip:

pip install -r src/requirements.txt

Running Experiments :running:

Without further configuration you can execute

kedro run

which will load MNIST, preprocess the data and start training the model.

If want an overview of the nodes and pipelines, you can execute

kedro viz

which will open Kedro`s dashboard in you browser.

Configuration :wrench:

The following parameters can be adjusted:

Literature :books:

[1]: Hybrid Quantum Classical Graph Neural Networks for Particle Track Reconstruction\ [2]: Quantum-classical convolutional neural networks in radiological image classification\ [3]: Quantum classical hybrid neural networks for continuous variable prediction\ [4]: Simultaneous Perturbation Stochastic Approximation of the Quantum Fisher Information