<p>One of the key issues with spiking neural networks is that while SNN are computationally more powerful than the so called 2nd generation neural networks (artificial neural networks), they are also computationally 'much' more expensive. This means you need a lot of computational power to effectively use them, and limits their use by the wider data science community and therefore the development of the method, which is mostly stuck in research groups. Many of whom are working on the <a href="https://dl.acm.org/doi/10.1145/3316781.3317822" rel="nofollow noreferrer">issue of efficiency</a>, while IBM amongst others is working on <a href="https://ieeexplore.ieee.org/document/7727758" rel="nofollow noreferrer">the hardware issue</a>.</p>
<p>Another issue for the poor adoption and development of SNNs is that, at the time of writing, they are not able to effectively conducting supervised learning. So while SNNs are <a href="https://www.ibm.com/blogs/research/2020/06/biologically-inspired-deep-learning-predicts-chords-of-bach/" rel="nofollow noreferrer">good at dealing with specific  tasks</a> for which they have been hard coded, they are not generally applicable to a wider range of problems without considerable coding. By comparison ANNs are highly versatile and <strong>easily</strong> applicable to a wide range of data science problems. It has been suggested elsewhere that for SNNs to be general purpose, we would need to more accurately mimic learning in the mammalian brain in order to conduct supervised learning tasks. <a href="https://www.frontiersin.org/articles/10.3389/fnbot.2019.00018/full" rel="nofollow noreferrer">There are recent steps in the right direction</a> that take a simplified approach by adding a reward process in to the NN, which in my opinion (with a background in 'reward systems') is a good start. But this is all very recent compared to ANNs, and really the 'further research is required' slogan strongly applies before SNNs are more widely adopted within both data science and computational psychology/neuroscience. Although as you can see <a href="https://github.com/arnogranier/SNN" rel="nofollow noreferrer">here</a> the TensorFlow community is starting to work on utilising SNNs. Google (TensorFlow) itself is <a href="https://arxiv.org/abs/1907.13223" rel="nofollow noreferrer">well onboard</a> with studying SNNs, and is one of the strongest leaders in the field of machine learning, so you should expect to see a lot more work from google here, which will spread the the wider data science community. With that said I cannot see a reason not to use TensorFlow, it is, however, worth looking into IBMs ML offerings too given there interest in <a href="https://medium.com/@sumitg_16893/ibm-research-cracks-code-on-accelerating-key-machine-learning-algorithms-647b5031b420" rel="nofollow noreferrer">developing hardware for SNNs</a>, and how <a href="https://www.analyticsvidhya.com/blog/2018/03/ibm-machine-library-46-times-faster-tensorflow/" rel="nofollow noreferrer">Snap ML</a> out performs TensorFlow.</p>
<p>In summary, SNNs are computationally powerful in theory, but are computationally expensive compared to ANNs with current technology. SNNs also have a supervised learning problem which means that this need to be developed to allow SNNs to be used more generally, and wider adoption. This would lead to more use of SNNs and therefore more development. SNNs are likely a future of machine learning as research and technology develops, but its currently mostly limited to academic investigation and understanding.</p>

