|
1 | 1 | # Theory and Design Motivation |
2 | 2 |
|
3 | 3 | ## Cable Theory and Neural Compartments |
4 | | -At its core, part of NGC-Learn's internal design is inspired by (neural) <a href="http://www.scholarpedia.org/article/Neuronal_cable_theory">cable theory </a>, where neuronal units, which are arranged in complex connectivity structures, are viewed as performing dendritic calculations (of varying complexity). In essence, a particular neuron integrates information from different input signal sources (for example, signals produced by other neurons), in often highly nonlinear ways through a complex dendritic tree. |
| 4 | +At its core, part of NGC-Learn's internal design is inspired by (neural) <a href="http://www.scholarpedia.org/article/Neuronal_cable_theory">cable theory </a> and neuronal compartment models <b>[1]</b>, where neuronal units, which are arranged in complex connectivity structures, are viewed as performing dendritic calculations (of varying complexity). In essence, a particular neuron integrates information from different input signal sources (for example, signals produced by other neurons), in often highly nonlinear ways through a complex dendritic tree. |
5 | 5 |
|
6 | | -Although modeling a complete neuronal system through the lens of cable theory is complex and intricate in of itself, NGC-Learn is built with this direction in mind. NGC-Learn starts with the idea that a neuron (or a cluster of them) can be viewed as a node or nodal component -- specifically a type of "cell" component (in NGC-Learn, many of these are component classes that end with the suffix `Cell`) -- and each bundle of synapses which connects pairs of nodes can |
7 | | -be viewed as a cable -- specifically a "synapse" component (these component classes usually end with the suffix `Synapse` or `SynapticCable`) -- that performs some sort of transformation of its pre-synaptic signal (also treated as another component in terms of abstract simulation) and often differentiated by its form of plasticity. See the [Neurons](../modeling/neurons) specification for the base available neuronal cells and the [Synapses](../modeling/synapses) specification for the base available synaptic cables. Note that these two types of nodal components can be combined with other types such as [Input Encoders](../modeling/input_encoders) and [Operations](../modeling/other_ops) to build gradually more complex dynamical biomimetic/neuro-mimetic systems. |
| 6 | +Although modeling a complete neuronal system through the lens of cable theory and compartmental structures is complex and intricate in of itself, NGC-Learn is built with this direction in mind. NGC-Learn starts with the idea that a neuron (or a cluster of them) can be viewed as a node or nodal component -- specifically a type of "cell" component (in NGC-Learn, many of these are component classes that end with the suffix `Cell`). Each bundle of synapses that connects pairs of nodes can |
| 7 | +be viewed as a cable -- specifically a "synapse" component (these component classes usually end with the suffix `Synapse` or `SynapticCable`) -- which performs some sort of transformation of its pre-synaptic signal (also treated as another component in terms of abstract simulation); a synaptic bundle in NGC-Learn is often differentiated by its form of plasticity. See the [Neurons](../modeling/neurons) specification for the base available neuronal cells and the [Synapses](../modeling/synapses) specification for the base available synaptic cables. Note that these two types of nodal components can be combined with other types such as [Input Encoders](../modeling/input_encoders) and [Operations](../modeling/other_ops) to build gradually more complex dynamical biomimetic/neuro-mimetic/NeuroAI systems. |
8 | 8 |
|
9 | 9 | Each neuronal cell component/node has multiple, different (named) "compartments", which are regions or slots within the node that other nodes can deposit information/signals into. These compartments allow a node to collect information from many different connected/related nodes and then decide how to combine these different signals in order calculate its own output activity (either in the form of a rate-coded firing rate or binary spikes) using the integration logic defined within its own specific `advance_state()` function. When a biomimetic system, composed of many of these nodes/components, is simulated over a period of time (processing some form of sensory input), its underlying simulation object (the `Context` controller) calls the `advance_state()` routine of each constituent node, shifting that nodes internal time by one discrete step. The order in which the node `advance_state()` routines are called is governed by "run cycles", which are defined by the experimenter at the object initialization of the controller. For example, a user might want one set of nodes to first execute their internal step logic before another set is able to -- this could be done by specifying two distinct cycles in the order desired. |
10 | 10 |
|
11 | 11 | As a result, many nodes, and the synaptic cables that connect them, result in a simulated biomimetic system where each node is itself, in general, treated as a stateful computation even if we are processing inherently non-temporal data such as static images. |
| 12 | + |
| 13 | +## References |
| 14 | + |
| 15 | +<b>[1]</b> Talevi, Alan, and Carolina Leticia Bellera. "Compartmental pharmacokinetic models." In ADME Processes in Pharmaceutical Sciences: Dosage, Design, and Pharmacotherapy, pp. 173-192. Cham: Springer Nature Switzerland, 2024. |
0 commit comments