SaashaJoshi / piQture

piQture: A quantum machine learning library for image processing.
https://saashajoshi.github.io/piQture/
Apache License 2.0
12 stars 6 forks source link

Implement Quanvolutional Layer structure #29

Open SaashaJoshi opened 6 months ago

SaashaJoshi commented 6 months ago

Requires implementation of the Quanvolutional Neural Network Layer structure.

Reference:

M. Henderson, S. Shakya, S. Pradhan, and T. Cook, “Quanvolutional Neural Networks: Powering Image Recognition with Quantum Circuits,” arXiv:1904.04767 [quant-ph], Apr. 2019, Available: https://arxiv.org/abs/1904.04767

SaashaJoshi commented 6 months ago

Quanvolutional structure is rather implemented as a layer in existing QCNN structures. It should, hence, directly inherit form the BaseLayer class.

SaashaJoshi commented 6 months ago

There also might be a need to build a QuanvolutionalNeuralNetwork class that implements the sequence abstract method and deals with measurement and results at the end of a QuanvolutionalLayer. The results received after the implementation of this layer are either processed classically (via some CNN) or need to be embedded again into a quantum circuit and processed with some QCNN structure.

SaashaJoshi commented 6 months ago

Is the quanvolutional layer always applied as the first layer in the neural network structure? Why cannot it be applied in between, lets say, convolutional and pooling layer?