Closed jerlich closed 10 months ago
Hi Jeff, in summary I advocate for the approach the RiaB should provide the essentials and users should consider the complexities. In more details, to some extent yes, to some extent no:
PlaceCells
, ObjectVectorCells` etc. FeedForwardLayer
class are intermediate neurons. Their activity isn't explicitly controlled by the state of the Agent
but by the state of their input Neurons
which may (in the case of PlaceCells
) or may not (in the case of other FeedForwardLayers
) directly encode the state of the Agent
. Coming soon is (name tbc) NeuralNetworkNeurons
where the mapping from input neurons to firing rate is defined by the user in terms of any pytorch nn.Module
neural network thus allowing users to create highly complex, and trainable cell classes which still benefit from the nice RiaB plotting functions, Agent
etc. More abstract StateNeurons
which depend not simply on the Agent
s position/velocity would be easy to make and I encourage it but for now I don't think I want to go down the path of providing them in-house as the scope is so broad. I'm thinking of making a demo which might point people in the right direction...any ideas (maybe SplitterCells
which could be nice as you'd require a state encoding which arm you recently came down)?
P.s. PlaceCells
have remapping (try call PlaceCells.remap()
) but even the existence of this method should raise alarm bells (how does remapping work? Is it fully random, it's not in the brain! Does it remap by the same mechanisms of neurons in the brain) which demonstrate why it's about as far down the biological realism rabbit hole I'd like to go for now.
My understanding of the current implementation is that the OVC and place cells in RiaB are essentially sensory neurons (activity is controlled by relationship of the agent to the world with no intrinsic dynamics, no internal connections and no state), and yet we know these neurons are deep in the brain, deeply interconnected, we know there are phenomena like remapping, and state dependent phenomena.
Is RiaB an appropriate platform / foundation for examining these more realistic neural mechanisms? What does the path to there look like?