一种模型结构优化方法技术

技术编号:39807459 阅读:5 留言:0更新日期:2023-12-22 02:41
本申请实施例提供了一种模型结构优化方法

【技术实现步骤摘要】
一种模型结构优化方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,具体而言,本申请涉及一种模型结构方法

装置

电子设备及存储介质


技术介绍

[0002]神经网络基本原理是一种模拟人脑神经系统功能的计算模型,该模型可以用计算图进行表示,该计算图由多个节点组成,节点之间通过边相连,这些节点构成了多个层,每一层节点的输入都是上一层节点的输出,最终输出层的输出即为神经网络的结果

[0003]对于某个神经网络模型,它其中的节点数量以及节点构成的层级数量可以反应出该模型的复杂程度,而复杂程度可以反应出该模型占用的空间大小以及计算效率,一般来说,节点数量越少或层级数量越少,模型的占用空间就越小,计算效率也越高

而在解决较为复杂的问题时,模型设计者设计出来的模型也往往较为复杂,可能存在成千上万个节点,此时该模型占用的存储空间会较大且进行计算的效率也较低,因此,需要采用一种方法对复杂神经网络模型的结构进行优化以解决上述问题

[0004]现有技术的方案中,一般通过优化匹配算法对神经网络模型的结构进行优化,但优化匹配算法仅能针对输出节点为单个节点的节点结构进行优化,而对于输出节点为多个节点的节点结构无法进行优化,如图1所示,图1中最左边第一个节点结构中的
A

B
为目标优化结构,由于该目标优化结构中输入节点只有节点
A
且输出节点只有节点
B
>,因此可以直接采用优化匹配算法将该结构替换为节点
N(
即优化为第二个节点结构
)
;图1中的第三个节点结构中的
A

B0

A

B1
为目标优化结构,由于该目标优化结构中包含
B0、B1
两个输出节点,因此无法直接采用优化匹配算法将其优化为第四个节点结构

[0005]而在实际操作中,很多时候神经网络模型的结构都会采用多个输出点的形式,因此,现有技术方案的优化能力十分有限,优化后的模型仍然存在上述问题


技术实现思路

[0006]本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
[0007]第一方面,本申请实施例提供了一种模型结构优化方法,包括:
[0008]获取目标模型的节点结构,并确定节点结构中的目标优化结构;其中,目标优化结构包含一个父节点和父节点对应的至少两个子节点;
[0009]分别确定每一子节点的原始输出节点,新增第一节点,将第一节点作为至少两个子节点的新的输出节点,并将第一节点作为原始输出节点的输入节点;
[0010]将目标优化结构和第一节点作为待替换结构,采用第二节点替换待替换结构,得到优化后的节点结构;其中,第二节点的执行算法与待替换结构的执行算法相同

[0011]在本申请的一种可选实施例中,新增第一节点之前,具体还包括:
[0012]根据目标优化结构在节点结构中确定出目标支配点;目标支配点为节点结构中执
行顺序在目标优化结构之后

距离各子节点最近,且在按照与执行顺序相反的顺序同时遍历各子节点过程中的必经公共节点;
[0013]新增第一节点,具体包括:
[0014]基于目标支配点新增第一节点

[0015]在本申请的一种可选实施例中,基于目标支配点新增第一节点,具体包括:
[0016]基于节点结构中各个节点的执行顺序依次遍历各节点,若执行顺序在目标支配点之前的结构中包括目标优化结构,则获取第一子节点,并基于节点结构在第一子节点与第一输出节点之间新增第一节点;其中,第一子节点为各子节点中的任一节点,第一输出节点为第一子节点的原始输出节点

[0017]在本申请的一种可选实施例中,将第一节点作为至少两个子节点的新的输出节点之后,具体包括:
[0018]将各第二子节点的输出值存储至第一节点中;其中,第二子节点为各子节点中除第一子节点外的其他节点;
[0019]对于每一输出值,生成关于输出值与对应的第二子节点的键值对;
[0020]将第一节点作为原始输出节点的输入节点,具体包括:
[0021]对于第一输出节点,基于第一子节点与第一输出节点的对应关系,将第一节点作为第一输出节点的输入节点;
[0022]对于每一第二输出节点,基于节点结构确定对应的第二子节点,并根据关于第二子节点的键值对将第一节点作为第二输出节点的输入节点;其中,第二输出节点为第二子节点的原始输出节点

