股票反复做t能把成本做到负数吗,股票做t已经涨了怎么还亏钱

  

  机器之心专栏   

  

  作者:刘方鑫,赵文博,蒋力   

  

  脉冲神经网络(Spiking Neural Network,SNN),被称为第三代神经网络,以其在时间和空间上丰富的神经动力学特征、多样的编码机制和事件驱动的优势引起了学者们的关注。生物理性和任务需求之间存在不同程度的权衡,网络中使用的神经元模型和编码方式存在差异,导致SNN的多样化。与传统的基于向量乘法的人工神经网络(ANN)不同,SNN模拟了大脑的功能结构,以神经元为计算和存储单元,通过在膜电压上累加相邻神经元的脉冲信号,并在超过阈值电位时发送脉冲来传递信息。由于其计算完全可以通过加法完成,所需的计算量和功耗大大降低[1]。此外,由于SNN神经元的执行和学习机制,SNN与一些新兴设备自然结合[2]。   

  

  降低百倍时间步:上交等机构提出ANN-SNN  转换框架SpikeConverter   

  

  论文链接:https://www.aaai.org/AAAI22Papers/AAAI-364.LiuF.pdf   

  

  神经网络的目标是基于异步电路的实现。每个神经元可以异步接收和发送脉冲信号。而这种大规模异步电路目前还无法实现,脉冲神经网络中的所有脉冲信号都需要对准时钟信号。这会带来两个问题:一是为了准确表达脉冲发射的时间,需要将一次推理划分成大量的时间步长,这使得脉冲序列非常冗长;其次,脉冲序列中的脉冲个数不变,导致脉冲序列中的脉冲不规则稀疏。现有的同步脉冲神经网络芯片,如Loihi,在一定程度上利用了稀疏性。但时间步长增加导致推理时间延长的问题依然存在。   

  

  降低百倍时间步:上交等机构提出ANN-SNN  转换框架SpikeConverter   

  

  现有的脉冲神经网络训练方法分为直接训练和传统神经网络转换两种方法。   

  

  直接训练的SNN:它可以进一步分为监督训练和非监督训练。有监督训练的SNN是一种基于脉冲的反向传播算法,但神经元函数不可微,因此传统的反向传播算法不能直接应用于SNN。无监督SNN是一种利用突触可塑性规则的仿生学习算法。例如,锋电位时序相关可塑性(STDP)是最具代表性的无监督SNN,它根据神经元放电的顺序来调整神经元之间的连接强度。   

  

  基于转换的SNN:为了在已开发的深度学习成果上进一步利用脉冲神经网络的低能耗,从ANN的角度出发,在SNN用频率编码下的平均脉率代替连续激活函数值,用神经元函数代替ANN中的ReLU函数,然后通过特定的手段转换成S。   

NN。从本质上说,基于转换的 SNN 其训练仍然依赖于 ANN 中的反向传播算法,因此它避免了对 SNN 进行直接训练的困难。就性能表现而言,基于转换的 SNN 保持着与 ANN 发展相匹配的进程。

然而,现有的 SNN 在实现超大规模的网络结构上,仍然面临梯度消失、训练资源开销大甚至算法收敛性的问题,一般只能应用在浅层的 SNN 中,并且精度还距离 ANN 有一定的差距。

而现有的转换方法应用在更深的网络或更复杂的数据集时,需要大量的时间步长表示脉冲序列(例如:在 ImageNet 中,VGG 转换而来的 SNN 需要的时间步数量高达 2048[3,4])。相比于进行一次 ANN 的推理只需要执行一次前向传递过程;SNN 在每个时间步都需要执行一次前向传递。因此,时间步的数量过多会引入极大的推理延迟,导致了转换后的 SNN 网络难以胜任对实时性有要求的应用。

方法介绍

本文提出一种基于高效且准确的 ANN-SNN 转换框架,不仅可以应用到传统神经网络的最新发展,而且大幅度降低了时间步的数量。只需要 8-16 个时间步就可以达到和传统神经网络几乎一致的精度,节省了百倍的时间延迟。

转换中的一致性关系

首先,我们在神经元发射脉冲之后采用了软重置的策略,在当前的膜电位中减去阈值电位的值,从而保留了超出阈值的部分。在之前的大部分文章中,采用的是硬重置策略,当膜电压超过阈值时发射脉冲并将膜电压直接重置为 0。这样做的好处是尽可能多的保留了膜电压中包含的信息,并且能够在输入的微小扰动下保持相对一致的输出结果。软重置方法可以用公式表达为

降低百倍时间步:上交等机构提出ANN-SNN 转换框架SpikeConverter

