AI模型生成方法、电子设备和存储介质与流程

文档序号:30385817发布日期:2022-06-11 09:48阅读:85来源:国知局
ai模型生成方法、电子设备和存储介质
技术领域
:1.本技术涉及人工智能
技术领域
:,尤其涉及一种ai模型生成方法、电子设备和存储介质。
背景技术
::2.人工智能(ai)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学,近年来,人们对人工智能的需求与日俱增。3.ai技术落地包括数据处理、模型设计、模型训练、模型发布等,落地门槛较高。尽管已经有了pytorch、tensorflow、caffe等较为主流的深度学习开源框架,但是仍然需要对ai算法有较强开发能力,针对不同的数据、场景等需求,反复调试数据、网络结构、超参数等,费时费力,且需求专家级工程师经验。4.在此背景下,automl(自动化机器学习技术)技术应运而生,可以用ai设计ai,降低ai技术的使用门槛。但是,目前automl相关产品要么是面向专业工程师,要么是功能简单,比如只有一个公开常见预训练模型,不利于ai低门槛落地。技术实现要素:5.本技术提供了一种ai模型生成方法、电子设备和存储介质,旨在提高automl技术生成的ai模型的适应性和降低使用门槛。6.第一方面,本技术实施例提供了一种ai模型生成方法,包括:7.获取目标ai模型对应的业务需求;8.确定模型生成模式,所述模型生成模式包括第一生成模式、第二生成模式、第三生成模式中的至少一种;9.若确定所述模型生成模式为所述第一生成模式,根据所述业务需求在基础数据库中确定目标模型和目标超参数配置信息;10.若确定所述模型生成模式为所述第二生成模式,根据所述业务需求和预设的专家经验逻辑在预训练模型中确定目标模型,以及确定目标超参数配置信息;11.若确定所述模型生成模式为所述第三生成模式,根据所述业务需求和网络结构搜索逻辑在网络结构向量空间中确定目标模型,根据所述业务需求和超参数搜索逻辑确定目标超参数配置信息;12.根据所述目标超参数配置信息配置所述目标模型,及根据训练数据对所述目标模型进行训练,以生成目标ai模型。13.第二方面,本技术实施例提供了一种电子设备,包括存储器和处理器;14.所述存储器用于存储计算机程序;15.所述处理器,用于执行所述计算机程序并在执行所述计算机程序时,实现上述的ai模型生成方法。16.第三方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现上述的ai模型生成方法。17.本技术实施例提供了一种ai模型生成方法、电子设备和存储介质,通过获取目标ai模型对应的业务需求;根据业务需求在基础数据库中确定目标模型和目标超参数配置信息,或者根据业务需求和预设的专家经验逻辑在预训练模型中确定目标模型以及确定目标超参数配置信息,或者根据业务需求和网络结构搜索逻辑在网络结构向量空间中确定目标模型及根据业务需求和超参数搜索逻辑确定目标超参数配置信息;根据目标超参数配置信息配置目标模型,及根据训练数据对目标模型进行训练,以生成目标ai模型。通过不同的模式确定业务需求对应的模型和超参数配置,不同的模式具有不同的特点,不同模式之间相互耦合,基于不同模式的ai模型生成方法可以实现系统化、低门槛化的降本增效,推动ai规模化落地。18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术实施例的公开内容。附图说明19.为了更清楚地说明本技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。20.图1是本技术实施例提供的一种ai模型生成方法的流程示意图;21.图2是ai模型生成方法应用场景的示意图;22.图3是automl系统的基础层的有向无环图的示意图;23.图4是automl系统的预制层的有向无环图的示意图;24.图5是一实施方式中automl系统的定制层的有向无环图的示意图;25.图6是另一实施方式中automl系统的定制层的有向无环图的示意图;26.图7是一实施方式中automl系统底层框架的示意图;27.图8是本技术实施例提供的一种电子设备的示意性框图。具体实施方式28.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。29.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。30.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。31.请参阅图1,图1是本技术实施例提供的一种ai模型生成方法的流程示意图。所述ai模型生成方法可以应用在电子设备,如终端设备或服务器中,用于生成ai模型等过程;其中,终端设备可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备;服务器可以为独立的服务器,也可以为服务器集群。32.示例性的,如图2所示,ai模型生成方法应用在服务器时的场景示意图。服务器可以从终端设备获取业务需求,执行ai模型生成方法生成目标ai模型,还可以将生成的目标ai模型发送给终端设备,以便终端设备进行模型测试或部署等操作。33.如图1所示,本技术实施例的ai模型生成方法包括步骤s110至步骤s160。34.s110、获取目标ai模型对应的业务需求。35.示例性的,在终端设备的显示装置显示需求获取界面,用户可以在需求获取界面输入业务需求。可以理解的,目标ai模型表示用户需要的ai模型。36.在一些实施方式中,所述业务需求包括以下至少一种:任务类型、终端类型、应用场景、算力需求。从而终端设备的用户可以根据需要设定业务需求,以便服务器执行ai模型生成方法,生成符合用户需要的目标ai模型,生成的目标ai模型更有针对性。37.其中,任务类型表示用户需要的目标ai模型的实用场景,如该目标ai模型需要处理的任务,如分类、检测、视频、自然语言处理等。终端类型表示目标ai模型的部署环境,如部署该目标ai模型的终端的型号、终端的处理器类型、型号等。例如,终端的处理器类型可以包括cpu(centralprocessingunit)和/或gpu(graphicsprocessingunit)。应用场景可以包括以下至少一种:小样本检测、小物体检测、非均衡样本检测等。38.s120、确定模型生成模式,所述模型生成模式包括第一生成模式、第二生成模式、第三生成模式中的至少一种。39.示例性的,不同的生成模式生成目标ai模型的流程不同,例如模型生成的速度存在差异、生成目标ai模型的算力消耗不同,和/或目标ai模型的规模、准确度不同等等。40.例如,第一生成模式的模型生成速度比第二生成模式快,第二生成模式的模型生成速度比第三生成模式快;或者第一生成模式生成的模型的准确度比第二生成模式低,第二生成模式生成的模型的准确度比第三生成模式低。41.示例性的,第一生成模式可以称为基础生成模式,第二生成模式可以称为预制生成模式,第一生成模式可以称为定制生成模式。42.在一些实施方式中,可以在终端设备的显示装置显示多种生成模式,以及根据用户的模式选择操作确定所述模型生成模式。43.在另一些实施方式中,可以根据获取的业务需求确定所述模型生成模式。44.在一些实施方式中,所述ai模型生成方法可以用于automl系统,该automl系统可以部署在服务器或终端设备。45.示例性的,所述automl系统可以包括基础层、预制层和定制层。其中,基础层用于以第一生成模式生成模型,预制层用于以第二生成模式生成模型,定制层用于以第三生成模式生成模型。46.s130、若确定所述模型生成模式为所述第一生成模式,根据所述业务需求在基础数据库中确定目标模型和目标超参数配置信息。47.在一些实施方式中,基础层的基础数据库包括不同业务需求,如不同任务(分类、检测、视频、自然语言处理等)的标准数据模块、模型选择模块、超参数配置模块等,可以理解为模型的模型仓库模块。48.以分类任务为例,其中,标准数据模块可以包括多种用于执行数据扩充算法的数据扩充单元,数据扩充算法比如包括翻转、剪裁、旋转等;模型选择模块可以包括主流的神经网络模型架构,比如vgg(visualgeometrygroup)、resnet(residualnetwork)、densenet(denselyconnectedconvolutionalnetworks)、inception等;超参数配置可以包括多种超参数,包括但不限于dropout、weightsdecay(权值衰减)、学习率等。49.示例性的,可以根据业务需求确定目标模型为vgg架构,以及确定至少一项超参数的配置信息,即目标超参数配置信息。50.在一些实施方式中,基础层还可以包括训练模块,训练模块用于根据确定的训练策略对模型进行训练。训练模块可以包含多种训练策略设置,包括但不限于梯度下降算法、强化学习算法,比如sgd(stochasticgradientdescent,随机梯度下降)、adam(adaptivemomentestimation,适应性矩估计)等。51.在一些实施方式中,基础层还可以包括部署模块,部署模块用于将训练好的模型转化为云端或者芯片端可使用的场景任务中,对模型进行封装、部署到对应的设备。52.在一些实施方式中,所述automl系统包括有向无环图(directedacyclicgraph,dag),该有向无环图用于描述所述automl系统的自动化工作流,实现自动化工作流的架构封装。53.示例性的,automl系统的基础层包括有向无环图(directedacyclicgraph,dag),该有向无环图用于描述所述基础层的自动化工作流,实现自动化工作流的架构封装。当然,有向无环图也可以配置在所述automl系统的预制层或定制层,或者可以独立于基础层、预制层和定制层配置。54.示例性的,如图3所示为基础层的有向无环图的示意图。其中,实线表示已经激活的工作流,虚线表示没有激活的工作流,在以第一生成模式生成模型时,执行实线表示的工作流。55.在一些实施方式中,所述有向无环图包括所述基础数据库中多个ai模型的标识和多个超参数配置信息的标识。56.示例性的,如图3中的vgg、resnet、densenet、inception为目前主流的ai模型,又可称为神经网络模型架构的名称标识;图3中的dropout、weightsdecay、学习率为可选的超参数,即超参数配置信息的标识。57.示例性的,步骤s130中所述根据所述业务需求在基础数据库中确定目标模型和目标超参数配置信息,包括:根据所述业务需求在所述有向无环图中确定至少一个ai模型的标识为所述目标模型的标识,及确定至少一个超参数配置信息的标识为所述目标超参数配置信息的标识。58.示例性的,如图3所示,确定其中的vgg架构为目标模型;dropout、weightsdecay、学习率为超参数。59.在一些实施方式中,还可以在基础层的有向无环图中确定训练策略,如确定训练策略为sgd。60.如图3所示,若确定所述模型生成模式为所述第一生成模式,根据所述业务需求在基础数据库中确定目标模型和目标超参数配置信息,包括:通过翻转、裁剪、旋转处理对训练数据进行数据扩充,根据扩充后的数据和确定的目标超参数配置信息,对确定的目标模型进行训练,训练时使用sgd的训练策略,训练完毕后得到目标ai模型,之后可以将目标ai模型进行部署。从而,基于基础层可以实现一键自动化训练模型。61.具体地,有向无环图可以以配置表的接口形式展示出来,配置表可以对接软件前端或者web前端等,也可以对接命令行操作。62.s140、若确定所述模型生成模式为所述第二生成模式,根据所述业务需求和预设的专家经验逻辑在预训练模型中确定目标模型,以及确定目标超参数配置信息。63.具体的,专家经验逻辑可以包括专家、专业工程师在场景任务数据上沉淀的经验逻辑,例如面向不同终端、场景,所对应的预制的预训练(pretrain)模型、超参配置等。64.示例性的,预制层封装的专家经验逻辑可以包多种芯片型号(可以细化到对应的型号)、算力需求、应用场景(比如小样本检测、小物体检测、非均衡样本检测、任务类型),以及对应的预训练模型和目标超参数配置信息。65.示例性的,可以根据预设的专家经验逻辑确定所述业务需求对应的预训练模型为目标模型,以及确定目标超参数配置信息,例如可以根据业务需求得到在场景上可以落地的预训练的主流模型和适合的超参数、预训练的自研手工设计的模型和适合的超参数、预训练的automl搜索出的模型和适合的超参数。66.示例性的,场景任务的需求可以梳理为3个需求:终端型号、应用场景和算力需求。67.以cpu和gpu上运行的分类场景为例子,若用户选择使用分类场景为cpu且没有算力约束,由于depthwiseseparatable算子对cpu的友好性,基于专家经验逻辑可以启动预制pretrain的mobilenet模型,在场景数据上微调(finetune)即可。其中,mobilenet模型是指轻量级的深度神经网络模型。若用户选择使用分类场景为gpu且没有算力约束,由于conv33算子对gpu的友好性,基于专家经验逻辑可以启动预制pretrain的resnet-50模型,在场景数据上微调即可。如果用户选择cpu且业务需要模型要求在3兆(m)参数量以下,由于mobilenet模型为4.2兆参数量不满足要求,则可以基于专家经验逻辑启动专家预制压缩后的pretrainmobilenet模型(例如为2m参数),在场景上微调即可。68.示例性的,如图4中的模型1、模型2、模型3、模型4为预训练模型的标识,超参数配置表1、超参数配置表2、超参数配置表3为可选的超参数,即超参数配置信息的标识,训练策略1、训练策略2是可选的训练策略的标识。69.在一些实施方式中,预制层基于基础层的有向无环图封装自动化工作流,封装形式如图4所示,也是基于有向无环图的封装。可以体现业务需求对应的业务逻辑和对应的自动化训练、部署封装。其中预制层的逻辑封装一部分是基于基础层的封装进行的二次封装,另一部分是适配场景的定制化研发结果封装。70.示例性的,如图4所示,确定其中的模型1为目标模型,确定超参数配置表1为超参数。71.在一些实施方式中,还可以在预制层的有向无环图中确定训练策略,如确定训练策略为训练策略1。72.如图4所示,若确定所述模型生成模式为所述第二生成模式,根据所述业务需求和预设的专家经验逻辑在预训练模型中确定目标模型,以及确定目标超参数配置信息,包括:根据终端型号、应用场景和算力需求确定模型1为目标模型,根据确定的目标超参数配置信息,对确定的目标模型进行训练,训练时使用训练策略1,训练完毕后得到目标ai模型,之后可以将目标ai模型进行部署。从而,基于预制层可以实现一键自动化训练模型。73.s150、若确定所述模型生成模式为所述第三生成模式,根据所述业务需求和网络结构搜索逻辑在网络结构向量空间中确定目标模型,根据所述业务需求和超参数搜索逻辑确定目标超参数配置信息。74.示例性的,网络结构向量空间可以为多个不同网络模型的并集,网络模型可以用一个向量描述,该向量至少可以描述网络模型的宽度、深度、激活函数、损失函数等。75.具体的,以第三生成模式生成模型时,具有较高的自由度,可以从头开始进行网络结构、超参设置、数据处理等自动化搜索流程。是一种基于automl算法的数据、场景、算力驱动的定制化ai落地服务,虽然搜索耗时较长,但是全定制化,例如生成的模型的准确度更高,更适用于特定的场景。76.示例性的,可以基于pretrianautoml的automl算法搜索确定目标模型和目标超参数配置信息,既满足耗时小,又满足定制化。77.示例性的,如图5所示,可以高自由度定制模型,以1m计算量和网络性能作为优化目标,寻求满足1m参数下性能最高的模型。78.在一些实施方式中,所述ai模型生成方法还包括:根据所述业务需求确定所述训练数据的数据增强策略;基于所述基础数据库中与所述数据增强策略对应的数据增强处理单元,对所述训练数据进行增强处理,以提高训练数据的信息量,训练得到的模型可以更准确。79.示例性的,所述数据增强策略包括以下至少一种:数据清洗、数据预处理、数据扩充,其中数据扩充可以包括翻转、剪裁、旋转等。80.示例性的,若确定所述模型生成模式为所述第三生成模式,可以:根据终端型号、应用场景和算力需求执行网络结构搜索、数据增强策略的自动化搜索和超参数自动化搜索,以确定目标模型、数据增强策略和目标超参数配置信息,对确定的目标模型进行训练,训练时使用训练策略1,训练完毕后得到目标ai模型,之后可以将目标ai模型进行部署。从而,基于定制层可以实现一键自动化训练模型。81.在一些实施方式中,所述根据所述业务需求和网络结构搜索逻辑在网络结构向量空间中确定目标模型,包括:根据所述第一生成模式对应的目标模型或者所述第二生成模式对应的预训练模型确定搜索初始化状态;以及,根据所述业务需求和网络结构搜索逻辑,以所述搜索初始化状态在网络结构向量空间中进行网络结构搜索,得到目标模型。82.为了高效的完成搜索过程,基础层、预制层可以作为初始化网络模型结构和超参数配置,以用于网络结构、超参、数据等自动化搜索。基于automl算法的数据、场景、算力约束驱动的定制化ai落地服务。基于基础层的公开模型作为搜索初始化状态,开始automl搜索,或者基于预制层的自研模型,作为搜索初始化状态开始automl搜索,基于基础层的公开模型或者预制层专家自研的模型,可以实现模型的半定制化,较好的初始化搜索状态,可以使得搜索耗时较短,加速搜索过程收敛。83.示例性的,如果用户选择cpu且业务需要模型在1m参数量,而由于mobilenet模型为4.2m参数量不满足要求,专家预制压缩后的pretrainmobilenet模型为2m参数,也不满足要求,则可以在定制层启动自动化压缩算法,将预制的2m参数量的pretrianmobilenet模型作为初始化状态,从2m开始自动化网络压缩至1m参数量,然后将压缩后的预制模型在场景数据上finetune即可。84.示例性的,如图6所示,可以根据所述终端型号、应用场景和算力需求等业务需求和预设的专家经验逻辑确定对应的预训练模型,如预制模型1为目标模型,以该预训练模型确定搜索初始化状态,根据该搜索初始化状态在网络结构向量空间中进行网络结构搜索,得到目标模型,以及执行数据增强策略的自动化搜索和超参数自动化搜索,以确定数据增强策略和目标超参数配置信息;之后对确定的目标模型进行训练,训练时使用训练策略1,训练完毕后得到目标ai模型,之后可以将目标ai模型进行部署。从而,基于定制层可以实现一键自动化训练模型。85.可以理解的,所述定制层的功能包括:对内提供基于所述基础层和所述预制层的自动化automl算法,实现所述基础层和所述预制层的自动化调用;对外提供基于高阶的automl研发工具化能力。86.s160、根据所述目标超参数配置信息配置所述目标模型,及根据训练数据对所述目标模型进行训练,以生成目标ai模型。87.在一些实施方式中,若确定所述模型生成模式为所述第一生成模式,可以根据基础层的自动化工作流配置所述目标模型及根据训练数据对所述目标模型进行训练;若确定所述模型生成模式为所述第二生成模式,可以根据预制层的自动化工作流配置所述目标模型及根据训练数据对所述目标模型进行训练;若确定所述模型生成模式为所述第三生成模式,可以根据定制层的自动化工作流配置所述目标模型及根据训练数据对所述目标模型进行训练。88.在一些实施方式中,基础层可以包括训练模块,训练模块用于根据确定的训练策略对模型进行训练。训练模块可以包含多种训练策略设置,比如sgd、adam等。示例性的,预制层和定制层训练阶段的自动化工作流也可以由基础层的训练模块执行,以简化automl系统。89.示例性的,在步骤s140根据所述业务需求和预设的专家经验逻辑在预训练模型中确定目标模型,以及确定目标超参数配置信息时,所述方法还包括:将确定为目标模型的预训练模型存储在所述基础数据库中,在所述有向无环图中增加所述预训练模型的标识;以及将确定的目标超参数配置信息存储在所述基础数据库中,在所述有向无环图中增加确定的目标超参数配置信息的标识。90.可以理解的,在步骤s140中根据专家经验逻辑确定的目标模型、数据增强策略和目标超参数配置信息可以自动的拉入基础层的工作流,在基础层进行训练。91.在一些实施方式中,步骤s160中所述根据所述目标超参数配置信息配置所述目标模型,及根据训练数据对所述目标模型进行训练,以生成目标ai模型,包括:在所述基础层的有向无环图中确定工作流路径,基于所述工作流路径,根据所述训练数据对所述目标模型进行训练,以生成目标ai模型。92.其中,所述有向无环图用于描述所述基础层的自动化工作流,所述工作流路径包括所述目标模型的标识、所述目标超参数配置信息的标识、训练策略的标识,以及所述目标模型的标识和所述目标超参数配置信息的标识之间的路径、所述目标超参数配置信息的标识和所述训练策略的标识之间的路径,具体可以参照图3至图6。通过有向无环图定义工作流路径,可以便于将工作流路径中融合各种模型生成模式对应的模型生成过程,例如,可以复用工作流路径中的训练过程和部署过程。93.示例性的,在步骤s150根据所述业务需求和网络结构搜索逻辑在网络结构向量空间中确定目标模型,根据所述业务需求和超参数搜索逻辑确定目标超参数配置信息时,所述方法还包括:将确定的目标模型存储在所述基础数据库中,在所述有向无环图中增加所述目标模型的标识;以及将确定的目标超参数配置信息存储在所述基础数据库中,在所述有向无环图中增加确定的目标超参数配置信息的标识。94.可以理解的,在步骤s150通过搜索确定的目标模型、数据增强策略和目标超参数配置信息可以自动的拉入基础层的工作流,在基础层进行训练。95.在一些实施方式中,基础层可以包括部署模块,部署模块用于将训练好的模型转化为云端或者芯片端可使用的场景任务中,对模型进行封装、部署到对应的设备。96.在一些实施方式中,所述ai模型生成方法还包括:将所述目标ai模型部署到目标设备和/或将所述目标ai模型发布到模型交易平台。97.目标设备可以是所述终端设备,也可以是终端设备之外的其他电子设备。示例性的,服务器可以通过与终端设备的交互,获取终端设备指定的目标设备,所述目标设备为用于部署所述目标ai模型的电子设备,如手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等,从而服务器可以将所述目标ai模型部署到所述目标设备,以使目标设备能够应用所述目标ai模型执行预设任务,如图像分类等。98.在一些实施方式中,如图7所示,automl系统可以以tensorflow、pytorch、caffe、mxnet开源框架等(并不限于此)做为底层框架。99.示例性的,通过底层框架输出依次进入nncf框架、onnx框架、tnn框架,迭代后用于arm、gpu或cpu芯片。100.具体地,通过上述主流开源框架,例如,tensorflow可无缝转接tf-lite,然后可打通众多芯片,如mtk-apu、cpu等。tensorflow、pytorch、caffe、mxnet框架输出可依次进入nncf框架、onnx框架、tnn框架,无缝打通到arm、gpu、cpu等众多芯片。101.进一步地,automl系统可以链接至ai模型交易平台,用于提供所述ai系统的saas服务模式,在产品的web界面上设置模型的对外发布按钮,并将按钮对应链接至交易平台,以实现自动化生产的模型的对外发布。102.具体地,本实施例提供了所述automl系统产品化后的saas形态,其中,上述saas为软件即服务,用于模型自动化生产完成后的对外发布,在web界面上设置交易平台按钮,并将其链接至ai交易平台。103.本技术实施例提供的ai模型生成方法,通过获取目标ai模型对应的业务需求;根据业务需求在基础数据库中确定目标模型和目标超参数配置信息,或者根据业务需求和预设的专家经验逻辑在预训练模型中确定目标模型以及确定目标超参数配置信息,或者根据业务需求和网络结构搜索逻辑在网络结构向量空间中确定目标模型及根据业务需求和超参数搜索逻辑确定目标超参数配置信息;根据目标超参数配置信息配置目标模型,及根据训练数据对目标模型进行训练,以生成目标ai模型。通过不同的模式确定业务需求对应的模型和超参数配置,不同的模式具有不同的特点,不同模式之间相互耦合,基于不同模式的ai模型生成方法可以实现系统化、低门槛化的降本增效,推动ai规模化落地。104.在一些实施方式中,所述根据所述业务需求和网络结构搜索逻辑在网络结构向量空间中确定目标模型,包括:确定所述业务需求对应的网络结构向量空间;基于随机搜索策略,在所述网络结构向量空间中搜索得到网络结构;根据所述网络结构向量空间对应的共享权重,确定所述网络结构的权重参数,得到权重模型;根据搜索样本集,对所述权重模型进行微调,得到微调模型;在多个所述微调模型中确定目标ai模型。105.在一些实施方式中,所述网络结构向量空间包括网络结构向量空间图(graph),所述网络结构向量空间图包括多个网络单元和所述多个网络单元之间的连接。在另一些实施方式中,网络结构向量空间也可以以向量的形式描述,向量中各元素可以用于表示网络单元和网络单元之间的连接。当然本技术实施例也不限于此。106.所述网络结构向量空间中可以包括很多操作,基于不同的连接方式,这些操作中的全部或部分操作可以构成不同的神经网络,或者说,基于不同的连接方式,这些操作中的全部或部分操作构成的神经网络的网络结构可以不同。107.示例性的,所述网络结构向量空间中包括卷积(conv)操作,dw(depthwise)卷积操作等网络单元。多个网络单元,和多个网络单元之间的连接可以构成一个神经网络。108.示例性的,所述在所述网络结构向量空间中搜索得到网络结构,包括:在所述网络结构向量空间图中搜索,确定包括若干网络单元和所述若干网络单元间连接的有向路径,根据所述有向路径确定所述网络结构。109.可以理解的,相较于基于梯度信息的搜索方法、基于强化学习的搜索方法、基于进化算法的搜索方法等,随机搜索方法本身是无偏的(unbias),不存在搜索偏差,可以适用于多种不同的任务。从而基于随机搜索策略,在所述网络结构向量空间中搜索网络结构,可以降低或消除不同的任务、数据上的搜索偏差(searchbias),保证搜索得到的网络结构的稳定性。110.在一些实施方式中,所述基于随机搜索策略,在所述网络结构向量空间中搜索得到网络结构,包括:基于随机初始化的搜索控制网络,在所述网络结构向量空间中搜索得到网络结构。111.示例性的,搜索控制网络又可称为控制器(controller),例如可以使用lstm神经网络设置,当然也不限于此,如也可使用rnn神经网络设置。搜索控制网络用于在网络结构向量空间中确定若干网络单元和所述若干网络单元之间的连接,得到网络结构。112.在本实施方式中,搜索控制网络是未经训练的,可以保持随机采样,从而可以较好地实现基于随机搜索策略在所述网络结构向量空间中搜索得到网络结构。113.权重共享(weightssharing)策略,是将网络结构向量空间中所有网络结构的权重共享,来达到加速搜索的效果。使用权重共享策略将网络结构向量空间中不同的网络结构的权重共享复用,可以提高搜索效率。114.示例性的,获取训练样本集(trainset)和测试样本集(testset),可以在训练样本集中切分出搜索样本集(searchset)和验证样本集(validset)。当然,搜索样本集(searchset)和验证样本集(validset)也可以是独立获取的样本集。115.示例性的,对所述权重模型进行微调至收敛,得到微调模型;或者对所述权重模型进行若干周期(epoch)微调,得到微调模型。116.具体的,在配置完网络结构和共享权重后,通过搜索样本集对所述权重模型进行微调(finetune),可以提高基于权重共享参数的网络的可靠性,防止使用权重共享参数的网络结构完成任务,如预测的性能不能有效反应出该网络真实训练之后的性能,从而提高搜索的效率。117.示例性的,根据各所述微调模型的评价参数,在多个所述微调模型中确定目标模型,可以提高搜索的性能。118.相较于权重共享参数的权重模型,通过微调的微调模型的模型性能可以更接近于真实训练之后模型的性能,微调模型的评价参数和真实训练之后模型的评价参数的相关性更强。119.可以理解的,使用随机搜索策略进行网络结构搜索时,每搜索出一个网络结构,都将该网络结构配置上共享权重,然后在搜索样本集上继续微调约定数量的步数,可以解决权重共享的相关性弱问题。示例性的,微调约定数量的步数可以是一个epoch,因为实验发现,一个epoch就可以提升足够大的相关性。120.在一些实施方式中,所述在多个所述微调模型中确定目标模型,包括:根据验证样本集,确定多个所述微调模型各自的第一评价参数;根据所述第一评价参数,在多个所述微调模型中确定若干候选模型;基于训练样本集,对各所述候选模型进行训练,得到各所述候选模型对应的训练模型;基于测试样本集,确定各所述训练模型的第二评价参数;根据所述第二评价参数,在所述若干候选模型对应的训练模型中确定目标模型。121.示例性的,将各微调后的微调模型在验证样本集(validset)上测试,得到第一评价参数,第一评价参数例如可以称为validreward(收益),以分类任务为例,reward为准确度(accuracy)。122.第一评价参数可以用于评价微调模型的效果,根据第一评价参数,确定效果较好的微调模型为候选模型。例如,选取validreward最好的k个微调模型为候选模型,k为大于或等于1的自然数。123.示例性的,在训练样本集(trainset)训练候选模型至收敛,得到各所述候选模型对应的训练模型。124.示例性的,在测试样本集(testset)上测试各训练模型,得到第二评价参数,第二评价参数例如可以称为testreward。125.通过微调的微调模型的评价参数可以更接近于通过训练的训练模型的评价参数,通过在微调的微调模型中确定候选模型,可以得到更符合要求的候选模型,在训练后仍可以得到较好性能的训练模型,提高搜索效率。126.可以理解的,搜索方法是否有效的评价体系为k个validreward和k个testreward之间的相关性,通常认为,k个validreward和k个testreward越具有高度单调一致性,表明搜索方法较好,k为大于或等于1的自然数。127.示例性的,选取testreward最好的训练模型为目标模型。128.在一些实施方式中,虽然增加了对所述权重模型进行微调的步骤,但是省去了训练控制器(controller)的耗时,总体时间并不会增加,但搜索结果的鲁棒性增加。129.如果直接使用随机搜索会面临如下问题:1)搜索出的结果方差大,导致效率低下,2)搜索结果不可靠。因此,需要搜索更多的结构才能找到较好的网络结构。本技术实施例通过权重共享,和对所述权重模型进行微调,以及从微调后的模型中确定目标模型提高搜索效率和可靠性,可以解决上述技术问题。130.示例性的,所述微调的周期低于所述训练的周期,和/或用于所述微调的搜索样本集小于用于所述训练的训练样本集。例如,微调训练默认一个epoch,因为实验发现,一个epoch就可以提升足够大的相关性,也可以提高搜索效率。131.在一些实施方式中,所述网络结构向量空间为预训练的网络结构向量空间。例如,获取预设任务的数据集,基于随机训练策略,根据所述数据集对所述网络结构向量空间对应的全局网络结构进行预训练。132.示例性的,使用提前准备好预设任务对应的大型数据集,如分类任务的imagenet,检测任务的coco,使用随机策略在准备好的开源数据上训练graph(随机策略可以让graph训练过程无偏),得到预训练的网络结构向量空间。在确定所述业务需求对应的网络结构向量空间时,可以确定基于业务需求的任务类型对应的数据集预训练的网络结构向量空间,可以节省训练graph的步骤,搜索效率大幅提升。133.通过预置预训练的网络结构向量空间,可以让搜索过程在同一类任务上只用一套预训练的网络结构向量空间,不用每次都从头训练网络结构向量空间。以分类任务为例,可以将在imagenet上预训练的graph作为实现大部分分类任务的预置pretraingraph,实际在分类场景上,只需要在预置的pretraingraph上搜索得到网络结构,并在场景数据上微调和测试validreward即可。134.请结合上述实施例参阅图8,图8是本技术实施例提供的电子设备600的示意性框图。135.示例性的,电子设备可以包括终端设备或服务器;其中,终端设备可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备;服务器可以为独立的服务器,也可以为服务器集群。136.该电子设备600包括处理器601和存储器602。137.示例性的,处理器601和存储器602通过总线603连接,该总线603比如为i2c(inter-integratedcircuit)总线。138.具体地,处理器601可以是微控制单元(micro-controllerunit,mcu)、中央处理单元(centralprocessingunit,cpu)或数字信号处理器(digitalsignalprocessor,dsp)等。139.具体地,存储器602可以是flash芯片、只读存储器(rom,read-onlymemory)磁盘、光盘、u盘或移动硬盘等。140.其中,所述处理器601用于运行存储在存储器602中的计算机程序,并在执行所述计算机程序时实现前述的ai模型生成方法。141.示例性的,所述处理器601用于运行存储在存储器602中的计算机程序,并在执行所述计算机程序时实现如下步骤:142.获取目标ai模型对应的业务需求;143.确定模型生成模式,所述模型生成模式包括第一生成模式、第二生成模式、第三生成模式中的至少一种;144.若确定所述模型生成模式为所述第一生成模式,根据所述业务需求在基础数据库中确定目标模型和目标超参数配置信息;145.若确定所述模型生成模式为所述第二生成模式,根据所述业务需求和预设的专家经验逻辑在预训练模型中确定目标模型,以及确定目标超参数配置信息;146.若确定所述模型生成模式为所述第三生成模式,根据所述业务需求和网络结构搜索逻辑在网络结构向量空间中确定目标模型,根据所述业务需求和超参数搜索逻辑确定目标超参数配置信息;147.根据所述目标超参数配置信息配置所述目标模型,及根据训练数据对所述目标模型进行训练,以生成目标ai模型。148.本技术实施例提供的电子设备的具体原理和实现方式均与前述实施例的ai模型生成方法类似,此处不再赘述。149.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现上述实施例提供的ai模型生成方法的步骤。150.其中,所述计算机可读存储介质可以是前述任一实施例所述的电子设备的内部存储单元,例如所述电子设备的硬盘或内存。所述计算机可读存储介质也可以是所述电子设备的外部存储设备,例如所述电子设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。151.应当理解,在此本技术中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。152.还应当理解,在本技术和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。153.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1