However, we found that this orthogonality resulted even on synthetic data that was specifically not Slot-like. In other words, orthogonality of these decoding subspaces is not diagnostic of object slots.
Methods, Decoding Analyses, paragraphs 1 and 4; Extended Data Fig. 3c
Median angles between corresponding columns of the two decoders, over sessions, ten seeds and columns, with the code's decoder (rates in Hz, sigmoid outputs). Receptive Field data 91.9 and 91.8 degrees (Triangle delay, stimulus) and 96.4 and 96.7 (Ring), within 10 degrees of the Orthogonal data (91.0, 90.8, 92.5, 95.0). Ring neural data 88.8 and 93.2, so both readings hold for the Ring. Triangle neural data 106.7 (delay) and 106.6 (stimulus), outside 75 to 105 and 15.7 and 15.8 degrees from the Orthogonal data, so neither reading holds there; per session 96.8 to 114.6, with all three delay-phase sessions above 105 (105.3 to 110.7), and without 2022-06-04 (20 units) 109.1 (delay) and 99.3 (stimulus). The claim holds for the Ring and fails for the Triangle neural data, so it is partially reproduced; the criterion has no rule for a result that holds in one dataset only, and partially reproduced is this attempt's label. The part of the statement about data without slots holds: the Receptive Field decoders come out near orthogonal in both datasets. The Ring pass rests on the code's sigmoid output (assumed, see deviations): with the linear output the Methods describe, the Ring neural medians are 140.2 and 142.1 and fail both readings, so the neural data would fail in both datasets, which by the criterion is not reproduced (the Triangle decoders were not run with a linear output). With z-scored inputs (variants notebook, not the code's) the Triangle neural data give 96.1 and 98.5 and pass both readings, while the Ring data fail reading (b) in 3 of 4 cases (medians 101.6 to 102.2 against 90.0; the Ring neural delay phase, 99.1, passes). So the outcome depends on the decoder's details.
How the test differed from the paper’s method
- LinearModel2Objects written in numpy (wm.train_linear_2obj), Adam lr 0.001, L1 0.003, batch 512, 10,000 steps (config_2_triangle.py, config_2_ring.py); synthetic datasets as dataset.py with numpy's generator.
- Assumed: as in models.py the Ring decoders keep the sigmoid output, though the Ring targets 2x - 1 and 2y - 1 (labelers.py) lie in -0.7 to 0.7, while the Methods (2-object decoder) say "The variables W 0 , B 0 parameterize one linear decoder" and give no output function. The code's decoder is taken because it is the method that produced the paper's figure; the outcome rests on this, since with a linear output the Ring neural data fail (notes). Inputs are rates in Hz, as dataset.py.
- Ring sessions Perle 2022-06-10, 06-11 and 06-09, ranked by units entering the models with the Methods p-value, the sessions run_2_ring.py names. The code's filters leave 104, 85 and 20 Triangle units and 70, 90 and 44 Ring units, below the about 100 simultaneously recorded neurons the Methods describe in 5 of 6 sessions.