[本站讯]近日,山东大学集成电路学院周卫东教授团队提出了一种新型余弦卷积网络(CosCNN),并设计了相应的高效参数量化方法使其易于在FPGA中部署,研究结果表明所提出的余弦卷积网络能显著提高癫痫脑电检测的性能,且有望应用于时间序列分析的深度学习模型中。相关成果以“Cosine Convolutional Neural Network and Its Application for Seizure Detection”为题在中科院一区期刊Neural Networks上发表。山东大学集成电路学院为论文署名单位,山东大学刘国洋助理研究员为论文第一作者,周卫东教授为通讯作者。
卷积神经网络(CNN)已在计算机视觉领域、自然语言处理领域广泛应用。传统CNN包含多个卷积层,每层通过学习一组一定大小的卷积核来获得深度学习特征。然而,传统CNN通常具有海量参数,模型复杂度高且容易导致过拟合问题。此外,传统CNN模型固有的“黑盒”性质也限制了其在实际场景中的应用。
受到频谱特征结合CNN模型架构的启发,团队将具有明确幅度和频率信息的三角核函数嵌入到CNN 中,用含有少量参数的三角函数取代传统CNN中的可学习核函数,构建了一个新型端到端的余弦卷积神经网络(CosCNN)模型,使其能直接从原始脑电(EEG)信号中直接提取明确的幅频特征并进行分类,实现端到端的癫痫发作检测。余弦卷积核仅有幅值和频率两个可学习参数,这使得由余弦卷积算子构成的余弦卷积神经网络的可解释性增强的同时,参数量显著少于传统卷积神经网络。论文还详细介绍了余弦卷积算子前向传播和反向传播过程的理论推导,以及针对余弦卷积神经网络设计的损失函数。
研究团队还提出了一种基于KL散度和余弦查找表的余弦卷积网络后训练量化算法,可以将余弦卷积网络的权值量化为低位宽的整数形式。由于所提出的余弦卷积必须计算不能被直接量化的余弦函数,因此研究团队为余弦卷积网络模型建立了一个量化的余弦查找表来计算余弦值,通过最小化归一化浮点参数激活分布与归一化量化参数激活分布之间的KL散度值来确定最优激活阈值。实验结果表明,所提出的CosCNN后训练量化算法可以使CosCNN模型的参数占用空间在几乎没有模型精度损失的情况下降低近4倍,并且易于在FPGA等硬件上进行部署。
此外,针对量化后的余弦卷积网络模型,研究团队在现场可变编程门阵列(FPGA)上设计了一个余弦卷积算子加速器,并在Xilinx Zedboard开发板上配置并部署了不同结构的深度余弦卷积神经网络以验证所设计的癫痫检测系统的性能。硬件测试结果表明,所提出的基于余弦卷积神经网络的自动癫痫检测硬件系统能实现低功耗、高准确率的实时癫痫检测。在可编程逻辑(PL)部分设计了一个可配置的余弦卷积加速器,实现了余弦卷积、激活的反量化和量化,所有卷积层共享一个存储在PL端BRAM中的量化余弦查找表。ARM处理系统(PS)用于数据准备和预处理,例如接收EEG数据、加载权重和配置加速器。此外,具有浮点权重的全连接层和softmax映射操作也在PS中计算。仿真表明整个硬件系统的片上总功率低于2W。
量化余弦卷积网络的硬件实现方案
研究团队在Bonn癫痫脑电数据库和CHB-MIT癫痫脑电数据库上全面评估了所提出的CosCNN模型,在癫痫脑电分类和癫痫发作检测任务中均获得了国际先进的性能。该工作得到了国家自然科学基金、山东省自然科学基金联合基金重点项目等资助。