面向多特征图的异构深度神经网络结构组合方法及系统与流程

文档序号:20920662发布日期:2020-05-29 14:06阅读:224来源:国知局
面向多特征图的异构深度神经网络结构组合方法及系统与流程

本发明涉及异构神经网络技术领域,特别是指一种面向多特征图的异构深度神经网络结构组合方法及系统。



背景技术:

随着人工智能技术的发展,深度学习在各个领域均有广泛的应用。其中,卷积神经网络(convolutionalneuralnetworks,cnn)由于其较好的空间特征识别能力,被广泛使用于图像领域;循环神经网络(recurrentneuralnetworks,rnn)由于其较好的时间特征识别能力,被广泛应用于自然语言处理领域。

然而单一的深度神经网络结构无法同时提取时间与空间两个维度特征,因此为实现更复杂任务处理,异构神经网络及融合方法随之产生。cnn用于提取输入数据的空间维度特征,rnn用于提取输入数据的时间维度特征,二者融合的结构可同时获取数据的时空特征,大大扩展了深度学习的应用场景。

现有异构深度神经网络结构组合的方法单一,且两个网络结构组合时,未能考虑前置神经网络的输出中特征映射子图中原有的空间特征,都是直接将其映射到一维向量并传到后置神经网络的输入中。该种方式不但会破坏特征子图的内在空间特征,而且计算复杂度高,还会影响深度神经网络模型的准确度。



技术实现要素:

本发明要解决的技术问题是提供一种面向多特征图的异构深度神经网络结构组合方法及系统,保留前置深度神经网络输出模块中特征子图的内在空间特征,解决现有异构深度神经网络结构组合方法不但会破坏特征子图的内在空间特征,而且计算复杂度高,还会影响深度神经网络模型的准确度的问题。

为解决上述技术问题,本发明提供如下技术方案:

一种面向多特征图的异构深度神经网络结构组合方法,所述面向多特征图的异构深度神经网络结构组合方法包括:

获取前置神经网络的输出模块输出的特征子图;

对所述特征子图进行拼接操作,得到拼接特征图;

将所述拼接特征图输出至后置神经网络的输入模块。

其中,所述前置神经网络为循环神经网络或卷积神经网络。

其中,所述后置神经网络为循环神经网络或卷积神经网络。

其中,当所述后置神经网络为卷积神经网络时,所述对所述特征子图进行拼接操作,得到拼接特征图的过程,包括:

设横向拼接参数为x,则纵向拼接参数y=c/x;其中,x为[1,c]之间的整数,且满足c可整除x,c为所述特征子图的个数;

将[1,x],[x+1,2x],…,[c-x+1,c]各区间的特征子图进行横向拼接,得到y个宽度为w*x,高度为h的横向拼接特征子图;其中,w为所述特征子图的宽度,h为所述特征子图的高度;

将y个横向拼接特征子图按顺序进行纵向拼接,得到一个宽度为w*x,高度为h*y的拼接特征图。

其中,当所述后置神经网络为循环神经网络时,所述对所述特征子图进行拼接操作,得到拼接特征图的过程,包括:

判断所述后置神经网络的输入模块的输入层神经元个数w是否为所述特征子图的宽度w的整数倍;

若w是w的整数倍,则计算横向拼接参数x=w/w,纵向拼接参数y=c/x;其中,c为所述特征子图的个数;

将[1,x],[x+1,2x],…,[c-x+1,c]各区间特征子图进行横向拼接,得到y个宽度为w*x,高度为h的横向拼接特征子图;其中,h为所述特征子图的高度;

将y个横向拼接特征子图按顺序进行纵向拼接,得到一个宽度为w*x,高度为h*y的拼接特征图。

相应地,为解决上述技术问题,本发明还提供如下技术方案:

一种面向多特征图的异构深度神经网络结构组合系统,所述面向多特征图的异构深度神经网络结构组合系统包括:

特征子图获取模块,用于获取前置神经网络的输出模块输出的特征子图;

特征子图拼接模块,用于对所述特征子图进行拼接操作,得到拼接特征图;

拼接特征图输出模块,用于将拼接特征图输至后置神经网络的输入模块。

其中,所述前置神经网络为循环神经网络或卷积神经网络。

其中,所述后置神经网络为循环神经网络或卷积神经网络。

其中,若后置神经网络为卷积神经网络,所述特征子图拼接模块用于:

设横向拼接参数为x,则纵向拼接参数y=c/x;其中,x为[1,c]之间的整数,且满足c可整除x,c为所述特征子图的个数;

将[1,x],[x+1,2x],…,[c-x+1,c]各区间的特征子图进行横向拼接,得到y个宽度为w*x,高度为h的横向拼接特征子图;其中,w为所述特征子图的宽度,h为所述特征子图的高度;

