diff options
| author | Anonymous Authors <anonymous@example.com> | 2026-07-24 11:07:23 -0500 |
|---|---|---|
| committer | Anonymous Authors <anonymous@example.com> | 2026-07-24 11:07:23 -0500 |
| commit | e01b690cb0b5f447c95598e8f2c1abaa17c17363 (patch) | |
| tree | aaff46750feca7dab854141dcb4eab2080279a56 /README.md | |
Add anonymous KAFT MVP reproduction
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..422ebed --- /dev/null +++ b/README.md @@ -0,0 +1,100 @@ +# Anonymous KAFT MVP reproduction + +This repository is a minimal, self-contained reproduction of two core +observations for deep message-passing GNNs: + +1. a plain deep GCN can lose usable backward transport even when a + standardized hidden-state probe remains informative; and +2. Kronecker-Aligned Feedback Training (KAFT) improves training while leaving + the forward GCN unchanged. + +The package intentionally contains only the code needed for this MVP. It does +not include manuscript files, review material, cached datasets, private paths, +or repository history. + +## One-click notebook + +Open `reproduce_mvp.ipynb` and choose **Run All**. The first cell installs the +local package, the experiment downloads Cora automatically, and the remaining +cells train BP and KAFT, run the gradient diagnostic, display the result +tables, and save machine-readable artifacts. + +The same notebook can be executed non-interactively: + +```bash +python -m pip install -r requirements.txt +jupyter nbconvert \ + --to notebook \ + --execute reproduce_mvp.ipynb \ + --output reproduce_mvp.executed.ipynb \ + --ExecutePreprocessor.timeout=1200 +``` + +## Command-line reproduction + +```bash +python -m pip install -e . +python run_mvp.py +``` + +The default CPU protocol uses: + +- Cora with the public Planetoid split; +- an identical six-layer, width-64, bias-free GCN forward model for BP and + KAFT; +- seeds 0, 1, and 2; +- Adam, learning rate 0.01, weight decay \(5\times10^{-4}\), 200 epochs; +- KAFT diffusion \(\alpha=0.5\), 10 fixed linear propagation steps; +- hop cap \(K=3\), 64 Gaussian probes, and alignment every 10 steps; +- a separate ten-layer, 100-epoch BP diagnostic. + +KAFT changes only the hidden-layer backward rule. Its graph-side feedback is +\(P_\ell(\hat A)D(\hat A)\), and its feature-side matrix is aligned to the +chain-normalized suffix-weight probe target. The output layer uses the true +cross-entropy error. + +## Outputs + +Running either entry point writes: + +```text +artifacts/ +├── mvp_results.json +├── mvp_summary.csv +└── training_curves.png +``` + +The JSON file contains the full configuration, every seed-level result, +training histories, and the ten-layer gradient diagnostic. Test accuracy is +reported at the validation peak; the test labels are never used for +selection. + +## Expected behavior + +Exact numbers can vary slightly with library versions and hardware. The +checked-in executed notebook and artifacts record the environment used for +the release. The intended qualitative checks are: + +- KAFT exceeds BP test accuracy in the six-layer comparison; +- the ten-layer BP diagnostic reaches exact-zero weight gradients; +- the output-adjacent preactivation error remains finite; and +- the standardized penultimate hidden-state probe remains above chance. + +The checked end-to-end CPU run produced: + +| Method | Test accuracy at validation peak | +|---|---:| +| BP | \(68.87\pm1.20\%\) | +| KAFT | **\(78.53\pm1.33\%\)** | + +For the separate ten-layer BP diagnostic, all ten weight gradients were +exactly zero in 3/3 seeds. The output-adjacent error remained between +\(1.26\times10^{-4}\) and \(1.60\times10^{-4}\), while the standardized +penultimate probe obtained 51.4--57.8% accuracy (seven classes). + +## Scope + +This is a compact verification path, not the complete experimental suite. +It covers the diagnostic and the central BP-versus-KAFT mechanism on one +standard benchmark. The full evaluation uses additional datasets, backbones, +depths, normalizers, and ablations. |
