Hyperbolic geometry framework for hippocampal neural population activity. Provides theoretical construction of hyperbolic tuning curves, connects neural decoding to associative memory via Modern Hopfield Network, and introduces hyperbolic-space associative memory with significantly larger capacity. Use when studying hippocampal encoding, hyperbolic cognitive maps, memory capacity optimization, or neural population geometry.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hiyenwong/ai_collection --skill hyperbolic-neural-population-geometry-computation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Hyperbolic Neural Population Geometry Computation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hiyenwong-hyperbolic-neural-population-geometry-computation-8a3f6e6a)More formats (shields.io, HTML) on the badges page.
---
name: hyperbolic-neural-population-geometry-computation
description: >
Hyperbolic geometry framework for hippocampal neural population activity.
Provides theoretical construction of hyperbolic tuning curves, connects neural
decoding to associative memory via Modern Hopfield Network, and introduces
hyperbolic-space associative memory with significantly larger capacity.
Use when studying hippocampal encoding, hyperbolic cognitive maps, memory
capacity optimization, or neural population geometry.
category: neuroscience
tags: [hyperbolic-geometry, hippocampus, neural-decoding, associative-memory, hopfield-network, cognitive-map, memory-capacity, spatial-encoding]
arxiv_id: 2606.10238
paper_title: "Hyperbolic Neural Population Geometry Benefits Computation"
authors: ["Dennis Wu", "Yi-Chun Hung", "Braden Yuille", "James E. Fitzgerald", "Han Liu"]
published_date: 2026-06-08
conference: ICML 2026
---
# Hyperbolic Neural Population Geometry Benefits Computation
## Summary
This paper provides a **theoretical framework** explaining why hippocampal neural population activity exhibits hyperbolic geometry. It:
1. Proposes plausible construction of hippocampal tuning curves inducing hyperbolic geometry
2. Connects neural decoding to associative memory (Modern Hopfield Network → MMSE estimator)
3. Introduces hyperbolic-space associative memory with **larger capacity**
**Key insight**: Animals encode spatial information as latent hyperbolic cognitive maps, improving both memory capacity and decoding accuracy.
## Core Contributions
### 1. Hyperbolic Tuning Curve Construction
**Hippocampal place cells** encode spatial location through tuning curves. The paper shows:
- Place cell firing rates follow a distribution that **statistically induces hyperbolic geometry**
- Construction based on exponential decay of firing rate with distance from place field center
- Mathematical proof: this tuning structure naturally maps neural activity to hyperbolic space
```python
# Conceptual tuning curve model
def place_cell_tuning(x, center, sigma):
"""Hippocampal place cell tuning curve.
Exponential decay induces hyperbolic geometry.
"""
distance = np.abs(x - center)
return np.exp(-distance / sigma)
# Hyperbolic distance encoding
def hyperbolic_embedding(positions, curvature=-1):
"""Embed positions in hyperbolic space.
Curvature < 0 enables exponential expansion of space.
"""
# Map 2D positions to Poincaré disk
r = np.linalg.norm(positions, axis=1)
return positions / (1 + r**2) # Poincaré disk model
```
### 2. Neural Decoding ↔ Associative Memory Connection
**Key theorem**: Modern Hopfield Network update rule computes **Minimum Mean-Squared Error (MMSE) estimator**
This bridges two fields:
- **Neural decoding**: Estimate stimulus from neural activity
- **Associative memory**: Retrieve stored patterns from partial cues
```python
def modern_hopfield_update(query, stored_patterns, beta=1.0):
"""Modern Hopfield Network retrieval rule.
Equivalent to MMSE estimation for neural decoding.
Args:
query: Partial/corrupted pattern (neural activity observation)
stored_patterns: Memory bank (stimulus-response pairs)
beta: Temperature parameter (precision)
Returns:
Retrieved pattern = MMSE estimate of original stimulus
"""
# Compute similarities
similarities = np.dot(query, stored_patterns.T)
# Softmax attention
weights = np.exp(beta * similarities)
weights /= np.sum(weights)
# Weighted retrieval = MMSE estimate
return np.dot(weights, stored_patterns)
```
**Mathematical equivalence**:
- MMSE estimator: $\hat{x} = \mathbb{E}[x|y] = \int x \cdot p(x|y) dx$
- Hopfield retrieval: $\hat{\xi} = \sum_j w_j \xi_j$ where $w_j = \text{softmax}(\beta \cdot \text{similarity})$
### 3. Hyperbolic Associative Memory Model
**Novel contribution**: Define associative memory in hyperbolic space → **significantly larger capacity**
Why hyperbolic space improves capacity:
- **Exponential expansion**: Volume grows exponentially with radius (vs. polynomial in Euclidean)
- **More storage locations**: Hyperbolic space has exponentially more "slots" at same depth
- **Natural hierarchy**: Tree-like structure matches cognitive organization
```python
import numpy as np
class HyperbolicAssociativeMemory:
"""Associative memory in hyperbolic space.
Key advantage: exponential space expansion enables larger capacity.
"""
def __init__(self, curvature=-1, dimension=2):
self.curvature = curvature
self.dimension = dimension
self.memories = [] # Stored patterns in hyperbolic space
def embed(self, pattern):
"""Embed pattern into hyperbolic space (Poincaré disk)."""
# Normalize to unit ball
norm = np.linalg.norm(pattern)
if norm >= 1:
pattern = pattern / (norm + 1e-6) * 0.99 # Inside disk
return pattern
def hyperbolic_distance(self, p1, p2):
"""Compute hyperbolic distance in Poincaré disk.
Formula: d(p1, p2) = arccosh(1 + 2 * ||p1-p2||^2 / ((1-||p1||^2)(1-||p2||^2)))
"""
norm_p1_sq = np.dot(p1, p1)
norm_p2_sq = np.dot(p2, p2)
diff_sq = np.dot(p1 - p2, p1 - p2)
denominator = (1 - norm_p1_sq) * (1 - norm_p2_sq)
argument = 1 + 2 * diff_sq / denominator
return np.arccosh(argument)
def store(self, pattern):
"""Store pattern in hyperbolic memory."""
embedded = self.embed(pattern)
self.memories.append(embedded)
def retrieve(self, query, beta=1.0):
"""Retrieve from hyperbolic memory.
Uses hyperbolic distance instead of Euclidean dot product.
"""
query_embedded = self.embed(query)
# Compute hyperbolic distances
distances = [self.hyperbolic_distance(query_embedded, m)
for m in self.memories]
# Convert distances to similarities (closer = higher similarity)
similarities = np.exp(-beta * np.array(distances))
# Weighted combination
weights = similarities / np.sum(similarities)
retrieved = np.sum([w * m for w, m in zip(weights, self.memories)], axis=0)
return retrieved
```
**Capacity comparison**:
- Euclidean Hopfield: $N \approx d$ (patterns ≈ dimension)
- Hyperbolic Hopfield: $N \approx e^d$ (exponential in dimension)
## Activation Keywords
- `hyperbolic geometry`
- `hippocampal encoding`
- `place cells`
- `cognitive map`
- `associative memory`
- `memory capacity`
- `neural decoding`
- `spatial representation`
- `Poincaré disk`
- `Modern Hopfield Network`
## Practical Applications
### 1. Neural Decoding Optimization
Use hyperbolic geometry for improved stimulus estimation:
```python
# Decode stimulus from hippocampal population activity
def decode_hyperbolic(activity, place_fields, stored_positions):
"""Decode spatial position using hyperbolic cognitive map.
Args:
activity: Neural population firing rates
place_fields: Place cell tuning curve centers
stored_positions: Known position encodings
Returns:
Estimated position (MMSE via hyperbolic Hopfield)
"""
# Embed activity in hyperbolic space
hyperbolic_activity = embed_hyperbolic(activity, place_fields)
# Retrieve via hyperbolic associative memory
estimated_position = retrieve(hyperbolic_activity, stored_positions)
return estimated_position
```
### 2. Memory System Design
Design high-capacity associative memory systems:
```python
# Use hyperbolic space for memory storage
memory = HyperbolicAssociativeMemory(curvature=-1, dimension=128)
# Store exponentially many patterns
for pattern in training_data:
memory.store(pattern)
# Retrieve with partial cues
partial_cue = corrupted_input
retrieved = memory.retrieve(partial_cue, beta=10.0)
```
### 3. Cognitive Map Modeling
Model spatial cognition with hyperbolic geometry:
```python
class HyperbolicCognitiveMap:
"""Model of spatial encoding as hyperbolic cognitive map."""
def encode_trajectory(self, positions):
"""Encode spatial trajectory in hyperbolic space."""
# Hierarchical embedding: center → periphery
hyperbolic_trajectory = []
for pos in positions:
# Distance from center determines hyperbolic radius
r = np.linalg.norm(pos)
angle = np.arctan2(pos[1], pos[0])
# Hyperbolic radius (exponential scale)
hyperbolic_r = np.log(1 + r)
hyperbolic_pos = [hyperbolic_r * np.cos(angle),
hyperbolic_r * np.sin(angle)]
hyperbolic_trajectory.append(hyperbolic_pos)
return hyperbolic_trajectory
```
## Key Findings from Paper
1. **Hippocampal tuning curves statistically induce hyperbolic geometry** (proven mathematically)
2. **Modern Hopfield Network = MMSE estimator** (theoretical equivalence established)
3. **Hyperbolic associative memory has larger capacity** (exponential vs. polynomial)
4. **Cognitive maps are latent hyperbolic representations** (animals encode space this way)
5. **Improved decoding accuracy** (hyperbolic geometry better matches neural structure)
## Experimental Validation
Paper validated framework through:
- Theoretical proofs of hyperbolic induction
- Numerical simulations comparing Euclidean vs. hyperbolic memory capacity
- Analysis of hippocampal place cell data
- Performance benchmarks on retrieval tasks
## Implementation Notes
### Hyperbolic Geometry Libraries
```python
# Recommended libraries
import geomstats # Geometric statistics library with hyperbolic manifolds
from geomstats.geometry.poincare_ball import PoincareBall
# Create Poincaré ball manifold
manifold = PoincareBall(dim=2)
# Compute geodesics, distances, exponential/log maps
distance = manifold.metric.dist(point1, point2)
geodesic = manifold.metric.geodesic(initial_point, end_point)
```
### Riemannian Optimization
```python
# Optimize in hyperbolic space
from geomstats.learning.geodesic_regression import GeodesicRegression
# Fit data in hyperbolic space
regression = GeodesicRegression(space=manifold)
regression.fit(X_hyperbolic, y)
```
## Related Work
- **Place cells**: O'Keefe & Nadel (1978) - Cognitive map theory
- **Grid cells**: Hafting et al. (2005) - Hexagonal spatial encoding
- **Modern Hopfield**: Ramsauer et al. (2021) - Attention-based memory
- **Hyperbolic embeddings**: Nickel & Kiela (2017) - Poincaré embeddings
## Limitations & Future Directions
1. **Empirical validation**: Need more hippocampal data to confirm hyperbolic tuning
2. **Multi-scale encoding**: How to integrate grid cells (Euclidean) with place cells (hyperbolic)?
3. **Temporal dynamics**: Hyperbolic framework currently static
4. **Biological mechanisms**: What neural circuitry implements hyperbolic encoding?
## Paper Citation
```bibtex
@article{wu2026hyperbolic,
title={Hyperbolic Neural Population Geometry Benefits Computation},
author={Wu, Dennis and Hung, Yi-Chun and Yuille, Braden and Fitzgerald, James E. and Liu, Han},
journal={arXiv preprint arXiv:2606.10238},
year={2026},
note={Accepted at ICML 2026}
}
```
## References
1. Wu et al. (2026) - This paper
2. Ramsauer et al. (2021) - Modern Hopfield Networks
3. Nickel & Kiela (2017) - Poincaré Embeddings
4. O'Keefe & Nadel (1978) - Hippocampus as Cognitive Map
5. Hafting et al. (2005) - Grid cellsIs this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!