CC BY-SA 4.0
2020-07-22T02:45:56.433Z
Thank you very much for your thoughtful reply.  it was very eye-opening and introduced some concepts that I was not too familiar with. @Comte
Amazing_Andy
CC BY-SA 4.0
2020-07-22T09:40:15.060Z
@Amazing_Andy More than happy to help, it was an interesting question that lends itself to my strengths. These kinds of questions are perhaps better placed on the data science stack (https://datascience.stackexchange.com/). Regardless, if the answer is sufficient could you accept the answer, it will help other users who are looking into the same question to know if the answer is useful.
Comte
CC BY-SA 4.0
2020-07-18T19:31:42.473Z
2020-07-19T10:54:10.293Z
2020-07-19T10:54:10.293Z
Comte
<p>I recently started working with Spiking Neural Networks and was hoping for some input from others. I saw there were many libraries/platforms specifically made for working with SNN's (Brian, PyNN, NEURON, etc...) however I was wondering if there were any tradeoffs in using plain, old popular Tensorflow for SNN implementation. Is there a reason that it is underresearched? Has anyone tried or working on this?</p>
<p>Thanks for any feedback anyone can offer,</p>

<neural-network>
Is using tensorflow for Spiking neural networks a "good" idea?
Amazing_Andy
# Is using tensorflow for Spiking neural networks a "good" idea?

(Asked by: username_0 on 2020-07-14)

I recently started working with Spiking Neural Networks and was hoping for some input from others. I saw there were many libraries/platforms specifically made for working with SNN's (Brian, PyNN, NEURON, etc...) however I was wondering if there were any tradeoffs in using plain, old popular Tensorflow for SNN implementation. Is there a reason that it is underresearched? Has anyone tried or working on this?

Thanks for any feedback anyone can offer,

**Tags:** neural-network


---

## 1 answers

### Answer by username_1 on 2020-07-18. Score: 1

One of the key issues with spiking neural networks is that while SNN are computationally more powerful than the so called 2nd generation neural networks (artificial neural networks), they are also computationally 'much' more expensive. This means you need a lot of computational power to effectively use them, and limits their use by the wider data science community and therefore the development of the method, which is mostly stuck in research groups. Many of whom are working on the [issue of efficiency](https://dl.acm.org/doi/10.1145/3316781.3317822), while IBM amongst others is working on [the hardware issue](https://ieeexplore.ieee.org/document/7727758).

Another issue for the poor adoption and development of SNNs is that, at the time of writing, they are not able to effectively conducting supervised learning. So while SNNs are [good at dealing with specific tasks](https://www.ibm.com/blogs/research/2020/06/biologically-inspired-deep-learning-predicts-chords-of-bach/) for which they have been hard coded, they are not generally applicable to a wider range of problems without considerable coding. By comparison ANNs are highly versatile and **easily** applicable to a wide range of data science problems. It has been suggested elsewhere that for SNNs to be general purpose, we would need to more accurately mimic learning in the mammalian brain in order to conduct supervised learning tasks. [There are recent steps in the right direction](https://www.frontiersin.org/articles/10.3389/fnbot.2019.00018/full) that take a simplified approach by adding a reward process in to the NN, which in my opinion (with a background in 'reward systems') is a good start. But this is all very recent compared to ANNs, and really the 'further research is required' slogan strongly applies before SNNs are more widely adopted within both data science and computational psychology/neuroscience. Although as you can see [here](https://github.com/arnogranier/SNN) the TensorFlow community is starting to work on utilising SNNs. Google (TensorFlow) itself is [well onboard](https://arxiv.org/abs/1907.13223) with studying SNNs, and is one of the strongest leaders in the field of machine learning, so you should expect to see a lot more work from google here, which will spread the the wider data science community. With that said I cannot see a reason not to use TensorFlow, it is, however, worth looking into IBMs ML offerings too given there interest in [developing hardware for SNNs](https://medium.com/@sumitg_16893/ibm-research-cracks-code-on-accelerating-key-machine-learning-algorithms-647b5031b420), and how [Snap ML](https://www.analyticsvidhya.com/blog/2018/03/ibm-machine-library-46-times-faster-tensorflow/) out performs TensorFlow.

In summary, SNNs are computationally powerful in theory, but are computationally expensive compared to ANNs with current technology. SNNs also have a supervised learning problem which means that this need to be developed to allow SNNs to be used more generally, and wider adoption. This would lead to more use of SNNs and therefore more development. SNNs are likely a future of machine learning as research and technology develops, but its currently mostly limited to academic investigation and understanding.

> **Comments:**
> **username_0**: Thank you very much for your thoughtful reply.  it was very eye-opening and introduced some concepts that I was not too familiar with. @username_1  
> **username_1**: @username_0 More than happy to help, it was an interesting question that lends itself to my strengths. These kinds of questions are perhaps better placed on the data science stack (https://datascience.stackexchange.com/). Regardless, if the answer is sufficient could you accept the answer, it will help other users who are looking into the same question to know if the answer is useful.  

---

