模型迭代修正方法、装置及系统与流程

文档序号:16680229发布日期:2019-01-19 00:20阅读:274来源:国知局
模型迭代修正方法、装置及系统与流程

本发明涉及模型修正技术领域,尤其是涉及一种模型迭代修正方法、装置及系统。



背景技术:

随着科技的发展,基于深度学习的各种神经网络模型已广泛应用于各行各业,诸如,能够识别人脸的人脸检测模型、能够检测出图像中不同类别目标的目标检测模型、能够识别出车辆的车辆重识别模型等具有各种功能的神经网络模型已应用于诸如安防领域、交通领域等。

通常是由模型提供方(诸如,专注于人工智能技术的科技公司)给模型需求方(诸如,需要使用模型功能的个人或公司团体等)提供基础模型,如果模型需求方所采用的基础模型出现诸如识别不准确等任何问题,都会线下联系模型提供方,并给模型提供方的客服等对接人反馈问题,再由模型提供方交由相关内部人员对模型进行迭代训练,以对出现问题的模型进行修正。这种问题解决方式繁琐复杂,通常耗时较长,效率低下。



技术实现要素:

有鉴于此,本发明的目的在于提供一种模型迭代修正方法、装置及系统,能够提升模型的问题解决效率。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种模型迭代修正方法,所述方法由服务器执行,所述方法包括:接收用户端上传的模型反馈信息;所述模型反馈信息包括问题类型和问题修正数据;查找预先存储的与所述问题类型对应的基础模型;基于所述问题修正数据对所述基础模型进行迭代训练,以修正所述基础模型。

进一步,所述查找预先存储的与所述问题类型对应的基础模型的步骤,包括:确定所述问题类型对应的模型功能;将提供所述模型功能的基础模型确定为与所述问题类型对应的基础模型。

进一步,所述基于所述问题修正数据对所述基础模型进行迭代训练的步骤,包括:获取所述基础模型的已有训练数据;基于所述已有训练数据和所述问题修正数据,确定当前训练集;通过所述当前训练集对所述基础模型进行迭代训练。

进一步,所述方法还包括:获取已存储的与所述问题类型对应的历史修正数据;所述基于所述已有训练数据和所述问题修正数据,确定当前训练集的步骤,包括:基于所述已有训练数据、所述问题修正数据和所述历史修正数据,确定当前训练集。

进一步,所述通过所述当前训练集对所述基础模型进行迭代训练的步骤,包括:将所述当前训练集划分为预设组数的训练子集,并设定每组所述训练子集对应的损失函数和权重;基于每组所述训练子集对应的损失函数和权重,确定总损失函数;采用各组所述训练子集对所述基础模型进行迭代训练,直至所述总损失函数的函数值收敛至预设函数值,确定当前迭代结束。

进一步,所述方法还包括:获取所述基础模型的已有评测数据;采用所述已有评测数据和所述问题修正数据对所述当前迭代结束后的基础模型进行评测,确定所述当前迭代结束后的基础模型的修正结果。

进一步,所述采用所述已有评测数据和所述问题修正数据对所述当前迭代结束后的基础模型进行评测,确定所述当前迭代结束后的基础模型的修正结果的步骤,包括:采用所述已有评测数据对所述当前迭代结束后的基础模型进行评测,生成所述当前迭代结束后的基础模型的性能指标值;采用所述问题修正数据对所述当前迭代结束后的基础模型进行评测,获取所述当前迭代结束后的基础模型的问题测试结果;根据所述性能指标值和所述问题测试结果,确定所述当前迭代结束后的基础模型的修正结果。

进一步,所述根据所述性能指标值和所述问题测试结果,确定所述当前迭代结束后的基础模型的修正结果的步骤,包括:如果所述问题测试结果与预设正确结果一致,且所述性能指标值高于预设阈值,确定所述当前迭代结束后的基础模型修正成功;如果所述问题测试结果与预设正确结果不一致,或,所述性能指标值低于所述预设阈值,确定所述当前迭代结束后的基础模型修正失败。

