一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种模型融合方法、装置、电子设备及存储介质与流程

2022-11-19 09:26:59 来源:中国专利 TAG:


1.本技术涉及机器学习和深度学习的技术领域,具体而言,涉及一种模型融合方法、装置、电子设备及存储介质。


背景技术:

2.目前的模型融合的方式大都是,采用在先融合再部署的融合方式,具体例如:在多个子模型训练之前,先将多个子模型进行融合,获得融合后的多模型,然后,对融合后的多模型进行训练,获得训练后的多模型,最后,将训练后的多模型部署在服务器上,以使服务器使用训练后的多模型提供服务。在具体的实践过程中发现,多模型中的子模型均是被封装在内部的,当修改多模型(例如增加新的子模型)时,需要将已完成部署且正常运行的多模型进行整体下线,并重新(例如将新的子模型和多模型)再次融合、训练和部署,因此,目前采用先融合再部署的模型融合的方式灵活性不高。


技术实现要素:

3.本技术实施例的目的在于提供一种模型融合方法、装置、电子设备及存储介质,用于改善模型融合的方式灵活性不高的问题。
4.本技术实施例提供了一种模型融合方法,包括:获取模型文件,模型文件是在模型训练后的序列化文件;判断是否在部署平台的所有模型名称中查找到模型文件的文件名称;若否,则将模型文件部署至部署平台中,并在满足融合条件时将模型文件对应模型与部署平台中的多模型进行融合,获得融合后的多模型。在上述方案的实现过程中,通过先对模型进行部署至部署平台,然后再融合(即在满足融合条件时将模型文件对应模型与部署平台中的多模型进行融合)的方式,避免了新模型加入时需要重新整体下线、再次融合、训练和部署的繁琐操作,有效地提高了模型融合的方式灵活性。
5.可选地,在本技术实施例中,在判断是否在部署平台的所有模型名称中查找到模型文件的文件名称之后,还包括:若在部署平台的所有模型名称中查找到模型文件的文件名称,且文件名称的所有版本号中没有查找到模型文件的版本号,则将模型文件部署至部署平台中,然后使用模型文件替换部署平台中的文件名称相同的模型文件,获得替换后的模型,并在满足融合条件时将替换后的模型与部署平台中的至少一个模型进行融合,获得融合后的多模型。在上述方案的实现过程中,通过在查找到模型文件的文件名称且版本不同的情况下,使用模型文件替换部署平台中的文件名称相同的模型文件即可,避免了多模型的整体下线、模型文件替换、再次融合、训练和部署的繁琐操作,提升了多模型维护操作的易用性,有效地提高了部署平台的多模型的迭代效率。
6.可选地,在本技术实施例中,在判断是否在部署平台的所有模型名称中查找到模型文件的文件名称之后,还包括:若在部署平台的所有模型名称中查找到模型文件的文件名称,且文件名称的所有版本号中查找到模型文件的版本号,则在确认模型文件的哈希值与部署平台中的文件哈希值不相同之后,将模型文件部署至部署平台中,并使用模型文件
替换部署平台中的文件名称相同且版本号相同的模型文件,获得替换后的模型,然后在满足融合条件时将替换后的模型与部署平台中的至少一个模型进行融合,获得融合后的多模型。在上述方案的实现过程中,当需要修改多模型(例如更新文件名称相同且版本号相同的模型)时,使用模型文件替换部署平台中的文件名称相同且版本号相同的模型文件即可,实现了多模型中的任一子模型的在线更换,避免了多模型的整体下线、模型文件替换、再次融合、训练和部署的繁琐操作,提升了多个模型多模型维护操作的易用性,有效地提高了部署平台的多个模型多模型的迭代效率。
7.可选地,在本技术实施例中,融合条件为接收到模型融合请求;在满足融合条件时将模型文件对应模型与部署平台中的多模型进行融合,包括:若接收到模型融合请求,则从模型融合请求解析出第一标识和第二标识;根据第一标识获取模型文件对应模型,并根据第二标识获取部署平台中的多模型;将模型文件对应模型与部署平台中的多模型进行融合。在上述方案的实现过程中,在满足融合条件时才根据解析出的第一标识和第二标识获取并融合模型,从而实现了接收模型和模型融合的异步功能,满足了多样化的模型操作需求。
8.可选地,在本技术实施例中,还包括:接收目标设备发送的输入参数,并对输入参数进行拆分,获得拆分后的输入参数;使用部署平台中的多模型中的每个模型分别对拆分后的输入参数进行处理,获得多个处理结果;根据多个处理结果确定最终输出结果;向目标设备发送最终输出结果。在上述方案的实现过程中,通过使用部署平台中的多模型中的每个模型分别对拆分后的输入参数进行处理,获得多个处理结果,并根据多个处理结果确定最终输出结果,从而将部署平台与使用平台中的多模型提供计算服务的功能集成融合为一体,有效地提供了模型部署、封装、训练和计算服务。
9.可选地,在本技术实施例中,根据多个处理结果确定最终输出结果,包括:通过部署平台中的多模型对多个处理结果进行投票统计,获得票数最多的处理结果;将票数最多的处理结果确定为最终输出结果。在上述方案的实现过程中,通过部署平台中的多模型对多个处理结果进行投票统计,获得票数最多的处理结果,并将多数表决机制的处理结果确定为最终输出结果,从而避免了单个模型输出的错误结果作为最终输出结果的问题,有效地提高了最终输出结果的召回率。
10.可选地,在本技术实施例中,多个处理结果包括:正面处理结果和负面处理结果;通过部署平台中的多模型对多个处理结果进行投票统计,获得票数最多的处理结果,包括:将多模型输出的概率分值映射为正面处理结果和负面处理结果;针对多个处理结果中存在的正面处理结果的票数和负面处理结果的票数进行投票统计,获得票数最多的处理结果。
11.可选地,在本技术实施例中,将多模型输出的概率分值映射为正面处理结果和负面处理结果,包括:判断该多模型输出的概率分值是否小于预设阈值;若该概率分值小于预设阈值,则将该概率分值对应的处理结果确定为负面处理结果;若该概率分值大于预设阈值,将该概率分值对应的处理结果确定为正面处理结果。
12.可选地,在本技术实施例中,多个处理结果还包括:存疑处理结果、正面处理结果和负面处理结果;将多模型输出的概率分值映射为正面处理结果和负面处理结果,包括:若多模型输出的概率分值小于第一预设阈值,则将该概率分值对应的处理结果确定为负面处理结果;若多模型输出的概率分值大于第一预设阈值,且小于第二预设阈值,则将该概率分
值对应的处理结果确定为存疑处理结果,第一预设阈值小于第二预设阈值;若多模型输出的概率分值大于第二预设阈值,将该概率分值对应的处理结果确定为正面处理结果。
13.可选地,在本技术实施例中,多模型包括:预设默认模型;针对多个处理结果中存在的正面处理结果的票数和负面处理结果的票数进行投票统计,获得票数最多的处理结果,包括:判断正面处理结果的票数的和负面处理结果的票数是否相等;若是,则将预设默认模型输出的处理结果确定为票数最多的处理结果。
14.可选地,在本技术实施例中,针对多个处理结果中存在的正面处理结果的票数和负面处理结果的票数进行投票统计,获得票数最多的处理结果,包括:判断正面处理结果的票数和负面处理结果的票数是否相等;若是,则将多个处理结果中最近更新的处理结果确定为票数最多的处理结果。可选地,在本技术实施例中,多个处理结果包括:正面处理结果和负面处理结果;根据多个处理结果确定最终输出结果,包括:判断多个处理结果中是否存在负面结果;若是,则将负面处理结果确定为最终输出结果,否则,将正面处理结果确定为最终输出结果。在上述方案的实现过程中,通过在多个处理结果中存在负面结果的情况下,就直接将负面处理结果确定为最终输出结果,并在多个处理结果中均不存在负面结果的情况下,就将正面处理结果确定为最终输出结果,从而避免了单个模型输出的错误结果作为最终输出结果的问题,有效地提高了部署平台中的多模型的召回率。
15.可选地,在本技术实施例中,根据多个处理结果确定最终输出结果,包括:从部署平台中的多模型中查找出权重最高的模型;将权重最高的模型处理结果确定为最终输出结果。在上述方案的实现过程中,通过从部署平台中的多模型中查找出权重最高的模型,并将权重最高的模型处理结果确定为最终输出结果,从而避免了单个模型输出的错误结果作为最终输出结果的问题,有效地提高了部署平台中的多模型的召回率。
16.可选地,在本技术实施例中,根据多个处理结果确定最终输出结果,包括:根据部署平台中的多模型中的每个模型权重对多个处理结果中的每个处理结果进行加权计算,获得加权后的多个处理结果;将加权后的多个处理结果中权重最高的处理结果确定为最终输出结果。在上述方案的实现过程中,通过根据部署平台中的多模型中的每个模型权重对多个处理结果中的每个处理结果进行加权计算,获得加权后的多个处理结果,并将加权后的多个处理结果中权重最高的处理结果确定为最终输出结果,从而避免了单个模型输出的错误结果作为最终输出结果的问题,有效地提高了最终输出结果的召回率。
17.可选地,在本技术实施例中,在根据部署平台中的多模型中的每个模型权重对多个处理结果进行加权计算之前,还包括:根据模型准确率对部署平台中的多模型中的每个模型权重进行动态调整。
18.本技术实施例还提供了一种模型融合装置,包括:模型文件获取模块,用于获取模型文件,模型文件是在模型训练后的序列化文件;名称查找判断模块,用于判断是否在部署平台的所有模型名称中查找到模型文件的文件名称;部署模型融合模块,用于若没有在部署平台的所有模型名称中查找到模型文件的文件名称,则将模型文件部署至部署平台中,并在满足融合条件时将模型文件对应模型与部署平台中的多模型进行融合,获得融合后的多模型。
19.可选地,在本技术实施例中,模型融合装置,还包括:模型替换融合模块,用于若在部署平台的所有模型名称中查找到模型文件的文件名称,且文件名称的所有版本号中没有
查找到模型文件的版本号,则将模型文件部署至部署平台中,然后使用模型文件替换部署平台中的文件名称相同的模型文件,获得替换后的模型,并在满足融合条件时将替换后的模型与部署平台中的至少一个模型进行融合,获得融合后的多模型。
20.可选地,在本技术实施例中,模型融合装置,还包括:模型哈希融合模块,用于若在部署平台的所有模型名称中查找到模型文件的文件名称,且文件名称的所有版本号中查找到模型文件的版本号,则在确认模型文件的哈希值与部署平台中的文件哈希值不相同之后,将模型文件部署至部署平台中,并使用模型文件替换部署平台中的文件名称相同且版本号相同的模型文件,获得替换后的模型,然后在满足融合条件时将替换后的模型与部署平台中的至少一个模型进行融合,获得融合后的多模型。
21.可选地,在本技术实施例中,融合条件为接收到模型融合请求;模型融合装置,还包括:标识解析模块,用于若接收到模型融合请求,则从模型融合请求解析出第一标识和第二标识;模型获取模块,用于根据第一标识获取模型文件对应模型,并根据第二标识获取部署平台中的多模型;多模型融合模块,用于将模型文件对应模型与部署平台中的多模型进行融合。
22.可选地,在本技术实施例中,模型融合装置,还包括:参数接收拆分模块,用于接收目标设备发送的输入参数,并对输入参数进行拆分,获得拆分后的输入参数;处理结果获得模块,用于使用部署平台中的多模型中的每个模型分别对拆分后的输入参数进行处理,获得多个处理结果;输出结果确定模块,用于根据多个处理结果确定最终输出结果;输出结果发送模块,用于向目标设备发送最终输出结果。
23.可选地,在本技术实施例中,输出结果确定模块,包括:处理结果投票子模块,用于通过部署平台中的多模型对多个处理结果中的每个处理结果进行投票统计,获得票数最多的处理结果;第一结果确定子模块,用于将票数最多的处理结果确定为最终输出结果。
24.可选地,在本技术实施例中,多个处理结果包括:正面处理结果和负面处理结果;输出结果确定模块,包括:处理结果映射子模块,用于将多模型输出的概率分值映射为正面处理结果和负面处理结果;票数投票统计子模块,用于针对多个处理结果中存在的正面处理结果的票数和负面处理结果的票数进行投票统计,获得票数最多的处理结果。
25.可选地,在本技术实施例中,处理结果映射子模块,包括:概率分值判断单元,用于判断该多模型输出的概率分值是否小于预设阈值;负面结果确定单元,用于若该概率分值小于预设阈值,则将该概率分值对应的处理结果确定为负面处理结果;正面结果确定单元,用于若该概率分值大于预设阈值,将该概率分值对应的处理结果确定为正面处理结果。
26.可选地,在本技术实施例中,处理结果映射子模块,还包括:第一结果确定单元,用于若多模型输出的概率分值小于第一预设阈值,则将该概率分值对应的处理结果确定为负面处理结果;第二结果确定单元,用于若多模型输出的概率分值大于第一预设阈值,且小于第二预设阈值,则将该概率分值对应的处理结果确定为存疑处理结果,第一预设阈值小于第二预设阈值;第三结果确定单元,用于若多模型输出的概率分值大于第二预设阈值,将该概率分值对应的处理结果确定为正面处理结果。
27.可选地,在本技术实施例中,多模型包括:预设默认模型;票数投票统计子模块,包括:结果票数判断单元,用于判断正面处理结果的票数的和负面处理结果的票数是否相等;处理结果确定单元,用于若正面处理结果的票数的和负面处理结果的票数相等,则将预设
默认模型输出的处理结果确定为票数最多的处理结果。
28.可选地,在本技术实施例中,票数投票统计子模块,包括:处理结果票数判断单元,用于判断正面处理结果的票数和负面处理结果的票数是否相等;票数处理结果确定单元,用于若存疑处理结果的票数、正面处理结果的票数和负面处理结果的票数相等,则将多个处理结果中最近更新的处理结果确定为票数最多的处理结果。
29.可选地,在本技术实施例中,多个处理结果包括:正面处理结果和负面处理结果;输出结果确定模块,包括:负面结果判断子模块,用于判断多个处理结果中是否存在负面结果;第二结果确定子模块,用于若多个处理结果中存在负面结果,则将负面处理结果确定为最终输出结果,否则,将正面处理结果确定为最终输出结果。
30.可选地,在本技术实施例中,输出结果确定模块,包括:权重模型查找子模块,用于从部署平台中的多模型中查找出权重最高的模型;第三结果确定子模块,用于将权重最高的模型处理结果确定为最终输出结果。
31.可选地,在本技术实施例中,输出结果确定模块,包括:处理结果获得子模块,用于根据部署平台中的多模型中的每个模型权重对多个处理结果中的每个处理结果进行加权计算,获得加权后的多个处理结果;第四结果确定子模块,用于将加权后的多个处理结果中权重最高的处理结果确定为最终输出结果。
32.可选地,在本技术实施例中,输出结果确定模块,还包括:权重动态调整子模块,用于根据模型准确率对部署平台中的多模型中的每个模型权重进行动态调整。
33.本技术实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
34.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
35.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
36.图1示出的本技术实施例提供的模型融合方法的流程示意图;
37.图2示出的本技术实施例提供的使用多模型提供计算服务的流程示意图;
38.图3示出的本技术实施例提供的多数投票表决方式的示意图;
39.图4示出的本技术实施例提供的一票否决表决方式的示意图;
40.图5示出的本技术实施例提供的模型融合装置的结构示意图;
41.图6示出的本技术实施例提供的电子设备的结构示意图。
具体实施方式
42.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和
设计。因此,以下对在附图中提供的本技术实施例的详细描述并非旨在限制要求保护的本技术实施例的范围,而是仅仅表示本技术实施例中的选定实施例。基于本技术实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术实施例保护的范围。
43.可以理解的是,本技术实施例中的“第一”、“第二”用于区别类似的对象。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
44.在介绍本技术实施例提供的模型融合方法之前,先介绍本技术实施例中所涉及的一些概念:
45.多模型融合,是指将多个不同结构和原理类型的模型进行融合(例如拼接和集成学习),从而能够综合各个模型的优势而得到最优解结果。多个模型融合(例如拼接和集成学习)后通常被称为“多模型”。按照模型多样性预测定理,能够从实际效果上突破单个模型对未知问题的泛化能力的瓶颈,从而综合各个模型的优势而得到最优解结果。
46.自然语言处理(natural language processing,nlp),是指由于理解(understanding)自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,而研究自然语言认知的相关问题,即自然语言认知同时也被视为一个人工智能完备(ai-complete)的相关问题,这里的自然语言处理也是机器学习中的一个重要组成部分。
47.计算机视觉(computer vision,cv)是一门研究如何使机器“看”的科学,亦即用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。
48.计算机视觉模型(computer vision model,cvm),是部署在计算设备上,让计算设备拥有视觉同时让计算机能够分析所采集的图像,并对其进行一定处理的模型。计算机视觉模型主要有图像识别、图像分割、图像生成、目标检测、目标追踪、视频处理等模型。
49.需要说明的是,本技术实施例提供的模型融合方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和unix服务器。
50.下面介绍该模型融合方法适用的应用场景,这里的应用场景包括但不限于:自然语言处理(nlp)、计算机视觉(cv)和语音识别(speech recognition)等等机器学习领域的多模型融合场景中,可以使用该模型融合方法来对多个不同结构和原理类型的模型进行融合,能够从实际效果上突破单个模型对未知问题的泛化能力的瓶颈,从而综合各个模型的优势而得到最优解结果。
51.请参见图1示出的本技术实施例提供的模型融合方法的流程示意图;本技术实施例提供了一种模型融合方法,包括:
52.步骤s110:获取模型文件,模型文件是在模型训练后的序列化文件。
53.序列化文件(serialize file),是指将训练后的机器学习算法模型转换存储为标准模型结构文件,该机器学习算法模型通常在运行过程中可以被序列化,该序列化文件在部署之后可以被其它设备(例如其它终端设备或者服务器)调用。
54.上述步骤s110中的模型文件的获取方式包括但不限于:第一种获取方式,接收其它终端设备发送的模型文件,将模型文件存储至文件系统、数据库或移动存储设备中;第二种获取方式,获取预先存储的模型文件,具体例如:从文件系统、数据库或移动存储设备中获取模型文件;第三种获取方式,使用浏览器等软件获取互联网上的模型文件,或者使用其它应用程序访问互联网获得模型文件。
55.可选地,在获取模型文件之后,还可以使用机器学习算法模型引擎来加载并缓存该模型文件到内存中,然后配置该模型文件的基本信息,此处的基本信息可以包括:模型之间的表决方式(即投票机制类型)、表决范围(即参与投票表决的数量范围)和最终输出结果的具体指标等等,其中,此处的表决方式(即投票机制类型)包括但不限于:多数投票表决方式(即少数服从多数)、一票否决表决方式、权重优先机制(例如权重最高的模型优先决定最终输出结果和将权重最高的处理结果确定为最终输出结果)。
56.步骤s120:判断是否在部署平台的所有模型名称中查找到模型文件的文件名称。
57.部署平台(deployment platform),又被称为模型算法部署平台,是指用于部署机器学习算法模型的平台,该部署平台可以在线运行部署后的机器学习算法模型,且该机器学习算法模型能够被其它设备(例如其它终端设备或者服务器)调用。上述的机器学习算法模型包括但不限于:自然语言处理(nlp)模型、计算机视觉模型(cvm)、语音识别(speech recognition)模型、卷积神经网络(convolutional neural networks,cnn)等等型机器学习模型及深度学习模型,因此,上述的机器学习算法模型的具体类型和种类不应理解为本技术实施例的限制。
58.步骤s130:若没有在部署平台的所有模型名称中查找到模型文件的文件名称,则将模型文件部署至部署平台中,并在满足融合条件时将模型文件对应模型与部署平台中的多模型进行融合,获得融合后的多模型。
59.在上述的实现过程中,通过先对模型进行部署至部署平台,然后再融合(即在满足融合条件时将模型文件对应模型与部署平台中的多模型进行融合)的方式,避免了新模型加入时需要重新整体下线、再次融合、训练和部署的繁琐操作,有效地提高了模型融合的方式灵活性。
60.作为步骤s130的一种可选实施方式,上述的融合条件可以是指接收到模型融合请求,也可以是定时(例如超过预先设置的时长阈值)融合,此处以接收到模型融合请求为例进行说明,该实施方式可以包括:
61.步骤s131:若接收到目标设备的模型融合请求,则从模型融合请求解析出第一标识和第二标识;
62.步骤s132:根据第一标识获取模型文件对应模型,并根据第二标识获取部署平台中的多模型;
63.步骤s133:将模型文件对应模型与部署平台中的多模型进行融合,获得融合后的多模型。
64.步骤s134:根据融合后的多模型生成融合结果,并向目标设备返回融合结果。
65.作为上述模型融合方法的一种可选实施方式,在步骤s120中的判断是否在部署平台的所有模型名称中查找到模型文件的文件名称之后,还可以在查找到模型文件的文件名称且版本号有更新的情况下,直接部署、替换和融合该模型,该实施方式可以包括:
66.步骤s140:若在部署平台的所有模型名称中查找到模型文件的文件名称,且文件名称的所有版本号中没有查找到模型文件的版本号,则将模型文件部署至部署平台中,然后使用模型文件替换部署平台中的文件名称相同的模型文件,获得替换后的模型,并在满足融合条件时将替换后的模型与部署平台中的多模型进行融合,获得融合后的多模型。
67.作为上述模型融合方法的一种可选实施方式,在步骤s120中的判断是否在部署平台的所有模型名称中查找到模型文件的文件名称之后,还可以在查找到模型文件的文件名称且版本号没有更新的情况下,在确定哈希值不同(说明同版本的模型更新)之后,直接部署、替换和融合该模型,该实施方式可以包括:
68.步骤s150:若在部署平台的所有模型名称中查找到模型文件的文件名称,且文件名称的所有版本号中查找到模型文件的版本号,则在确认模型文件的哈希值与部署平台中的文件哈希值不相同之后,将模型文件部署至部署平台中,并使用模型文件替换部署平台中的文件名称相同且版本号相同的模型文件,获得替换后的模型,然后在满足融合条件时将替换后的模型与部署平台中的至少一个模型进行融合,获得融合后的多模型。
69.可选地,在模型融合之前或者之后,还可以对多模型中的任一模型进行在线监控,从而可以获得多模型中的任一模型的监控日志,并根据该监控日志生成监控报表,该监控日志可以包括该模型的接收、版本升级、部署和调用过程等等,能够有效降低了多模型中的任一模型监控的投入成本。当然在具体的实施过程中,还可以对多模型整体进行监控,从而获得多模型的监控日志,并根据该多模型的监控日志生成多模型的整体监控报表,该监控日志可以包括该多模型的融合和调用过程等等,能够有效降低了多模型监控的投入成本。
70.可以理解的是,上述部署平台的多模型中的任一模型也支持单独地模型增加、模型删除、模型替换、版本更新、模型监控和发布部署,提升了多模型中的任一模型的灵活性和迭代效率,避免了版本切换过程中的数据损失,并提升了多模型维护操作的易用性。
71.在上述的实现过程中,当在部署平台的多模型中的任一模型需要修改(例如:版本更新和增加等操作)时,直接部署、替换和融合该模型,从而避免了对部署平台中的多模型的整体更换,提升了多模型维护操作的易用性,有效地提高了部署平台的多模型的迭代效率。
72.请参见图2示出的本技术实施例提供的使用多模型提供计算服务的流程示意图;作为上述模型融合方法的一种可选实施方式,在模型被部署和融合之后,获得部署平台中的多模型,还可以使用多模型提供计算服务,该实施方式可以包括:
73.步骤s210:电子设备接收目标设备发送的输入参数,并对输入参数进行拆分,获得拆分后的输入参数。
74.上述步骤s210的第一种实施方式例如:假设部署平台中的多模型包括第一子模型(所需要的参数为abc)和第二子模型(所需要的参数为bcd),目标设备发送的输入参数是abcd,那么可以将输入参数abcd拆分为两份:第一份输入参数为abc,第二份输入参数为bcd。然后,分别将第一份输入参数abc传递给第一子模型,且将第二份输入参数bcd传递给第二子模型。
75.上述步骤s210的第二种实施方式例如:目标设备通过超文本传输协议(hyper text transfer protocol,http)或者超文本传输安全协议(hyper text transfer protocol secure,https)向电子设备发送输入参数。然后,电子设备通过http协议或者
https协议接收目标设备发送的输入参数,并对输入参数进行拆分,获得拆分后的输入参数,该输入参数可以是抽取(extract)任务、转换(transform)任务和装载(load)任务所需的参数,此处的抽取(extract)任务、转换(transform)任务和装载(load)任务又通常被简称为etl任务,因此该输入参数又可以是etl任务所需的参数。
76.步骤s220:电子设备使用部署平台中的多模型中的每个模型分别对拆分后的输入参数进行处理,获得多个处理结果。
77.上述步骤s220的第一种实施方式例如:假设部署平台中的多模型包括第一子模型(所需要的参数为abc)和第二子模型(所需要的参数为bcd),且拆分后的输入参数包括:第一份输入参数abc,第二份输入参数bcd,那么可以分别使用第一子模型处理第一份输入参数abc,且使用第二子模型处理第二份输入参数bcd。
78.上述步骤s220的第二种实施方式例如:电子设备在接收到输入参数之后,还可以将输入参数abcd拆分复制,为多模型中的每个模型都拆分复制一份输入参数abcd,以便于部署平台中的多模型分别对每份输入参数abcd进行处理,获得多个处理结果。
79.步骤s230:电子设备根据多个处理结果确定最终输出结果。
80.上述步骤s230的实施方式有很多种,包括但不限于:多数投票表决方式、一票否决表决方式和权重优先决定方式等等,下面将详细地说明这几种情况,所以此处就不再赘述。
81.步骤s240:电子设备向目标设备发送最终输出结果。
82.上述步骤s240的实施方式例如:电子设备通过http协议或者https协议向目标设备(例如终端设备或服务器等等)发送最终输出结果。
83.可以理解的是,上述的最终输出结果的具体指标是可以根据具体业务场景来设定的,具体例如:在自然语言处理领域任务的文本判断题中,将“通过”、“同意”和“积极”等关键词映射成正确选项,同理地,将“拒绝”、“嫌疑”和“消极”等关键词映射成错误选项等等。又例如:在图像进行分类任务中,可以将人脸图像分类为有遮挡人脸和无遮挡人脸,也可以将人脸图像分类为体温正常图像和体温异常图像,还可以将人脸图像分类为攻击类图像(例如:手机播放视频中的人脸、脸上画有脸谱浓妆等)和非攻击类图像。
84.请参见图3示出的本技术实施例提供的多数投票表决方式的示意图;作为上述步骤s230的第一种可选实施方式,多数投票表决方式,即按照“少数服从多数”的原理,可以将模型投票数量最多的处理结果作为最终输出结果,该实施方式可以包括:
85.步骤s231:通过部署平台中的多模型对多个处理结果进行投票统计,获得票数最多的处理结果。
86.可以理解的是,在具体实践过程中,为了避免两个处理结果同时出现票数最多的情况,可以将部署平台中的多模型的数量设置为奇数个,因此,可以采用部署平台中的奇数个模型获得票数最多的处理结果。当然,还可以动态地调整投票统计的方式,例如:当多模型的数量为奇数时,投票统计的方式可以采用多数投票表决方式或者一票否决表决方式,当多模型的数量为偶数时,可以将投票统计的方式动态调整为权重优先决定方式,当然这三种投票统计方式的优先级和顺序可以根据用户预先配置的方式利器执行。
87.步骤s232:将票数最多的处理结果确定为最终输出结果。
88.作为上述步骤s231的一种可选实施方式,投票统计的实施方式可以包括:
89.步骤s231a:将多模型输出的概率分值映射为正面处理结果和负面处理结果;
90.上述步骤s231a的第一种可选实施方式,上述的多个处理结果可以包括:正面处理结果和负面处理结果,共两种处理结果;因此映射为这两种结果的实施方式例如:针对多模型输出的每个概率分值,判断该概率分值是否小于预设阈值;若该概率分值小于预设阈值,则将该概率分值对应的处理结果确定为负面处理结果;若该概率分值大于预设阈值,将该概率分值对应的处理结果确定为正面处理结果。
91.上述步骤s231a的第二种可选实施方式,上述的多个处理结果可以包括:存疑处理结果、正面处理结果和负面处理结果,共三种处理结果;因此映射为这三种结果的实施方式例如:针对多模型输出的每个概率分值,若多模型输出的概率分值小于第一预设阈值,则将该概率分值对应的处理结果确定为负面处理结果;若多模型输出的概率分值大于第一预设阈值,且小于第二预设阈值,则将该概率分值对应的处理结果确定为存疑处理结果,第一预设阈值小于第二预设阈值;若多模型输出的概率分值大于第二预设阈值,将该概率分值对应的处理结果确定为正面处理结果。
92.步骤s231b:针对多个处理结果中存在的正面处理结果的票数和负面处理结果的票数进行投票统计,获得票数最多的处理结果。
93.上述步骤s231b的第一种可选实施方式,上述的多模型还可以包括:预设默认模型,该预设默认模型用于解决在正面和负面票数相等时难以决策的问题;该实施方式可以包括:判断正面处理结果的票数和负面处理结果的票数是否相等;若正面处理结果的票数和负面处理结果的票数相等,则将预设默认模型输出的处理结果确定为票数最多的处理结果;若正面处理结果的票数和负面处理结果的票数不相等,则将正面处理结果的票数和负面处理结果的票数中票数最多的处理结果确定为最终输出结果。
94.上述步骤s231b的第二种可选实施方式,还可以将最近更新的处理结果确定最终输出结果,该实施方式可以包括:判断正面处理结果的票数和负面处理结果的票数是否相等;若正面处理结果的票数和负面处理结果的票数相等,则将多个处理结果中最近更新的处理结果确定为票数最多的处理结果;若正面处理结果的票数的和负面处理结果的票数不相等,则正面处理结果的票数的和负面处理结果的票数中票数最多的处理结果确定为最终输出结果。
95.上述步骤s231至步骤s232的其中一种可选实施方式例如:假设部署平台中的多模型是:第1模型、第2模型、
……
、第n模型,且第1模型、第3模型至第n模型的处理结果是结果1,仅有第2模型的处理结果是结果2,那么相当于部署平台中的多模型中第1模型、第3模型至第n模型为“结果1”投票,且仅有第2模型为“结果2”投票,因此,票数最多的处理结果是结果1,最终,将票数最多的处理结果(即结果1)确定为最终输出结果。
96.请参见图4示出的本技术实施例提供的一票否决表决方式的示意图;作为上述步骤s230的第二种可选实施方式,一票否决表决方式,即若存在任意一个模型的处理结果为负面,就将负面处理结果为最终输出结果,若均为正面处理结果,就将正面处理结果为最终输出结果。上述的多个处理结果包括:正面处理结果和负面处理结果;上述根据多个处理结果确定最终输出结果的实施方式可以包括:
97.步骤s233:判断多个处理结果中是否存在负面结果。
98.上述步骤s233的实施方式例如:使用预设编程语言编译或者解释的可执行程序判断多个处理结果中是否存在负面结果,其中,可以使用的编程语言例如:c、c 、java、
basic、javascript、lisp、shell、perl、ruby、python和php等等。
99.步骤s234:若多个处理结果中存在负面结果,则将负面处理结果确定为最终输出结果。
100.步骤s235:若多个处理结果中不存在负面结果,将正面处理结果确定为最终输出结果。
101.上述步骤s234至步骤s235的实施方式例如:假设部署平台中的多模型是:第1模型、第2模型、
……
、第n模型,且第1模型、第3模型至第n模型的处理结果是正面,仅有第2模型的处理结果是负面,由于第2模型为“负面”投票,因此,根据一票否决表决的原理,最终,将“负面”(即负面处理结果)确定为最终输出结果。可以理解的是,上述的正面处理结果和负面处理结果可以根据具体情况设置,例如:将正面处理结果设置为自然语言处理领域任务的文本判断题中的判断题的正确选项,且将负面处理结果设置为自然语言处理领域任务的文本判断题中的错误选项等等。又例如:将正面处理结果设置为人脸图像分类任务中的体温正常图像结果,且将负面处理结果设置为人脸图像分类任务中的体温异常图像结果等等。
102.作为上述步骤s230的第三种可选实施方式,权重最高的模型优先决定最终输出结果,该实施方式可以包括:
103.步骤s236:从部署平台中的多模型中查找出权重最高的模型。
104.可以理解的是,部署平台中的多模型权重可以根据具体情况设置,包括:根据模型的计算复杂度、准确率、训练样本数量等等确定模型权重,具体例如可以使用公式表示为q=a
×
b/c;其中,q表示模型权重,a表示该模型的准确率,b表示该模型的训练样本数量,c表示该模型的计算复杂度(例如网络层数等)。
105.步骤s237:将权重最高的模型处理结果确定为最终输出结果。
106.上述步骤s236至步骤s237的实施方式例如:假设部署平台中的多模型是:第1模型、第2模型、
……
、第n模型,且第1模型的权重是60%,且第2模型至第n模型的权重总和是40%,如果且第2模型至第n模型的处理结果是结果1,仅有第1模型的处理结果是结果2,那么由于权重最高的模型是第1模型(权重是60%),因此,需要将权重最高的第1模型(权重是60%)的处理结果(即结果2)确定为最终输出结果。
107.作为上述步骤s230的第四种可选实施方式,将权重最高的处理结果确定为最终输出结果,该实施方式可以包括:
108.步骤s238:根据部署平台中的多模型中的每个模型权重对多个处理结果中的每个处理结果进行加权计算,获得加权后的多个处理结果。
109.上述步骤s238的实施方式例如:使用预设编程语言编译或者解释的可执行程序根据部署平台中的多模型中的每个模型权重对多个处理结果中的每个处理结果进行加权计算,获得加权后的多个处理结果,其中,可以使用的编程语言例如:c、c 、java、basic、javascript、lisp、shell、perl、ruby、python和php等等。
110.步骤s239:将加权后的多个处理结果中权重最高的处理结果确定为最终输出结果。
111.可选地,在步骤s238中的加权计算之前,还可以动态调整模型权重,该实施方式可以包括:
112.步骤s238a:根据模型准确率对部署平台中的多模型中的每个模型权重进行动态调整。
113.上述步骤s238a的实施方式例如:针对多模型中的每个模型,判断该模型准确率是否大于预设阈值;若该模型准确率大于预设阈值,则增加该模型权重;若该模型准确率小于预设阈值,则减少该模型权重;此处的预设阈值可以根据具体情况设置,例如将预设阈值设置为80%或者90%等等。
114.步骤s238b:根据部署平台中的多模型中的每个模型权重对多个处理结果中的每个处理结果进行加权计算,获得加权后的多个处理结果。
115.步骤s238c:将加权后的多个处理结果中权重最高的处理结果确定为最终输出结果。
116.可选地,上述部署平台中的多模型的每个模型均可以常规部署的方式部署在部署平台,也可以单独地被目标设备所调用,从而实现了同一个模型多种用途的功能,同时满足了“一模型多用”的业务需求,克服了多模型中的子模型无法被单独调用的困难。在具体实施过程中,还可以对部署平台中的多模型的每个模型的调用过程进行监控,以获取每个模型对输入参数进行处理的过程数据和投票数据,以形成模型监控日志,从而提高部署平台中的多模型的每个模型的监控效率。
117.请参见图5示出的本技术实施例提供的模型融合装置的结构示意图;本技术实施例提供了一种模型融合装置300,包括:
118.模型文件获取模块310,用于获取模型文件,模型文件是在模型训练后的序列化文件。
119.名称查找判断模块320,用于判断是否在部署平台的所有模型名称中查找到模型文件的文件名称。
120.部署模型融合模块330,用于若没有在部署平台的所有模型名称中查找到模型文件的文件名称,则将模型文件部署至部署平台中,并在满足融合条件时将模型文件对应模型与部署平台中的多模型进行融合,获得融合后的多模型。
121.可选地,在本技术实施例中,模型融合装置,还包括:
122.模型替换融合模块,用于若在部署平台的所有模型名称中查找到模型文件的文件名称,且文件名称的所有版本号中没有查找到模型文件的版本号,则将模型文件部署至部署平台中,然后使用模型文件替换部署平台中的文件名称相同的模型文件,获得替换后的模型,并在满足融合条件时将替换后的模型与部署平台中的至少一个模型进行融合,获得融合后的多模型。
123.可选地,在本技术实施例中,模型融合装置,还包括:
124.模型哈希融合模块,用于若在部署平台的所有模型名称中查找到模型文件的文件名称,且文件名称的所有版本号中查找到模型文件的版本号,则在确认模型文件的哈希值与部署平台中的文件哈希值不相同之后,将模型文件部署至部署平台中,并使用模型文件替换部署平台中的文件名称相同且版本号相同的模型文件,获得替换后的模型,然后在满足融合条件时将替换后的模型与部署平台中的至少一个模型进行融合,获得融合后的多模型。
125.可选地,在本技术实施例中,融合条件为接收到模型融合请求;模型融合装置,还
包括:
126.标识解析模块,用于若接收到模型融合请求,则从模型融合请求解析出第一标识和第二标识;
127.模型获取模块,用于根据第一标识获取模型文件对应模型,并根据第二标识获取部署平台中的多模型;
128.多模型融合模块,用于将模型文件对应模型与部署平台中的多模型进行融合。
129.可选地,在本技术实施例中,模型融合装置,还包括:
130.参数接收拆分模块,用于接收目标设备发送的输入参数,并对输入参数进行拆分,获得拆分后的输入参数。
131.处理结果获得模块,用于使用部署平台中的多模型中的每个模型分别对拆分后的输入参数进行处理,获得多个处理结果。
132.输出结果确定模块,用于根据多个处理结果确定最终输出结果。
133.输出结果发送模块,用于向目标设备发送最终输出结果。
134.可选地,在本技术实施例中,输出结果确定模块,包括:
135.处理结果投票子模块,用于通过部署平台中的多模型对多个处理结果中的每个处理结果进行投票统计,获得票数最多的处理结果。
136.第一结果确定子模块,用于将票数最多的处理结果确定为最终输出结果。
137.可选地,在本技术实施例中,多个处理结果包括:正面处理结果和负面处理结果;输出结果确定模块,包括:
138.处理结果映射子模块,用于将多模型输出的概率分值映射为正面处理结果和负面处理结果;
139.票数投票统计子模块,用于针对多个处理结果中存在的正面处理结果的票数和负面处理结果的票数进行投票统计,获得票数最多的处理结果。
140.可选地,在本技术实施例中,处理结果映射子模块,包括:
141.概率分值判断单元,用于判断该多模型输出的概率分值是否小于预设阈值;
142.负面结果确定单元,用于若该概率分值小于预设阈值,则将该概率分值对应的处理结果确定为负面处理结果;
143.正面结果确定单元,用于若该概率分值大于预设阈值,将该概率分值对应的处理结果确定为正面处理结果。
144.可选地,在本技术实施例中,处理结果映射子模块,还包括:
145.第一结果确定单元,用于若多模型输出的概率分值小于第一预设阈值,则将该概率分值对应的处理结果确定为负面处理结果;
146.第二结果确定单元,用于若多模型输出的概率分值大于第一预设阈值,且小于第二预设阈值,则将该概率分值对应的处理结果确定为存疑处理结果,第一预设阈值小于第二预设阈值;
147.第三结果确定单元,用于若多模型输出的概率分值大于第二预设阈值,将该概率分值对应的处理结果确定为正面处理结果。
148.可选地,在本技术实施例中,多模型包括:预设默认模型;票数投票统计子模块,包括:
149.结果票数判断单元,用于判断正面处理结果的票数的和负面处理结果的票数是否相等;
150.处理结果确定单元,用于若正面处理结果的票数的和负面处理结果的票数相等,则将预设默认模型输出的处理结果确定为票数最多的处理结果。
151.可选地,在本技术实施例中,票数投票统计子模块,包括:
152.处理结果票数判断单元,用于判断正面处理结果的票数和负面处理结果的票数是否相等;
153.票数处理结果确定单元,用于若存疑处理结果的票数、正面处理结果的票数和负面处理结果的票数相等,则将多个处理结果中最近更新的处理结果确定为票数最多的处理结果。
154.可选地,在本技术实施例中,多个处理结果包括:正面处理结果和负面处理结果;输出结果确定模块,包括:
155.负面结果判断子模块,用于判断多个处理结果中是否存在负面结果。
156.第二结果确定子模块,用于若多个处理结果中存在负面结果,则将负面处理结果确定为最终输出结果,否则,将正面处理结果确定为最终输出结果。
157.可选地,在本技术实施例中,输出结果确定模块,包括:
158.权重模型查找子模块,用于从部署平台中的多模型中查找出权重最高的模型。
159.第三结果确定子模块,用于将权重最高的模型处理结果确定为最终输出结果。
160.可选地,在本技术实施例中,输出结果确定模块,包括:
161.处理结果获得子模块,用于根据部署平台中的多模型中的每个模型权重对多个处理结果中的每个处理结果进行加权计算,获得加权后的多个处理结果。
162.第四结果确定子模块,用于将加权后的多个处理结果中权重最高的处理结果确定为最终输出结果。
163.可选地,在本技术实施例中,输出结果确定模块,还包括:
164.权重动态调整子模块,用于根据模型准确率对部署平台中的多模型中的每个模型权重进行动态调整。
165.应理解的是,该装置与上述的模型融合方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,os)中的软件功能模块。
166.请参见图6示出的本技术实施例提供的电子设备的结构示意图。本技术实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。
167.本技术实施例还提供了一种计算机可读存储介质430,该计算机可读存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。
168.其中,计算机可读存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简
称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
169.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
170.本技术实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本技术实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
171.另外,在本技术实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
172.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
173.以上的描述,仅为本技术实施例的可选实施方式,但本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术实施例的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献