1
1
namespace AiDotNet . Enums ;
2
2
3
+ /// <summary>
4
+ /// Specifies the type of spiking neuron model to use in neuromorphic computing simulations.
5
+ /// </summary>
6
+ /// <remarks>
7
+ /// For Beginners: Spiking neurons are AI components that work more like real brain cells.
8
+ ///
9
+ /// Traditional AI neurons output continuous values (like 0.7), but spiking neurons work with
10
+ /// discrete "spikes" or pulses of activity (like a real neuron firing). This makes them more
11
+ /// biologically realistic and potentially more efficient for certain tasks.
12
+ ///
13
+ /// Think of regular AI neurons as light bulbs with dimmers that can be set to any brightness,
14
+ /// while spiking neurons are more like light bulbs that either flash brightly or stay off.
15
+ ///
16
+ /// Different spiking neuron types represent different mathematical models of how real neurons work,
17
+ /// with varying levels of biological accuracy and computational complexity.
18
+ /// </remarks>
3
19
public enum SpikingNeuronType
4
20
{
21
+ /// <summary>
22
+ /// A simplified neuron model that accumulates input and "leaks" voltage over time.
23
+ /// </summary>
24
+ /// <remarks>
25
+ /// For Beginners: This is like a leaky bucket collecting water (electrical charge).
26
+ ///
27
+ /// How it works:
28
+ /// 1. The neuron collects incoming signals (like water filling a bucket)
29
+ /// 2. The bucket slowly leaks over time (the "leaky" part)
30
+ /// 3. When the water level reaches a certain height, the bucket tips over (neuron fires)
31
+ /// 4. After firing, the bucket is emptied and starts collecting again
32
+ ///
33
+ /// This model is:
34
+ /// - Computationally efficient (fast to simulate)
35
+ /// - Simple to understand and implement
36
+ /// - Good for large-scale neural networks
37
+ ///
38
+ /// It captures the basic behavior of real neurons while being much simpler than more detailed models.
39
+ /// </remarks>
5
40
LeakyIntegrateAndFire ,
41
+
42
+ /// <summary>
43
+ /// A basic neuron model that accumulates input until reaching a threshold, then fires.
44
+ /// </summary>
45
+ /// <remarks>
46
+ /// For Beginners: This is like a bucket collecting water without any leaks.
47
+ ///
48
+ /// How it works:
49
+ /// 1. The neuron collects incoming signals (like water filling a bucket)
50
+ /// 2. When the water level reaches a certain height, the bucket tips over (neuron fires)
51
+ /// 3. After firing, the bucket is emptied and starts collecting again
52
+ ///
53
+ /// The key difference from LeakyIntegrateAndFire is that this model doesn't have any "leak" -
54
+ /// once charge is added, it stays there until the neuron fires.
55
+ ///
56
+ /// This model is:
57
+ /// - The simplest spiking neuron model
58
+ /// - Very computationally efficient
59
+ /// - Less biologically accurate than other models
60
+ ///
61
+ /// It's good for educational purposes and very basic simulations.
62
+ /// </remarks>
6
63
IntegrateAndFire ,
64
+
65
+ /// <summary>
66
+ /// A computationally efficient model that can reproduce many behaviors of biological neurons.
67
+ /// </summary>
68
+ /// <remarks>
69
+ /// For Beginners: This model strikes a balance between biological realism and computational efficiency.
70
+ ///
71
+ /// Named after Eugene Izhikevich who developed it, this model can simulate many different
72
+ /// firing patterns seen in real neurons (like bursting, chattering, or regular spiking)
73
+ /// while being much faster to compute than fully detailed models.
74
+ ///
75
+ /// Think of it like a sophisticated light switch that can be programmed to blink in
76
+ /// different patterns that closely resemble real brain activity.
77
+ ///
78
+ /// This model is:
79
+ /// - More biologically realistic than the simpler models
80
+ /// - Still computationally efficient
81
+ /// - Able to reproduce many different neural firing patterns
82
+ ///
83
+ /// It's popular for large-scale brain simulations where both biological realism and
84
+ /// computational efficiency are important.
85
+ /// </remarks>
7
86
Izhikevich ,
87
+
88
+ /// <summary>
89
+ /// A detailed biophysical model that accurately represents ion channel dynamics in neurons.
90
+ /// </summary>
91
+ /// <remarks>
92
+ /// For Beginners: This is the most biologically accurate model, but also the most complex.
93
+ ///
94
+ /// Named after Alan Hodgkin and Andrew Huxley who won a Nobel Prize for this work,
95
+ /// this model precisely describes how ions flow through channels in the neuron's membrane.
96
+ ///
97
+ /// Think of it like having a detailed engineering blueprint of a neuron that models
98
+ /// all the important chemical and electrical processes happening inside.
99
+ ///
100
+ /// This model is:
101
+ /// - Extremely biologically accurate
102
+ /// - Computationally intensive (slow to simulate)
103
+ /// - Able to capture subtle details of neural behavior
104
+ ///
105
+ /// It's primarily used in neuroscience research when biological accuracy is more important
106
+ /// than computational efficiency.
107
+ /// </remarks>
8
108
HodgkinHuxley ,
109
+
110
+ /// <summary>
111
+ /// A model that combines exponential spike generation with adaptive threshold mechanisms.
112
+ /// </summary>
113
+ /// <remarks>
114
+ /// For Beginners: This model adds adaptability to neuron behavior.
115
+ ///
116
+ /// The "Adaptive" part means the neuron can change its sensitivity based on recent activity.
117
+ /// The "Exponential" part refers to how quickly the neuron responds when close to firing.
118
+ ///
119
+ /// Think of it like a smart thermostat that becomes less sensitive after detecting several
120
+ /// temperature changes, preventing it from overreacting to small fluctuations.
121
+ ///
122
+ /// This model is:
123
+ /// - More biologically realistic than basic models
124
+ /// - Able to capture adaptation behaviors (neurons getting "tired" after firing a lot)
125
+ /// - Moderately computationally efficient
126
+ ///
127
+ /// It's useful for simulations where you need more realistic neural behavior than simple
128
+ /// models provide, but can't afford the computational cost of the most detailed models.
129
+ /// </remarks>
9
130
AdaptiveExponential
10
131
}
0 commit comments