VQNet 2.0: A New Generation Machine Learning Framework that Unifies Classical and Quantum

With the rapid development of classical and quantum machine learning, a large number of machine learning frameworks have been proposed. However, existing machine learning frameworks usually only focus on classical or quantum, rather than both. Therefore, based on VQNet 1.0, we further propose VQNet 2.0, a new generation of unified classical and quantum machine learning framework that supports hybrid optimization. The core library of the framework is implemented in C++, and the user level is implemented in Python, and it supports deployment on quantum and classical hardware. In this article, we analyze the development trend of the new generation machine learning framework and introduce the design principles of VQNet 2.0 in detail: unity, practicality, efficiency, and compatibility, as well as full particulars of implementation. We illustrate the functions of VQNet 2.0 through several basic applications, including classical convolutional neural networks, quantum autoencoders, hybrid classical-quantum networks, etc. After that, through extensive experiments, we demonstrate that the operation speed of VQNet 2.0 is higher than the comparison method. Finally, through extensive experiments, we demonstrate that VQNet 2.0 can deploy on different hardware platforms, the overall calculation speed is faster than the comparison method. It also can be mixed and optimized with quantum circuits composed of multiple quantum computing libraries.

[1]  Wenbo Guo,et al.  QPanda: high-performance quantum computing framework for multiple application scenarios , 2022, ArXiv.

[2]  H. Neven,et al.  Power of data in quantum machine learning , 2020, Nature Communications.

[3]  Arthur Pesah,et al.  Quantum machine learning in high energy physics , 2020, Mach. Learn. Sci. Technol..

[4]  L. Lamata Quantum machine learning and quantum biomimetics: A perspective , 2020, Mach. Learn. Sci. Technol..

[5]  Ievgeniia Oshurko Quantum Machine Learning , 2020, Quantum Computing.

[6]  David Von Dollen,et al.  TensorFlow Quantum: A Software Framework for Quantum Machine Learning , 2020, ArXiv.

[7]  Laszlo Gyongyosi,et al.  Optimizing High-Efficiency Quantum Memory with Quantum Machine Learning for Near-Term Quantum Devices , 2020, Scientific Reports.

[8]  Lars A. Bratholm,et al.  FCHL revisited: Faster and more accurate quantum machine learning. , 2019, The Journal of chemical physics.

[9]  Natalia Gimelshein,et al.  PyTorch: An Imperative Style, High-Performance Deep Learning Library , 2019, NeurIPS.

[10]  G. Guo,et al.  VQNet: Library for a Quantum-Classical Hybrid Neural Network , 2019, 1901.09133.

[11]  Nathan Killoran,et al.  PennyLane: Automatic differentiation of hybrid quantum-classical computations , 2018, ArXiv.

[12]  Simone Severini,et al.  Quantum machine learning: a classical perspective , 2017, Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[13]  O Anatole von Lilienfeld,et al.  Quantum Machine Learning in Chemical Compound Space. , 2018, Angewandte Chemie.

[14]  Jacob Schreiber,et al.  Pomegranate: fast and flexible probabilistic modeling in python , 2017, J. Mach. Learn. Res..

[15]  Luca Antiga,et al.  Automatic differentiation in PyTorch , 2017 .

[16]  Barak A. Pearlmutter,et al.  Automatic differentiation in machine learning: a survey , 2015, J. Mach. Learn. Res..

[17]  Andrew Lavin,et al.  maxDNN: An Efficient Convolution Kernel for Deep Learning with Maxwell GPUs , 2015, ArXiv.

[18]  John Tran,et al.  cuDNN: Efficient Primitives for Deep Learning , 2014, ArXiv.

[19]  Trevor Darrell,et al.  Caffe: Convolutional Architecture for Fast Feature Embedding , 2014, ACM Multimedia.

[20]  Clément Farabet,et al.  Torch7: A Matlab-like Environment for Machine Learning , 2011, NIPS 2011.

[21]  Travis E. Oliphant,et al.  Python for Scientific Computing , 2007, Computing in Science & Engineering.

[22]  Andrei Alexandrescu,et al.  Modern C++ design: generic programming and design patterns applied , 2001 .

[23]  Scott Meyers,et al.  Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) , 1991 .