Hot questions for Using Neural networks in neuron simulator
AND logic and OR logic can be solved by just 1 neuron. However, XOR logic needs a neural network of 3 neurons in 2 layers:
(neuron1)\ \ +----- (neuron3) / (neuron2)/
Consider this form of neural network:
(neuron1) ------- (neuron2)
Is this kind of neural network with just 2 neurons connecting to each other able to solve anything better than just 1 single neuron?
2 neurons can be more powerful than 1 neuron.
For example consider two neurons with the standard rectifier nonlinearity max(0,x).
Let the input be x.
The first neuron computes y=max(0,x)
The second neuron computes z=max(0,1-y)
The picture plots y (green),1-y (red),z (blue) against x.
This shows how two neurons both using a simple rectifier can construct a more complicated saturating nonlinearity (represented by the blue line).
There is no way to produce the blue line with a single rectifying neuron operating on a single output (because all such outputs have at most two linear segments, and our z output has three linear segments).
In NEURON simulator, is there an easier way to list properties of a section other than iterating over each property individually?
If you are using the NEURON gui, you could also find section properties in the NEURON's control menu:
Tools-> Model View
This's will open a ModelView window which has section and segment details such as:
- Type of cells: real cells/ artificial cells
- NetCon objects
- LinearMechanisms objects
- Density Mechanisms
- Point Processes
If you click on each property, a drop-down menu appears showing the details of the property selected
You could also view the structure of the model if you click on the cell type (real/artificial cells)
In what order do the commands in NEURON .MOD/NMODL file sections get executed? Specifically, within these blocks: DERIVATIVE, BREAKPOINT and NET_RECEIVE.
For every time-step, the order of execution is as follows:
- NET_RECEIVE: If there is net_send() an event that targets this mechanism, lines here are executed first. Skipped otherwise.
- Lines in BREAKPOINT: The SOLVE ... METHOD line is ignored. All lines after SOLVE are executed. With a
printf()statement, you would see two calls. However, one of the calls does not actually set any state variables. It is used to compute the derivatives.
- Finally, the DERIVATIVE block: The values for the derivatives (
X' = ...) are computed. Keep in mind, to get the value by which the state variable actually changes, multiply by