基于数据类型的机器学习模型的训练方法及装置与流程

文档序号:20920624发布日期:2020-05-29 14:06阅读:193来源:国知局
基于数据类型的机器学习模型的训练方法及装置与流程

本申请涉及机器学习领域,尤其涉及一种基于数据类型的机器学习模型的训练方法及装置。



背景技术:

目前,网络传输中对遵守已存储通信协议(或称“已知的通信协议”)的数据源发出的数据,可以根据已存储通信协议的具体内容,对该数据的数据结构进行分析,即已存储通信协议的数据结构是透明的。在数据传输过程中,对于网络接受方来说,这样可分析的数据结构是相对安全的。

然而,发明人发现对于自定义的数据或未知数据源发出的数据,网络接收方不能分析出该数据的数据类型,认为该数据的数据类型是未存储的(或称“未知的”),导致网络接收方为了网络安全,将该数据判定为攻击数据,如垃圾短信,并丢弃该数据,以造成正常数据的丢失。



技术实现要素:

本申请实施例提供一种基于数据类型的机器学习模型的训练方法及装置,以解决现有技术中正常数据丢失的问题。

第一方面,提供了一种基于数据类型的机器学习模型的训练方法,该方法包括:

步骤a:获取通信数据,所述通信数据包括至少一种数据类型;

步骤b:采用存储的通信协议,对所述通信数据进行分析,得到已存储数据类型的当前训练样本和未存储数据类型的当前测试样本;

步骤c:基于所述当前训练样本,采用预设训练算法,训练得到初始机器学习模型,所述初始机器学习模型包括所述当前训练样本的目标数据类型,在首次训练中所述当前训练样本和所述当前测试样本分别为初始训练样本和初始测试样本;

步骤d:将所述当前测试样本输入所述初始机器学习模型,得到测试结果,所述测试结果包括所述目标数据类型在所述当前测试样本中的概率;

若所述概率不小于预设阈值,则确定所述初始机器学习模型为所述目标数据类型的机器学习模型。

在一个可选的实现中,该方法还包括:

若所述概率小于所述预设阈值,则确定新的当前训练样本,并返回执行步骤c。

在一个可选的实现中,确定新的当前训练样本,包括:

获取新的通信数据;

将所述新的通信数据确定为新的当前训练样本。

在一个可选的实现中,当前训练样本包括目标数据类型的权重和当前训练样本中除目标数据类型之外的其它数据类型的权重;

确定新的当前训练样本,包括:

调整所述当前训练样本中所述目标数据类型的权重和所述其他数据类型的权重;

将调整数据类型的权重后的当前训练样本确定作为新的当前训练样本。

在一个可选的实现中,该方法还包括:

当返回执行步骤c的次数满足预设训练停止条件时,将最后训练得到的初始机器学习模型确定为目标数据类型的机器学习模型。

第二方面,提供了一种基于数据类型的机器学习模型的训练装置,该装置包括:获取单元、分析单元、训练单元、输入单元和确定单元;

获取单元,用于获取通信数据,所述通信数据包括至少一种数据类型;

分析单元,用于采用存储的通信协议,对所述通信数据进行分析,得到已存储数据类型的当前训练样本和未存储数据类型的当前测试样本;

训练单元,用于基于所述当前训练样本,采用预设训练算法,训练得到初始机器学习模型,所述初始机器学习模型包括所述当前训练样本的目标数据类型,在首次训练中所述当前训练样本和所述当前测试样本分别为初始训练样本和初始测试样本;

输入单元,用于将所述当前测试样本输入所述初始机器学习模型,得到测试结果,所述测试结果包括所述目标数据类型在所述当前测试样本中的概率;

确定单元,用于若所述概率不小于预设阈值,则确定所述初始机器学习模型为所述目标数据类型的机器学习模型。

在一个可选的实现中,确定单元,还用于若所述概率小于所述预设阈值,则确定新的当前训练样本,并触发所述训练单元。

在一个可选的实现中,获取单元,还用于获取新的通信数据;

所述确定单元,还用于将所述新的通信数据确定为新的当前训练样本。

