## Hot questions for Using Neural networks in neuron simulator

Question:

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).

Question:

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)

Question:

In what order do the commands in NEURON .MOD/NMODL file sections get executed? Specifically, within these blocks: DERIVATIVE, BREAKPOINT and NET_RECEIVE.

2. 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.
3. 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 `dt`.