其中 V[t]是 t 时刻的膜电压,k 是每个时间步之间的膜电压衰减系数。Xi 是第 i 个相邻神经元的脉冲序列,0 表示 t 时没有脉冲传输。Y 是当前神经元的输出脉冲序列。将公式 (1) 在 t=1 到 T 累加,我们可以得到

降低百倍时间步:上交等机构提出ANN-SNN 转换框架SpikeConverter

在理想情况下,最后神经元内没有膜电压存留,即 V[T]=0。此时,公式 (2) 可以简化为

降低百倍时间步:上交等机构提出ANN-SNN 转换框架SpikeConverter

不难发现,公式 (3) 与传统神经网络的 MAC 计算模式

降低百倍时间步:上交等机构提出ANN-SNN 转换框架SpikeConverter

十分相似,而事实上之前最为常用的基于 ANN 转换的 SNN,将 ANN 的激活值作为 SNN 中的神经元发射脉冲的频率,正是公式 (3) 在 k=1 的特例。

然而,公式 (3) 在很多情况下并不成立。最明显的一种情况,是膜电压在最后并不一定会等于 0 或一个相对较小的数。事实上,由于神经元之间的权重有负值,导致很多时候膜电压最终是一个负数。SNN 的神经元模型的机制决定了其只会对正的电压做出反应而累积的负膜电位则会被保留,从而导致公式 (3) 的等号并不成立,信息无法准确表达,使得脉冲神经网络的精度低于传统神经网络。例如当 k=1 以及阈值电位 = 1 的情况下,如果输入总膜电位分别为 1,1,-1,-1,则会在前两个时间步产生脉冲信号;而后两个 - 1 则被累积在膜电位中无法消耗。此时公式左边 = 0 而右边 = 2,公式并不成立。

神经元计算中的时域分离

针对这一点,文章采用了时域分离的方法,将膜电压的累积过程和膜电压释放脉冲的过程在时域上分离开,避免膜电压累积信息丢失的情况出现。为了实现时域分离的效果,即发射脉冲在累积电压之后,应使得较晚时间的膜电压在没有额外输入的情况下要大于之前的膜电压。这在之前的 leaky integrate-and-fire 模型中是无法做到的。文章提出了与传统 LIF 相反的模型,iLIF,在每个时间步结束后增幅而不是减少模电压,即在公式中的模电压衰减系数 k 现在是一个大于 1 的数,被称作为电压增幅系数。

然而,时域分离的方法使得完成一个神经元计算的时间翻倍,文章通过流水线的方法,在前一层的脉冲输出阶段直接将信号传输至下一层作为输入信号。在消除了时域分离带来的额外运行时间的同时,也减少了需要临时存储的内容。

降低百倍时间步:上交等机构提出ANN-SNN 转换框架SpikeConverter

以上示意图展示了图片推理的执行示意图。核心是利用层间并行,实现不同图片的两个执行阶段重叠,降低推理时延。

参数选择方面,主要是电压增幅系数的选择。文章考虑了不同的时间步数量和增幅系数的情况下,平均的转化误差。实验表明在不同的时间步选择下,k=2 都是最优选择。

降低百倍时间步:上交等机构提出ANN-SNN 转换框架SpikeConverter

以上示意图展示了在不同参数选择下,转化误差的变化情况。K=2 时,在各个时间步下,转换误差最小,可以膜电压累积表示的信息最准确。

实验结果

文章使用 CIFAR-10/100,以及 ImageNet 数据集进行实验。实验结果表明文章提出的方法在仅需要 16 个时间步的情况下,可以达到和传统神经网络几乎一致的精度。极大节省空间存储和计算代价的情况下取得了最佳的性能,具体实验结果参见论文。部分结果如下。

降低百倍时间步:上交等机构提出ANN-SNN 转换框架SpikeConverter

未来方向

脉冲神经网络还有较大的挖掘空间,还有许多领域 SNN 未能成功应用,可以在视频识别、机器人控制等方面继续研究。

[1] Roy, K.; Jaiswal, A.; and Panda, P. 2019. Towards spike based machine intelligence with neuromorphic computing. Nature, 575(7784): 607–617.

[2] Woniak, Stanisaw, et al. "Deep learning incorporating biologically inspired neural dynamics and in-memory computing." Nature Machine Intelligence 2.6 (2020): 325-336.

[3] Han, Bing, Gopalakrishnan Srinivasan, and Kaushik Roy. "Rmp-snn: Residual membrane potential neuron for enabling deeper high-accuracy and low-latency spiking neural network." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.

[4] Han, Bing, and Kaushik Roy. "Deep spiking neural network: Energy efficiency through time based coding." European Conference on Computer Vision. Springer, Cham, 2020.

相关文章