Answers.Body: <blockquote>
  <p>Say, a single neuron could do the function of an entire layer in a network, could that make the network more effective?</p>
  </blockquote>
  <p>That depends what you mean by &quot;more effective&quot;. In terms of number of neurons to achieve the same result, then you should need fewer units. In terms of being able to calculate an end result for any specific problem, then no, because you can generally solve a problem using simpler units by adding more of them.</p>
  <p>If this could somehow be done using less resources, it might reduce overall costs. In a biological system, there are possibly overheads per cell in order to maintain it on top of the costs for calculation, so it may be better to do more than the simplest calculation in each cell. Further to that, there may be an optimal amount of processing that each cell could do (this is all conjecture on my part).</p>
  <p>In an artifical neural network, the calculations are the only thing being considered, there is no separate overhead per neuron.</p>
  <p>There are neural network architectures with complex &quot;sub-units&quot;. Probably the most well known are the <a href="https://en.wikipedia.org/wiki/Long_short-term_memory" rel="nofollow noreferrer">recurrent neural network designs for LSTM</a> and <a href="https://en.wikipedia.org/wiki/Gated_recurrent_unit" rel="nofollow noreferrer">gated recurrent units (GRU)</a>, plus &quot;skip connections&quot; in <a href="https://en.wikipedia.org/wiki/Residual_neural_network" rel="nofollow noreferrer">residual neural networks</a>. For efficiency these are normally processed in groups per layer with matrix processing functions, but you can also view them as per-neuron complexities.</p>
  <blockquote>
  <p>I am not sure of this- <em>why</em> would complex individual components make the network less effective?</p>
  </blockquote>
  <p>If the complexity was not used, or not really needed, in some of the units, then it would be wasted capacity. In a biological system, this might correspond to maintaining cells larger than they needed to be. In an artificial system, it would mean using memory and CPU to calculate interim values that were not needed for the task at hand.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-11-01T10:16:06.030Z
Answers.LastActivityDate: 2020-11-01T10:16:06.030Z
Answers.UserDisplayName: Neil Slater
Body: <p>(<em>I have a very primitive understanding of neural networks, so please forgive the lack of technicality here.</em>)</p>
  <p>I am used to seeing a <em>neuron</em> in a neural network as something that-</p>
  <ol>
  <li>Takes the inputs and multiplies them by their weights,</li>
  <li>then sums them up,</li>
  <li>and after that it applies the activation function to the sum.</li>
  </ol>
  <p>Now, what if it was &quot;smarter&quot;? Say, a <em>single</em> neuron could do the function of an <em>entire layer</em> in a network, could that make the network more effective? This comes from an article I was reading at <a href="https://www.quantamagazine.org/neural-dendrites-reveal-their-computational-power-20200114/" rel="nofollow noreferrer">Quanta</a>, where the author says:</p>
  <blockquote>
  <p>Later, Mel and several colleagues looked more closely at how the cell might be managing multiple inputs within its individual dendrites. What they found surprised them: The dendrites generated local spikes, had their own nonlinear input-output curves and had their own activation thresholds, distinct from those of the neuron as a whole. The dendrites themselves could act as AND gates, or as a host of other computing devices.</p>
  </blockquote>
  <blockquote>
  <p>...realised that this meant that they could conceive of a single neuron as a two-layer network. The dendrites would serve as nonlinear computing subunits, collecting inputs and spitting out intermediate outputs. Those signals would then get combined in the cell body, which would determine how the neuron as a whole would respond.</p>
  </blockquote>
  <p>My thoughts: I know that <a href="https://en.wikipedia.org/wiki/Backpropagation" rel="nofollow noreferrer">Backpropagation</a> is used to &quot;teach&quot; the network in the normal case, and the fact that neurons are simply activation buttons is somehow related to that. So, if neurons were to be more complicated, it would reduce efficiency. However, I am not sure of this: <em>why</em> would complex individual components make the network less effective?</p>
  
Tags: <neural-networks><artificial-neuron><hidden-layers>
Title: If neurons performed the operation of an entire layer, would that make the neural network more effective?
UserDisplayName: Bipasha
ThreadText: # If neurons performed the operation of an entire layer, would that make the neural network more effective?
  
  (Asked by: username_0 on 2020-11-01)
  
  (*I have a very primitive understanding of neural networks, so please forgive the lack of technicality here.*)
  
  I am used to seeing a *neuron* in a neural network as something that-
  
  1. Takes the inputs and multiplies them by their weights,
  2. then sums them up,
  3. and after that it applies the activation function to the sum.
  
  Now, what if it was "smarter"? Say, a *single* neuron could do the function of an *entire layer* in a network, could that make the network more effective? This comes from an article I was reading at [Quanta](https://www.quantamagazine.org/neural-dendrites-reveal-their-computational-power-20200114/), where the author says:
  
  > Later, Mel and several colleagues looked more closely at how the cell might be managing multiple inputs within its individual dendrites. What they found surprised them: The dendrites generated local spikes, had their own nonlinear input-output curves and had their own activation thresholds, distinct from those of the neuron as a whole. The dendrites themselves could act as AND gates, or as a host of other computing devices.
  
  > ...realised that this meant that they could conceive of a single neuron as a two-layer network. The dendrites would serve as nonlinear computing subunits, collecting inputs and spitting out intermediate outputs. Those signals would then get combined in the cell body, which would determine how the neuron as a whole would respond.
  
  My thoughts: I know that [Backpropagation](https://en.wikipedia.org/wiki/Backpropagation) is used to "teach" the network in the normal case, and the fact that neurons are simply activation buttons is somehow related to that. So, if neurons were to be more complicated, it would reduce efficiency. However, I am not sure of this: *why* would complex individual components make the network less effective?
  
  **Tags:** neural-networks, artificial-neuron, hidden-layers
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-11-01. Score: 0 | Accepted answer
  
  > Say, a single neuron could do the function of an entire layer in a network, could that make the network more effective?
  
  That depends what you mean by "more effective". In terms of number of neurons to achieve the same result, then you should need fewer units. In terms of being able to calculate an end result for any specific problem, then no, because you can generally solve a problem using simpler units by adding more of them.
  
  If this could somehow be done using less resources, it might reduce overall costs. In a biological system, there are possibly overheads per cell in order to maintain it on top of the costs for calculation, so it may be better to do more than the simplest calculation in each cell. Further to that, there may be an optimal amount of processing that each cell could do (this is all conjecture on my part).
  
  In an artifical neural network, the calculations are the only thing being considered, there is no separate overhead per neuron.
  
  There are neural network architectures with complex "sub-units". Probably the most well known are the [recurrent neural network designs for LSTM](https://en.wikipedia.org/wiki/Long_short-term_memory) and [gated recurrent units (GRU)](https://en.wikipedia.org/wiki/Gated_recurrent_unit), plus "skip connections" in [residual neural networks](https://en.wikipedia.org/wiki/Residual_neural_network). For efficiency these are normally processed in groups per layer with matrix processing functions, but you can also view them as per-neuron complexities.
  
  > I am not sure of this- *why* would complex individual components make the network less effective?
  
  If the complexity was not used, or not really needed, in some of the units, then it would be wasted capacity. In a biological system, this might correspond to maintaining cells larger than they needed to be. In an artificial system, it would mean using memory and CPU to calculate interim values that were not needed for the task at hand.
  
  
  ---
  
  