Giter Site home page Giter Site logo

Comments (4)

fangwei123456 avatar fangwei123456 commented on June 1, 2024

个人看法:
1.MNIST的样例中,使用的是泊松编码器。由于图像像素值的范围是0-255,所以至少要仿真255步才能生成255个不同频率的输入脉冲序列。编码器教程中有一副图片展示了泊松编码器输出的累计脉冲,非常直观:
image
理论上仿真时间太短的话,很多取值相近的像素会无法区分。实际上对于MNIST这样的简单数据集,T可以取很小,因为即便输入图片被二值化也很容易辨认。之后的FashionMNIST识别教程中,直接将图片输入且取了很小的T=8,实际上即便T=1也能有80以上的正确率。
2.增加时间步长可以增加SNN的表达能力。T=1的网络表达能力会明显弱于T=2的网络,类似于半精度的ANN拟合能力要低于全精度网络。
3.MNIST确实比较简单,但直接训练的SNN的拟合能力很强。例如最新的Going Deeper With Directly-Trained Larger Spiking Neural Networks,直接训练的SNN在ImageNet上也能达到接近ANN的性能了。

from spikingjelly.

densechen avatar densechen commented on June 1, 2024

感谢您的及时回复!
关于3,SNN肯定是可以训练的起来的。因为相比于二值网络,SNN对数据的处理显然是要宽松许多的。既然二值网络可以达到,那SNN肯定也是没有问题的。
而且SNN网络和量化网络的研究内容,如果抛开时间维度的信息的话,重合度非常的高。
所以一直很疑惑,这里的步长信息,究竟是起到的什么样的决定性作用呢?
因为没有任何步长信息的量化网络,也可以取得很好的结果🤔🤔🤔
另外,关于仿真步长的话,在基于模型转换的方法里面,我们都很明确的知道,只有足够长的仿真步长,才能够更好的表示频率的信息。但是在直接训练的模型里面,仿真步长的作用难到依然是起到一个无偏估计的作用吗?🤔🤔🤔🤔

from spikingjelly.

fangwei123456 avatar fangwei123456 commented on June 1, 2024

不知,这个问题还没有人专门研究过。数学上倒是有一定意义,更大的T相当于更小的dt,差分方程对微分方程的逼近误差会更小。但并非模型越“仿真”性能就越好

from spikingjelly.

densechen avatar densechen commented on June 1, 2024

十分感谢!

from spikingjelly.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.