Views
No views yet
| Model | Path-X (test) |
|---|---|
| Transformer / Reformer / Performer / Linformer / BigBird / Luna-256 | chance (≈50) |
| S4D-Real (θ=0, no phase) | chance |
| S4-v1 | 88.10 |
| DSS | 89.72 |
| S4D-LegS | 91.95 |
| PCR (this repo, screening ablated) | 92.54 ± 0.28 |
| S4D-Inv | 92.80 |
| PCR + screening hybrid (this repo) | 92.71 ± 0.89 (best 93.50) |
| MEGA-chunk | 93.81 |
| LRU | 94.20 |
| S4 (S4-LegS) | 96.35 |
| MEGA | 97.98 |
| S5 | 98.58 |
tokens (B, 16384)
-> linear encoder (scalar pixel -> d_model)
-> 6 x PCRBlock:
[BatchNorm -> PCRLayer (complex diagonal LTI, bidirectional, FFT-conv)
-> half-GLU -> residual]
with ComplexScreenBlock inserted after layers 2 and 4:
[chunked (1024) non-competing complex screening attention:
L2-normalized complex q,k -> trim-and-square gate
(no softmax, no row-normalization) -> TanhNorm -> modReLU gate
-> complex Hadamard -> residual]
-> LayerNorm -> mean-pool -> linear head -> 2-class logitspytorch_model.pt — state_dict only (2,013,716 tensor elements across
116 parameter tensors)config.json — architecture + optimizer config used for this runPCRClassifier / PCRBlock / ComplexScreenBlock, self-contained, torch
only) and a ready-made loading example are here:1import json, torch
2from pcr_screening import build_pcr_classifier # pathx/code/pcr_screening.py
3
4cfg = json.load(open("config.json"))["pcr_config"]
5model = build_pcr_classifier(seq_len=16384, vocab=256, **cfg)
6model.load_state_dict(torch.load("pytorch_model.pt", weights_only=True), strict=True)
7model.eval()|λ| ∈ [0.999, 0.9999], phase restricted to
θ ∈ [0, π/10] — the phase bandwidth was found necessary for
generalization (a narrower [0, π/50] band memorizes train perfectly
but fails to generalize; a real-only ablation, θ=0, fails to learn at
all).