一种神经网络模型的模块化方法技术

技术编号:38000448 阅读:8 留言:0更新日期:2023-06-30 10:14
本发明专利技术通过软件工程和人工智能领域的方法,实现了一种神经网络模型的模块化方法,总体上包括搜索空间、性能评估策略和搜索策略三个部分;输入原始模型为由若干神经网络层组成,共有L个权重的N分类预训练模型,同时输入一个目标任务的K分类图像或文本等数据集,通过六个步骤实现针对分类任务的预训练神经网络模型模块化,所得的模块仅保留N分类模型中与目标任务相关的部分权重,被用来对目标任务的待分类图像或文本等数据进行分类;本发明专利技术提供的方法采用基于梯度的离散空间搜索方法,通过目标任务的准确度指标提高了相关权重的识别准确度;同时,通过将无关权重置零,降低对图像或文本等进行分类时的时间和计算开销。像或文本等进行分类时的时间和计算开销。像或文本等进行分类时的时间和计算开销。

【技术实现步骤摘要】
一种神经网络模型的模块化方法


[0001]本专利技术涉及人工智能
,尤其涉及一种神经网络模型的模块化方法。

技术介绍

[0002]随着智能化软件系统在自动驾驶、问答系统、科学研究等众多应用场景下发挥着越来越重要的作用,作为智能化软件系统的核心,神经网络模型的训练已经成为软件开发过程中的一项重要任务。然而,随着神经网络模型越来越复杂和庞大,模型构建的开销(例如训练的时间与计算资源开销)也急剧增加。神经网络模型被视为“软件2.0”,受软件复用的启发,复用现有的预训练神经网络模型来降低(甚至消除)高昂模型构建开销被广泛地研究与应用。
[0003]现有的模型复用技术主要分为模型选择和基于网络的深度迁移学习两类。模型选择技术通过比较候选的预训练模型的特征与目标任务数据的特征之间的相似度,或使用少量目标任务的测试样本对候选模型进行测试,来尽可能准确地选择出能够直接复用且性能最高的候选模型,并尽可能地降低模型选择所导致的时间、人力等成本。基于网络的深度迁移学习技术复用预训练模型,并进一步在目标任务数据上精调所有网络层或部分网络层(通过手动或自动选择)。相比起从头训练新模型,迁移学习需要更少的时间成本和目标任务的标注数据,便能完成用于目标任务的新模型的训练。然而,这两类技术更多关注的是复用的预训练模型(经过精调后)在性能方面能否满足目标任务的需求,忽略了模型复用在开销与安全性等方面的问题。预训练模型所解决的原始任务与目标任务可能是包含或相交关系,例如目标任务是原始分类任务中的一个子分类任务。虽然预训练模型能够直接复用到目标任务上,然而其部分神经元和权重所负责识别的类别可能不属于目标任务。这些与目标任务无关的神经元和权重产生的计算开销是额外的,且可能是高昂的,同时也可能引入“后门”等安全风险。
[0004]针对上述问题,一些研究人员尝试对预训练模型模块化,每个模块仅保留模型部分神经元和权重,并仅复用与目标任务相关的模块。现有的神经网络模块化方法包括基于关注点的方法和基于切片的方法。本质上,这两种模块化方法都是基于神经元覆盖率来识别出与目标任务相关的神经元与权重,进而将预训练神经网络模型分解成可复用的模块。一个模块包含模型的部分神经元或权重,能够解决原始任务的一个子任务(例如多分类任务中的一个二分类子任务)。通过按需复用模块而不是简单地复用完整的模型,复用的开销和安全性问题将会得到缓解。
[0005]现有的神经网络模型模块化方法基于神经元覆盖率来识别与目标任务相关的神经元和权重。然而,神经元覆盖率这一指标的有效性仍存在争议,被激活的神经元可能并不是目标任务所必须的,因此,现有方法可能无法准确识别相关权重,使得模块中保留了无关神经元和权重,导致模块和切片的复用开销仍然较高且仍然存在较多的安全风险。另外,现有工作还存在生成的模块大小与模型大小相同的问题,导致模块复用开销大。
[0006]本专利技术针对神经网络模型模块化,旨在提出一种基于梯度的离散空间搜索的模块
化方法,能够解决现有工作识别相关权重不准确的问题,使得生成的模块尽可能仅保留与目标任务相关的权重,从而降低模块复用开销并提高复用的安全性。
[0007]具体来说,主要解决的问题包括:(1)图像或文本等分类模型,特别是大模型的训练会导致大量的时间与计算开销。本专利技术通过复用预训练模型的模块来降低图像或文本等分类模型的训练开销。(2)现有的模型复用技术在复用预训练模型时可能导致大量额外的模型复用开销,并面临对抗性缺陷和后门继承等安全风险。本专利技术通过复用模块来提高图像或文本等分类任务中模型的推理速度和复用的安全性。(3)现有研究工作基于神经元覆盖率来间接评估权重与目标任务的相关性,因此对相关权重的识别不够准确。本专利技术采用基于梯度的离散空间搜索的模块化方法,通过目标任务的准确度指标直接评估权重与目标任务的相关性,从而提高相关权重的识别准确度。(4)现有方法通过将无关神经元置零来生成模块,模块大小与模型大小相同,导致复用开销大。本专利技术通过将无关权重置零,使得图像或文本等分类模块能够被压缩与加速,因此降低复用开销。