进一步,所述方法还包括:将修正结果反馈给所述用户端。

进一步,所述将修正结果反馈给所述用户端的步骤,包括:如果修正成功,将修正后的所述基础模型封装发送给所述用户端;如果修正失败,将修正失败信息发送给所述用户端。

第二方面,本发明实施例还提供一种模型迭代修正装置,所述装置设置于服务器侧,所述装置包括:信息接收模块,用于接收用户端上传的模型反馈信息;所述模型反馈信息包括问题类型和问题修正数据;模型查找模块,用于查找预先存储的与所述问题类型对应的基础模型;模型迭代模块,用于基于所述问题修正数据对所述基础模型进行迭代训练,以修正所述基础模型。

第三方面,本发明实施例提供了一种模型迭代修正系统,所述系统包括:服务器和用户端;所述用户端用于将用户的模型反馈信息上传给所述服务器;所述服务器上存储有计算机程序,所述计算机程序在被所述服务器运行时执行如第一方面任一项所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤。

本发明实施例提供了一种模型迭代修正方法、装置及系统,服务器能够接收用户端上传的模型反馈信息(包括问题类型和问题修正数据),然后查找预先存储的与该问题类型对应的基础模型,进而可基于问题修正数据对该基础模型进行迭代训练,以修正该基础模型。本实施例提供的上述方式,用户可以直接通过用户端在线反馈问题,并直接由服务器针对模型反馈信息对基础模型进行迭代训练,以修正该问题模型。这种在线对模型进行迭代修正以解决模型问题的方式更加简便直接,能够有效提升模型的问题解决效率。

本发明实施例的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明实施例的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例所提供的一种电子设备的结构示意图;

图2示出了本发明实施例所提供的一种模型迭代修正方法流程图;

图3示出了本发明实施例所提供的一种修正结果的确定方法流程图;

图4示出了本发明实施例所提供的一种模型迭代修正装置的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

考虑到现有技术中模型提供方解决模型问题的方式繁琐复杂,效率低下,为改善此问题,本发明实施例提供的一种模型的问题解决方法、装置及系统,该技术可采用相关的软件和/或硬件实现,以下对本发明实施例进行详细介绍。

实施例一:

首先,参照图1来描述用于实现本发明实施例的一种模型迭代修正方法、装置及系统的示例电子设备100。

如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。

所述处理器102可以采用数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。

所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。

所述图像采集装置110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。

示例性地,用于实现根据本发明实施例的模型迭代修正方法、装置及系统的示例电子设备可以被实现为诸如服务器、用户终端、上位机、计算机等智能终端。

实施例二:

本实施例提供了一种模型迭代修正方法,该方法可由服务器执行,具体实施时,服务器的数量可以自行设定,诸如,仅采用一个主服务器实现,在该主服务器上可部署有训练平台以及多种提供给用户的可实现不同功能的基础模型,基础模型也即符合用户预设要求(诸如产品基础要求)的模型;在该主服务器上还可以存储有用于训练模型的训练数据,还可以存储有用于评测模型的评测数据等。当然,该也可以采用两个服务器实现,一个服务器(可称为主服务器)仅用于部署训练平台和基础模型,另一个服务器(可称为存储服务器)用于存储训练数据、评测数据等,在具体应用中,存储服务器也可以采用其它存储设备实现,在此不进行限制。

在一种实施方式中,可参见图2所示的一种模型迭代修正方法流程图,该方法包括:

步骤s202,接收用户端上传的模型反馈信息;模型反馈信息包括问题类型和问题修正数据。为便于理解,以下对用户端、问题类型和问题修正数据解释说明如下:

本实施例所指的用户端可以是诸如电脑、手机等用户终端,用户可以在用户终端上通过指定网页上传模型反馈信息,也可以是通过用户终端上的指定app上传模型反馈信息。其中,服务器与用户端数据通信,该服务器具体可通过指定网页或指定app接收到用户的模型反馈信息。

