Belief slots#

Belief slot of the VLA: fuse an instruction with the person’s clarifying answers.

Three interchangeable slots share one interface (fit on held-out sequences, posterior over the objects on the table):

  • BayesSlot: the product of the instruction belief and each answer’s likelihood (answers independent and equally reliable).

  • TemperedSlot (shared=True: one exponent, calibrated Bayes): the classical control for context effects: the same product, but each answer is weighted by a learned exponent that depends on the context of the answer (first answer, same kind as the previous one, different kind).

  • QuantumSlot: a quantum-probability belief. The instruction belief is a state psi = sqrt(g0) over the objects, each answer is a measurement M = U_c diag(sqrt(L)) U_c^dagger whose rotation U_c = exp(iH_c) depends on the context c, and the posterior is the Born rule. Measurements in different contexts need not commute, so the order of the answers can matter. With every H_c = 0 it is exactly the Bayes slot; it is the same construction as the COBRA belief filter, on a table of objects.

The slots work on at most three objects, ordered left to right, padded with zeros; mask marks the real ones.

Classes

BayesSlot

TemperedSlot

Product rule with learned exponents.

QuantumSlot

Functions

person_answers

Simulated person who answers n_answers clarifying questions about the intended object.

sequence_batch

Turn scenes into the arrays the slots use: instruction belief, answer likelihoods, contexts, mask, target index.

class BayesSlot[source]#

Bases: object

class TemperedSlot(shared=False)[source]#

Bases: _Fitted

Product rule with learned exponents. shared=True learns a single exponent (calibrated Bayes, no context).

class QuantumSlot[source]#

Bases: _Fitted

person_answers(scene, rng, e_first=0.05, e_same=0.1, e_switch=0.35, n_answers=2)[source]#

Simulated person who answers n_answers clarifying questions about the intended object.

Each answer describes the intended object by its position or its colour. An answer is unreliable: with a probability that depends on the context (first answer; same kind as the previous answer; different kind) it describes another object instead. This is a classical, context-dependent noise model, chosen to make the answers context-dependent without being quantum.

sequence_batch(model, scenes, rng, person=<function person_answers>, **kw)[source]#

Turn scenes into the arrays the slots use: instruction belief, answer likelihoods, contexts, mask, target index.