Hebbian Bloom Filter - The Classics Revival

Self-Organizing Probabilistic Memory with Associative Learning

Experimental Research Code - Functional but unoptimized, expect rough edges

What Is This?

Hebbian Bloom Filter combines probabilistic membership testing with Hebbian-style associative learning. Instead of static hash functions, the filter learns associations between items and adapts its hash patterns based on co-occurrence, creating a self-organizing memory system.

Core Innovation: Hash functions that strengthen based on item associations using Hebbian "fire together, wire together" principles, enabling similarity-based retrieval beyond simple membership testing.

Architecture Highlights

  • Learnable Hash Functions: Neural networks that adapt based on item co-occurrence
  • Hebbian Plasticity: Hash weights strengthen when items appear together
  • Associative Retrieval: Find similar items through learned co-activation patterns
  • Confidence Estimation: Probabilistic membership with uncertainty quantification
  • Temporal Decay: Forgetting mechanisms prevent overfitting to old patterns
  • Ensemble Filtering: Multiple filters vote for robust membership decisions

Quick Start

from hebbian_bloom import AssociativeHebbianBloomSystem

# Create self-organizing memory system
system = AssociativeHebbianBloomSystem(
    capacity=10000,
    vector_dim=64,
    num_filters=3
)

# Add items with associations
system.add_item("apple", associated_items=["red", "fruit", "healthy"])
system.add_item("banana", associated_items=["yellow", "fruit", "potassium"])

# Query membership with confidence
is_member = system.query_item("apple")

# Find associative memories
similar = system.find_associations("fruit", top_k=5)

Current Status

  • Working: Hebbian learning, associative retrieval, confidence estimation, ensemble voting, temporal decay
  • Rough Edges: No benchmarking against standard Bloom filters, hash collision handling could be improved
  • Still Missing: Advanced forgetting policies, distributed storage, memory compression techniques
  • Performance: Functional on medium datasets, needs optimization for large-scale deployment
  • Memory Usage: Higher than standard Bloom filters due to learning components
  • Speed: Competitive for retrieval, slower for complex association queries

Mathematical Foundation

The Hebbian learning rule updates hash function weights based on co-activation:

Δw_ij = η × h_i(x) × h_j(y) × similarity(x, y)

Where h_i(x) and h_j(y) are hash activations for co-occurring items x and y.

Confidence estimation combines:

  • Bit confidence: C_bit = mean(confidence_array[indices])
  • Hash confidence: C_hash = mean(hash_activation_strengths)
  • Access confidence: C_access = normalized_access_frequency

Final confidence: C_total = α×C_bit + β×C_hash + γ×C_access

Research Applications

  • Large-scale similarity search systems
  • Adaptive caching with learned associations
  • Memory-augmented recommendation systems
  • Biologically-inspired information retrieval
  • Self-organizing knowledge bases

Installation

pip install torch numpy
# Download hebbian_bloom.py from this repo

The Classics Revival Collection

Hebbian Bloom Filter is part of a larger exploration of foundational algorithms enhanced with modern neural techniques:

  • Evolutionary Turing Machine
  • Hebbian Bloom Filter ← You are here
  • Hopfield Decision Graph
  • Liquid Bayes Chain
  • Liquid State Space Model
  • Möbius Markov Chain
  • Memory Forest

Citation

@misc{hebbianbloom2025,
  title={Hebbian Bloom Filter: Self-Organizing Probabilistic Memory},
  author={Jae Parker 𓅸 1990two},
  year={2025},
  note={Part of The Classics Revival Collection}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including 1990two/hebbian_bloom