本实施例所指的问题类型,可以是与基础模型所提供的功能相关的,也即问题类型可根据模型功能本身进行分类,诸如,一个模型功能对应一个问题类型。比如说,提供性别判断功能的基础模型,其对应的问题类型可以为性别判断错误;提供年龄判断功能的基础模型,其对应的问题类型可以为年龄判断错误;提供人脸比对功能的基础模型,其对应的问题类型可以是人脸比对错误等。对于每个问题类型,都可对应一个提供相应功能的基础模型,当然,多个问题类型也有可能对应一个可提供多种功能的基础模型,诸如可进行性别/年龄等检测的属性检测模型。

本实施例所指的问题修正数据,可以是用于解决该问题类型的修正数据,诸如,可以包括引发模型检测错误的原始图像,以及该原始图像的期望检测结果等。简单示例如下:当问题类型为人脸比对错误时(诸如误解锁),问题修正数据可以包括原人脸图像,以及错误解锁的人脸图像;当问题类型为人脸年龄/性别判断错误时,问题修正数据可以包括引发模型检测错误的原图像以及真实的年龄/性别;当问题类型为未检测出人脸时,问题修正数据可以包括引发模型检测错误的原图像以及原图像中人脸的位置信息等。在实际应用中,用户可以通过用户端呈现的反馈界面上传问题修正数据,反馈界面上可提供问题类型选项、图像上传通道等。以人脸误解锁为例,用户可以上传两组人脸照片a和b,以及选择问题类型为“误解锁”。

步骤s204,查找预先存储的与问题类型对应的基础模型。

可以理解的是,对于不同的问题类型,通常对应不同的模型功能,也即对应不同的基础模型;因此需要根据用户反馈的问题类型查找到提供相关功能的基础模型,以便对该基础模型进行迭代修正。因此,一种实施方式中可以确定问题类型对应的模型功能;然后将提供模型功能的基础模型确定为与问题类型对应的基础模型。

步骤s206,基于问题修正数据对基础模型进行迭代训练,以修正基础模型。

在基于问题修正数据对基础模型进行迭代训练的一种实施方式中,可以采用如下步骤:(1)获取基础模型的已有训练数据。(2)基于已有训练数据和问题修正数据,确定当前训练集。(3)通过当前训练集对基础模型进行迭代训练。

本发明实施例提供的上述模型的问题解决方法,服务器能够接收用户端上传的模型反馈信息(包括问题类型和问题修正数据),然后查找预先存储的与该问题类型对应的基础模型,进而可基于问题修正数据对该基础模型进行迭代训练,以修正该基础模型。本实施例提供的上述方式,用户可以直接通过用户端在线反馈问题,并直接由服务器针对模型反馈信息对基础模型进行迭代训练,以修正该问题模型。这种在线对模型进行迭代修正以解决模型问题的方式更加简便直接,能够有效提升模型的问题解决效率。

为了能够更好地对模型进行修正,在确定模型的训练集时,还可以获取已存储的与问题类型对应的历史修正数据,然后基于已有训练数据、问题修正数据和历史修正数据,确定当前训练集。该历史修正数据是用户(可以为原用户,也可以是其它用户)上传的与该问题类型的对应的问题修正数据。在具体实施时,还可以进一步根据用户情况选择获取的历史修正数据。诸如,可以将历史数据获取权限划分为公有权限和私有权限,如果用户端的历史数据获取权限为公有权限,可以将服务器上已存储的所有与问题类型对应的历史修正数据都作为可获取的历史训练数据;如果用户端的历史数据获取权限为私有权限,可以仅将该用户端(或者是该用户端所归属的公司团体等)曾经上传的与该问题类型对应的历史修正数据作为可获取的历史训练数据。

在确定了当前训练集,通过当前训练集对基础模型进行迭代训练时,为了能够更好的提升训练效果,在一种实现方式中可采用如下步骤执行:

