TODO: make biological firing patterns emerge from ANN
from brain_modules.systems.BrainGPS import BrainGPS, learn_path_integration_2d-
Head Direction Cells
- Each cell corresponds to a preferred direction, its firing rate is max when the animal's head faces that direction
- The cell population encodes any arbitrary direction as a vector
- Computation: integrates
angular velocityto get current allocentrichead direction - Note: Head direction != head-body rotation. And we assume head direction = movement direction for simplicity
-
Grid Cells
- Each cell's response forms a hexagonal grid, its firing rate is max when the animal goes to these grid points
- Each cell in the population has different
spatial frequency, essentially formingFourier basis, the cell population encodes any arbitrary location as a vector - Computation: integrates the animal's
linear velocity(withhead directioninfo) to getcurrent location - Note: The grids are internally generated via path integration, but are anchored to the environment when
environmental cuesare available
-
Place Cells
- Each cell corresponds to a preferred location, its firing rate is max when the animal goes to that location
- The cell population encodes an arbitrary location as a vector
- Computation: decodes the location representation from grid cell population
- Model:
GRU (Gated Recurrent Unit)for sequence prediction (path integration)- Input: a sequence of
(linear_velocity, angular_velocity)(animal's internal/egocentric knowledge) - Output: a sequence of
(x, y, head_direction)
- Input: a sequence of