在一个可选的实现中,该装置还包括:权重调整单元;当前训练样本包括所述目标数据类型的权重和所述当前训练样本中除所述目标数据类型之外的其它数据类型的权重;

权重调整单元,用于调整所述当前训练样本中所述目标数据类型的权重和所述其他数据类型的权重;

确定单元,还用于将调整数据类型的权重后的当前训练样本确定作为新的当前训练样本。

在一个可选的实现中,确定单元,还用于当触发训练单元的次数满足预设训练停止条件时,将最后训练得到的初始机器学习模型确定为目标数据类型的机器学习模型。

第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。

第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。

该方法获取包括至少一种数据类型的通信数据,并采用已存储通信协议,对通信数据进行分析,得到已存储数据类型的当前训练样本和未存储数据类型的当前测试样本,之后基于预设的数据类型提取算法、当前训练样本和当前测试样本,训练得到目标数据类型的机器学习模型,目标数据类型的机器学习模型包括当前训练样本的目标数据类型。该方法通过目标数据类型的机器学习模型对未知数据的数据类型进行检测,判断出未知数据是否为正常数据,避免了正常数据被丢弃的现象,降低了丢包率。

附图说明

图1为本发明实施例提供的一种基于数据类型的机器学习模型的训练方法流程示意图;

图2为本发明实施例提供的一种训练装置的结构示意图;

图3为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

本发明实施例提供的基于数据类型的机器学习模型的训练方法可以应用在服务器上,也可以应用在终端上。服务器可以是云服务器或应用服务器;终端可以是用户设备(userequipment,ue)、具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobilestation,ms)等。

下面以该方法应用在服务器上进行说明。

机器学习模型是经过训练后具有预测能力的算法模型。训练机器学习模型之前,需要指定机器学习的学习计划和算法,包括:机器学习的任务、性能标准和训练集。其中,任务:分析数据类型;性能标准:区分不同数据类型的数据;训练集:已存储数据类型的数据。

服务器可以包括大数据获取模块、分析模块、训练模块和优化模块。

大数据获取模块,用于获取大量的通信数据,如大数据平台;

分析模块,用于根据公开的通信协议,对获取的通信数据的数据类型进行区分,得到已存储数据类型的数据和未存储数据类型的数据,数据类型可以包括图片数据、语音数据、文字数据、加密数据和非加密数据、日期型数据、数值型数据等;

训练模块,用于通过机器学习中的预设特征算法,训练出针对不同数据类型的机器学习模型(或称“数据模型”);

优化模块,用于在不断的数据分析过程中优化模型,得到目标机器学习模型。

该方法训练出的目标机器学习模型可以对未知数据源发出的或自定义的未知数据中的具体数据类型进行分析,确定出该未知数据是否是正常数据,以降低不仅解决了现有技术中不能对该未知数据分析的问题,也避免了正常数据被丢弃的现象,降低了丢包率。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

图1为本发明实施例提供的一种基于数据类型的机器学习模型的训练方法流程示意图。如图1所示,该方法可以包括:

步骤110、获取通信数据,通信数据包括至少一种数据类型。

服务器通过接收大量的通信数据,获取通信数据,每个通信数据包括至少一种数据类型,如图片类型、语音类型、文字类型、加密类型、非加密类型数据、日期类型、数值类型据中的至少一种。

步骤120、采用已存储通信协议,对通信数据进行分析,得到已存储数据类型的当前训练样本和未存储数据类型的当前测试样本。

由于已存储通信协议中规定了数据的数据结构,且在该数据结构中可以查找到该数据所属数据类型的相关信息,故对至少一个通信数据进行分析可以得到已存储数据类型的当前训练样本和未存储数据类型的当前测试样本。该相关信息可以是该数据的尺寸、该数据中数据包的包头、以及加密或非加密等信息。

已存储通信协议可以是开放式系统互联网络协议(opensysteminterconnection,osi)、传输控制协议(transmissioncontrolprotocol,tcp)和网络之间互连的协议(internetprotocol,ip)。

步骤130、基于当前训练样本,采用预设训练算法,训练得到初始机器学习模型。