步骤1,将当前训练集划分为预设组数的训练子集,并设定每组训练子集对应的损失函数和权重。预设组数可以为n组,n组训练子集又可以理解为n个子任务,通过这种方式实现迭代过程中的多任务优化。以最简单的n=2示例,一组可以为已有训练数据,一组可以为问题修正数据。这种方式与直接将问题修正数据混入至已有训练数据的方式相比,优点在于:较少的问题修正数据不会被大量的已有训练数据淹没,用户反馈的较少的问题修正数据可以直接对基础模型产生影响。因此,优选方式中,可以将问题修正数据单独划分为一组。当然,还可以根据需要而将已有训练数据再次分组,或者再加入新的训练数据等,从而形成多组。

步骤2,基于每组训练子集对应的损失函数和权重,确定总损失函数。本实施例还可以根据实际情况更改原损失函数或者增加损失函数,诸如将问题修正数据单独作为一个任务对模型进行微调,问题修正数据对应一个新的损失函数。假设共n组训练子集,则可对应n个损失函数及n个权重,综合可通过加权方式确定总损失函数。

步骤3,采用各组训练子集对基础模型进行迭代训练,直至总损失函数的函数值收敛至预设函数值,确定当前迭代结束。总损失函数表征了模型的实际输出与期望输出的差异,总损失函数值越小,也即实际输出与期望输出的差异越小,模型的准确度越高,当总损失函数值收敛到预设值时,可表征当前模型的准确度达到基本要求。

进一步,为了进一步保障模型的准确率,本实施例提供的上述方法还包括:获取基础模型的已有评测数据;采用已有评测数据和问题修正数据对当前迭代结束后的基础模型进行评测,确定当前迭代结束后的基础模型的修正结果。其中,已有测评数据可以为测试数据集,用于输入到基础模型中,根据基础模型输出的检测结果对基础模型进行性能评测。诸如人脸检测模型对应的已有测评数据可以是携带有人脸位置标签的人脸图像集。

应当注意的是,本实施例在采用已有评测数据对迭代后的模型进行评测时,还会单独采用问题修正数据对迭代后的模型进行评测,以判断该模型是否解决了用户指出的问题。具体而言,在确定修正结果时,可以参照图3所示的一种修正结果的确定方法流程图,包括如下步骤:

步骤s302,采用已有评测数据对当前迭代结束后的基础模型进行评测,生成当前迭代结束后的基础模型的性能指标值。性能指标值可以为精度等可表征模型性能的值,以人脸检测为例,性能指标值还可以是人脸检出率和非人脸误检率等。

步骤s304,采用问题修正数据对当前迭代结束后的基础模型进行评测,获取当前迭代结束后的基础模型的问题测试结果。在此以年龄检测为例,还将用户反馈的引发基础模型年龄识别错误的原图像输入至当前迭代后的基础模型,判断当前迭代后的基础模型对原图像的检测结果(也即,问题测试结果)。

步骤s306,根据性能指标值和问题测试结果,确定当前迭代结束后的基础模型的修正结果。具体实施时,如果问题测试结果与预设正确结果一致,且性能指标值高于预设阈值,确定当前迭代结束后的基础模型修正成功;如果问题测试结果与预设正确结果不一致,或,性能指标值低于预设阈值,确定当前迭代结束后的基础模型修正失败。具体而言,每个模型交付给用户(模型需求方)时,都是有阈值要求的,假设要求模型的准确率为98%,在解决用户反馈的问题时,还需要保证模型的准确率不低于98%;如果一旦低于98%,则无法满足用户的基本要求。

可以理解的是,基础模型在每次迭代后,都采用评测数据进行评测,以判断当前迭代后的基础模型修正失败与否。诸如,如果当前迭代结束后的基础模型修正成功,则可确知基础模型的修正结果为成功。如果当前迭代结束后的基础模型修正失败,且此时的模型性能指标已低于预设阈值,说明基础性能已无法满足用户需求,则可确知基础模型的修正结果为失败。

服务器在对基础模型进行训练迭代之后,还可以将修正结果反馈给用户端。如果修正成功,将修正后的基础模型封装发送给用户端;如果修正失败,将修正失败信息发送给用户端,从而实现实时的客户反馈。