技术实现思路

[0008]为此,本专利技术首先提出一种神经网络模型的模块化方法,其特征在于:
[0009]针对输入多分类预训练神经网络模型和一个目标任务的图像或文本等多分类数据集进行通过处理单元处理,处理单元包括搜索空间、性能评估策略和搜索策略三个部分;所述方法的输入具体包括:一个预训练的图像或文本等多分类模型作为原始模型,该原始模型是由若干神经网络层组成,共有L个权重的N分类模型;以及一个目标任务的图像或文本等K分类数据集,其中K<N,包括用于模块化的数据和待分类的数据;所述方法通过六个步骤实现针对原始模型的模块化,生成一个用于目标任务且仅包含J个权重的K分类神经网络模块,其中J<L,并进一步使用神经网络模块对目标任务的待分类数据进行分类,最终输出分类好的图像或文本等数据;
[0010]步骤一,构建所述搜索空间,搜索空间包含所有候选模块,一个候选模块通过使用一个掩码来有选择地删除原始模型的部分权重构建出来,一个掩码是一个长度为L的比特向量[0,1]L
,其中L是原始模型中权重的数量,比特“0”代表删除相应的权重,而比特“1”代表保留相应的权重,总共有2
L
个候选掩码,因此搜索空间由2
L
个候选模块组成;
[0011]步骤二,在所述搜索空间中进行搜索初始化。开始搜索时,初始化的候选掩码的所有元素的值都是1,代表初始化模块保留了所有的权重,该初始化的候选掩码被传递给性能评估策略;
[0012]步骤三,采用所述性能评估策略评估候选模块的性能。给定一个候选掩码,性能评估策略首先移除模型中与掩码中元素值为0所对应的权重,而保留元素值为1所对应的权重,然后在模型的最后一层,追加一个新的输出头作为输出层,从而构建出一个候选模块;输出头是一个全连接网络层,用于使候选模块适应目标任务的分类数;然后,在输入的用于模块化的图像或文本等数据上,计算目标函数值来评估候选模块;目标函数被定义为以下两部分的加权和:候选模块的权重保留率,以及候选模块的预测和目标数据集上标签之间的交叉熵损失;得到的目标函数值将反馈给搜索策略;
[0013]步骤四,利用所述搜索策略搜索候选模块,所述搜索策略使用基于梯度的搜索方法,基于目标函数值,计算掩码和输出头中每个值的梯度,通过梯度下降更新掩码和输出
头,在每一轮搜索中,搜索策略将更新后的掩码和输出头作为新的候选模块传递给性能评估策略;
[0014]步骤五,迭代执行步骤三和步骤四,直到迭代次数达到给定值或者目标函数值基本不再变化,所得的模块仅保留N分类模型中与目标任务相关的部分权重,能够用于K分类目标任务;
[0015]步骤六,使用步骤五得到的神经网络模块,对输入的待分类图像或文本等数据进行分类,最终,所述方法输出分类好的图像或文本等。
[0016]所述用于评估候选模块的目标函数值的计算方法为:首先构建候选模块,将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的模块化方法,其特征在于:针对输入多分类预训练神经网络模型和一个目标任务的图像或文本多分类数据集进行通过处理单元处理,处理单元包括搜索空间、性能评估策略和搜索策略三个部分;所述方法的输入具体包括:一个预训练的图像或文本多分类模型作为原始模型,该原始模型是由若干神经网络层组成,共有L个权重的N分类模型;以及一个目标任务的图像或文本K分类数据集,其中K<N,包括用于模块化的数据和待分类的数据;所述方法通过六个步骤实现针对原始模型的模块化,生成一个用于目标任务且仅包含J个权重的K分类神经网络模块,其中J<L,并进一步使用神经网络模块对目标任务的待分类数据进行分类,最终输出分类好的图像或文本数据;步骤一,构建所述搜索空间,搜索空间包含所有候选模块,一个候选模块通过使用一个掩码来有选择地删除原始模型的部分权重构建出来,一个掩码是一个长度为L的比特向量[0,1]
L
,其中L是原始模型中权重的数量,比特“0”代表删除相应的权重,而比特“1”代表保留相应的权重,总共有2
L
个候选掩码,因此搜索空间由2
L
个候选模块组成;步骤二,在所述搜索空间中进行搜索初始化。开始搜索时,初始化的候选掩码的所有元素的值都是1,代表初始化模块保留了所有的权重,该初始化的候选掩码被传递给性能评估策略;步骤三,采用所述性能评估策略评估候选模块的性能。给定一个候选掩码,性能评估策略首先移除模型中与掩码中元素值为0所对应的权重,而保留元素值为1所对应的权重,然后在模型的最后一层,追加一个新的输出头作为输出层,从而构建出一个候选模块;输出头是一个全连接网络层,用于使候选模块适应目标任务的分类数;然后,在输入的用于模块化的图像或文本数据上,计算目标函数值来评估候选模块;目标函数被定义为以下两部分的加权和:候选模块的权重保留率,以及候选模块的预测和目标数据集上标签之间的交叉熵损失;得到的目标函数值将反馈给搜索策略;步骤四,利用所述搜索策略搜索候选模块,所述搜索策略使用基于梯度的搜索方法,基于目标函数值,计算掩码和输出头中每个值的梯度,通过梯度下降更新掩码和输出头,在每一轮搜索中,搜索策略将更新后的掩码和输出头作为新的候选模块传递给性能评估策略;步骤五,迭代执行步骤三和步骤四,直到迭代次数达到给定值或者目标函数值基本不再变化,所得的模块仅保留N分类模型中与目标任务相关的部分权重,能够用于K分类目标任务;步骤六,使用步骤五得到的神经网络模块,对输入的待分类图像或文本数据进行分类,最终,所述方法输出分类好的图像或文本数据。2.如权利要求1所述的一种神经网络模型的模块化方法,其特征在于:用于评估候选模块的所述目标函数值计算方法为:首先构建候选模块,将原始模型的权重与掩码相乘,以去除原始模型的部分权重,从而得到一个中间模型。由于输出层有N个神经元,因此中间模型是一个N分类的模型。在中间模型之后附加一个新的输出头,即一...

【专利技术属性】
技术研发人员:孙海龙齐斌航高祥
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1