Learn

The theory, the terms, and the honest limits.

A primer, in five minutes

1. The task

Someone sees a stimulus that varies on two dimensions — say, a face's expression (happy/sad) and sex (male/female) — and reports both. Across many trials you get a 4×4 confusion matrix: which of the 4 stimuli was shown, against which of the 4 responses was given.

2. The model

General Recognition Theory (GRT — Ashby & Townsend, 1986) says each stimulus doesn't map to a single point in the mind; it maps to a bivariate normal distribution over a two-dimensional perceptual space, because perception is noisy. The two decision axes are lines through that space (GRIN fixes them at the origin — see decisional separability below). You respond by asking which side of each line your percept fell on.

That single picture — four ellipses and a pair of crossed lines — is the entire model. Everything else on this site is about estimating where the ellipses are and how they're shaped from the responses alone. Go build one on the Space Builder page; it's faster to understand by dragging sliders than by reading prose.

3. The two questions GRT actually asks

Perceptual separability. Does one dimension's perceived value depend on the level of the other dimension? If a face looks a little happier just because it's male, expression is not separable from sex — the ellipses shift sideways as you cross the other dimension.

Perceptual independence. On a single trial, does noise on one dimension travel with noise on the other? If an unusually happy-looking sample also tends to look unusually male, the dimensions are correlated on that trial — the ellipses tilt.

These are independent questions. A space can be separable but correlated, non-separable but uncorrelated, or any combination — which is exactly why GRT needs a shape in a plane, not a single number, to describe a representation.

4. Why fitting this is hard

A 4×4 confusion matrix has 12 free numbers (4 rows, each summing to 1, so 3 free probabilities per row). GRIN's representation has exactly 12 identified parameters — 4 per-stimulus x-locations, 4 y-locations, 4 correlations. That match is not a coincidence: it is what makes a single matrix enough to estimate the whole space, and it is why you cannot add a 13th free parameter and expect it to be estimable from one matrix alone. Traditionally this fit is done by numerical maximum likelihood, one optimiser run per participant per candidate model. GRIN replaces that optimiser with a network trained once, offline, on millions of simulated experiments — inference becomes a single forward pass. See Validate for whether that trade actually holds up.

Glossary

Identification task

The experimental design GRT (and GRIN) assumes: one stimulus per trial, varying on two binary dimensions, one response naming both levels. Not a same/different task, not a detection task.

Perceptual separability (PS)

A dimension is separable from another if its marginal perceptual distribution doesn't shift with the other dimension's level. Failure of separability is a mean effect — it moves where an ellipse is centred.

Perceptual independence (PI)

Zero correlation between the two dimensions' perceptual noise, within a single stimulus. Failure of independence is a correlation effect — it tilts an ellipse. GRIN's model classes distinguish exact independence (PI), one shared correlation across all four stimuli (RHO1), and a fully free correlation per stimulus.

Decisional separability (DS)

The decision bound on one dimension doesn't depend on the perceived level of the other. GRIN assumes DS throughout — the crossed decision lines are always fixed at the origin — which is what makes the 12-parameter model exactly identified from one matrix. Relaxing DS is future scope, not present behaviour.

Model class

One specific combination of {independent / one shared ρ / free ρ} × {A separable or not} × {B separable or not} — 12 in total. "Fitting a model" in the classical sense means picking the best of these 12; GRIN instead returns continuous parameters plus the probability of each structural claim, so you aren't forced to pick one.

SFT — Systems Factorial Technology

The architecture side of the +RT model: is a two-dimensional decision made serially or in parallel, and does it stop as soon as one dimension is settled (self-terminating) or wait for both (exhaustive)? Five architectures in total (the 4 serial/parallel × exhaustive/self-terminating combinations, plus coactive, where evidence for both dimensions pools into a single accumulator).

LBA — Linear Ballistic Accumulator

The evidence-accumulation model behind the RT predictions: evidence for a response rises linearly at a noisy drift rate toward a threshold; whichever accumulator gets there first wins. Its parameters (non-decision time, threshold, drift) are what the +RT model additionally estimates.

Amortized inference

Paying the cost of learning "how to invert this model" once, during training, so that every subsequent inference is just a forward pass. The opposite of MLE, which pays an optimisation cost on every single dataset.

FAQ
Why not just always fit the free/free/free "ds" model and skip model selection?

You can — and GRIN's "MLE, full model" column on the Analyse page does exactly that, for comparison. But the constrained classes exist because separability and independence are the scientific questions usually being asked. Reporting only the unconstrained fit answers "what are the 12 numbers" while quietly declining to answer "are the dimensions independent," which is normally the actual point of running a GRT study.

My data don't fit a 2×2 design. Can I still use this?

Not directly. GRIN is trained specifically on 2-dimension, 2-level identification designs. A 3-level or 3-dimension design has a different-shaped confusion matrix and a different parameter count, and the network has never seen it — feeding it in would be exactly the out-of-distribution situation the Analyse page's validator is built to catch. Extending to larger designs is future scope.

Why does GRIN assume decisional separability?

Because it's what makes the model exactly identified from a single confusion matrix. Relax it and you add free decision-bound parameters that trade off against the perceptual parameters without more data to separate them — you would need multiple matrices per participant (e.g. across bias conditions) to identify a DS-violating model, which is a different, harder problem than the one GRIN solves.

How is this different from just fitting a hierarchical Bayesian GRT model in Stan?

Same target posterior, different cost profile. A full Bayesian fit (Stan, or MLE with bootstrapped intervals) is more flexible per-analysis but costs real compute every time you run it. GRIN pays that cost once, at training time, and every subsequent inference — one participant or ten thousand — is a forward pass. The trade is amortization for flexibility: GRIN is fast because it was trained on exactly this family of models and this exact design; it isn't a general-purpose sampler you can repoint at a different model.

What if I don't trust a neural network's output?

Reasonable position, and the right response is to check it rather than take it on faith — which is what the Validate page and the MLE column on Analyse are for. Run your own matrix through both and see where they agree. If you find a case where GRIN is confidently wrong, that's the most useful bug report there is.

Limitations, stated plainly

Amortized over a fixed prior

GRIN was trained on data simulated from a specific range of sensitivities, correlations, and trial counts (see the manifest shipped with each model, or Analyse's validator, which checks your data against exactly this range). Data far outside that range get a confident-looking answer that means nothing — the network has no way to know it's extrapolating.

Decisional separability, always

The decision bounds are fixed at the origin in every model class GRIN fits. If your participants use response criteria that shift with the other dimension, GRIN will not detect that — it isn't in the model family.

2×2 identification designs only

Two dimensions, two levels each, one stimulus and one full response per trial. Not same-different tasks, not detection tasks, not larger factorial designs.

A model class winning at 0.4 is not a finding

GRIN reports a probability alongside every structural claim specifically so you don't have to pretend a narrow plurality is a confident conclusion. The Explore and Analyse pages both surface this directly rather than silently picking the top class.

The RT model adds assumptions, not fewer

Architecture and accumulator-parameter estimates additionally assume the LBA evidence-accumulation model is the right description of the response-time-generating process. If it isn't, those specific estimates — not the underlying GRT parameters, which are estimated the same way with or without RT — are the part to distrust.

Further reading