卷积神经网络作为人工智能领域中一种重要方法,在计算机视觉、自然语言处理等领域表现出相对于传统算法极大的性能优势,被广泛应用在各种生活场景中。不过随着卷积神经网络性能的提升,网络中的计算量和参数量也日益增大,这限制了其在手机、物联网终端设备等计算和存储能力有限硬件中的应用。针对该情况,本文对神经网络压缩和加速算法进行研究,提出一种基于张量分解的卷积神经网络加速算法。另外当利用张量分解对多个卷积层进行加速时,为合理地确定各卷积层的加速比例,本文提出两种Tucker秩选取方法。本文的主要研究内容和贡献包括:1.本文提出一种基于Tucker与CP(CANDECOM/PARAFAC)联合分解的卷积神经网络加速方法,Tucker-CP分解法。该方法首先利用Tucker方法将卷积核分解为核张量和因子矩阵,之后利用CP方法将核张量分解为多个秩为1的张量。实验表明,当利用Tucker-CP分解法对VGG加速8倍时,加速网络的分类正确率相比于原网络下降了2.065%。与单独使用Tucker分解法和单独使用CP分解法相比,分类正确率下降值分别减少了26.36%和50.62%。2.本文提出一种Tucker秩选取方法,由于该方法对变分贝叶斯矩阵分解(Variational Bayesian Matrix Factorization,VBMF)求得的Tucker秩进行了调整,故称为VBMF-V(VBMF Variant)方法。该方法考虑到不同卷积核在稀疏性和对网络性能影响程度方面的差异,首先利用VBMF求得体现各卷积核稀疏性的Tucker秩,之后利用该秩对卷积核进行分解,计算卷积核分解后单位计算减少量引起的分类正确率下降值,最后根据该值对VBMF求得的Tucker秩进行调整。实验表明,以VBMF-V方法选取的秩对Alex Net中各卷积核做Tucker分解,当Alex Net加速4倍时,加速网络的分类正确率相比于原网络下降了3.63%。与以相同比例加速各卷层相比,分类正确率下降值减少了13%。3.本文提出基于分类正确率下降值关于奇异值比值的拟合函数(Fitting Accuracy drop with Singular value proportion,FAS)选取Tucker秩的方法。考虑到随着Tucker秩的改变,单位计算减少量引起的分类正确率下降值也是变化的,该方法采用迭代算法,在迭代中利用FAS拟合函数,计算Tucker秩每减1时单位计算减少量引起的分类正确率下降值,并根据该值选择需要调整的Tucker秩。实验表明,以FAS方法选取的秩对Alex Net中各卷积核做Tucker分解,当Alex Net加速4倍时,加速网络的分类正确率相比于原网络下降了3.13%。与以相同比例加速各卷层相比,分类正确率下降值减少了25%。
随着对人工智能的研究逐渐深入,神经网络在性能逐渐增强的同时规模和计算复杂度也逐渐提升;与此同时,人工智能逐渐普及,这使得对人工智能边缘化的研究逐渐成为重点,但边缘AI的性能受限于设备算力无法有效提升,这种情况下通过存内运算等方法突破传统冯诺依曼架构的内存墙、对神经网络的运算进行加速的需求日益增长。因此,诸如RRAM(Resistive Random Access Memory,随机阻变存储器)等的新型器件进入人们的视野,这些非易失性存储器的独特性能为构建神经网络、进行神经网络的加速提供了新的思路和方向。本文对利用RRAM进行卷积神经网络的构建方法进行了研究,主要工作如下:研究了卷积神经网络的结构和工作原理,对RRAM器件的结构、电学特性进行了分析,进而研究了利用RRAM的阻变特性代替卷积神经网络中的权重以构建硬件实现的卷积神经网络的方法。本文设计了一种基于FPGA的利用RRAM实现的非二值权重卷积神经网络架构,包括电导代替权重的方法、电导的编程方法、神经网络中数据的离散化编码方式、层间数据的压缩等,此外本文还使用了行缓存器(Line buffer)结构对神经网络的卷积操作进行了进一步的加速。文章在Vivado中对提出的方案进行了仿真,并在FPGA上完成了基于RRAM的卷积神经网络的原型验证,结果表明所设计的网络可以实现对MNIST数据集测试集的83.63%识别准确率。
暂无评论