将y个横向拼接特征子图按顺序进行纵向拼接,得到一个宽度为w*x,高度为h*y的拼接特征图。

其中,若后置神经网络为循环神经网络,特征子图拼接模块用于:

判断所述后置神经网络的输入模块的输入层神经元个数w是否为所述特征子图的宽度w的整数倍;

若w是w的整数倍,则计算横向拼接参数x=w/w,纵向拼接参数y=c/x;其中,c为所述特征子图的个数;

将[1,x],[x+1,2x],…,[c-x+1,c]各区间特征子图进行横向拼接,得到y个宽度为w*x,高度为h的横向拼接特征子图;其中,h为所述特征子图的高度;

将y个横向拼接特征子图按顺序进行纵向拼接,得到一个宽度为w*x,高度为h*y的拼接特征图。

本发明的上述技术方案的有益效果如下:

本发明的面向多特征图的异构深度神经网络结构组合方法通过拼接多个特征子图连接异构神经网络的输出模块与输入模块,通过一个拼接操作替代现有的扁平化操作与重构操作,保留了前置深度神经网络输出模块中特征子图的内在空间特征,保持原有特征图的时空特征相关性,不破坏原有特征子图的空间结构;提高了异构神经网络模型的组合效率,无需进行复杂的计算,提高了异构神经网络模型的构建效率,并且提高了异构深度神经网络模型的准确度。

附图说明

图1为本发明实施例提供的异构深度神经网络模型总体架构示意图;

图2为本发明实施例提供的卷积神经网络模块结构与参数示意图;

图3为本发明实施例提供的循环神经网络模块结构与参数示意图;

图4为本发明实施例提供的异构深度神经网络模型连接处理流程示意图;

图5为本发明实施例提供的异构深度神经网络连接结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

第一实施例

本实施例提供一种面向多特征图的异构深度神经网络结构组合方法,所述面向多特征图的异构深度神经网络结构组合方法包括:

s101,获取前置神经网络的输出模块输出的特征子图;

s102,对特征子图进行拼接操作,得到拼接特征图;

s103,将拼接特征图输出至后置神经网络的输入模块。

其中,上述前置神经网络可以是循环神经网络rnn,也可以是卷积神经网络cnn。上述后置神经网络可以是循环神经网络rnn,也可以是卷积神经网络cnn;也即本实施例所组合的异构深度神经网络结构可以是前置rnn+后置cnn,也可以是前置cnn+后置rnn。

若后置神经网络为cnn,则特征子图的拼接过程,包括:

设横向拼接参数为x,则纵向拼接参数y=c/x;其中,x为[1,c]之间的整数,且满足c可整除x,c为特征子图的个数;

将[1,x],[x+1,2x],…,[c-x+1,c]各区间的特征子图进行横向拼接,得到y个宽度为w*x,高度为h的横向拼接特征子图;其中,w为特征子图的宽度,h为特征子图的高度;

将y个横向拼接特征子图按顺序进行纵向拼接,得到一个宽度为w*x,高度为h*y的拼接特征图。

若后置神经网络为rnn,则特征子图的拼接过程,包括:

判断后置神经网络的输入模块的输入层神经元个数w是否为特征子图的宽度w的整数倍;

若w是w的整数倍,则计算横向拼接参数x=w/w,纵向拼接参数y=c/x;其中,c为特征子图的个数;

将[1,x],[x+1,2x],…,[c-x+1,c]各区间特征子图进行横向拼接,得到y个宽度为w*x,高度为h的横向拼接特征子图;其中,h为特征子图的高度;

将y个横向拼接特征子图按顺序进行纵向拼接,得到一个宽度为w*x,高度为h*y的拼接特征图。

下面结合具体应用实例进一步说明本实施例方法的效果,请参阅图1至图5,本实施例方法的具体应用包括以下步骤:

1、定义异构深度神经网络的网络架构,明确连接结构的逻辑和物理位置

首先根据任务目标定义满足任务需求的异构神经网络总体架构,明确连接结构的逻辑和物理位置。本实施例采用手写公开数据集mnist进行实例化说明。用于手写数字分类的异构神经网络分类模型如图1所示。

2、明确前置神经网络输出模块的结构及参数

根据输入图像大小明确前置卷积神经网络的结构及参数,其内部结构如图2所示。由图2可知,图像输入尺寸为28x28,进入cnn模块经过了两次5x5的卷积操作和两次2x2的池化操作,最后生成32张4x4的特征子图,将这些特征子图作为异构神经网络连接结构的输入。

3、初始化后置神经网络输入模块的结构及参数

初始化后置循环神经网络的结构及参数,设定其输入层初始为12个神经元节点,隐藏层为20个神经元节点,输出层为10个神经元节点,如图3所示。

