mercurial.spectral.perception module
Bayesian perception as pattern completion (MERCURIAL D).
- class mercurial.spectral.perception.BayesianPerception(hierarchy: ModalityEnergyHierarchy, prior_strength: float = 1.0, learning_rate: float = 0.1)[source]
Bases:
objectImplements perceptual inference via variational free energy minimization.
Methods
detect(pattern_intensity, ...)Return True if pattern is consciously perceived.
detection_threshold(pattern_intensity, ...)Θ_perc = Θ_0 * (1 + β_state ψ_obs) / (1 + γ_noise N_env) * (1 - S/S_crit)
dpr_perception(sensory_input, ...[, ...])Use optimal DPR pathway for perception.
free_energy(sensory_input, predicted_pattern)F_perc = ||sensory - predicted||^2 + β_prior ||predicted - prior||^2
infer_hidden_state(sensory_input[, prior, ...])Find pattern that minimizes free energy (gradient descent).
- __init__(hierarchy: ModalityEnergyHierarchy, prior_strength: float = 1.0, learning_rate: float = 0.1)[source]
- Parameters:
- hierarchyModalityEnergyHierarchy
Energy hierarchy for modality thresholds.
- prior_strengthfloat
β_prior for prior influence.
- learning_ratefloat
Step size for gradient descent.
- detect(pattern_intensity: float, observer_coherence: float, environmental_noise: float) bool[source]
Return True if pattern is consciously perceived.
- detection_threshold(pattern_intensity: float, observer_coherence: float, environmental_noise: float) float[source]
Θ_perc = Θ_0 * (1 + β_state ψ_obs) / (1 + γ_noise N_env) * (1 - S/S_crit)
- dpr_perception(sensory_input: ndarray, pattern_energy: float, pattern_coherence: float, environmental_noise: float, branch_similarity: float = 1.0) ndarray[source]
Use optimal DPR pathway for perception.
- free_energy(sensory_input: ndarray, predicted_pattern: ndarray, prior_pattern: ndarray | None = None) float[source]
F_perc = ||sensory - predicted||^2 + β_prior ||predicted - prior||^2
Find pattern that minimizes free energy (gradient descent).