Add Figure 2 QNTK diagnostics reproduction - #131
Conversation
|
Thanks for the contribution, the following are some suggestions Critical: wrong expectation observableexamples/reproduce_papers/2025_qntk_diagnostics/main.py:147-159 evaluates expectation_ps(z=[0]), while the paper’s TFIM target is the This means the script computes the QNTK of a different model. Performance/reproducibility suggestion: make the script backend agnosticThe script currently hard-codes PyTorch through torch.func.jacrev, torch.as_tensor, device setup, and tensor conversion. Move these
Then expose a backend option for identical JAX/PyTorch runs. The benchmark should report JAX compilation time separately from steady- |
b5a5fc3 to
272271f
Compare
|
Thanks for the detailed review. I have pushed an update in commit
JAX uses Validation completed:
The scalar observable is currently the representative first-qubit |
Summary
"Towards Practical Quantum Neural Network Diagnostics with Neural Tangent
Kernels" (arXiv:2503.01966)
Reproduction scope
The example uses the paper's 6-qubit transverse-field Ising regression task,
four QNN architectures, depths 5 through 30, and three fixed random
initializations. This reduced scope covers the portion visible on the paper's
approximately 620-parameter axis.
The implementation uses TensorCircuit-NG circuits, expectations, and PyTorch
automatic differentiation. It runs on CUDA when available and falls back to
CPU.
Results
The reproduction recovers the main Figure 2 behavior:
Validation
outputs/result.pngReproduction command
Notes
The manuscript does not publish the VQE target table, initialization details,
observable choice, or an explicit feature-to-angle conversion. The example
documents these reconstruction choices and uses digitized VQE targets from the
paper’s vector dataset figure.
Closes #98