CN109886422A - 模型配置方法、装置、电子设备及可读取存储介质 - Google Patents
模型配置方法、装置、电子设备及可读取存储介质 Download PDFInfo
- Publication number
- CN109886422A CN109886422A CN201910105813.XA CN201910105813A CN109886422A CN 109886422 A CN109886422 A CN 109886422A CN 201910105813 A CN201910105813 A CN 201910105813A CN 109886422 A CN109886422 A CN 109886422A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- learning model
- model
- equipment
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Feedback Control In General (AREA)
Abstract
本申请公开了一种模型配置方法、装置、电子设备及可读取存储介质,该方法包括:获取第一机器学***台构建;将所述第一机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学习模型。本方法利用模型迁移技术,将海量数据和大型机器学习模型学习到的机器学习能力嵌入到多种不同的设备中,即可将多个大机器学习模型的性能迁移到小机器学习模型,解决生活中的实际问题。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种模型配置方法、装置、电子设备及可读取存储介质。
背景技术
机器学***是深度神经网络,其使用由多个处理层组成的计算模型,所述多个处理层学习具有多个抽象级的数据(通常是极大量的数据)表示,因此使用术语“深度学习”、“深度网络”等。
在当前的机器学习任务中一个普遍共识是在样本数据足够、训练方法恰当、网络模型设计科学的条件下,所使用的网络模型越大、越复杂,往往能够得到越精确的识别结果。虽然网络模型越大、越复杂,识别结果越精确可靠,但是,现有的机器学习方法,在应用推广上,没法做到与应用自适应。
发明内容
有鉴于此,本申请提出了一种模型配置方法、装置、电子设备及可读取存储介质,以改善上述缺陷。
第一方面,本申请实施例提供了一种模型配置方法,该方法包括:获取第一机器学***台构建;将所述第一机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学习模型。
第二方面,本申请实施例提供了一种模型配置装置,该装置应用于服务器,所述装置包括:第一获取模块、第二获取模块、迁移模块和发送模块。第一获取模块用于获取第一机器学***台构建。迁移模块用于将所述第一机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学习模型。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;一个或多个应用程序;其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行本申请任意实施例提供的模型配置的方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行本申请任意实施例提供的模型配置的方法。
相对于现有技术,本申请实施例提出了一种模型配置方法、装置、电子设备及可读取存储介质,获取第一机器学***台构建;将所述第一机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学***台构建,这也使得本实施例在节约设备和/或平台成本的同时也可以使模型与设备和/或平台更加适配。
为使本申请的上述目的、特征和优点能够更明显易懂,下文特举较佳实施例,并配合所附附图,做详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的模型配置***的示意图;
图2示出了本申请一个实施例提出的一种模型配置方法流程图;
图3示出了本申请实施例提出的一种模型配置方法中模型迁移的具体示例图;
图4示出了本申请实施例提出的一种模型配置方法中将训练后的第二机器学***台上的流程图;
图5示出了本申请实施例提出的一种模型配置方法中将训练后的第二机器学***台上的具体示例图;
图6示出了本申请另一个实施例提出的一种模型配置方法流程图;
图7示出了本申请另一个实施例提出的一种模型配置方法中自监督数据集构建流程图;
图8示出了本申请实施例提出的一种模型配置装置的结构框图;
图9示出了本申请实施例提出的用于执行根据本申请实施例的模型配置方法的电子设备的结构框图;
图10示出了本申请实施例提出的用于保存或者携带实现根据本申请实施例的模型配置方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号或字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为了便于详细说明本申请方案,下面先将结合附图对本申请的***进行介绍。
本申请下述实施例如无特别说明均可应用于如图1所示的***10中,该***10可以包括设备和/或平台11和服务器12。
服务器12通过有线或无线网络与设备和/或平台11连接、其中,设备和/或平台11可以包括:PC(personal computer)电脑、平板电脑、手机、笔记本电脑、移动互联网设备(MID,mobile internet device)或其他类型的设备和/或平台。
本申请实施例中设备和/或平台11可以配置有安装有网页浏览器或应用客户端,所述客户端可以是应用程序客户端,也可以是网页客户端,在此不作限定,另外设备和/或平台可以是任何具备通信和存储功能的设备或平台。本申请实施例中,设备和/或平台11和服务器12能够通过通信网络直接连接。设备和/或平台11和服务器12可以在WIFI(无线保真)网络、2G/3G/4G/5G网络或局域网中建立通信连接。另外,设备和/或平台上可以配置有Windows***、Ubuntu***或者CentOS***,可通过配置这些***来完成机器学习模型的学习与训练,具体使用哪种***这里不进行明确限制。
本实施例中的服务器12可以包括云服务器、网络接入服务器、数据库服务器、验证服务器等多种服务器。
在机器学***台上,以简化低功耗低运算能力的设备和/或平台的开发流程,提升其性能。但是在实际应用中,很多时候,具体的问题,还很难应用机器学***台本身运算性能不同,有新老不同的版本,有不同的组成和结构,各有各的特性等。而相对较大的机器学***台满足一定的运算性能要求,运算性能差的设备和/或平台,也就无法直接利用机器学***台的运算能力和特性,算法对于运算性能,是刚性的,没法做到柔性的自适应。
因此,为了克服上述缺陷,如图2,本申请实施例提供了一种模型配置方法,该方法包括步骤S110至步骤S140。
步骤S110:获取第一机器学习模型,所述第一机器学习模型通过预设数据集训练获取的。
第一机器学习模型通过预设数据集和第一机器学习网络共同训练获取得到,在获取第一机器学习模型的时候可以使用基于监督学习方法、无监督学习方法、强化学习方法或半监督学习方法,例如,可使用基于监督学习方法训练第一机器学习模型,其中,为预设数据集标注出期望的分类值,以标注出的分类值对第一机器学习模型进行监督。在缺乏足够的先验知识,难以人工标注类别或进行人工类别标注成本过高的情况下,可使用无监督方法来训练,例如,对图像进行特征提取的第一机器学习模型就可以通过无监督学习进行训练。
另外,第一机器学***均池化层。第一机器学习网络还可以包括激活层和批量层,激活层包括激活函数,激活函数用于为神经网络加入非线性因素,即当训练数据无法用线性模型进行分类的时候,必须引入非线性因素对其进行分类,激活函数所完成的就是这个工作,常用的激活函数包括sigmod函数、tanh函数、Relu函数、softmax函数等。
本实施例中预设数据集为海量数据集,因机器学习模型训练对数据集的数量有严格的要求,因此在构建预设数据集的时候可以通过不同方法进行获取,即预设数据集可以通过手动获取,也可以利用网络爬虫从互联网中获取。预设数据集中可以包括多个分类的预设数据,这些数据的格式可以为图像、语音、文本、音频、视频、音视频或者其他格式的数据,而不同格式的预设数据也有不同的特性。例如,图像格式的数据可以光照不同、尺度不同或者图像上目标的位置不同。需要说明的是,如果构建的数据集不足,可以通过数据处理获取更多的数据集,例如,当数据格式为图像时可以对已经构建的预设数据集进行滤波、加噪或者去噪等图像处理。
获取到海量预设数据集和第一机器学习网络后,将所述海量预设数据集输入到所述第一机器学习网络中进行训练,在进行训练时不断对第一机器学习模型的网络参数进行调整,所述网络参数包括权重参数、偏置参数、激活函数、迭代次数等,通过不断调整这些网络参数获得一个最优的第一机器学习模型。
步骤S120:获取一个或多个第二机器学***台构建。
获取一个或多个第二机器学习模型,该第二机器学习模型可以通过第二机器学习网络训练获取,也可以不通过第二机器学习网络训练获取。其主要原因是第二机器学习网络构建好以后就可以将其称作为初始的第二机器学习模型,没有经过训练学习的第二机器学习模型能力较低,而经过训练学习的第二机器学习模型的能力则比较高。本申请实施例中第二机器学习模型具体是通过第二机器学习网络训练获取的还是未通过第二机器学习网络训练获取的这里不做限制。和第一机器学习网络相似,第二机器学习网络也可以包括卷积层、池化层和全连接层,这些网络层具体如何连接构成第一机器学习网络这里就不进行详细赘述。
本实施例中第二机器学***台进行构建,即所述第二机器学***台的资源数量和资源特性适配。
第二机器学***台的资源数量适配,资源数量适配可以包括四部分,分别是模型的运算能力、模型存储时占用的静态空间、模型运算时占用的动态存储空间以及通信数据总线和数据传输速度。模型的运算能力指的是设备和/或平台单周期可以给模型使用的运算能力以及模型可以在设备和/或平台上执行的周期频率。模型存储时占用的静态空间指的是模型在设备和/或平台上运行可以占用的固定的存储空间,例如,Flash空间和SD卡空间。模型运算时占用的动态存储空间指的是模型在设备和/或平台上运行期间可以占用的动态存储空间,如SDRAM空间。另外,当设备和/或平台上有GPGPU(General Prupose Graphics Processing Unit,通用图形处理单元)或者有NPU(Neural-network Processing Unit,神经网络处理单元)时,其具有动态存储空间。通信数据总线和数据传输速度指的是设备和/或平台可以为模型运行提供的通信数据总线和数据传输速度,常用的通信总线有通用异步接收器传输总线、串行通信接口和通用串行总线等,这些总线的传输速度存在着一定的差异,例如,异步接收器传输总线最高传输速率可以达到10Mbbps而通用串行总线最高传输速率则可以达到4.8Gbps,因此选择的通信总线不同则数据传输速度不同。
第二机器学***台的资源特性适配,资源特性适配可以包括三部分,分别是体系结构和指令类型、辅助处理器的类型和特点以及运算加速库。
体系结构和指令类型指的是设备和/或平台具有的体系结构和支持的指令类型,其可以包括设备和/或平台具有的芯片和操作***,可以支持模型训练常用的芯片有x86、ARM、DSP、FPGA以及ASIC等。另外,常见的操作***有Linux操作***、Windows操作***、Android操作***、iOS操作***、RTOS(Real Time Operation System)操作***、ucos操作***以及dsp/bios操作***。在构建模型时需综合考虑上述体系结构和指令类型。例如,其中的DSP和dsp/bios操作***不擅长多级逻辑判断,因此,在DSP和dsp/bios操作***相关的设备和/或平台上构建模型的时就要避免出现多级逻辑判断。
辅助处理器的类型和特点指的是设备和/或平台带有的辅助处理器的类型和特点,设备和/或平台带的常用辅助处理器有通用图形处理单元(General Prupose GraphicsProcessing Unit,GPGPU)、浮点处理单元(Float Processing Unit,FPU)、向量处理单元(Vector Processing Unit,VPU)、神经网络处理单元(Neural network Processing Unit,NPU)以及张量处理单元(Tensor Processing Unit,TPU)。需要说明的是,一个设备和/或平台上可以包括上述处理单元中的一个,也可以包括上述处理单元中的多个,在进行第二机器模型构建的时候要充分考虑上述多个辅助处理单元,因为不同的辅助处理单元具有不同的特点,只有充分考虑了这些因素才能在实际应用中充分发挥这些处理器的优势。例如,一个复杂的神经网络模型的训练需要大量的神经元和突触处理,这种情况如果使用传统的CPU或GPU的话可能会受到存储和处理分离式结构的制约,进而在很大程度上会影响模型运行的效率,即可以使用NPU来完成任务。故当构建第二机器网络模型的时候首先确定设备和/或平台的辅助处理器是否能够支撑机器模型的训练或运行,如果不能支撑其运行就应该考虑对模型进行一定的修改,或者可以对设备和/或平台进行更换,以使其可以更好的运行机器模型。
运算加速库指的是设备和/或平台可以支持或运行的运算加速库。典型的运算加速库有CUDA运算加速库和CUDNN运算加速库,CUDA运算加速库和CUDNN运算加速库可以在GPGPU上运行,且在运行的时候能够加速卷积操作,在构建第二机器模型的时当遇到一个设备和/或平台具有所述运算加速库,例如,设备A上具有GPGPU,并且在A设备上配置了CUDA和对应的CUDNN,那么在构建网络模型的时候优先考虑多使用卷积计算,换句话说,在构建网络模型的时候可以多增加卷积神经网络层,主要原因是CUDNN可以很大程度的把加载到显卡上的网络层数据进行优化计算。当设备和/或平台有比较好的BLAS库的优化支持时,可以对各种向量和矩阵进行线性操作,如此能够对模型进行较好的加速,即当设备和/或平台上具有BLAS库时,构建机器学***台上是否具有ARM的Neon加速指令,如果具有则选择在此设备和/或平台上运行模型B,如果不具有,则重新选择设备和/或平台或者对机器模型B的网络结构进行对应的更改。
针对不同的设备和/或平台,第二机器学***台具体的运算能力和运算特性来进行设计。如有乘法器的可以调用相关设备和/或平台,而有较高的位运算能力的,要尽可能利用相关操作。更重要的,有些第二机器学***台,运算能力超过第一机器学***台的,可以设计得比第一机器学习更为复杂。经过模型迁移,第二机器学习模型的能力可能会比第一机器学习模型略低,甚至低很多,但至少同样的算法可以运行。也有可能第二机器学习模型的能力,还会更高,甚至超出第一机器学习模型,这种情况下获取一个第二机器学习模型可能要多个第一机器学习模型来完成。
请参阅图3,一个具体实施例中第一机器学***台无法运行这个模型,现在有三种设备D1、D2、D3,内存分别有16M、64M、256M,其中能够供第一机器学习模型(教师模型)使用的内存只有6M、40M、180M。根据设备内存容量限制,设计第二机器学习模型(学生模型)S1、S2、S3,并训练得到A1、A2、A3。第一机器学习模型(教师模型)的处理性能能达到95%,第二机器学习模型(学生模型)S1、S2、S3分别达到64%、84%、91%,这样,即使是低成本的嵌入式设备,也能具备一定的模型运算能力,而模型的性能与设备的成本及运算能力可以实现弹性的适配。需要说明的是,本实施例中,第一机器学习模型等同于教师模型,第二机器学习模型等同于学生模型。
另外,多个第一机器学习模型受限于云端计算的硬件设备局限,模型容量有了上限。将多个第一机器学习模型,针对单独的任务充分训练。之后将多个第一机器学习模型得到的数据模型迁移到第二机器学习模型。这样,第二机器学习模型的性能,是有可能超过单个第一机器学习模型的,同时第二机器学习模型的运算复杂度也不大。
步骤S130:将所述第一机器学习模型的能力迁移到每个所述第二机器学习模型上,获得训练后的一个或多个第二机器学习模型。
通过模型迁移将所述第一机器学习模型的能力迁移到所述一个或多个第二机器学习模型上,本实施例中模型的能力指的是模型完成特定任务所具有的能力,该能力可以包括模型对目标识别的准确率、模型对物体跟踪的实时性或者模型对物体检测的损失率等,模型的能力不相同则其最后完成任务的准确率和效率也是不相同的。例如,A模型识别人脸的准确率可以达到85%,而B模型识别人脸的准确率则可以达到90%;又如,C模型可以准确识别出目标图像中有15个人,而D模型却只能识别出目标图像中只有12个人。因此,模型的能力越好,则其最终完成任务的效率就越高。机器学习模型或网络通常用数据来进行训练,训练的时候机器学习模型或网络从这些数据中获取目标信息以及目标信息相应的权重信息,这些目标信息以及目标信息相应的权重信息可以被提取出来迁移到其他的机器学习模型或者神经网络中,这个过程就可以称为模型迁移,本实施例中通过对第一机器学习模型训练以获得目标信息以及目标信息相应的权重信息,利用这些目标信息以及目标信息相应的权重信息对第二机器学习模型进行训练,如此第二机器学习模型就可以学习到第一机器学习模型获取的信息实现模型的能力迁移。
步骤S140:根据训练后的每个所述第二机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学习模型。
将训练后的每个所述第二机器学***台上后,设备和/或平台可以根据接收到的每个第二机器学***台具有运行第二机器学***台进行配置包括步骤S141和步骤S142。
步骤S141:将第二机器学***台上。
将第一机器学***台上,在进行存储之前需确认当前的设备和/或平台是否有足够的存储空间或运行空间供第二机器学***台的具有的资源不足机器模型将无法正常运行,或者运行可能会耗费大量的时间成本。
步骤S142:根据第二机器学***台的运行参数配置,该运行参数用于运行第二机器学习模型。
将第二机器学***台上以后,对设备和/或平台的运行参数进行配置,这里的运行参数可以包括模型运行的环境、模型运行的支持库和加速库以及模型运行所适配的深度学习框架,常用的深度学习框架有Caffe,TensorFlow,MXNet,Torch以及Theano等。
第一机器学***台上,如图5所示。在一种实施方式中,首次使用时,可在服务器上训练第一机器学习模型(教师模型),经过模型迁移,得到各个第二机器学习模型(学生模型)A1、A2和A3,在设备D1、设备D2和设备D3上进行模型部署,实现功能。在另一种实施方式中,在第一机器学习模型(教师模型)更新后,可以再次经过模型迁移,得到新的第二机器学习模型(学生模型),新的第二机器学习模型(学生模型)可以直接下载到设备D1、设备D2和设备D3上,如此不断循环可以更新各个设备的算法能力,完善并增加新的功能。
需要说明的是,本申请实施例提出的模型配置方法其执行主体可以是服务器,也可以是设备本地,或者也可以一部分在服务器上执行而另一部分在设备本地执行。通常,模型识别或者检测的数据比较隐私时,用户不希望数据被上传就可以将该模型配置方法运行在设备本地。而当模型训练需要大量数据集,并且这些数据集不具有私密性时,该模型配置方法的执行主体就可以是服务器。模型配置方法的执行主体具体在哪里这里不进行明确限制,可以根据用户的实际需求进行选择。
本申请实施例提出了一种模型配置方法,将第一机器学***台资源的同时可以使模型的效果更好,本申请实施例中的模型迁移不仅可以提高知识学***台自身特性选择不同的模型。另外,本实施例在将第一机器学***台的自身特性。
请参阅图6,本申请另一实施例提出了一种模型配置方法,该方法包括步骤S210至步骤S240,其中步骤S230包括步骤S231至步骤S233,详细如下所示:
步骤S210:获取第一机器学习模型,所述第一机器学习模型通过预设数据集训练获取的。
步骤S220:获取一个或多个第二机器学***台构建。
步骤S230:将所述第一机器学习模型的能力迁移到每个所述第二机器学习模型上,获得训练后的一个或多个第二机器学习模型。
步骤S231:根据预设数据集和第一机器学习模型生成自监督数据集。
本实施例中利用预设数据集初始化训练一个或多个较大较复杂的第一机器学习模型,利用第一机器学习模型生成带有额外数据的自监督数据集。所述自监督数据集为大模型第一机器学习模型的输出,其虽然是第一机器学习模型的输出结果,但是其与最初的预设数据集是不相同的,可以将其理解为数据与其它数据之间的近似程度。自监督数据集可以根据预设数据集和第一机器学习模型生成,生成过程如图7所示,自监督数据集构建包括步骤S2311至步骤S2312。
步骤S2311:根据所述第一机器学习模块生成每个预设数据对应的自监督数据。
所述根据所述第一机器学习模块生成每个预设数据对应的自监督数据,包括:根据所述第一机器学习模块获取每个预设数据属于目标类别的概率值。
在本申请的一种实施例中,第一机器学习模型为一个分类模型,其输出为softmax函数,softmax指的是一个样本对某一类的输出除以所有样本的总输出和,其近似于概率值,第一机器学习模型的输出为如下公式:
其中zi为softmax函数,其指的是当前样本属于第i类的相似程度值,例如,样本数据集中的标签通常是[猫:1,狗:0,猪:0],而自监督数据则是[猫:0.7,狗:0.2,猪:0.1],其中“猫:0.7”指的是属于“猫”这一类别的相似程度值是0.7,“狗:0.2”指的是属于“狗”这一类别的相似程度值是0.2,相似程度值越小则表明属于这一类别的可能性越小。T是调节softmax对于不同类别输出的相似程度值的离散程度的参数,T越高离散程度越小;qi为softmax函数给出的当前样本归属于第i类的概率的预测近似;exp为自然对数函数。近似的原因是zi经由softmax函数处理,得到的qi会是一个大于等于0,小于等于1的值,且同时所有qi的和为1,该形式与概率相同。经过适当的训练,大模型第一机器学习模型经过softmax输出的数据,可以近似认为就是样本属于各个类别的概率,小模型第二机器学习模型的损失函数可以定义为:
其中,C为模型输出,而C对zi的偏导数,就是当前样本的模型输出对于第i个类的损失函数,同时也是大模型第一机器学习模型预测的样本属于第i类的概率qi与小模型第二机器学习模型预测的样本属于第i类的概率pi之间的差值,展开后即为等式右端的公式,其中e为自然对数底,T为调剂离散程度的参数。本实施例用小模型第二机器学习模型的输出值pi去近似大模型第一机器学习模型的输出值qi,以它们的差作为损失函数,来训练小模型第二机器学习模型,则最终小模型第二机器学习模型会尽可能地近似大模型第一机器学习模型的输出。
步骤S2312:利用生成的所述自监督数据构建自监督数据集。
同预设数据集相似,自监督数据集也是通过大量的自监督数据共同组合而成的,因为自监督数据和预设数据是一一对应的,因此在第一机器学习模型将自监督数据输出的时候可以将这些自监督数据进行处理和筛选,最后获得的自监督数据共同组成自监督数据集,另外,在对输出的自监督数据进行处理和筛选的时候可以结合预设数据的行处理和筛选,同时在进行自监督数据处理和筛选之前可以指定一定的筛选规范,例如,当自监督数据的概率小于概率阈值时可以将其排除在外,概率阈值可以根据需求进行设置,这里不进行明确限制。
步骤S232:将所述自监督数据集输入至所述一个或多个第二机器学习模型上,对所述一个或多个第二机器学习模型进行训练。
自监督数据集获取到后,将这些自监督数据集分别输入到构建好的一个或多个第二机器学习模型上进行训练,在进行训练的时候可以对第二机器学习模型的各参数进行调整以使第二机器学习模型的效果达到最好,另外,如果获取到的自监督数据不能满足第二机器学习模型的训练时,可以从两个方向进行调整,一个方向是增加自监督数据集,可以对自监督数据进行数据处理而获取到更多的自监督数据集,也可以通过增加预设数据集进而增加自监督数据集。另一个方向是对第二机器学习模型进行适当改进,例如,增加卷积层的层数或者减少池化层的层数,具体如何进行调整这里就不进行详细的描述。
步骤S233:获得训练后的一个或多个第二机器学习模型。
第二机器学***台可用的软件或硬件优化能力;模型运算能力要适应设备和/或平台;第二机器学习模型的能力是从第一机器学习模型迁移而来的,第一机器学习模型向第二机器学习模型能力的迁移主要依靠模型迁移技术,简单来说就是用第一机器学习模型生成自监督数据,利用所述自监督数据来训练第二机器学习模型,使得第二机器学习模型近似第一机器学习模型的输出。
步骤S240:根据训练后的每个所述第二机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学习模型。
需要说明的是,第一机器学习模型和所述第二机器学习模型中至少有一个为非神经网络,本实施例中第一机器学习模型可以为神经网络也可以为非神经网络,同理,第二机器学习模型既可以为神经网络也可以为非神经网络,故第一机器学习模型与第二机器学习模型有如下对应关系:用第一机器学习模型(神经网络)模型能力迁移第二机器学习模型(神经网络);用第一机器学习模型(非神经网络)模型能力迁移第二机器学习模型(非神经网络);用第一机器学习模型(神经网络)模型能力迁移第二机器学习模型(非神经网络);用第一机器学习模型(非神经网络)模型能力迁移第二机器学习模型(神经网络)。现有的模型能力迁移方法主要针对的是神经网络到神经网络的能力迁移,而几乎没有涉及非神经网络能力迁移的,主要原因是神经网络可以修改而非神经网络则不能修改。通过上述介绍可以知道,本申请不仅可以针对神经网络至神经网络的能力迁移,而且可以解决非神经网络至神经网络的迁移或者非神经网络至非神经网络等的能力迁移问题。如此,在很大程度上可以使机器学习网络能力的迁移更加灵活。
神经网络是机器学习中的一种模型,是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学学习模型,神经网络主要依靠***的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。常用的神经网络有卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent NeuralNetwork,RNN)、深度信念网络(DeepBelief Network,DBN)以及生成对抗网络(GenerativeAdversarial Networks,GAN)。非神经网络指的是机器学习的算法,常用的非神经网络有支持向量机(Support Vector Machine,SVM)、决策树(Decision Tree)、随机森林(RandomForest,RF)以及逻辑回归(Logistic Regression)等。
综上所述,模型能力迁移先利用海量数据初始化训练一个或多个较大较复杂的第一机器学习模型,利用得到的这个大模型生成带有额外“知识”的自监督数据集。所述自监督数据为大模型第一机器学习模型的输出,因为自监督数据为第一机器学习模型的输出,故其与最初的预设数据集是不相同的,自监督数据虽然与预设数据不相同但是这二者也有一定的联系,可以将自监督数据理解为数据与其它数据之间的近似程度。利用自监督数据集就可以训练一个较小较简单的第二机器学习模型。训练的时候要求小模型第二机器学习模型的输出要向大模型第一机器学习模型的自监督回归。如此小模型第二机器学习模型可以模拟大模型的行为,并可以得到与第一机器学习模型相近的性能。
请参阅图8,本申请实施例提出的一种模型配置装置300,运行于服务器,该装置包括第一获取模块310,第二获取模块320,迁移模块330,发送模块340。
第一获取模块310,用于获取第一机器学习模型,所述第一机器学习模型通过预设数据集训练获取的。
第二获取模块320,用于获取一个或多个第二机器学***台构建。
第二机器学***台的资源数量和资源特性适配,所述资源数量包括模型的运算能力、模型存储时占用的静态空间、模型运算时占用的动态存储空间以及通信数据总线和数据传输速度中至少一种。所述资源特性包括体系结构、指令类型、辅助处理器的类型和特点以及运算加速库中至少一种。
迁移模块330,用于将所述第一机器学习模型的能力迁移到每个所述第二机器学习模型上,获得训练后的一个或多个第二机器学习模型。
迁移模块330可以将所述第一机器学习模型的能力迁移到所述一个或多个第二机器学习模型上,获得训练后的一个或多个第二机器学习模型,包括:根据预设数据集和第一机器学习模型生成自监督数据集;将所述自监督数据集输入至所述一个或多个第二机器学习模型上,对所述一个或多个第二机器学习模型进行训练;获得训练后的一个或多个第二机器学习模型。
预设数据集包括多个预设数据;所述根据预设数据集和第一机器学习模型生成自监督数据集,包括:根据所述第一机器学习模块生成每个预设数据对应的自监督数据;利用生成的所述自监督数据构建自监督数据集。
迁移模块330可以根据所述第一机器学习模块生成每个预设数据对应的自监督数据,包括:根据所述第一机器学习模块获取每个预设数据属于目标类别的概率值。
另外,在进行模型能力迁移的时候第一机器学习模型和所述第二机器学习模型中至少有一个为非神经网络。
发送模块340,用于根据训练后的每个所述第二机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学习模型。
请参阅图9,本申请实施例提出的模型配置方法的电子设备的结构框图。该电子设备400可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备400可以包括一个或多个如下部件:处理器410、存储器420、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器420中并被配置为由一个或多个处理器410执行,一个或***的指令多个程序配置用于执行如前述方法实施例所描述的方法。
处理器410可以包括一个或者多个处理核。处理器410利用各种接口和线路连接整个电子设备400内的各个部分,通过运行或执行存储在存储器420内的指令、程序、代码集或指令集,以及调用存储在存储器420内的数据,执行电子设备400的各种功能和处理数据。可选地,处理器410可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器410可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器410中,单独通过一块通信芯片进行实现。
存储器420可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器420可用于存储指令、程序、代码、代码集或指令集。存储器420可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端电子设备400在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图10,本申请实施例提出的用于保存或者携带实现根据本申请实施例的模型配置方法的程序代码的存储单元。该计算机可读存储介质500中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质500可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质500包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质500具有执行上述方法中的任何方法步骤的程序代码510的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码510可以例如以适当形式进行压缩。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制,虽然本申请已以较佳实施例揭露如上,然而并非用以限定本申请,任何熟悉本专业的技术人员,在不脱离本申请技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本申请技术方案内容,依据本申请的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本申请技术方案的范围内。
Claims (10)
1.一种模型配置方法,其特征在于,包括:
获取第一机器学习模型,所述第一机器学习模型是通过预设数据集训练获取的;
获取一个或多个第二机器学***台构建;
将所述第一机器学习模型的能力迁移到每个所述第二机器学习模型上,获得训练后的一个或多个第二机器学习模型;
根据训练后的每个所述第二机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学习模型。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一机器学习模型的能力迁移到所述一个或多个第二机器学习模型上,获得训练后的一个或多个第二机器学习模型,包括:
根据预设数据集和第一机器学习模型生成自监督数据集;
将所述自监督数据集输入至所述一个或多个第二机器学习模型上,对所述一个或多个第二机器学习模型进行训练;
获得训练后的一个或多个第二机器学习模型。
3.根据权利要求2所述的方法,其特征在于,所述预设数据集包括多个预设数据;
所述根据预设数据集和第一机器学习模型生成自监督数据集,包括:
根据所述第一机器学习模块生成每个预设数据对应的自监督数据;
利用生成的所述自监督数据构建自监督数据集。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一机器学习模块生成每个预设数据对应的自监督数据,包括:
根据所述第一机器学习模块获取每个预设数据属于目标类别的概率值。
5.根据权利要求1所述的方法,其特征在于,所述第二机器学***台的资源数量和资源特性适配。
6.根据权利要求5所述的方法,其特征在于,
所述资源数量包括模型的运算能力、模型存储时占用的静态空间、模型运算时占用的动态存储空间以及通信数据总线和数据传输速度中至少一种;
所述资源特性包括体系结构、指令类型、辅助处理器的类型和特点、以及运算加速库中至少一种。
7.根据权利要求1所述的方法,其特征在于,所述第一机器学习模型和所述第二机器学习模型中至少有一个为非神经网络。
8.一种模型配置装置,其特征在于,运行于服务器,所述装置包括:
第一获取模块,用于获取第一机器学习模型,所述第一机器学习模型是通过预设数据集训练获取的;
第二获取模块,用于获取一个或多个第二机器学***台构建;
迁移模块,用于将所述第一机器学习模型的能力迁移到每个所述第二机器学习模型上,获得训练后的一个或多个第二机器学习模型;
发送模块,用于根据训练后的每个所述第二机器学***台进行配置,以使所述设备和/或平台运行训练后的所述第二机器学习模型。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910105813.XA CN109886422A (zh) | 2019-02-01 | 2019-02-01 | 模型配置方法、装置、电子设备及可读取存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910105813.XA CN109886422A (zh) | 2019-02-01 | 2019-02-01 | 模型配置方法、装置、电子设备及可读取存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109886422A true CN109886422A (zh) | 2019-06-14 |
Family
ID=66927926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910105813.XA Pending CN109886422A (zh) | 2019-02-01 | 2019-02-01 | 模型配置方法、装置、电子设备及可读取存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109886422A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110782043A (zh) * | 2019-10-29 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 模型优化方法、装置、存储介质及服务器 |
CN110852449A (zh) * | 2019-11-25 | 2020-02-28 | 北京百度网讯科技有限公司 | 模型迁移方法和电子设备 |
CN112214470A (zh) * | 2019-07-11 | 2021-01-12 | 纬创资通股份有限公司 | 数据获取装置与数据运算***及方法 |
CN112287697A (zh) * | 2020-11-03 | 2021-01-29 | 沈阳雅译网络技术有限公司 | 一种加快小型智能移动设备中翻译软件运行速度的方法 |
CN112417986A (zh) * | 2020-10-30 | 2021-02-26 | 四川天翼网络服务有限公司 | 一种基于深度神经网络模型的半监督在线人脸识别方法及*** |
CN112651414A (zh) * | 2019-10-10 | 2021-04-13 | 马上消费金融股份有限公司 | 运动数据处理和模型训练方法、装置、设备及存储介质 |
CN112698848A (zh) * | 2020-12-31 | 2021-04-23 | Oppo广东移动通信有限公司 | 机器学习模型的下载方法、装置、终端及存储介质 |
CN112766511A (zh) * | 2019-11-01 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 用于模型自适应的方法、设备以及机程序产品 |
CN112988372A (zh) * | 2019-12-16 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 确定硬件运算平台分配方式的方法和装置 |
CN113632074A (zh) * | 2020-01-31 | 2021-11-09 | 甲骨文国际公司 | 用于数据库迁移的机器学习预测 |
WO2022060264A1 (en) * | 2020-09-18 | 2022-03-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for updating machine learning models |
CN114492731A (zh) * | 2021-12-23 | 2022-05-13 | 北京达佳互联信息技术有限公司 | 图像处理模型的训练方法及装置、电子设备 |
US11963020B2 (en) | 2020-09-03 | 2024-04-16 | Samsung Electronics Co., Ltd. | Methods and wireless communication networks for handling data driven model |
-
2019
- 2019-02-01 CN CN201910105813.XA patent/CN109886422A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214470A (zh) * | 2019-07-11 | 2021-01-12 | 纬创资通股份有限公司 | 数据获取装置与数据运算***及方法 |
CN112214470B (zh) * | 2019-07-11 | 2024-05-17 | 纬创资通股份有限公司 | 数据获取装置与数据运算***及方法 |
CN112651414B (zh) * | 2019-10-10 | 2023-06-27 | 马上消费金融股份有限公司 | 运动数据处理和模型训练方法、装置、设备及存储介质 |
CN112651414A (zh) * | 2019-10-10 | 2021-04-13 | 马上消费金融股份有限公司 | 运动数据处理和模型训练方法、装置、设备及存储介质 |
CN110782043A (zh) * | 2019-10-29 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 模型优化方法、装置、存储介质及服务器 |
CN110782043B (zh) * | 2019-10-29 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 模型优化方法、装置、存储介质及服务器 |
US11893473B2 (en) | 2019-11-01 | 2024-02-06 | EMC IP Holding Company LLC | Method for model adaptation, electronic device and computer program product |
CN112766511A (zh) * | 2019-11-01 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 用于模型自适应的方法、设备以及机程序产品 |
CN110852449A (zh) * | 2019-11-25 | 2020-02-28 | 北京百度网讯科技有限公司 | 模型迁移方法和电子设备 |
CN110852449B (zh) * | 2019-11-25 | 2023-11-14 | 北京百度网讯科技有限公司 | 模型迁移方法和电子设备 |
CN112988372B (zh) * | 2019-12-16 | 2023-10-24 | 杭州海康威视数字技术股份有限公司 | 确定硬件运算平台分配方式的方法和装置 |
CN112988372A (zh) * | 2019-12-16 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 确定硬件运算平台分配方式的方法和装置 |
CN113632074A (zh) * | 2020-01-31 | 2021-11-09 | 甲骨文国际公司 | 用于数据库迁移的机器学习预测 |
US11963020B2 (en) | 2020-09-03 | 2024-04-16 | Samsung Electronics Co., Ltd. | Methods and wireless communication networks for handling data driven model |
WO2022060264A1 (en) * | 2020-09-18 | 2022-03-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for updating machine learning models |
CN112417986B (zh) * | 2020-10-30 | 2023-03-10 | 四川天翼网络股份有限公司 | 一种基于深度神经网络模型的半监督在线人脸识别方法及*** |
CN112417986A (zh) * | 2020-10-30 | 2021-02-26 | 四川天翼网络服务有限公司 | 一种基于深度神经网络模型的半监督在线人脸识别方法及*** |
CN112287697A (zh) * | 2020-11-03 | 2021-01-29 | 沈阳雅译网络技术有限公司 | 一种加快小型智能移动设备中翻译软件运行速度的方法 |
CN112698848A (zh) * | 2020-12-31 | 2021-04-23 | Oppo广东移动通信有限公司 | 机器学习模型的下载方法、装置、终端及存储介质 |
CN114492731A (zh) * | 2021-12-23 | 2022-05-13 | 北京达佳互联信息技术有限公司 | 图像处理模型的训练方法及装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109886422A (zh) | 模型配置方法、装置、电子设备及可读取存储介质 | |
Darwish et al. | A survey of swarm and evolutionary computing approaches for deep learning | |
WO2022042002A1 (zh) | 一种半监督学习模型的训练方法、图像处理方法及设备 | |
Bhardwaj et al. | Deep Learning Essentials: Your hands-on guide to the fundamentals of deep learning and neural network modeling | |
Gulli et al. | Deep learning with Keras | |
CN109583501B (zh) | 图片分类、分类识别模型的生成方法、装置、设备及介质 | |
KR102166775B1 (ko) | 스파스 연결용 인공 신경망 계산 장치와 방법 | |
Lee et al. | Deep asymmetric multi-task feature learning | |
US20170091619A1 (en) | Selective backpropagation | |
CN107516132A (zh) | 人造神经网络的简化装置和简化方法 | |
Boucher | How artificial intelligence works | |
Hu et al. | Quantized STDP-based online-learning spiking neural network | |
CN111176758A (zh) | 配置参数的推荐方法、装置、终端及存储介质 | |
CN106980830A (zh) | 一种基于深度卷积网络自亲缘关系识别方法与装置 | |
CN109447096A (zh) | 一种基于机器学习的扫视路径预测方法和装置 | |
Xiao | Artificial intelligence programming with Python: from zero to hero | |
Liang | Ascend AI Processor Architecture and Programming: Principles and Applications of CANN | |
CN108985442A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN116126354A (zh) | 模型部署方法、装置、电子设备以及存储介质 | |
Sawarkar | Deep Learning with PyTorch Lightning: Swiftly Build High-performance Artificial Intelligence (AI) Models Using Python | |
CN112274935B (zh) | Ai模型训练方法、使用方法、计算机设备及存储介质 | |
CN111445545B (zh) | 一种文本转贴图方法、装置、存储介质及电子设备 | |
CN114766024A (zh) | 用于修剪神经网络的方法和设备 | |
KR20200061154A (ko) | 시각 및 텍스트 정보를 포함하는 다이어그램의 분석 방법 및 장치 | |
CN117093733A (zh) | 媒体分类模型的训练方法、媒体数据分类方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190614 |