一种基于神经网络模型构件的组装方法和系统

文档序号:34661221发布日期:2023-07-05 06:17阅读:30来源:国知局
一种基于神经网络模型构件的组装方法和系统

本发明涉及一种基于神经网络模型构件的组装方法和系统,属于软件工程、图像分类、深度学习等。


背景技术:

1、随着深度学习技术的发展,深度神经网络模型作为其关键构件之一已被集成到许多现代软件应用和系统中。例如,流行的自动驾驶系统包括至少数十种用于感知、规划和控制的深度神经网络模型。尽管图像分类神经网络模型在软件中的广泛使用,但模型的开发仍停留在人工生产阶段。开发者们为用户的需求针对性地设计模型,这些模型在目标软件中可能具有极高的质量,但很难成为与其他需求兼容的标准化部件。在数据的特性和/或用户的需求改变时,由于这些图像分类神经网络模型是整体训练的,因此不能直接拆分或组装模型以满足新的软件需求。因此,图像分类神经网络模型重用仍然是软件工程中的一个问题。

2、目前,图像分类神经网络模型重用的解决方案是在目标域中重新训练(从零开始微调或训练)模型。重新训练需要新的数据集,这意味着额外的数据收集和标记工作,同时还需要昂贵的训练成本。

3、由于以上因素,为每个软件需求人为地重新训练图像分类神经网络模型是昂贵的,这使得软件中模型的开发落后于现代软件需求更新的进度。与此同时,每次需求更新都需要进行软件版本发布,增大了在现实环境中部署软件的难度,降低了用户使用体验。


技术实现思路

1、发明目的:针对现有技术中存在的问题与不足,本发明提供了一种基于神经网络模型构件的组装方法和系统,本发明以应对图像分类应用需求变更的问题,用于软件中组装神经网络构件的部件,可以根据用户个性化的需求组装任意的图像分类神经网络模型,并且封装了模型连接的过程,只将组装后的模型的访问接口提供给用户。本发明能够将图像分类神经网络模型的开发从一对一人工开发推向大规模生产,提高使用图像分类神经网络模型开发软件的效率。

2、技术方案:一种基于神经网络模型构件的组装方法,通过该方法,可以形成一种组装工具,可以集成在已有软件中,为软件中已训练的神经网络构件提供功能的组装。本发明公开了组装图像分类神经网络模型的功能模块和使用方法。通过本发明技术方案进行模型组装,提升了软件中图像分类神经网络构件的可复用性,提升了软件开发的灵活性,在实践中具有有效性。可复用性和灵活性意味着,使用本发明进行模型组装,软件开发者可以组合已训练的神经网络模型以构建各类功能,将面向单个问题人工开发的神经网络构件转化为与各类软件的需求兼容的标准化部件,从而将一个模型应用在多种需求甚至多个软件之中,减少了在用户需求变动和开发新软件时训练神经网络模型的资源和时间消耗。有效性是指通过本发明组装后的神经网络模型,决策准确性与重新训练神经网络几乎无差异,能够有效地为用户提供功能。

3、一种基于神经网络模型构件的组装方法,包括如下内容:

4、(1)提取表示,将待组装的图像分类神经网络模型和图像数据集作为输入,让图像样本数据通过待组装的神经网络模型,提取图像样本在所述图像分类神经网络模型中的中间表示。

5、(2)概念鉴定,预先为图像分类神经网络数据集的领域定义语义上相关的概念,并引入相应的cav模型鉴别中间表示中概念存在情况,生成概念向量。

6、(3)知识组装,引入领域知识,领域知识表现为一个接受概念向量作为输入的模型,称为知识库模型。将(2)中的概念向量输入知识库模型,转换为分类结果输出给用户。

7、所述神经网络是指一类利用神经元进行层次连接形成的进行大数据特征提取及预测的数据结构,包含输入层、隐含层、输出层,每一层包含大量神经元,层次间通过神经元相互连接,由输入层向输出层传递信息,例如常用的各类dnn、cnn、rnn模型等;所述神经元是对于神经元输入利用内置函数等对输入数据进行运算操作,并输出的数据结构;所述内置函数为固定常用的几种流行的激活核函数形式,例如relu、sigmoid、softmax等;所述输入实例是指神经网络模型的一次输入或批输入,例如:对于面向图片分类问题训练的神经网络,输入实例是指某一张图片文件或多张图片构成的批输入。

8、所述图像数据集,是图像分类神经网络模型用于决策的图像数据的集合,图像数据集中的一条图像数据称为一个样本。图像数据集被分成独立的三部分,训练集(trainset),验证集(validation set)和测试集(test set)。其中,训练集用于学习神经网络的参数,验证集用于验证学习后的模型的性能,帮助提升决策准确率,测试集用于客观评估训练完成后的图像分类神经网络的性能。

