脉冲、忆阻与噪声:神经形态计算的三道窄门
把一段卷积网络搬到脉冲硬件上,功耗曲线常常先让人兴奋,随后让人冷静。兴奋来自事件驱动:没有脉冲到达时,电路几乎不动。冷静来自端到端指标——输入编码、时间步展开、片上缓存与同步开销一叠加,账面优势会缩水。这里不是否定路线,而是要把问题放回工程约束里看。
神经形态计算脉冲神经网络事件驱动架构示意图
还有一层容易被跳过:时间步长T。T小,延迟低,精度可能掉;T大,精度稳一些,同步开销和存储占用上涨。能效账不能只算乘加次数,要把编码器、路由网络、片上缓存和时钟门控效率一起算进去。
忆阻器交叉阵列神经形态芯片显微结构图
有些研究原型支持可编程神经元模型,给了不少想象空间。可生态仍在长,算子库、调试工具、可复现基准都不算成熟。说实话,我不太愿意把这类对比直接叫“能效碾压”。任务不同,编码不同,功耗测量口径不同,结论很容易飘。
器件、噪声与那条良率曲线
模拟存算一体是另一条路。忆阻器交叉阵列把权重放在电导上,乘加在阵列里完成,理论上省掉大量数据搬运。现实里有非理想性:写非线性、读噪声、电导漂移、IR drop、器件间差异。阵列越大,这些效应越难忽略。外围ADC和DAC的功耗也会冒出来。
数字方案稳定,能效提升却受限于工艺和架构。混合信号方案想折中,校准成本又上来了。模拟存算的能效优势,只有在阵列规模、转换精度和校准开销三者平衡时才成立。良率曲线不好看时,系统级冗余和校准电路会把账面收益削掉一截。
脉冲不是免费午餐
先看原理。膜电位积分、阈值发放、突触权重更新,这套机制在电路上可以很省:事件不到,时钟门控就能关掉一部分逻辑。问题是,稀疏性不是算法属性,是数据、编码和硬件门控共同决定的系统属性。输入本身稠密,帧图像转成脉冲后事件率并不低;时间步一多,同步和路由开销会把省下来的电又吃回去。 一个常见反例是静态图像分类。把图像转成脉冲序列,再展开若干时间步做推理,精度可能保住了,延迟和能耗却未必好看。事件相机不一样,输出天然稀疏,后端脉冲网络才有机会把事件驱动优势兑现。听觉前端、始终在线关键词检测也类似。换句话说,脉冲计算的收益要看输入事件率,不看宣传页上的峰值能效。
神经形态计算脉冲神经网络事件驱动架构示意图
还有一层容易被跳过:时间步长T。T小,延迟低,精度可能掉;T大,精度稳一些,同步开销和存储占用上涨。能效账不能只算乘加次数,要把编码器、路由网络、片上缓存和时钟门控效率一起算进去。
训练难,不只是算法问题
脉冲神经网络的训练路线大致分几类。STDP这类局部学习规则生物合理,工程上却常受任务精度和收敛稳定性限制。代理梯度加BPTT能训,但时间展开带来内存压力和延迟。ANN到SNN的转换省事,量化误差和额外时间步又摆在那里。 更麻烦的是工具链。训练框架、映射工具、硬件约束之间经常打架:权重精度有限,突触扇入有限,片上存储有限,路由拥塞也会改变时序。算法侧觉得只是换个激活函数,硬件侧却要重新排布整个时间展开图。可训练性取决于编译器能否把时间展开、权重精度和路由约束一起求解。这不是单点算法改进能解决的。
忆阻器交叉阵列神经形态芯片显微结构图
有些研究原型支持可编程神经元模型,给了不少想象空间。可生态仍在长,算子库、调试工具、可复现基准都不算成熟。说实话,我不太愿意把这类对比直接叫“能效碾压”。任务不同,编码不同,功耗测量口径不同,结论很容易飘。
器件、噪声与那条良率曲线
器件、噪声与那条良率曲线
模拟存算一体是另一条路。忆阻器交叉阵列把权重放在电导上,乘加在阵列里完成,理论上省掉大量数据搬运。现实里有非理想性:写非线性、读噪声、电导漂移、IR drop、器件间差异。阵列越大,这些效应越难忽略。外围ADC和DAC的功耗也会冒出来。
数字方案稳定,能效提升却受限于工艺和架构。混合信号方案想折中,校准成本又上来了。模拟存算的能效优势,只有在阵列规模、转换精度和校准开销三者平衡时才成立。良率曲线不好看时,系统级冗余和校准电路会把账面收益削掉一截。