关于ANN2SNN的问题
您好!我最近在了解resnet的ann2snn的工作,我跑了spikingjelly中的示例,取得了不错的效果,但是我对其内部工作原理还不是很清楚。示例中用到的是最大激活归一化,但是对shortcut是如何处理的呢?十分期待您的解答!
为了使ann的激活范围和snn输出电流范围完全相同,采用了Optimized Potential Initialization for Low-latency Spiking Neural Networks. AAAI2022和Optimal ANN-SNN Conversion for High-accuracy and Ultra-low latency Spiking Neural Networks. ICLR2022的建模方法,将IF发放01脉冲调整为输出PSP,这样shortcut就不用处理了。更多内容敬请期待新教程
谢谢解答!这个了解了,还有一个问题,就是我想取出权重在硬件中跑,我将snn模型中的Scaler提取出来并对权重逐层归一化,发现在没有BN层的模型中可以取得不错的效果,但是在有BN层的模型按我的做法完全失效,请问我该如何对BN层进行处理呢?
需要将bn的参数融合进conv。functional中提供了将conv+bn融合的函数。
如果我希望在一般网络(snn模型中不含scaler项)中验证我上面的方法(通过scaler对权重逐层归一化),需要搭一个将conv层和bn层融合的snn网络来验证是吗?
是的,将conv和bn合并成一个conv层