GithubHelp home page GithubHelp logo

deepq's Introduction

Quantum circuit optimizer

A. Zlokapa and A. Gheorghiu, “A deep learning model for noise prediction on near-term quantum devices.” https://arxiv.org/abs/2005.10811

A. Zlokapa and A. Gheorghiu, “A deep learning approach to noise prediction and circuit optimization for near-term quantum devices.” IEEE/ACM International Conference on High Performance Computing, Networking, Storage and Analysis, November 2019. 1st place, ACM SRC SC19. 2nd place, ACM SRC International.

Abstract

We present an approach for a deep-learning compiler of quantum circuits, designed to reduce the output noise of circuits run on a specific device. We train a convolutional neural network on experimental data from a quantum device to learn a hardware-specific noise model. A compiler then uses the trained network as a noise predictor and inserts sequences of gates in circuits so as to minimize expected noise. We tested this approach on the IBM 5-qubit devices and observed a reduction in output noise of 12.3% (95% CI [11.5%, 13.0%]) compared to the circuits obtained by the Qiskit compiler. Moreover, the trained noise model is hardware-specific: applying a noise model trained on one device to another device yields a noise reduction of only 5.2% (95% CI [4.9%, 5.6%]). These results suggest that device-specific compilers using machine learning may yield higher fidelity operations and provide insights for the design of noise models.

Overview

  • main.ipynb: Summary of results, comparing compilation with the deep learning noise model to the IBM Q compiler.
  • dd_analysis.py: Demonstrates that learned sequences do not achieve dynamical decoupling to first order, despite reducing noise more than dynamical decoupling.

Data

To run the code and notebooks, unzip the data available at https://caltech.box.com/s/jni52ra5qpq28f9tunaob9auwvisavb9 and add it directly to the main directory of the project.

Circuit generation

  • generate_circuits.py: Helper functions for making supremacy-style circuits with a layer of random single-qubit gates from {sqrt(X), sqrt(Y), sqrt(W)} followed by a CX gate between any two qubits. Generation of training set, supremacy_all_5_unique/circuits.npy.
  • make_test_circuits.py: Generation of test circuits, test_circuits_5.npy.

Deep learning

  • model.py: Definition of neural network and circuit pair dataset structure.
  • train.py: Train model on training set with 80% training set, 10% validation set (for early stopping), and 10% test set.
  • test_compiler.py: Compile test circuits with maximum IBM Q compiler optimization and then pad the output of that with the deep learning model.
  • result_plotter.ipynb: Evaluate model performance on training/validation/test set.

Circuit Evaluation

  • run_circuits.py: Run training set circuits, saved in supremacy_all_5_unique/burlington_noise.npy for Burlington and similarly for London.
  • run_test_compiled.py: Run test set circuits, including free evolution and compiled, saved in test_noise_5.

Citation

@misc{alex2020deep,
    title={A deep learning model for noise prediction on near-term quantum devices},
    author={Alexander Zlokapa and Alexandru Gheorghiu},
    year={2020},
    eprint={2005.10811},
    archivePrefix={arXiv},
    primaryClass={quant-ph}
}

deepq's People

Contributors

quantummind avatar

Stargazers

 avatar  avatar jinyuxin avatar Herman (Boomer) Rogers avatar Siyuan NIU avatar  avatar cin-hubert avatar  avatar Hanrui “Ryan” Wang avatar  avatar  avatar Syed Farhan Ahmad avatar Raghav Rawat avatar  avatar Shixin Zhang avatar Xiangzhen Zhou avatar  avatar Hsin-Yuan Huang avatar Dennis Lucarelli avatar

Watchers

 avatar Andru Gheorghiu avatar  avatar Syed Farhan Ahmad avatar paper2code - bot avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.