Primitive information processing elements (PRIMs) · Taatgen, 2013
Skills built from primitive steps, and why they transfer
PRIMs is a cognitive architecture: a simulation of the mind detailed enough to carry out tasks, predict how fast people do them, and learn from practice. This page explains its account of transfer, the effect of practising one task on another. Dotted terms explain themselves on hover or tap, and the switch at the top relabels every diagram in computing terms.
The puzzle
Why would practising one task help with a completely different one?
People can do a new task from a short instruction, and practice on one task sometimes improves performance on another that shares nothing visible with it. A model of learning has to say when that happens, and why. Here is the case this page is about.
PRIMs' answer, in four steps
The four panels below build the answer from the bottom up. Each level is made of the one before it, and transfer can happen at every level.
Panel 1 · Primitive operations
PRIMs coordinate the flow of information between modules
The mind is modelled as specialised modules, such as vision, declarative memory and motor control, that work in parallel. Each exposes a buffer with a few slots, and together these slots form a shared workspace. A PRIM does exactly one thing: it compares two slots, or copies the value of one slot to another. The example is the simplest task there is: a letter appears, and you press the finger assigned to it.
In computing termsModules are devices, each with a small register file. PRIMs are micro-operations that compare two registers or move a value from one to another. The set is fixed, like an instruction set: about 1,700 micro-ops cover every task.
PRIMs are fixed and shared by every task: about 1,700 of them (1,188 comparisons and 504 copies in the 2013 implementation). Task knowledge never lives in a PRIM. It enters as constants such as "mapping" and "press", which the current operator places in its own slots.
Panel 2 · Operators
Operators are sequences of PRIMs; practice fuses them into larger rules
PRIMs know how to move information but not when. That order is stored in declarative memory as operators: a root with the task's constants, a list of condition PRIMs and a list of action PRIMs. An operator can be added in one step, like any memory, which is why people can carry out a new instruction right away. Which operator runs next is decided by activation. With practice, production compilation merges PRIMs that fire in sequence into single rules, so fewer steps and memory accesses are needed.
In computing termsAn operator is an instruction stored in memory and fetched by priority. A beginner interprets it one micro-op at a time. Practice acts like a just-in-time compiler that fuses consecutive micro-ops into macro-ops. Most macro-ops mention only register names, so other programs can use them too.
The intermediate rules mention slots (C1, V1, RT1), not content ("mapping", the letter). They are task-general, so any operator anywhere that contains the same PRIM sequence can use them. The final, task-specific rule is fastest but no longer transfers.
Panel 3 · Skills
Skills group operators, take parameters, and call other skills
A skill is the set of operators for one (sub)task. Skills sit in slots of the goal buffer and spread activation to their own operators, so the right operators win the competition for retrieval. Skills have parameters, so one skill can serve several tasks, and an operator can place another skill in a goal slot, which is how skills call subskills. The example is the task-switching model from the PRIMs tutorial (after Karbach & Kray, 2009): judge a picture by food type or by size, and switch task every second trial (task switching).
In computing termsA skill is a function: a set of instructions with arguments (*property) that can call another function by putting it in a goal slot (*prepare). The same function serves several tasks with different arguments.
Skills are the largest unit of reuse: a skill written or learned once can be plugged into a new task with different bindings or a different subskill.
Panel 4 · Transfer
Transfer happens at each level of aggregation
Back to the puzzle. Karbach and Kray (2009) trained people on task switching and found that it reduced interference in the Stroop task. The two tasks look nothing alike. In PRIMs they overlap: below are the operators of both models, written as PRIMs. Pick a level to see what is shared, and what is not.
*fact-type = count-fact*action = say*fact-type = property*action = sub-vocalizeIn computing termsTransfer is code reuse. Training fills a cache of fused micro-op sequences, and a new program runs faster wherever it contains the same sequences. Sharing a whole instruction or a whole function is the same idea at a larger grain.
PRIMs predicts transfer from structural overlap in PRIM sequences, operators and skills, not from surface similarity. Because the shared units are explicit, the amount of transfer between two tasks can be computed in advance and tested.
The payoff
What the model predicts
Mechanisms matter because they make predictions. These are simulations of the two tutorial models, run in the Python version of PRIMs: one group of simulated participants does only the Stroop task, the other first practises task switching. Nothing in the Stroop model was changed between the groups.
Stroop interference
conflict minus congruent response time, ms
Stroop trials with proactive control
share of trials on which the model prepares during fixation, %
Model output, not data: 100 simulated participants per group, each doing 100 blocks of 4 Stroop trials (two congruent, two conflict); the training group first does 300 task-switching blocks. Error bars are ±1 standard error over participants. Response times in these tutorial models are not calibrated to the experiment, so the size of the effect is illustrative. Karbach and Kray (2009) found the same direction in people: less Stroop interference after task-switching training.
Show as a table
| Group | Interference (ms) | Proactive trials (%) |
|---|---|---|
| Stroop only | 142 ± 1.5 | 0.0 |
| After task-switching training | 13 ± 6.4 | 80 ± 3.9 |
The prediction follows from the mechanism in panels 1 to 4. Training strengthens the compiled rule for preparing during fixation; in Stroop that rule makes the proactive strategy win, and proactive trials show almost no interference. Without the training, the model almost never uses that strategy.
For machine-learning readers
Rough correspondences
These analogies are loose, but they show where PRIMs makes different commitments.
| PRIMs | Nearest ML notion | What is different |
|---|---|---|
| PRIM | A fixed routing primitive or instruction: move or compare one value between two registers. | A small, finite, content-free set, shared by every task and never learned. |
| Operator | A short program stored in memory and selected by context, somewhat like attention over a memory of programs. | Acquired in one step from instruction; interpretable; selected by an activation that reflects use and context. |
| Production compilation | Caching or chunking sequences into macro-actions, as with options in hierarchical reinforcement learning. | The merged rules keep referring to slots, not content, so most of them apply to other tasks. |
| Skill | A parameterised subroutine or sub-policy. | Skills call skills through goal slots; parameters are bound at run time. |
| Transfer | Reuse of learned components across tasks. | Predicted in advance from shared PRIM sequences, operators and skills, and testable against human data. |
Taatgen, N. A. (2013). The nature and transfer of cognitive skills. Psychological Review, 120(3), 439–471.
Karbach, J., & Kray, J. (2009). How useful is executive control training? Age differences in near and far transfer of task-switching training. Developmental Science, 12, 978–990.
Owen, A. M., Hampshire, A., Grahn, J. A., Stenton, R., Dajani, S., Burns, A. S., Howard, R. J., & Ballard, C. G. (2010). Putting brain training to the test. Nature, 465, 775–778.
Singley, M. K., & Anderson, J. R. (1989). The transfer of cognitive skill. Harvard University Press.
Operators and skills in panels 3 and 4 are taken from the task-switching and Stroop models of the PRIMs tutorial. The choice-reaction example in panels 1 and 2 follows figures 2 to 6 of Taatgen (2013). The simulations use pyprims, the Python implementation of PRIMs, with the tutorial's transfer batch (task switching, then Stroop).
Further reading
References and software
Taatgen, N. A. (2013). The nature and transfer of cognitive skills. Psychological Review, 120(3), 439–471.
Taatgen, N. A. (2014). Between architecture and model: Strategies for cognitive control. Biologically Inspired Cognitive Architectures, 8, 132–139.
Taatgen, N. A. (2013). Diminishing return in transfer: A PRIM model of the Frensch (1991) arithmetic experiment. Proceedings of ICCM 2013, 29–34.
The Software page explains how to install PRIMs: the recommended version is pyprims, a Python implementation that comes with a tutorial as Jupyter notebooks. The research overview shows how this work fits with my other topics.
