一种基于残差卷积神经网络的量化处理方法及装置制造方法及图纸

技术编号:22296079 阅读:43 留言:0更新日期:2019-10-15 05:08
本发明专利技术提供了一种基于残差卷积神经网络的量化处理方法及装置,该方法包括:获取卷积神经网络的第N层输出数据,对第N层输出数据进行第一量化操作以获得第一量化数据,并将第一量化数据输入至卷积神经网络的第N+1层网络;对第一量化数据进行第二量化操作以获得第二量化数据,将第二量化数据保存至存储器;获取卷积神经网络的第N+M层输出数据,并从存储器读取第二量化数据,以及根据卷积神经网络的第N+M层输出数据与第二量化数据进行逐点运算,其中,N、M为正整数。利用上述方法,节省了用于暂存残差网络中输出数据的存储空间,并减少了对存储器的访问,提高了数据的写入写出效率,降低芯片能耗。

A Quantitative Processing Method and Device Based on Residual Convolutional Neural Network

【技术实现步骤摘要】
一种基于残差卷积神经网络的量化处理方法及装置
本专利技术属于神经网络计算领域,具体涉及一种基于残差卷积神经网络的量化处理方法及装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。卷积神经网络(ConvolutionalNeuralNetworks,简称CNN)是目前非常流行的一种深度学习。残差网络(Resnet)是卷积神经网络的一种,其主要思想是在网络中增加了直连通道(HighwayNetwork)的思想。在引入残差网络之前,传统的卷积神经网络或者全连接网络是对输入数据做一个非线性变换。而引入残差网络之后,则允许原始输入信息直接传到后面的层中。由于传统的卷积神经网络或者全连接网络在信息传递的时候或多或少会存在信息丢失,损耗等问题,同时还有导致梯度消失或者梯度爆炸,导致很深的网络无法训练。而残差网络通过直接将输入信息绕道传到输出而保护信息的完整性,且整个网络只需要学习输入、输出差别的那一部分,简化学习目标和难度。图1示出了根据现有技术的残差网络的计算过程的示意图。其中,在第N层与残差网络中用于执行逐点运算的运算层之间可以有一层或多层神经网络层,包括但不限于卷积、池化、放大、缩放。在现有的残差网络计算方案中,为了将第N层计算的输出结果x与第N+M层的输出结果f(x)做逐点运算,其中,N、M均为正整数,需要将第N层的计算结果x保存在存储空间中,进而在计算完第N+M层神经网络之后,再将存储空间中的第N层的输出结果x取出,并与该第N+M层的计算结果进行逐点运算。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在如下问题:随着AI(ArtificialIntelligence,人工智能)技术的发展,目前的神经网络呈现越来越深的趋势,并因此可能具有很多残差层,目前的卷积神经网络计算芯片在实现残差网络时,需要多次的写入、读取存储器的操作,会造成上述存储空间访问带宽升高,进而导致芯片功耗提高,计算效率降低等问题。且对于实时性要求较高的设备来说,还可能由于存储空间的带宽受限而导致芯片处理的实时性下降。
技术实现思路
针对上述现有技术在实现残差网络时,需要多次的写入、读取存储器的操作,而导致的存储空间访问带宽升高、芯片功耗提高,计算效率以及处理实时性降低等问题。本专利技术实施例提出了一种基于残差卷积神经网络的量化处理方法及装置,利用这种方法及装置,能够解决上述问题。本专利技术的实施例中提供了以下方案。一方面,提供了一种基于残差网络的数据处理方法,包括:获取卷积神经网络的第N层输出数据,对所述第N层输出数据进行第一量化操作以获得第一量化数据,并将所述第一量化数据输入至所述卷积神经网络的第N+1层网络;对所述第一量化数据进行第二量化操作以获得第二量化数据,将所述第二量化数据保存至存储器;获取所述卷积神经网络的第N+M层输出数据,并从所述存储器读取所述第二量化数据,以及根据所述卷积神经网络的第N+M层输出数据与所述第二量化数据进行逐点运算,其中,所述N、M为正整数。可选地,其中,所述第一量化操作为线性量化操作,所述第二量化操作为非线性量化操作。可选地,其中,所述根据所述卷积神经网络的第N+M层输出数据与所述第一量化数据进行逐点运算还包括:根据预设量化精度对所述第N+M层输出数据执行第一反量化操作,以获得第一反量化数据;根据所述预设量化精度对所述第二量化数据执行第二反量化操作,以获得与所述第一反量化数据的小数点位置对齐的第二反量化数据;对所述第一反量化数据与所述第二反量化数据执行逐点运算。可选地,其中,所述根据所述卷积神经网络的第N+M层输出数据与所述第一量化数据进行逐点运算包括:根据所述第N+M层输出数据的小数点位置来对所述第二量化数据进行第三反量化操作,以获得与所述第N+M层输出数据的小数点位置对齐的第三反量化数据;对所述第N+M层输出数据与所述第三反量化数据执行逐点运算。可选地,其中,所述第一量化操作的量化程度为8bit,所述第二量化操作的量化程度为2-4bit。另一方面,提供了一种基于残差网络的数据处理装置,包括:第一量化模块,用于获取卷积神经网络的第N层输出数据,对所述第N层输出数据进行第一量化操作以获得第一量化数据,并将所述第一量化数据输入至所述卷积神经网络的第N+1层网络;第二量化模块,用于对所述第一量化数据进行第二量化操作以获得第二量化数据,将所述第二量化数据保存至存储器;逐点运算模块,用于获取所述卷积神经网络的第N+M层输出数据,并从所述存储器读取所述第二量化数据,以及根据所述卷积神经网络的第N+M层输出数据与所述第二量化数据进行逐点运算,其中,所述N、M为正整数。可选地,其中,所述第一量化操作为线性量化操作,所述第二量化操作为非线性量化操作。可选地,其中,所述逐点运算模块还包括:第一反量化模块,用于根据预设量化精度对所述第N+M层输出数据执行第一反量化操作,以获得第一反量化数据;第二反量化模块,用于根据所述预设量化精度对所述第二量化数据执行第二反量化操作,以获得与所述第一反量化数据的小数点位置对齐的第二反量化数据;第一逐点运算子模块,用于对所述第一反量化数据与所述第二反量化数据执行逐点运算。可选地,其中,所述逐点运算模块还包括:第三反量化模块,用于根据所述第N+M层输出数据的小数点位置来对所述第二量化数据进行第三反量化操作,以获得与所述第N+M层输出数据的小数点位置对齐的第三反量化数据;第二逐点运算子模块,用于对所述第N+M层输出数据与所述第三反量化数据执行逐点运算。可选地,其中,所述第一量化操作的量化程度为8bit,所述第二量化操作的量化程度为2-4bit。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本专利技术实施例通过对残差网络的主路径(进入下层网络中继续进行卷积计算的路径)与辅助路径(存入存储器的路径)采用两种不同的数据量化方式,其中,对进入主路径的数据进行一次量化操作以使其具有较高的精度,并对该一次量化操作后的数据进行二次量化操作,以获得具有更低精度的数据进行存储,以达到节省存储空间、降低芯片功耗,提高计算效率以及处理实时性等技术效果。应当理解,上述说明仅是本专利技术技术方案的概述,以便能够更清楚地了解本专利技术的技术手段,从而可依照说明书的内容予以实施。为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本专利技术的具体实施方式。附图说明通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的有点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:图1为根据现有技术中的残差卷积神经网络的计算流程示意图;图2为根据本专利技术一实施例的残差卷积神经网络的量化处理方法的流程示意图;图3为根据本专利技术一实施例的用于执行图2所示出方法的AI加速芯片的示意图;图4为根据本专利技术一实施例的残差卷积神经网络的计算流程示意图;图5为根据本专利技术另一实施例的残差卷积神经网络的量化处理方法的流程示意图;图6为根据本专利技术另一实施例的残差卷积神经网络的计算流程示意图;图7为根据本专利技术又一实施例的残差卷积神经网络的量化处理方法的流程示意图;本文档来自技高网
...

