Unified Noise Theory for RSA #
@cite{waldon-degen-2021} @cite{kursat-degen-2021} @cite{giles-etal-2026}
This module provides a unified treatment of noise in RSA models.
Noise Models in RSA #
| Paper | Noise Type | Location |
|---|---|---|
| @cite{bergen-goodman-2015} | Channel | Transmission |
| @cite{degen-etal-2020} | Semantic | Perception |
| @cite{kursat-degen-2021} | Perceptual | Verification |
| @cite{giles-etal-2026} | Search efficiency | Psychophysics |
Insight #
All four use the same underlying operation:
noiseChannel(match, mismatch, b) = match * b + mismatch * (1 - b)
Perceptual Grounding #
@cite{giles-etal-2026} provide experimental evidence for the perceptual grounding of noise parameters: discriminability (noise gap) is measured via psychophysical staircases, connecting the abstract match/mismatch parameters to observable perceptual thresholds. Their Exp 1 shows that overinformativeness tracks discriminability × sufficiency across both visual (colour) and auditory (material) modalities.
However, noise discrimination alone does not explain why colour is disproportionately overinformed relative to other privileged features like orientation (Exp 2). The residual colour privilege may reflect the optimality of colour naming systems (@cite{regier-etal-2007}, @cite{zaslavsky-etal-2019}): colour categories are partitioned to maximise perceptual discriminability, making colour inherently more search-efficient than attributes whose category boundaries are not perceptually optimised.
Current Status: Shallow Integration #
Currently, implementations import this module but don't deeply integrate:
- Proofs still unfold definitions manually rather than using shared lemmas
- No common typeclass that implementations instantiate
- Theorems must be re-proven in each implementation
Future Work: Deep Integration #
Proper integration would involve:
1. Typeclass for Noisy Semantics #
class NoisySemantics (U W : Type) where
φ : U → W → ℚ
noiseParams : FeatureType → NoiseParams
φ_decomposition : φ u w = Π features, noiseChannel (noiseParams f) (booleanMatch f u w)
2. Generic Theorems #
theorem discrimination_from_params [NoisySemantics U W] (f : FeatureType) :
featureDiscrimination f = (noiseParams f).discrimination
3. Automatic Instantiation #
instance : NoisySemantics ReferringExpression Object := DegenSemantics
instance : NoisySemantics Utterance Meaning := BergenSemantics
-- Theorems apply to both automatically
#check @discrimination_from_params _ _ DegenSemantics
4. Information-Theoretic Measures #
The current "discrimination" measure (match - mismatch) is a proxy for informativeness but not actual mutual information I(X;Y). A proper treatment would compute channel capacity:
C = 1 - H(ε) -- for binary symmetric channel with error rate ε
The fundamental noise channel operation.
Transforms Boolean b ∈ {0, 1} into graded value in [mismatch, match].
Instances For
The noise gap measures discrimination power.
Equations
- RSA.Noise.noiseGap onMatch onMismatch = onMatch - onMismatch
Instances For
Color parameters from @cite{degen-etal-2020}: low noise
Equations
- RSA.Noise.colorMatch = 99 / 100
Instances For
Instances For
Size parameters from @cite{degen-etal-2020}: medium noise
Equations
- RSA.Noise.sizeMatch = 8 / 10
Instances For
Instances For
Material parameters (HYPOTHETICAL, not from any paper): high noise. @cite{kursat-degen-2021} establishes the ordering (material harder than color) but not specific channel parameters.
Equations
- RSA.Noise.materialMatch = 7 / 10
Instances For
Instances For
Orientation parameters: high discrimination (like colour). @cite{giles-etal-2026} Exp 2 confirms ≥99% labelling accuracy for orientation (vertical vs horizontal), comparable to colour. Orientation is a privileged visual feature (@cite{wolfe-horowitz-2017}) capable of producing pop-out effects and guiding pre-attentive search.
Despite equal discrimination, colour is overinformed more than orientation — this dissociation is the key finding of Exp 2.
Equations
- RSA.Noise.orientationMatch = 99 / 100
Instances For
Equations
- RSA.Noise.orientationMismatch = 1 / 100
Instances For
Color has higher discrimination than size
Size has higher discrimination than material
Colour and orientation have equal discrimination.
Full ordering: color = orientation > size > material
The full ordering including orientation.
Perceptual difficulty levels
- easy : PerceptualDifficulty
- medium : PerceptualDifficulty
- hard : PerceptualDifficulty
Instances For
Equations
- RSA.Noise.instBEqPerceptualDifficulty.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Map difficulty to discrimination
Equations
- RSA.Noise.difficultyToDiscrimination RSA.Noise.PerceptualDifficulty.easy = RSA.Noise.colorDiscrimination
- RSA.Noise.difficultyToDiscrimination RSA.Noise.PerceptualDifficulty.medium = RSA.Noise.sizeDiscrimination
- RSA.Noise.difficultyToDiscrimination RSA.Noise.PerceptualDifficulty.hard = RSA.Noise.materialDiscrimination
Instances For
Easier perception → higher discrimination
The noise model predicts that attributes with equal discrimination should be overinformed at equal rates. Colour and orientation have equal noise discrimination (0.98), so the noise model predicts no preference between them.
@cite{giles-etal-2026} Exp 2 falsifies this prediction: colour is overinformed significantly more than orientation (β = −0.97, 95% CI = [−1.20, −0.75]) even when controlling for:
- Perceptual discriminability (both ≥99% labelling accuracy)
- Contextual distinctiveness (both equally salient)
- Production effort (button-click equalises effort)
- Word frequency (low-frequency colour terms tested)
This means the noise model is necessary but not sufficient: discriminability drives overinformativeness (Exp 1), but something additional about colour — plausibly the perceptual optimality of colour category boundaries (@cite{regier-etal-2007}) — produces a residual privilege.
Product discrimination is monotone: when match scores are individually at least as large AND the gap is at least as large, the weighted product is at least as large.
The gap condition alone is insufficient — counterexample: match₁=0, match₂=10, mismatch₁=0, mismatch₂=11, sizeMatch=100, sizeMismatch=1. Gap: 0 ≥ -1 ✓, but 0·100-0·1=0 < 10·100-11·1=989.
Map a PropertyDomain to its established noise discrimination value.
Returns none for domains without empirically grounded noise params.
Equations
- Core.PropertyDomain.color.noiseDiscrimination = some RSA.Noise.colorDiscrimination
- Core.PropertyDomain.orientation.noiseDiscrimination = some RSA.Noise.orientationDiscrimination
- Core.PropertyDomain.size.noiseDiscrimination = some RSA.Noise.sizeDiscrimination
- Core.PropertyDomain.material.noiseDiscrimination = some RSA.Noise.materialDiscrimination
- x✝.noiseDiscrimination = none