[论文解读] Whetstone: A Method for Training Deep Artificial Neural Networks for Binary Communication
Whetstone 是一种新型训练方法,使深度神经网络能够使用二值化、脉冲样通信,同时不损失精度。通过迭代地通过自定义反向传播修改来锐化网络激活,该方法生成的模型可与低功耗神经形态硬件兼容,同时保持与全精度网络相当的性能。
This paper presents a new technique for training networks for low-precision communication. Targeting minimal communication between nodes not only enables the use of emerging spiking neuromorphic platforms, but may additionally streamline processing conventionally. Low-power and embedded neuromorphic processors potentially offer dramatic performance-per-Watt improvements over traditional von Neumann processors, however programming these brain-inspired platforms generally requires platform-specific expertise which limits their applicability. To date, the majority of artificial neural networks have not operated using discrete spike-like communication. We present a method for training deep spiking neural networks using an iterative modification of the backpropagation optimization algorithm. This method, which we call Whetstone, effectively and reliably configures a network for a spiking hardware target with little, if any, loss in performance. Whetstone networks use single time step binary communication and do not require a rate code or other spike-based coding scheme, thus producing networks comparable in timing and size to conventional ANNs, albeit with binarized communication. We demonstrate Whetstone on a number of image classification networks, describing how the sharpening process interacts with different training optimizers and changes the distribution of activity within the network. We further note that Whetstone is compatible with several non-classification neural network applications, such as autoencoders and semantic segmentation. Whetstone is widely extendable and currently implemented using custom activation functions within the Keras wrapper to the popular TensorFlow machine learning framework.
研究动机与目标
- 开发一种训练深度神经网络的方法,使其使用二值化、脉冲样通信,以实现高效部署于神经形态硬件。
- 在不显著降低性能的前提下,降低深度学习系统的通信和计算成本。
- 通过保持与 Keras 和 TensorFlow 的兼容性,弥合传统深度学习框架与脉冲神经网络硬件之间的差距。
- 利用标准深度学习工作流,在嵌入式和资源受限平台上实现低精度、低功耗推理。
- 提供即插即用的解决方案,通过最小用户干预将训练好的人工神经网络转换为适用于神经形态加速器的网络。
提出的方法
- Whetstone 使用一种修改后的反向传播算法,通过迭代地将每一层的激活函数锐化至二值阈值。
- 采用基于状态的训练循环,通过‘锐化’和‘等待’状态控制每轮训练中激活锐化的速率。
- 锐化过程按批次应用,实现渐进且稳定的收敛,每层每轮训练的锐化速率由用户定义(≤1.0)。
- 使用自定义的 Keras 兼容层,将标准的 ReLU 或 Sigmoid 激活替换为参数化的脉冲版本,以支持二值化通信。
- 将锐化回调集成到训练流程中,支持对锐化调度进行动态或手动控制。
- 最终网络输出通过非学习型 Softmax 层或赢家通吃解码方式编码,适用于神经形态硬件或主机端推理。
实验结果
研究问题
- RQ1深度神经网络能否在保持分类精度的同时,被训练为使用二值化、脉冲样通信?
- RQ2迭代激活锐化如何影响深度网络的训练动态和收敛性?
- RQ3Whetstone 在不同网络架构和优化器上应用时,性能能多大程度上被保留?
- RQ4Whetstone 能否无缝集成到现有深度学习工作流中,而无需平台特定的专业知识?
- RQ5锐化速率和训练模式(统一 vs. 自底向上)对网络性能和收敛性有何影响?
主要发现
- Whetstone 允许深度神经网络在单时间步内使用二值化通信,与全精度模型相比性能损失极小甚至可忽略。
- 该方法保持与标准 Keras 和 TensorFlow 工作流的兼容性,使用户能够使用熟悉的工具和超参数训练模型。
- 不同训练优化器与锐化过程的交互方式各异,影响网络内部活动的分布。
- 锐化过程在多个数据集上表现稳健,包括 MNIST、Fashion-MNIST、CIFAR 和 COCO,表明其在图像分类任务中的广泛泛化能力。
- Whetstone 适用于非分类任务,如自编码器和语义分割,表明其应用范围不仅限于分类任务。
- 该方法可通过直接转换为漏电积分-发放模型,支持在脉冲神经形态硬件上部署,实现低功耗推理。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。