9、进一步的,所述组装是指软件的构件以连接进行协同,就图像分类神经网络模型作为软件构件而言,主要是指合并多个图像分类神经网络模型的功能。具体地说,图像分类神经网络模型的功能合并是指:两个已训练的图像分类神经网络模型有各自能够决策的问题领域,在不改变它们训练后的结构和参数的情况下,能够以一次运行在两个领域中决策出合适的分类。在未组装的情况下,用户需要运行多个用于图像分类的神经网络模型并对它们的置信度分数综合评估以确定结论,而组装之后,可以一次运行给出多个问题领域下综合的决策。组装神经网络还可以构造其他功能,并不仅局限于图像分类。

10、进一步的,所述(1)中,样本在图像分类神经网络模型中的中间表示是指,开发者人为地为图像分类神经网络模型划分k个层次,样本在输入给定图像分类神经网络模型后截取图像分类神经网络模型在每个层次的输出。模型的中间表示主要包括该层的各神经元的输出值,但也不局限于此。在组装任务中,由于待组装的各个图像分类神经网络模型的结构和任务不同,划分层数位置可视具体情况而定。

11、进一步的,所述(2)中,概念是指逻辑上与待分类的样本存在联系的一些特征,这些特征可以是样本的局部,或者使待分类的样本区别于其他样本的特点。例如,图像分类神经网络以汽车为一个类别标签训练,对于训练集中的一个样本(一个图像),它的标签是汽车,而车窗、轮子等部件就是概念。对于一个样本,每个概念表现为一个独立于原标签之外的0-1标注,例如在汽车样本上,轮子这一概念的标注是1,翅膀则是0。一系列概念标注表现为一个0-1向量,即概念向量。概念向量是样本的客观存在的内在属性,它可以以显式的标注存在于图像数据集中,也可以由鉴别样本中概念存在与否的模型计算得到。

12、进一步的,所述(2)中,所述cav(concept activation vectors),是一种解释深度模型的方法,它试图解释一个概念。cav的具体含义是,用一个线性分类器去区分此深度神经网络的某层的表示对应某个概念的激活(正负性),这个线性分类器的决策边界的正交向量就是cav。引入一系列鉴别样本中概念存在与否的cav模型,是为了将待测样本的中间表示转换为指示概念存在与否的0-1向量。cav模型通常采用线性分类器实现,但其他用于分类的机器学习模型也可以实现相似的功能。cav模型可以在开源软件库中获得,当开源市场上没有符合开发者需求的cav模型时,可以利用原始模型及其训练数据集自行开发cav模型。自行开发cav模型可以采用如下操作:

13、一:为图像训练数据集添加概念的标注;

14、二:将训练数据传入已训练的图像分类神经网络模型,提取其中间表示;

15、三:使用线性分类器等机器学习模型,拟合所有训练数据的中间表示及其对应的概念标注,拟合得到的分类器即是cav模型。

16、进一步的,知识库模型是一个用于分类的机器学习模型,所述cav模型得到概念向量之后,知识库模型将将概念向量作为输入,组装后的分类结果作为输出。知识库模型可以在开源软件库中获得,也可以通过训练数据集训练得到。训练知识库可以采用如下操作:

17、一:为图像训练数据集添加概念的标注;

18、二:使用决策树、svm等机器学习模型,拟合所有训练数据的概念标注及其原始分类标注,拟合得到的分类器即是知识库模型。

19、一种基于神经网络模型构件的组装系统,包括:

20、(1)表示提取模块,将待组装的图像分类神经网络模型和图像数据集作为输入,让图像样本数据通过待组装的神经网络模型,提取图像样本在所述图像分类神经网络模型中的中间表示。

21、(2)概念鉴定模块,系统开发者预先为图像分类神经网络数据集的领域定义语义上相关的概念,并引入相应的cav模型鉴别中间表示中概念存在情况,生成概念向量。

22、(3)知识组装模块,引入领域知识,领域知识表现为一个接受概念向量作为输入的模型,称为知识库模型。将(2)中的概念向量输入知识库模型,转换为分类结果输出给用户。

23、系统的具体实现过程与方法相同,不在赘述。

24、本发明的有益效果是,基于本发明提出的一种组装神经网络模型构件的方法和系统,软件开发者可以将本发明技术方案形成部件的输入接口提供给用户,通过组装图像分类神经网络模型满足用户的个性化需求,从而免去为需求的更新重新训练深度模型的资源和时间消耗,提升了软件中神经网络构件的可复用性,体现了软件设计的灵活性。

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