【技术实现步骤摘要】
一种适用于嵌入式设备的脉冲神经网络轻量化方法及系统
[0001]本专利技术属于计算机视觉和机器学习
,尤其涉及一种适用于嵌入式设备的脉冲神经网络轻量化方法及系统。
技术介绍
[0002]随着人工智能技术的发展,嵌入式设备上的智慧能力越来越受到关注,但受限于嵌入式设备的硬件资源和电源功率,嵌入式设备上部署复杂的全量神经网络是近乎不可能的。此外,嵌入式设备往往直接与用户进行交互,因而嵌入式设备上部署神经网络的实时性将直接影响产品的用户体验。Nvidia Jetson系列是Nvidia公司针对人工智能嵌入式场景推出的灵活且可拓展的硬件,每个Nvidia Jetson模组都拥有完整的GPU、CPU、内存、电源管理和拓展接口,可以方便地嵌入到不同的硬件中。得益于Nvidia公司在GPU设计方面的长期积累,Nvidia Jetson设备拥有神经网络模型在嵌入式设备中进行推理所需的强大算力和针对嵌入式设备部署进行运算加速的tensorrt推理运行库。
[0003]脉冲神经网络受生物大脑启发,采用神经元的离散脉冲序列进行信息传 ...
【技术保护点】
【技术特征摘要】
1.一种适用于嵌入式设备的脉冲神经网络轻量化方法,其特征在于,包括以下步骤:S1、构建教师网络:教师网络以ResNet
‑
34为基本网络结构,输入大小为32*32*3,输入为RGB图像;构建学生网络:学生网络是以VGG为基本网络结构的脉冲卷积神经网络,沿垂直方向,依次包括第一卷积层、第一批归一化层、第一最大值池化层、第一脉冲神经元层、第二卷积层、第二脉冲神经元层、第三卷积层、第二批归一化层、第二最大值池化层、第三脉冲神经元层、第四卷积层、第四脉冲神经元层、第五卷积层、第三批归一化层、第三最大值池化层、第五脉冲神经元层、第六卷积层、第六脉冲神经元层、第一平均值池化层和第一全连接层;学生网络的全部卷积层均为二维卷积层,其卷积核大小为3*3,步长为1,填充为1;学生网络的最大值池化层和平均值池化层大小为2*2;学生网络的输入为32*32*3的RGB图像输入,输出为脉冲序列输出;S2、利用Cifar
‑
10数据集对教师网络进行训练,得到训练好的教师网络;S3、对学生网络进行参数初始化并利用Cifar
‑
10数据集进行10轮的预训练;S4、利用Cifar
‑
10数据集和训练好的教师网络模型对学生网络进行调整训练,所述调整训练是利用教师网络中学习到的知识指导学生网络训练过程,具体为:定义调整训练过程中学生网络的蒸馏损失函数为:L=αL
S
+βL
H
其中,α和β为调整训练过程中设定的训练超参数,L
S
和L
H
分别为分别为软标签分类损失和硬标签分类损失;所述的软标签分类损失为:其中,N为样本的总个数,T为调整训练的超参数,定义为蒸馏温度;表示第j个样本,在T的蒸馏温度下,教师网络的输出;表示第j个样本,在T的蒸馏温度下,学生网络的输出;所述的硬标签分类损失为:其中,c
j
表示第j个样本的真实标签;在硬标签损失计算时,蒸馏温度T等于1;调整训练过程中,输入同一个样本,学生网络和教师网络分别获得一个输出,而损失的计算方式取决于两者之间的差异,学生网络根据学生网络的蒸馏损失去更新学生网络的权重;S5、冻结调整训练后得到的学生网络模型的参数,对每一层的模型参数进行聚类,每一层的参数以8个聚类中心表示,获得聚类模型;S6、将聚类模型转换为Tensorrt模型,转换后获得用于直接在嵌入式设备中部署的轻量化模型。
2.根据权利要求1所述的一种适用于嵌入式设备的脉冲神经网络轻量化方法,其特征在于,S2中对教师网络进行训练时,先对Cifar
‑
10数据进行预处理,对数据集进行随机翻转,随机裁剪和数据标准化;训练过程采用SGD优化算法进行训练,训练迭代次数为300轮。3.根据权利要求2所述的一种适用于嵌入式设备的脉冲神经网络轻量化方法,其特征在于,S3中对学生网络进行10轮的预训练方法是基于梯度替代的反向传播算法,采用的替代函数为Sigmoid函数。4.根据权利要求3所述的一种适用于嵌入式设备的脉冲神经网络轻量化方法,其特征在于,S5中的聚类采用的方法为K聚类,过程为:首先获取学生模型中每一层的参数;其次调用...
【专利技术属性】
技术研发人员:胡绍刚,蒙立伟,乔冠超,刘洋,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。