A Google Summer of Code 2023 Project Repository.
The main purpose of this project is to explore the use of Quantum Graph Neural Netowrks (QGNNs) in the domain of High Energy Physics
The LHC at CERN contains large detectors which are made up of numerous small detectors that capture the hundreds of particles produced during collisions. It’s one of the most difficult tasks in High Energy Physics (HEP) to determine whether the jet particles correspond to the signal or background. Graph Neural Networks (GNNs) have recently gained popularity and shown to exhibit higher AUC scores for jet tagging. Quantum Machine learning has shown interesting applications in HEP. The project aims to explore Quantum Graph Neural Networks (QGNNs) for event classification. QGNNs can leverage the power of quantum computing to perform more efficient and accurate analyses of large datasets in HEP. This project has the potential to significantly advance our understanding of the fundamental particles and forces that govern our universe.
Tested on Ubuntu 22.04.1 LTS
git clone https://github.com/Gopal-Dahale/qgnn-hep.git
cd qgnn-hep
python -m venv qenv
source qenv/bin/activate
export PYTHONPATH=.
pip install -r requirements.txt
For initial analysis, we used the MUTAG dataset and for HEP, Quark Gluon [1] dataset was used.
The qgnn_hep
contains code for hybrid QGNN which is based on the following paper [2] which can be used as follows:
First, we need to build the tfds mutag dataset with the following command:
tfds build qgnn_hep/data/mutag --config_idx 0
then the model can be trained with the following command:
python training/run_experiment.py --config=training/configs/default_graph_conv_net.py --workdir=logs/
For a quantum gnn, use the config default_qgraph_conv_net.py
.
ego_net
has the approximate implementation of the paper [3] and can be executed using
python ego_net/train.py
Based on the 2021 paper [4] which presents a simple and hyperparameter-free whole graph embedding method based on the DHC (Degree, H-index, and Coreness) theorem and Shannon Entropy (E), abbreviated as DHC-E. We encode this in a single qubit to perform the classification of data in dhce
directory and can be executed using the following command:
python dhce/qnn.py
The notebooks
directory contains development notebooks used during the period of GSoC.
Wandb was used for train logs and reports. Reports can be found here. In the course of our project, we encountered challenges in achieving desired results on the Quark-Gluon dataset during training. While the initial outcomes did not meet our expectations, we are committed to further research and development with the intent to enhance our results and continue advancing this project.
I extend my gratitude to Dr. Sergei Gleyzer for his invaluable guidance throughout the project, as well as the tremendous support received from the ML4SCI community.
[1] Andrews, M., Alison, J., An, S., Burkle, B., Gleyzer, S., Narain, M., ... & Usai, E. (2020). End-to-end jet classification of quarks and gluons with the CMS Open Data. Nuclear instruments and methods in physics research section A: accelerators, spectrometers, detectors and associated equipment, 977, 164304.
[2] Tüysüz, C., Rieger, C., Novotny, K. et al. Hybrid quantum classical graph neural networks for particle track reconstruction. Quantum Mach. Intell. 3, 29 (2021). https://doi.org/10.1007/s42484-021-00055-9
[3] Ai, Xing & Zhang, Zhihong & Sun, Luzhe & Yan, Junchi & Hancock, Edwin. (2023). Decompositional Quantum Graph Neural Network.
[4] Wang, Hao & Deng, Yue & Lü, Linyuan & Chen, Guanrong. (2021). Hyperparameter-free and Explainable Whole Graph Embedding.