4、根据异构神经网络特征子图拼接算法生成连接结构及参数

根据前置神经网络与后置神经网络的结构与参数,利用异构神经网络特征子图拼接算法生成连接结构及参数。

其中,该异构深度神经网络特征子图拼接算法的输入为:前置卷积神经网络输出模块的特征子图,特征子图的个数c,宽度w,高度h,后置神经网络输入模块的参数;输出为:拼接后的特征图的宽度w’和高度h’。

该异构深度神经网络特征子图拼接算法的执行过程为:

步骤1、判断后置神经网络为cnn还是rnn;若后置神经网络为cnn,则执行步骤2;若后置神经网络为rnn,则执行步骤3;

步骤2、若后置神经网络为cnn,则可对特征子图进行任意拼接。设异构神经网络连接结构横向拼接参数为x(x为[1,c]之间的整数,且满足c可整除x),则异构神经网络连接结构纵向拼接参数y=c/x,然后执行步骤5;

步骤3、若后置神经网络为rnn,则判断后置神经网络的输入层神经元个数w是否为w的整数倍,若是,则执行步骤4,若否,则执行步骤8;

步骤4、计算异构神经网络连接结构横向拼接参数x=w/w,纵向拼接参数y=c/x,然后执行步骤5;

步骤5、将[1,x],[x+1,2x],…,[c-x+1,c]等各区间特征子图进行横向拼接,得到y个宽度为w*x,高度为h的特征子图,然后执行步骤6;

步骤6、将步骤5中生成的y个特征子图按顺序进行纵向拼接,得到一个宽度为w*x,高度为h*y的特征图,然后执行步骤7;

步骤7、输出拼接后的特征图的宽度w’=w*x和高度h’=h*y;

步骤8、结束。

5、对融合后的异构深度神经网络进行测评与优化

利用mnist手写图像训练集对融合后的异构神经网络模型进行训练,利用mnist手写图像测试集对模型进行测评。

根据异构神经网络特征子图拼接算法,综合调整前置神经网络、后置神经网络以及异构神经网络连接结构的参数,对模型进行进一步优化。对比不同异构神经网络模型的分类准确率与效率,得到其中最优模型。

6、输出异构深度神经网络模型

输出上一步得到的异构深度神经网络模型,整个处理流程如图5所示。

例如,针对图5中的异构深度神经网络模型,经过卷积和池化操作后,得到32张卷积层特征子图,每个特征子图的大小为4×4,将其作为异构深度神经网络连接结构的输入,经过连接结构拼接以后输出拼接特征图,将拼接特征图作为下一个深度神经网络的输入。

7、输出优化后的连接结构

作为连接示例,针对图5所示的异构深度神经网络模型,连接结构将特征子图进行拼接操作,每组8张特征子图进行横向拼接,因此,横向宽度为32,并且得到4组4x32的横向拼接特征子图。然后将4组横向拼接特征子图进行纵向拼接,得到1个16x32的拼接特征图,将该拼接特征图作为后续深度神经网络的输入。异构深度神经网络连接过程如图4所示。

此时,拼接后特征图高度为16,宽度为32,可将该特征图每一行作为一个特征向量,输入到rnn输入层,利用rnn模型学习图像中的时间维度特征。

综上,本实施例的面向多特征图的异构深度神经网络结构组合方法通过拼接多个特征子图连接异构神经网络的输出与输入模块,通过拼接操作替代现有的扁平化操作与重构操作,保留了前置深度神经网络输出模块中特征子图的内在空间特征,保持原有特征图的时空特征相关性,不破坏原有特征子图的空间结构;提高了异构神经网络模型的组合效率,无需进行复杂的计算,提高了异构神经网络模型的构建效率,并且提高了异构深度神经网络模型的准确度。

第二实施例

本实施例提供一种面向多特征图的异构深度神经网络结构组合系统,所述面向多特征图的异构深度神经网络结构组合系统包括:

特征子图获取模块,用于获取前置神经网络的输出模块输出的特征子图;

特征子图拼接模块,用于对所述特征子图进行拼接操作,得到拼接特征图;

拼接特征图输出模块,用于将拼接特征图输至后置神经网络的输入模块。

本实施例的面向多特征图的异构深度神经网络结构组合系统与上述第一实施例的面向多特征图的异构深度神经网络结构组合方法相对应;其中,本实施例的面向多特征图的异构深度神经网络结构组合系统中的各功能模块所实现的功能与上述第一实施例的面向多特征图的异构深度神经网络结构组合方法中的各流程步骤一一对应;故,在此不再赘述。

此外,需要说明的是,本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

最后需说明的是,以上所述是本发明优选实施方式,应当指出,尽管已描述了本发明优选实施例,但对于本技术领域的技术人员来说,一旦得知了本发明的基本创造性概念,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1