Taking the notepad apart
We removed or swapped one piece of the locked notepad model at a time — dislike memory, the separate pads for likes and dislikes, the fixed writing anchor, the anchor-based note format, the independent writer networks, and the full-size pad — and reran the exact main-table protocol each time: same data, splits, seeds and settings, with the untouched model as the baseline. Every bar below is a three-seed test mean.
The signed dual memory is the load-bearing part. Remove the dislike pad — or merge both signs into one pad — and KuaiRand, the dataset with real dislike buttons, drops by 0.082 nDCG@10; the news datasets lose a smaller but consistent amount without dislikes. Every other change costs at most ~0.006 anywhere: the moving write state is a wash, the writer architecture barely matters, and the rank-16 compressed pad matches the full pad on all six datasets — the notepad can be shrunk but its two signed halves cannot be merged.
How much each change costs · Δ nDCG@10 vs the full notepad
Negative numbers mean the change hurt. Red marks a drop of 0.02 or more. Every variant reuses its dataset's already-selected learning rate, forgetting rate and dislike weight, so only the named component changes.
| Change to the notepad | MIND-large | EB-NeRD | Amazon Video Games | MovieLens-1M | KuaiRand-Pure (IDs) | KuaiRec |
|---|---|---|---|---|---|---|
| Likes only — no dislike memory | -0.006 | -0.010 | -0.001 | -0.002 | -0.082 | -0.008 |
| One shared pad for both signs | -0.000 | -0.000 | +0.001 | -0.000 | -0.082 | -0.005 |
| Notes written against a moving state | -0.001 | -0.000 | -0.004 | +0.006 | -0.004 | +0.008 |
| Notes built without the anchor base | -0.004 | -0.006 | -0.000 | -0.002 | -0.014 | -0.001 |
| One shared writer network | -0.001 | -0.001 | +0.002 | -0.002 | -0.002 | -0.001 |
| Rank-16 compressed pad | -0.004 | -0.003 | -0.000 | -0.000 | -0.010 | -0.000 |
MIND-large · nDCG@10 by variant
EB-NeRD · nDCG@10 by variant
Amazon Video Games · nDCG@10 by variant
MovieLens-1M · nDCG@10 by variant
KuaiRand-Pure (IDs) · nDCG@10 by variant
KuaiRec · nDCG@10 by variant
Fine print
Variants follow the list promised in the paper's appendix. "Full" is pinned bit-identical to the locked model by test and reproduced its main-table numbers live. The rank-16 pad stores at most 16 note-pairs per memory (the write window holds 20 events), so it is exact until capacity and matched the dense pad within 0.010 everywhere. KuaiRand uses learned ID vectors (it has no item text); all other datasets use the shared frozen content vectors.