综上所述,本实施例提供的上述模型迭代修正方法,通过在线对模型进行迭代的方式能够有效提升模型的问题解决效率,有助于在较短时间内将修正结果反馈给客户,从而较好地提升了用户体验度。

实施例三:

对应于前述一种模型迭代修正方法,本实施例提供了一种模型迭代修正装置,该装置可设置于服务器侧,参见图4所示的一种模型迭代修正装置的结构框图,该装置包括:

信息接收模块402,用于接收用户端上传的模型反馈信息;模型反馈信息包括问题类型和问题修正数据;

模型查找模块404,用于查找预先存储的与问题类型对应的基础模型;

模型迭代模块406,用于基于问题修正数据对基础模型进行迭代训练,以修正基础模型。

本发明实施例提供的上述模型迭代修正装置,服务器能够接收用户端上传的模型反馈信息(包括问题类型和问题修正数据),然后查找预先存储的与该问题类型对应的基础模型,进而可基于问题修正数据对该基础模型进行迭代训练,以修正该基础模型。本实施例提供的上述方式,用户可以直接通过用户端在线反馈问题,并直接由服务器针对模型反馈信息对基础模型进行迭代训练,以修正该问题模型。这种在线对模型进行迭代修正以解决模型问题的方式更加简便直接,能够有效提升模型的问题解决效率。

在一种实施方式中,模型查找模块用于:确定问题类型对应的模型功能;将提供模型功能的基础模型确定为与问题类型对应的基础模型。

在一种实施方式中,模型迭代模块用于:获取基础模型的已有训练数据;基于已有训练数据和问题修正数据,确定当前训练集;通过当前训练集对基础模型进行迭代训练。

在一种实施方式中,上述装置还包括:历史数据获取模块,用于获取已存储的与问题类型对应的历史修正数据。基于此,模型迭代模块进一步用于:基于已有训练数据、问题修正数据和历史修正数据,确定当前训练集。

在一种具体实施方式中,模型迭代模块进一步用于:将当前训练集划分为预设组数的训练子集,并设定每组训练子集对应的损失函数和权重;基于每组训练子集对应的损失函数和权重,确定总损失函数;采用各组训练子集对基础模型进行迭代训练,直至总损失函数的函数值收敛至预设函数值,确定当前迭代结束。

在一种实施方式中,上述装置还包括:评测数据获取模块和评测模块,其中,评测数据获取模块用于获取基础模型的已有评测数据;评测模块用于采用已有评测数据和问题修正数据对当前迭代结束后的基础模型进行评测,确定当前迭代结束后的基础模型的修正结果。

在一种实施方式中,上述评测模块进一步用于:采用已有评测数据对当前迭代结束后的基础模型进行评测,生成当前迭代结束后的基础模型的性能指标值;采用问题修正数据对当前迭代结束后的基础模型进行评测,获取当前迭代结束后的基础模型的问题测试结果;根据性能指标值和问题测试结果,确定当前迭代结束后的基础模型的修正结果。

在一种实施方式中,上述评测模块进一步用于:如果问题测试结果与预设正确结果一致,且性能指标值高于预设阈值,确定当前迭代结束后的基础模型修正成功;如果问题测试结果与预设正确结果不一致,或,性能指标值低于预设阈值,确定当前迭代结束后的基础模型修正失败。

上述装置还包括:反馈模块,用于将修正结果反馈给用户端。

在一种实施方式中,上述反馈模块用于:如果修正成功,将修正后的基础模型封装发送给用户端;如果修正失败,将修正失败信息发送给用户端。

本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例四:

本发明实施例还提供了一种模型迭代修正系统,该系统包括:服务器和用户端;其中,用户端用于将用户的模型反馈信息上传给服务器;服务器上存储有计算机程序,计算机程序在被服务器运行时执行如实施例二任一项的方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

进一步地,本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述物品与电子标签的配对方法的步骤。

本发明实施例所提供的模型迭代修正方法、装置及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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