209.
卷积神经网络(convolutional neural network,CNN)已成为图像识别领域最重要的一项机器学习技术. 近年来,随着CNN在边缘端部署的需求越来越多,CNN的轻量化也成为研究热点. 主流的CNN轻量化方法包括剪枝和量化,这2项技术都能有效地减少CNN推导过程中计算和存储开销. 然而,这些方法未能完全挖掘CNN中的双边稀疏性(权重稀疏和激活值稀疏)和潜在的数据复用. 因此,为了解决上述问题,提出一种全新的神经网络轻量化方法,通过
k-means算法对卷积核和特征图的非0值进行聚类,整个神经网络的推导过程中只使用有限的聚类值作为乘数去完成全部卷积计算. 与以往卷积层计算复杂度$ O({n}^{3}) $相比,轻量化处理后的卷积层计算复杂度仅为$ O({n}^{2}) $,大幅度减少了计算量. 同时,将全连接层权重也进行非0值聚类处理,片上只存储聚类值和对应的索引向量,极大地减少存储开销. 最后,针对该轻量化方法设计一种硬件实现架构KCNN. 该架构将CNN中的不同处理流程模块化实现,与以往的实现架构相比增加一个非0值聚类模块,此外还设计了一些缓存来利用聚类后CNN中的数据复用. 实验结果表明在不损失推导精度的情况下,AlexNet网络整体计算量减少66%,存储开销减少85%.… …
相似文献