预设训练算法可以包括预设数据类型提取算法,以用于提取当前训练样本的数据类型。该数据类型可以是当前训练样本的所有数据类型,即该数据类型包括目标数据类型和除目标数据类型之外的其他数据类型,或者,该数据类型可以只是目标数据类型,其中,目标数据类型可以是至少一种数据类型。

初始机器学习模型可以包括当前训练样本的数据类型,且在首次训练中当前训练样本和当前测试样本分别为初始训练样本和初始测试样本。

可选地,当前训练样本包括数据类型的权重。其中,数据类型的权重是指训练样本中各个数据类型间权重的大小关系,权重相对大的训练样本对机器学习模型的训练影响程度高于权重相对小的训练样本对机器学习模型的训练影响程度。

可选地,基于当前训练样本,采用预设训练算法,训练得到初始机器学习模型,具体为:

采用预设数据类型提取算法对当前训练样本进行数据类型的提取后,采用预设训练算法,训练得到初始机器学习模型,初始机器学习模型可以包括当前训练样本的数据类型和相应数据类型的权重;

例如,采用预设数据类型提取算法,提取出当前训练样本的包头信息,包头信息包括源物理(mediaaccesscontrol,mac)地址字段、目的mac地址字段、数据类型字段等,故从包头信息可获取当前训练样本的数据类型。

步骤140、基于当前测试样本输入初始机器学习模型输出的测试结果确定目标数据类型的机器学习模型。

为了验证初始机器学习模型对未存储数据类型分析的准确性,将当前测试样本输入初始机器学习模型,得到测试结果,测试结果包括目标数据类型在当前测试样本中的概率。

若该概率不小于预设阈值,则确定初始机器学习模型为目标数据类型的机器学习模型。

若该概率小于预设阈值,则确定新的当前训练样本,并返回执行步骤130,即根据测试结果对初始机器学习模型进行修正,重新训练初始机器学习模型,从而得到目标数据类型的机器学习模型。

例如,将当前测试样本输入初始机器学习模型,得到在当前测试样本中的文字类型的概率为8%、图片类型的概率为42%和加密类型的概率为50%。

若预设阈值为40%,目标数据类型为图片类型和加密类型,则该初始机器学习模型为目标数据类型的机器学习模型。

若预设阈值为40%,目标数据类型为文字类型和加密类型,由于文字类型的概率为8%小于40%,则需要训练新的初始机器学习模型。

其中,确定新的当前训练样本可以包括以下方式:

方式一,通过接收新的通信数据,获取新的训练样本,将新的训练样本确定为新的当前训练样本。

其中,该新的当前训练样本与当前训练样本不相同。

可选地,该新的当前训练样本也可以是曾经的当前测试样本。

方式二,调整当前训练样本中目标数据类型的权重和其他数据类型的权重,如增大目标数据类型的权重,较小其他非目标数据类型的权重。

若目标数据类型为当前训练样本所有数据类型,则可以将所有数据类型的权重平均分配。

之后,将调整数据类型的权重后的当前训练样本确定作为新的当前训练样本。

可选地,当返回执行步骤130的次数满足预设训练停止条件时,将最后训练得到的初始机器学习模型确定为目标数据类型的机器学习模型。其中,训练停止条件可以是达到预设次数阈值,也可以是训练的机器学习模型可以检测出目标数据类型在当前测试样本中的概率达到预设阈值。

进一步的,当接收到未知数据源发出的未知数据或自定义的未知数据时,未知数据将作为输入值,输入到目标数据类型的机器学习模型,目标数据类型的机器学习模型输出未知数据中目标数据类型的概率,之后将目标数据类型的预设阈值和输出的概率进行比较,若输出的概率不小于预设阈值,则可确定未知数据为正常数据;若输出的概率小于预设阈值,则可确定未知数据为异常数据,从而丢弃该数据。