【技术保护点】
1.一种基于残差卷积神经网络的量化处理方法,其特征在于,包括:获取卷积神经网络的第N层输出数据,对所述第N层输出数据进行第一量化操作以获得第一量化数据,并将所述第一量化数据输入至所述卷积神经网络的第N+1层网络;对所述第一量化数据进行第二量化操作以获得第二量化数据,将所述第二量化数据保存至存储器;获取所述卷积神经网络的第N+M层输出数据,并从所述存储器读取所述第二量化数据,以及根据所述卷积神经网络的第N+M层输出数据与所述第二量化数据进行逐点运算,其中,所述N、M为正整数。

【技术特征摘要】
1.一种基于残差卷积神经网络的量化处理方法,其特征在于,包括:获取卷积神经网络的第N层输出数据,对所述第N层输出数据进行第一量化操作以获得第一量化数据,并将所述第一量化数据输入至所述卷积神经网络的第N+1层网络;对所述第一量化数据进行第二量化操作以获得第二量化数据,将所述第二量化数据保存至存储器;获取所述卷积神经网络的第N+M层输出数据,并从所述存储器读取所述第二量化数据,以及根据所述卷积神经网络的第N+M层输出数据与所述第二量化数据进行逐点运算,其中,所述N、M为正整数。2.由权利要求1所述的方法,其特征在于,所述第一量化操作为线性量化操作,所述第二量化操作为非线性量化操作。3.由权利要求1所述的方法,其特征在于,所述根据所述卷积神经网络的第N+M层输出数据与所述第一量化数据进行逐点运算,包括:根据预设量化精度对所述第N+M层输出数据执行第一反量化操作,以获得第一反量化数据;根据所述预设量化精度对所述第二量化数据执行第二反量化操作,以获得与所述第一反量化数据的小数点位置对齐的第二反量化数据;对所述第一反量化数据与所述第二反量化数据执行逐点运算。4.由权利要求1所述的方法,其特征在于,所述根据所述卷积神经网络的第N+M层输出数据与所述第一量化数据进行逐点运算,包括:根据所述第N+M层输出数据的小数点位置对所述第二量化数据进行第三反量化操作,以获得与所述第N+M层输出数据的小数点位置对齐的第三反量化数据;对所述第N+M层输出数据与所述第三反量化数据执行逐点运算。5.由权利要求1所述的方法,其特征在于,所述第一量化操作的量化程度为8bit,所述第二量化操作的量化程度为2~4bit。6.一种基于残差卷积神经...

【专利技术属性】
技术研发人员:徐兵张楠赓
申请(专利权)人:杭州嘉楠耘智信息科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1