[0023]在本申请的一种可选实施例中,生成关于输出值与对应的第二子节点的键值对之后,具体还包括:
[0024]将各键值对存储至预设字典中;
[0025]根据关于第二子节点的键值对将第一节点作为第二输出节点的输入节点,具体包括:
[0026]从预设字典中获取关于第二子节点的键值对,并根据键值对将第一节点作为第二输出节点的输入节点

[0027]在本申请的一种可选实施例中,根据键值对将第一节点作为第二输出节点的输入节点,具体包括:
[0028]获取键值对的键值,并根据键值将第二输出节点的输入值调整为第一节点中存储的对应的输出值

[0029]在本申请的一种可选实施例中,将目标优化结构和第一节点作为待替换结构,采用第二节点替换待替换结构,得到优化后的节点结构,具体包括:
[0030]将目标优化结构的父节点作为待替换结构的起始点,将第一节点作为待替换结构的终止点;
[0031]基于起始点

终止点,通过优化匹配算法将待替换结构替换为第二节点

[0032]第二方面,本申请实施例提供了一种模型结构优化装置,包括:
[0033]目标优化结构获取模块,用于获取目标模型的节点结构,并确定节点结构中的目标优化结构;其中,目标优化结构包含一个父节点和父节点对应的至少两个子节点;
[0034]节点生成模块,用于分别确定每一子节点的原始输出节点,新增第一节点,将第一节点作为至少两个子节点的新的输出节点,并将第一节点作为原始输出节点的输入节点;
[0035]节点结构优化模块,用于将目标优化结构和第一节点作为待替换结构,采用第二节点替换待替换结构,得到优化后的节点结构;其中,第二节点的执行算法与待替换结构的执行算法相同

[0036]在本申请的一种可选实施例中,该装置还包括目标支配点获取模块,具体用于:
[0037]根据目标优化结构在节点结构中确定出目标支配点;目标支配点为节点结构中执行顺序在目标优化结构之后

距离各子节点最近,且在按照与执行顺序相反的顺序同时遍历各子节点过程中的必经公共节点;
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种模型结构优化方法,其特征在于,包括:获取目标模型的节点结构,并确定所述节点结构中的目标优化结构;其中,所述目标优化结构包含一个父节点和所述父节点对应的至少两个子节点;分别确定每一子节点的原始输出节点,新增第一节点,将所述第一节点作为所述至少两个子节点的新的输出节点,并将所述第一节点作为原始输出节点的输入节点;将所述目标优化结构和所述第一节点作为待替换结构,采用第二节点替换所述待替换结构,得到优化后的节点结构;其中,所述第二节点的执行算法与所述待替换结构的执行算法相同
。2.
根据权利要求1中所述的方法,其特征在于,所述新增第一节点之前,还包括:根据所述目标优化结构在所述节点结构中确定出目标支配点;所述目标支配点为所述节点结构中执行顺序在所述目标优化结构之后

距离各子节点最近,且在按照与所述执行顺序相反的顺序同时遍历各子节点过程中的必经公共节点;所述新增第一节点,包括:基于所述目标支配点新增所述第一节点
。3.
根据权利要求2中所述的方法,其特征在于,所述基于所述目标支配点新增所述第一节点,包括:基于所述节点结构中各个节点的执行顺序依次遍历各节点,若执行顺序在所述目标支配点之前的结构中包括所述目标优化结构,则获取第一子节点,并基于所述节点结构在所述第一子节点与第一输出节点之间新增所述第一节点;其中,所述第一子节点为各子节点中的任一节点,所述第一输出节点为所述第一子节点的原始输出节点
。4.
根据权利要求3中所述的方法,其特征在于,所述将所述第一节点作为所述至少两个子节点的新的输出节点之后,包括:将各第二子节点的输出值存储至所述第一节点中;其中,所述第二子节点为各子节点中除所述第一子节点外的其他节点;对于每一输出值,生成关于所述输出值与对应的第二子节点的键值对;所述将所述第一节点作为原始输出节点的输入节点,包括:对于所述第一输出节点,基于所述第一子节点与所述第一输出节点的对应关系,将所述第一节点作为所述第一输出节点的输入节点;对于每一第二输出节点,基于所述节点结构确定对应的第二子节点,并根据关于所述第二子节点的键值对将所述第一节点作为所述第二输出节点的输入节点;其中,所述第二输出节点为所述第二子节点的原始输出节点

【专利技术属性】
技术研发人员:刘胜杰陈新坜李奋有
申请(专利权)人:安谋科技中国有限公司
类型:发明
国别省市:

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

1