该方法获取包括至少一种数据类型的通信数据,并采用已存储通信协议,对通信数据进行分析,得到已存储数据类型的当前训练样本和未存储数据类型的当前测试样本,之后基于预设的数据类型提取算法、当前训练样本和当前测试样本,训练得到目标数据类型的机器学习模型,目标数据类型的机器学习模型包括当前训练样本的目标数据类型,在首次训练目标数据类型的机器学习模型中当前训练样本和当前测试样本分别为初始训练样本和初始测试样本。该方法通过目标数据类型的机器学习模型对未知数据的数据类型进行检测,判断出未知数据是否为正常数据,避免了正常数据被丢弃的现象,降低了丢包率。

与上述方法对应的,本发明实施例还提供一种训练装置,如图2所示,该训练装置包括:获取单元210、分析单元220、训练单元230、输入单元240和确定单元250;

获取单元210,用于获取通信数据,通信数据包括至少一种数据类型;

分析单元220,用于采用存储的通信协议,对通信数据进行分析,得到已存储数据类型的当前训练样本和未存储数据类型的当前测试样本;

训练单元230,用于基于当前训练样本,采用预设训练算法,训练得到初始机器学习模型,初始机器学习模型包括当前训练样本的目标数据类型,在首次训练中当前训练样本和当前测试样本分别为初始训练样本和初始测试样本;

输入单元240,用于将当前测试样本输入初始机器学习模型,得到测试结果,测试结果包括目标数据类型在当前测试样本中的概率;

确定单元250,用于若该概率不小于预设阈值,则确定初始机器学习模型为所述目标数据类型的机器学习模型。

在一个可选的实现中,确定单元250,还用于若该概率小于预设阈值,则确定新的当前训练样本,并触发训练单元230。

在一个可选的实现中,获取单元210,还用于获取新的通信数据;

确定单元250,还用于将新的通信数据确定为新的当前训练样本。

在一个可选的实现中,该装置还包括:权重调整单元260;当前训练样本包括目标数据类型的权重和当前训练样本中除目标数据类型之外的其它数据类型的权重;

权重调整单元260,用于调整当前训练样本中目标数据类型的权重和其他数据类型的权重;

确定单元250,还用于将调整数据类型的权重后的当前训练样本确定作为新的当前训练样本。

在一个可选的实现中,确定单元,还用于当触发训练单元230的次数满足预设训练停止条件时,将最后训练得到的初始机器学习模型确定为目标数据类型的机器学习模型。

本发明上述实施例提供的训练装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的训练装置中的各个单元的具体工作过程和有益效果,在此不复赘述。

本发明实施例还提供了一种电子设备,如图3所示,包括处理器310、通信接口320、存储器330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。

存储器330,用于存放计算机程序;

处理器310,用于执行存储器330上所存放的程序时,实现如下步骤:

步骤a:获取通信数据,通信数据包括至少一种数据类型;

步骤b:采用存储的通信协议,对通信数据进行分析,得到已存储数据类型的当前训练样本和未存储数据类型的当前测试样本;

步骤c:基于当前训练样本,采用预设训练算法,训练得到初始机器学习模型,初始机器学习模型包括当前训练样本的目标数据类型,在首次训练中当前训练样本和当前测试样本分别为初始训练样本和初始测试样本;

步骤d:将当前测试样本输入初始机器学习模型,得到测试结果,测试结果包括目标数据类型在当前测试样本中的概率;

若所述概率不小于预设阈值,则确定所述初始机器学习模型为目标数据类型的机器学习模型。

在一个可选的实现中,若所述概率小于预设阈值,则确定新的当前训练样本,并返回执行步骤c。

在一个可选的实现中,确定新的当前训练样本,包括:

获取新的通信数据;

将所述新的通信数据确定为新的当前训练样本。

在一个可选的实现中,当前训练样本包括目标数据类型的权重和当前训练样本中除目标数据类型之外的其它数据类型的权重;

确定新的当前训练样本,包括:

调整当前训练样本中所述目标数据类型的权重和其他数据类型的权重;

将调整数据类型的权重后的当前训练样本确定作为新的当前训练样本。

在一个可选的实现中,该方法还包括:

当返回执行步骤c的次数满足预设训练停止条件时,将最后训练得到的初始机器学习模型确定为目标数据类型的机器学习模型。

上述提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图1所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的训练方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的训练方法。

本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

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