公开/公告号CN112232491A
专利类型发明专利
公开/公告日2021-01-15
原文格式PDF
申请/专利权人 深兰人工智能(深圳)有限公司;
申请/专利号CN202011180903.4
发明设计人 陈海波;其他发明人请求不公开姓名;
申请日2020-10-29
分类号G06N3/04(20060101);G06F7/483(20060101);G06F7/485(20060101);G06F7/487(20060101);
代理机构32231 常州佰业腾飞专利代理事务所(普通合伙);
代理人刘松
地址 518131 广东省深圳市龙华区民治街道民治社区1970科技园8栋115
入库时间 2023-06-19 09:35:27
技术领域
本发明涉及模型量化技术领域,具体涉及一种基于卷积神经网络模型的特征提取方法和一种基于卷积神经网络模型的特征提取装置。
背景技术
卷积神经网络模型在语音识别、文字识别、以及图像视频识别等许多领域中已经有了广泛而成功的应用。在一些指定的目标任务中,训练好的卷积神经网络模型需要进一步部署到目标设备进行加速,由于一般的神经网络模型都是双精度或单精度浮点数运算,因此,需要对卷积神经网络模型进行量化处理,才能使尽可能多的目标设备能够满足运算需求。
相关技术中,在对卷积神经网络模型进行量化时,系统的计算速度较慢,并且占用的存储空间较大。
发明内容
本发明为解决上述技术问题,提供了一种基于卷积神经网络模型的特征提取方法,能够大大提高系统的计算速度,并且占用的存储空间较小。
本发明采用的技术方案如下:
一种基于卷积神经网络模型的特征提取方法,包括以下步骤:获取目标对象对应的待处理数据;采用卷积神经网络模型中conv层对待处理数据进行特征提取以获取第一数据;采用所述卷积神经网络模型中Eltwise层根据所述第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数;根据所述第三数据对应的定点数获取所述所述目标对象对应的特征数据。
所述采用所述卷积神经网络模型中Eltwise层根据所述第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数,包括:分别计算所述第二数据和所述第三数据对应的量化系数;根据所述第三数据对应的量化系数和所述第一数据对应的浮点数获取所述第一数据对应的定点数;根据所述第二数据对应的量化系数和所述第二数据对应的浮点数获取所述第二数据对应的定点数;根据所述第一数据对应的定点数、所述第二数据对应的定点数、所述第二数据对应的量化系数和所述第三数据对应的量化系数计算所述第四数据对应的定点数。
通过以下公式计算所述第三数据对应的定点数:
其中,q
一种基于卷积神经网络模型的特征提取装置,包括:第一获取模块,所述第一获取模块用于获取所述目标对象对应的待处理数据;第二获取模块,所述第二获取模块用于采用所述卷积神经网络模型中conv层对所述待处理数据进行特征提取以获取第一数据;计算模块,所述计算模块用于采用所述卷积神经网络模型中Eltwise层根据所述第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数;第三获取模块,所述第三获取模块用于根据所述第三数据对应的定点数获取目标对象对应的特征数据。
所述计算模块包括:第一计算单元,所述第一计算单元用于分别计算所述第二数据和所述第三数据对应的量化系数;第一获取单元,所述第一获取单元用于根据所述第三数据对应的量化系数和所述第一数据对应的浮点数获取所述第一数据对应的定点数;第二获取单元,所述第二获取单元用于根据所述第二数据对应的量化系数和所述第二数据对应的浮点数获取所述第二数据对应的定点数;第二计算单元,所述第二计算单元用于根据所述第一数据对应的定点数、所述第二数据对应的定点数、所述第二数据对应的量化系数和所述第三数据对应的量化系数计算所述第三数据对应的定点数。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的基于卷积神经网络模型的特征提取方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于卷积神经网络模型的特征提取方法。
本发明的有益效果:
本发明将卷积神经网络模型中conv层和Eltwise层合并为一层进行操作计算,从而大大提高了系统的计算速度,并且占用的存储空间较小。
附图说明
图1为本发明实施例的基于卷积神经网络模型的特征提取方法的流程图;
图2为本发明一个实施例的基于卷积神经网络模型的特征提取方法的流程图;
图3为本发明实施例的基于卷积神经网络模型的特征提取装置的方框示意图;
图4为本发明一个实施例的基于卷积神经网络模型的特征提取装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是根据本发明实施例的基于卷积神经网络模型的特征提取方法的流程图。
相关技术中,在对目标对象进行特征提取的过程中,对卷积神经网络模型进行量化时,是单独对卷积神经网络模型中Eltwise层进行定点量化。具体地,在卷积神经网络模型中conv层输出数据之后,先单独地将Eltwise层的两个输入数据进行定点后,再执行相应的操作,例如,进行加法操作、减法操作、乘法操作等。因此,计算速度较慢,并且占用的存储空间较大。
为此,本发明实施例提出了一种基于卷积神经网络模型的特征提取方法,将卷积神经网络模型中conv层和Eltwise层合并为一层进行操作计算,从而大大提高了系统的计算速度,并且占用的存储空间较小。
具体地,如图1所示,本发明实施例的基于卷积神经网络模型的特征提取方法可包括以下步骤:
S1,获取目标对象对应的待处理数据。
具体而言,卷积神经网络模型应用在不同的领域中,对应的目标对象是不同的,因此,目标对象对应的待处理数据也不相同。例如,当卷积神经网络模型应用在语音识别领域时,目标对象为目标语音,对应的待处理数据为目标语音数据;当卷积神经网络模型应用在文字识别领域时,目标对象为目标文字,对应的待处理数据为目标文字数据;当卷积神经网络模型应用在图像视频领域时,目标对象为目标图像视频,对应的待处理数据为目标图像视频数据。当然,卷积神经网络模型也可应用在其他的领域,在此不再一一赘述。
S2,采用卷积神经网络模型中conv层对待处理数据进行特征提取以获取第一数据。
具体而言,可将待处理数据作为卷积神经网络模型中conv层的输入,并将其输入到conv层中,以通过conv层对待处理数据进行特征提取从而输出第一数据。
需要说明的是,在特征提取的过程中,还可获取conv层的输入对应的量化系数q
S3,采用卷积神经网络模型中Eltwise层根据第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数。
具体地,在采用卷积神经网络模型中conv层获取到第一数据后,可将第一数据对应的浮点数和第二数据对应的浮点数作为卷积神经网络模型中Eltwise层输入,此时,可采用卷积神经网络模型中Eltwise层对第一数据对应的浮点数和第二数据对应的浮点数进行相应的操作,以计算第三数据对应的定点数。其中,Eltwise层可进行sum(相加减)、product(点乘)、max(取大值)等操作。
下面结合具体实施例来详细说明如何采用卷积神经网络模型中Eltwise层根据第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数。
根据本发明的一个实施例,如图2,采用卷积神经网络模型中Eltwise层根据第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数可包括以下步骤:
S201,分别计算第二数据和第三数据对应的量化系数。
S202,根据第三数据对应的量化系数和第一数据对应的浮点数获取第一数据对应的定点数。
具体而言,在本发明实施例中,对于Eltwise层和conv层相邻的情况,第二数据对应的量化系数与第三数据对应的量化系数相同,因此,仅需重新计算第三数据对应的量化系数,无需再计算第一数据对应的量化系数,从而简化了计算过程,提高了计算速度。
进一步而言,在计算出第三数据对应的量化系数后,可对第三数据对应的量化系数与第一数据对应的浮点数进行乘法运算以获取第一数据对应的定点数。
S203,根据第二数据对应的量化系数和第二数据对应的浮点数获取第二数据对应的定点数。
具体地,在计算出第二数据对应的量化系数后,可对第二数据对应的量化系数和第二数据对应的浮点数进行乘法运算以获取第二数据对应的定点数。
S204,根据第一数据对应的定点数、第二数据对应的定点数、第二数据对应的量化系数和第三数据对应的量化系数计算第三数据对应的定点数。
具体而言,在分别计算出第一数据对应的定点数和第二数据对应的定点数后,可根据第一数据对应的定点数、第二数据对应的定点数、第二数据对应的量化系数和第三数据对应的量化系数计算第三数据对应的定点数。
下面结合具体实施例来详细说明如何计算第三数据对应的定点数。
根据本发明的一个实施例,通过以下公式计算第三数据对应的定点数:
其中,q
具体而言,作为一种可能的实施方式,当卷积神经网络模型中Eltwise层进行相加操作时,可将获取到的第二数据对应的量化系数q
需要说明的是,在计算过程中,可先采用近似除法分别计算公式(1)中的系数
根据本发明的另一个实施例,当卷积神经网络模型中Eltwise层进行其他操作,例如进行相减、点乘、取大值等操作时,也可根据第一数据对应的定点数、第二数据对应的定点数、第二数据对应的量化系数和第三数据对应的量化系数计算第三数据对应的定点数,具体的计算过程与上述Eltwise层进行相加操作时的计算过程类似,在此不再详述。
S4,根据第三数据对应的定点数获取目标对象对应的特征数据。
具体而言,在通过上述方式计算出第三数据对应的定点数后,可先将第三数据对应的定点数于第三数据对应的量化系数进行除法运算,以获取第三数据对应的浮点数。然后根据第三数据对应的浮点数获取目标对象对应的特征数据。
由此,本发明实施例中,将卷积神经网络模型中conv层和Eltwise层合并为一层进行操作计算,并且在计算过程中减少了对第一数据对应的量化系数进行计算的步骤,同时采用近似除法对公式(1)中的系数
综上所述,根据本发明实施例的基于卷积神经网络模型的特征提取方法,获取目标对象对应的待处理数据,以及采用卷积神经网络模型中conv层对待处理数据进行特征提取以获取第一数据,并采用卷积神经网络模型中Eltwise层根据第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数,以及根据第三数据对应的定点数获取目标对象对应的特征数据。由此,能够大大提高系统的计算速度,并且占用的存储空间较小。
对应上述实施例的基于卷积神经网络模型的特征提取方法,本发明还提出一种基于卷积神经网络模型的特征提取装置。
如图3所示,本发明实施例的基于卷积神经网络模型的特征提取装置可包括第一获取模块100、第二获取模块200、计算模块300和第三获取模块400。
其中,第一获取模块100用于获取所述目标对象对应的待处理数据;第二获取模块200用于采用卷积神经网络模型中conv层对待处理数据进行特征提取以获取第一数据;计算模块300用于采用卷积神经网络模型中Eltwise层根据第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数;第三获取模块400用于根据第三数据对应的定点数获取目标对象对应的特征数据。
根据本发明的一个实施例,如图4所示,计算模块300可包括第一计算单元310、第一获取单元320、第二获取单元330和第二计算单元340。
其中,第一计算单元310用于分别计算第二数据和第三数据对应的量化系数;第一获取单元320用于根据第三数据对应的量化系数和第一数据对应的浮点数获取第一数据对应的定点数;第一获取单元330用于根据第二数据对应的量化系数和第二数据对应的浮点数获取第二数据对应的定点数;第二计算单元340用于根据第一数据对应的定点数、第二数据对应的定点数、第二数据对应的量化系数和第三数据对应的量化系数计算第三数据对应的定点数。
需要说明的是,本发明实施例的基于卷积神经网络模型的特征提取装置更具体的实施方式可参照上述基于卷积神经网络模型的特征提取方法的实施例,在此不再赘述。
根据本发明实施例的基于卷积神经网络模型的特征提取装置,通过第一获取模块获取目标对象对应的待处理数据,以及通过第二获取模块采用卷积神经网络模型中conv层对待处理数据进行特征提取以获取第一数据,并通过计算模块采用卷积神经网络模型中Eltwise层根据第一数据对应的浮点数和第二数据对应的浮点数计算第三数据对应的定点数,以及通过第三获取模块根据第三数据对应的定点数获取第三数据对应的浮点数。由此,能够大大提高系统的计算速度,并且占用的存储空间较小。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述实施例的基于卷积神经网络模型的特征提取方法。
根据本发明实施例的计算机设备,能够大大提高系统的计算速度,并且占用的存储空间较小。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的基于卷积神经网络模型的特征提取方法。
根据本发明实施例的非临时性计算机可读存储介质,能够大大提高系统的计算速度,并且占用的存储空间较小。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
机译: 基于卷积神经网络的声学特征提取方法和装置及终端设备
机译: 基于卷积神经网络和终端设备的声学特征提取方法及装置
机译: 卷积神经网络模型中特征图像的确定方法和装置