Sparse autoencoding is Bayesian program induction
- The sparse code is the program
- Encoding is program synthesis
- Decoding is program interpretation
Training optimizes the system for the task of program synthesis with a prior that favors sparse, well-factored solutions with few distinct parts through regularization or Bayesian inductive bias.
Intelligence is both a sparse representation learning problem and a Bayesian program synthesis problem; both approaches try to grow a simplest possible factoring of observations into features/abstractions and iteratively explore a design space guided by their priors over the learned features. In neural networks, iteration takes the form of training steps; in Bayesian program induction, DreamCoder-style wake-sleep cycles.
LLM agents, RLHF, MuZero, and genetic evolution algorithms are all special cases of this general framework.