【技术实现步骤摘要】
一种面向FPGA的CNN定制网络量化加速方法
[0001]本专利技术属于神经网络压缩
,具体涉及一种面向
FPGA
的
CNN
定制网络量化加速方法
。
技术介绍
[0002]卷积神经网络是人工智能应用中最常用的网络模型之一,广泛应用在计算机视觉
、
自然语言处理和嵌入式系统等方面
。
现在的网络,通过复杂的模型结构和不断堆叠的卷积层来提升网络学习特征的能力,其复杂的计算算子与巨大的参数量给资源有限的硬件设备带来了沉重的存储和计算压力
。
随着基于
ARM+FPGA
的边缘智能终端越来越普及,实现本地推理对模型轻量化提出了更高的要求
。
在这种情况下,许多研究人员提出近似
、
量化和裁剪等方法压缩网络体积,压缩技术通过去除冗余和不相关性来减小模型大小,在降低内存带宽方面起着至关重要的作用
。
[0003]作为网络压缩的关键技术之一,量化将权重参数从
32
位浮点精度转换为8位或更低,减少了网络的计算强度
、
参数和内存消耗
。
然而,网络量化往往会导致精度的损失,如何在不显著损失精度的情况下减小网络尺寸已成为该领域的研究热点
。
为了补偿量化损失,
DoReFa
‑
Net
提出了一种使用位卷积核进行训练和推断的方法
。Choi
等人引入了
P
【技术保护点】
【技术特征摘要】
1.
一种面向
FPGA
的
CNN
定制网络量化加速方法,其特征在于:该方法包括以下步骤:
S1
:构建神经网络,并训练全精度神经网络模型;
S2
:引入改进后的
PACT
方法,并使用感知量化方法对模型进行量化;
S3
:根据网络模型结构的不同,采用卷积连续执行方法
CEOCO
将特定的非卷积算子进行量化,得到量化模型后进行融合操作;
S4
:部署轻量级
CNNs
到目标硬件
FPGA
上推理加速验证
。2.
根据权利要求1所述的一种面向
FPGA
的
CNN
定制网络量化加速方法,其特征在于:所述
S1
具体包括:构建轻量化神经网络模型,将图像分类数据集进行预处理,分为训练集和验证集,并对图像进行随机翻转
、
亮度调整并随机裁剪到统一尺寸;将处理好的图片输入到神经网络中进行全精度模型训练
。3.
根据权利要求1所述的一种面向
FPGA
的
CNN
定制网络量化加速方法,其特征在于:所述
S2
具体包括:对
PACT
方法进行分析和改进,将
PACT
方法对激活值小于0的数值进行改进处理;对神经网络进行量化感知训练,在前向传播时利用量化器对激活值先使用
PACT
预处理,再进行逐层的对称量化与反量化,对权重值则采用更细粒的逐通道的对称量化与反量化;通过量化和反量化数值来引入量化数值所带来的误差,在进行卷积计算的时候,使用的是反量化的浮点数值,学习量化带来的误差;在进行反向传播时,由于使用了取整函数
round
‑
to
‑
nearest
,这会导致梯度计算全部为0,利用直通估计器
STE
来解决这个问题,即直接跳过量化计算公式,将数值传到上一层进行计算;改进的
PACT
方法的公式为:其中,
x
为输入激活值,
y
为利用
PACT
函数截断后的值,
α
与
β
为两个可训练的参数,设置
α
的初始值为
20
,设置
β
的初始值为3,在神经网络量化训练时,通过改变
α
与
β
的值将激活值进行截断操作,去除异常值从而使得待映射数值紧凑;对权重采用逐通道对称量化的公式为:对权重采用逐通道对称量化的公式为:其中,
W
i
为卷积层的第
i
个卷积核的权重,为通过
Q(
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。