发明内容
针对现有技术的上述缺陷,本发明提供一种基于分布式学习的刀具寿命预测方法,旨在解决现有技术中数控机床使用方训练数据少导致模型进行刀具寿命预测的结果准确度差的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
本发明的第一方面,提供一种基于分布式学习的刀具寿命预测方法,所述方法包括:
第一终端将本地数据中的刀具特征数据输入至本地持有的本地模型中,获取所述本地模型输出的刀具寿命预测结果,并根据所述刀具寿命预测结果和所述本地数据中的刀具寿命标签得到本地训练损失,将所述本地训练损失发送至第二终端;
所述第二终端获取各个所述第一终端分别发送的所述本地训练损失,基于各个所述本地训练损失更新目标模型的参数,所述目标模型的结构和所述本地模型的结构相同;
所述第二终端基于所述目标模型进行刀具寿命预测。
所述的基于分布式学习的刀具寿命预测方法,其中,所述本地模型包括特征提取模块和预测模块;所述第一终端将本地数据中的刀具特征数据输入至本地持有的本地模型中,获取所述本地模型输出的刀具寿命预测结果,包括:
所述第一终端将所述刀具特征数据输入至所述特征提取模块,获取所述特征提取模块输出的特征向量;
所述第一终端将所述特征向量输入至所述预测模块,获取所述预测模块输出的所述刀具寿命预测结果。
所述的基于分布式学习的刀具寿命预测方法,其中,所述第二终端基于各个所述本地训练损失更新目标模型的参数,包括:
所述第一终端基于所述特征向量确定目标向量,将所述目标向量发送至所述第二终端;
所述第二终端获取各个所述第一终端发送的所述目标向量,将各个所述目标向量输入至注意力模型中,获取所述注意力模型中输出的各个所述目标向量对应的权重;
所述第二终端根据各个所述目标向量对应的权重对各个所述本地训练损失进行加权求和,得到目标训练损失;
所述第二终端基于所述目标训练损失更新所述目标模型的参数。
所述的基于分布式学习的刀具寿命预测方法,其中,所述第一终端基于所述特征向量确定目标向量,包括:
所述第一终端将所述特征向量输入至权重特征提取模型,获取所述权重特征提取模型输出的所述目标向量。
所述的基于分布式学习的刀具寿命预测方法,其中,所述第二终端基于所述目标训练损失更新所述目标模型的参数,包括:
所述第二终端基于所述目标训练损失计算梯度,采用梯度下降法更新所述目标模型和所述注意力模型的参数。
所述的基于分布式学习的刀具寿命预测方法,其中,所述第二终端基于所述目标训练损失更新所述目标模型的参数之后,所述方法还包括:
所述第二终端基于所述目标训练损失计算梯度,将所述梯度按照各个所述目标向量对应的权重进行拆解,将拆解后的结果分别发送至各个所述第一终端;
所述第一终端基于接收到的所述梯度的拆解结果更新所述本地模型的参数。
所述的基于分布式学习的刀具寿命预测方法,其中,所述第一终端基于接收到的所述梯度的拆解结果更新所述本地模型的参数,包括:
所述第一终端基于接收到的所述梯度的拆解结果更新所述本地模型和所述权重特征提取模型的参数。
所述的基于分布式学习的刀具寿命预测方法,其中,所述第一终端将本地数据中的刀具特征数据输入至本地持有的本地模型之前,所述方法还包括:
所述第一终端接收所述第二终端发布的数据模板,根据所述数据模板整理本地数据,得到所述刀具特征数据。
本发明的第二方面,提供一种基于分布式学习的刀具寿命预测系统,包括包括多个第一终端和第二终端;
所述第一终端用于将本地数据中的刀具特征数据输入至本地持有的本地模型中,获取所述本地模型输出的刀具寿命预测结果,并根据所述刀具寿命预测结果和所述本地数据中的刀具寿命标签得到本地训练损失,将所述本地训练损失发送至所述第二终端;
所述第二终端用于获取各个所述第一终端分别发送的所述本地训练损失,基于各个所述本地训练损失更新目标模型的参数,所述第二终端基于所述目标模型进行刀具寿命预测,所述目标模型的结构和所述本地模型的结构相同。
与现有技术相比,本发明提供了一种基于分布式学习的刀具寿命预测方法,所述的基于分布式学习的刀具寿命预测方法,各个第一终端在本地将本地持有的刀具特征数据输入至本地模型中进行训练,得到本地训练损失,再将本地训练损失发送给第二终端,第二终端根据各个第一终端发送的本地训练损失更新与本地模型结构相同的目标模型的参数,基于目标模型进行刀具寿命预测,这样,刀具生产厂商可以利用第一终端在本地使用自己持有的数据,只是将训练损失发送给数控机床使用方使用的第二终端,在刀具生产厂商不会泄露本地数据的前提下,利用到多个刀具生产厂商的数据进行了数控机床使用方的模型的训练,提升数控机床使用方使用的模型预测刀具寿命的准确性。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
如图1所示,所述基于分布式学习的刀具寿命预测方法的一个实施例中,包括步骤:
S100、第一终端将本地数据中的刀具特征数据输入至本地持有的本地模型中,获取所述本地模型输出的刀具寿命预测结果,并根据所述刀具寿命预测结果和所述本地数据中的刀具寿命标签得到本地训练损失,将所述本地训练损失发送至第二终端;
S200、所述第二终端获取各个所述第一终端分别发送的所述本地训练损失,基于各个所述本地训练损失更新目标模型的参数,所述目标模型的结构和所述本地模型的结构相同。
所述第一终端可以为刀具生产厂商控制的终端,所述本地数据中包括刀具生产厂商持有的刀具寿命数据,包括刀具特征数据,例如刀具的材质、性能参数、历史缺陷率、使用刀具的机床、实验加工工件的材质等,还包括刀具特征数据对应的刀具寿命标签,即刀具的实际寿命。刀具生产厂商将所述本地数据存储在所述第一终端中。所述第二终端为数控机床使用方控制的终端,所述第二终端自身持有的刀具寿命数据有限,用于模型训练的数据不足,而刀具生产厂商专门从事刀具生产,会进行大量的实验,可以补充模型训练数据,提升模型的性能。
所述第一终端可以有多个,即多个刀具生产厂商都可以参与协助数控机床使用方的模型训练。所述第二终端在制定所述目标模型的结构后,可以将所述目标模型发送至各个所述第一终端,所述第一终端接收到所述目标模型后保存在本地作为所述本地模型,所述第一终端基于本地数据在所述本地模型上进行模型训练,得到训练损失,再反馈给所述第二终端。
进一步地,模型预测数据实际上是对数据进行处理,需要将输入至模型的数据处理为统一的格式,所述第一终端将本地数据中的刀具特征数据输入至本地持有的本地模型之前,所述方法还包括:
所述第一终端接收所述第二终端发布的数据模板,根据所述数据模板整理本地数据,得到所述刀具特征数据。
所述数据模板中包括数据类型和对应的位置,一般来说,可以将输入至模型的数据处理为矩阵的形式,矩阵的每一行为一种数据,所述第一终端接收到所述数据模板后,将数据填入至该类型数据对应的位置中,对于本地没有的数据类型,填入0。
所述本地模型包括特征提取模块和预测模块,所述第一终端将本地数据中的刀具特征数据输入至本地持有的本地模型中,获取所述本地模型输出的刀具寿命预测结果,包括:
所述第一终端将所述刀具特征数据输入至所述特征提取模块,获取所述特征提取模块输出的特征向量;
所述第一终端将所述特征向量输入至所述预测模块,获取所述预测模块输出的所述刀具寿命预测结果。
所述特征向量可以反映所述刀具特征数据的特征,具体地,不同的刀具特征数据,其对于模型训练的贡献度是不同的,因此,在本实施例中,对于不同的所述第一终端,基于其刀具特征数据的不同,赋予不同的权重。但是,显然地,不可以将所述刀具特征数据直接发送给所述第二终端去赋予权重,这会造成隐私数据的泄露。在一种可能的实现方式中,所述第一终端将所述特征向量发送给所述第二终端去对各个所述第一终端进行赋权,然而,由于所述本地模型和所述目标模型的架构是一样的,这样使得所述第二终端有可能根据所述特征向量倒推所述第一终端持有的所述刀具特征数据。为了保护隐私数据,在本实施例中,所述第二终端基于各个所述本地训练损失更新目标模型的参数,包括:
所述第一终端基于所述特征向量确定目标向量,将所述目标向量发送至所述第一终端;
所述第二终端获取各个所述第二终端发送的所述目标向量,将各个所述目标向量输入至注意力模型中,获取所述注意力模型中输出的各个所述目标向量对应的权重;
所述第二终端根据各个所述目标向量对应的权重对各个所述本地训练损失进行加权求和,得到目标训练损失;
所述第二终端基于所述目标训练损失更新所述目标模型的参数。
为了保证本地持有的隐私数据的安全性,在本实施例中,所述第一终端对于所述特征向量进行处理之后再发送给所述第二终端,所述第一终端基于所述特征向量确定目标向量,包括:
所述第一终端将所述特征向量输入至权重特征提取模型,获取所述权重特征提取模型输出的所述目标向量。
所述权重特征提取模型在所述第一终端的本地,由于所述权重特征提取模型在所述第一终端的本地,不会被传输至所述第二终端,所述第二终端无法知晓所述权重特征提取模型的结构和参数,因此,接收到所述目标向量后,无法推理得到所述第一终端持有的所述刀具特征数据。
所述第二终端将从各个所述第一终端处接收的所述目标向量输入至注意力模型中,注意力模型采用注意力机制,是常见的权重赋予模型,可以为输入数据赋予权重。所述第二终端获取到所述注意力模型输出的各个所述目标向量的权重后,根据各个所述目标向量对应的权重对各个所述本地训练损失进行加权求和,得到所述目标训练损失。具体地,对所述本地训练损失进行加权求和时,所述本地训练损失对应的权重就是该所述本地训练损失对应的所述目标向量的权重。
所述第二终端基于所述目标训练损失更新所述目标模型的参数,具体地,所述第二终端采用梯度下降法更新所述目标模型的参数,所述第二终端基于所述目标训练损失更新所述目标模型的参数,包括:
所述第二终端基于所述目标训练损失计算梯度,采用梯度下降法更新所述目标模型和所述注意力模型的参数。
在模型训练过程中,所述注意力模型也和所述目标模型一起被训练,使得所述注意力模型能够实现跟更准确的权重分配。
进一步地,为了提升所述目标模型的训练效率,各个所述第一终端持有的所述本地模型的参数也会更新,所述第二终端基于所述目标训练损失更新所述目标模型的参数之后,所述方法还包括:
所述第二终端基于所述目标训练损失计算梯度,将所述梯度按照各个所述目标向量对应的权重进行拆解,将拆解后的结果分别发送至各个所述第一终端;
所述第一终端基于接收到的所述梯度的拆解结果更新所述本地模型的参数。
所述第二终端计算出梯度后,将所述梯度按照各个所述目标向量对应的权重进行拆解,对应发回至各个所述第一终端。所述第一终端基于接收到的梯度,更新所述本地模型,这样,各个所述第一终端的模型更新过程中不仅仅是基于自身的数据,还可以学习到其他的所述第一终端持有的数据的特征,实现更准确的特征提取和刀具寿命预测。
进一步地,所述第一终端本地持有的所述权重特征提取模型的参数也一同被更新,保证所述权重特征提取模型提取的所述目标向量能够准确反应各个所述第一终端的所述特征向量的贡献度,即,所述第一终端基于接收到的所述梯度的拆解结果更新所述本地模型的参数,包括:
所述第一终端基于接收到的所述梯度的拆解结果更新所述本地模型和所述权重特征提取模型的参数。
再次参阅图1,本实施例提供的方法,还包括步骤:
S300、所述第二终端基于所述目标模型进行刀具寿命预测。
所述第二终端将自身持有的刀具特征数据输入至所述目标模型中,获取所述目标模型输出的刀具寿命预测结果以实现刀具寿命预测,可以理解,所述第二终端在利用所述目标模型进行刀具寿命预测时,输入至所述目标模型的数据应该与所述数据模板一致。
综上所述,本实施例提供一种基于分布式学习的刀具寿命预测方法,各个第一终端在本地将本地持有的刀具特征数据输入至本地模型中进行训练,得到本地训练损失,再将本地训练损失发送给第二终端,第二终端根据各个第一终端发送的本地训练损失更新与本地模型结构相同的目标模型的参数,基于目标模型进行刀具寿命预测,这样,刀具生产厂商可以利用第一终端在本地使用自己持有的数据,只是将训练损失发送给数控机床使用方使用的第二终端,在刀具生产厂商不会泄露本地数据的前提下,利用到多个刀具生产厂商的数据进行了数控机床使用方的模型的训练,提升数控机床使用方使用的模型预测刀具寿命的准确性。
应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
实施例二
基于上述实施例,本发明还相应提供了一种基于分布式学习的刀具寿命预测系统,如图2所示,所述基于分布式学习的刀具寿命预测系统包括多个第一终端和第二终端;
所述第一终端用于将本地数据中的刀具特征数据输入至本地持有的本地模型中,获取所述本地模型输出的刀具寿命预测结果,并根据所述刀具寿命预测结果和所述本地数据中的刀具寿命标签得到本地训练损失,将所述本地训练损失发送至所述第二终端,具体如实施例一中所述;
所述第二终端用于获取各个所述第一终端分别发送的所述本地训练损失,基于各个所述本地训练损失更新目标模型的参数,所述第二终端基于所述目标模型进行刀具寿命预测,所述目标模型的结构和所述本地模型的结构相同,具体如实施例一中所述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。