循环神经网络训练优化方法、设备、系统及可读存储介质技术方案

技术编号:24355526 阅读:26 留言:0更新日期:2020-06-03 02:28
本发明专利技术公开了一种循环神经网络训练优化方法、设备、系统及可读存储介质,所述方法包括:接收参与设备发送的RNN输出结果,其中,RNN输出结果为参与设备将上游传递信息,以及参与设备所处理时间步对应的本地训练数据输入对应RNN中得到的;根据RNN输出结果计算得到梯度信息;将梯度信息反向传播给参与设备,供各参与设备根据梯度信息更新RNN的模型参数;将从各参与设备接收到的更新后模型参数进行融合得到全局模型参数,并返回给各参与设备,迭代训练得到训练完成的RNN。本发明专利技术通过协调设备协调多个参与设备分别处理不同时间步,分担训练RNN的计算和电量开销,使得在设备计算资源和电量资源有限的场景下也可以进行RNN训练。

Training optimization method, equipment, system and readable storage medium of recurrent neural network

【技术实现步骤摘要】
循环神经网络训练优化方法、设备、系统及可读存储介质
本专利技术涉及人工智能领域,尤其涉及一种循环神经网络训练优化方法、设备、系统及可读存储介质。
技术介绍
循环神经网络(RecurrentNeuralNetwork,RNN)是一类具有短期记忆能力的神经网络,适合用于处理视频、语音、文本等与时序相关的问题。在RNN中,神经元不但可以接收其他神经元的信息,还可以接收自身的信息,形成具有环路的网络结构。目前,RNN以及深度RNN(例如,stackedLSTM)已经在实践中证明了其强大的功能,特别是在自然语言处理领域被广泛应用。然而,训练RNN的计算复杂度是非常高的,这是因为RNN有很多时间步(time-step),每个时间步都对应一个神经网络或者深度神经网络。例如,当总时间步的个数为1024,每个时间步对应的隐藏节点为1024,一共有8层RNN(例如,4个双向的LSTM(bidirectionalLSTM)堆积起来),批量大小为64,那么这个计算量是非常庞大的,在训练的时候,一个LSTM(LongShort-TermMemory,长短期记忆网络)输入层维度即为1x64x1024x1024,还需要重复做8次这样的输入以及计算。如果处理的序列数据是遥感卫星拍摄的四通道图像数据,那么一个LSTM的输入维度就变成了4x64x1024x1024,即计算量又增加了4倍。如果考虑卫星在轨计算或者物联网(InternetofThings,IoT)等应用场景,训练RNN的计算复杂度可能会超过设备的计算能力和电量资源。现有的解决办法是使用强大的CPU或者TPU硬件资源来训练复杂的RNN模型,但是CPU和TPU的成本和电量消耗都超过了卫星或者IoT设备的承受范围,不能用于卫星在轨计算等应用场景。
技术实现思路
本专利技术的主要目的在于提供一种循环神经网络训练优化方法、设备、系统及可读存储介质,旨在解决训练RNN的计算复杂度高,可能会超过设备的计算能力和电量资源,从而无法应用于设备计算能力和电量资源受限的应用场景的问题。为实现上述目的,本专利技术提供一种循环神经网络训练优化方法,所述循环神经网络训练优化方法应用于基于联邦学习训练循环神经网络RNN的协调设备,所述协调设备与各参与设备通信连接,各所述参与设备按照各自处理的时间步的先后顺序通信连接,所述循环神经网络训练优化方法包括以下步骤:接收所述参与设备发送的RNN输出结果,其中,所述RNN输出结果为所述参与设备将上游参与设备传递的上游传递信息,以及所述参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到的,所述上游传递信息为所述上游参与设备将上上游参与设备传递的上上游传递信息,以及所述上游参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到的;根据所述RNN输出结果计算得到预设损失函数对所述RNN输出结果的梯度信息;将所述梯度信息反向传播给所述参与设备,以供各所述参与设备根据所述梯度信息计算所述损失函数对RNN模型参数的梯度信息,并根据所述损失函数对RNN模型参数的梯度信息来更新所述RNN的模型参数;将从各所述参与设备接收到的更新后的模型参数进行融合得到全局模型参数,并将所述全局模型参数发送给各所述参与设备,迭代训练直到检测到满足预设停止条件时得到训练完成的RNN。可选地,所述RNN是神经网络模型的一部分,所述根据所述RNN输出结果计算得到预设损失函数对所述RNN输出结果的梯度信息的步骤包括:将所述RNN输出结果输入所述神经网络模型的其他网络部分,得到所述神经网络模型的输出结果;根据所述神经网络模型的输出结果和预设的样本标签计算预设损失函数对所述RNN输出结果的梯度信息。可选地,所述将从各所述参与设备接收到的更新后的模型参数进行融合得到全局模型参数,并将所述全局模型参数发送给各所述参与设备,迭代训练直到检测到满足预设停止条件时得到训练完成的RNN的步骤之后,还包括:接收各所述参与设备发送的RNN预测输出结果,其中,各所述参与设备将各自的上游传递信息和所处理时间步对应的本地预测数据输入训练完成的RNN中,得到所述RNN预测输出结果;将所述RNN预测输出结果输入所述神经网络模型的其他网络部分,得到所述神经网络模型的预测结果。可选地,所述接收所述参与设备发送的RNN输出结果的步骤之前,还包括:根据所述RNN训练样本的时间步数和所述参与设备的数量确定各所述参与设备需处理的时间步;或,根据各所述参与设备拥有的训练数据所对应的时间步确定各所述参与设备需处理的时间步。为实现上述目的,本专利技术还提供一种循环神经网络训练优化方法,所述循环神经网络训练优化方法应用于基于联邦学习训练循环神经网络RNN的参与设备,所述参与设备与协调设备通信连接,各所述参与设备按照各自处理的时间步的先后顺序通信连接,所述循环神经网络训练优化方法包括以下步骤:将上游参与设备传递的上游传递信息,以及所述参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到RNN输出结果,并将所述RNN输出结果发送给所述协调设备,其中,所述上游传递信息为所述上游参与设备将上上游参与设备传递的上上游传递信息,以及所述上游参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到的;接收所述协调设备反向传播的梯度信息,其中,所述协调设备根据从各所述参与设备接收到的RNN输出结果计算得到所述梯度信息;根据所述梯度信息计算所述损失函数对RNN模型参数的梯度信息,并根据所述损失函数对RNN模型参数的梯度信息来更新所述RNN的模型参数,并将更新后的模型参数发送给所述协调设备;接收所述协调设备发送的全局模型参数,迭代训练直到检测到满足预设停止条件时得到训练完成的RNN,其中,所述协调设备对各所述参与设备发送的模型参数进行融合得到所述全局模型参数。可选地,所述上游传递信息包括所述上游参与设备对应的RNN的输出结果和/或记忆状态。为实现上述目的,本专利技术还提供一种循环神经网络训练优化设备,所述循环神经网络训练优化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的循环神经网络训练优化程序,所述循环神经网络训练优化程序被所述处理器执行时实现如上所述的循环神经网络训练优化方法的步骤。为实现上述目的,本专利技术还提供一种循环神经网络训练优化系统,所述循环神经网络训练优化包括至少一个如上所述的协调设备和至少两个如上所述的参与设备。此外,为实现上述目的,本专利技术还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有循环神经网络训练优化程序,所述循环神经网络训练优化程序被处理器执行时实现如上所述的循环神经网络训练优化方法的步骤。本专利技术中,通过协调设备接收参与设备发送的RNN输出结果,其中,RNN输出结果为参与设备将上游参与设备传递的上游传递信息,以及参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到的,上游传递信息为上游参与设备将上上游参与设备传递的上上游传递信息本文档来自技高网
...

【技术保护点】
1.一种循环神经网络训练优化方法,其特征在于,应用于基于联邦学习训练循环神经网络RNN的协调设备,所述协调设备与各参与设备通信连接,各所述参与设备按照各自处理的时间步的先后顺序通信连接,所述循环神经网络训练优化方法包括以下步骤:/n接收所述参与设备发送的RNN输出结果,其中,所述RNN输出结果为所述参与设备将上游参与设备传递的上游传递信息,以及所述参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到的,所述上游传递信息为所述上游参与设备将上上游参与设备传递的上上游传递信息,以及所述上游参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到的;/n根据所述RNN输出结果计算得到预设损失函数对所述RNN输出结果的梯度信息;/n将所述梯度信息反向传播给所述参与设备,以供各所述参与设备根据所述梯度信息计算所述损失函数对RNN模型参数的梯度信息,并根据所述损失函数对RNN模型参数的梯度信息来更新所述RNN的模型参数;/n将从各所述参与设备接收到的更新后的模型参数进行融合得到全局模型参数,并将所述全局模型参数发送给各所述参与设备,迭代训练直到检测到满足预设停止条件时得到训练完成的RNN。/n...

【技术特征摘要】
1.一种循环神经网络训练优化方法,其特征在于,应用于基于联邦学习训练循环神经网络RNN的协调设备,所述协调设备与各参与设备通信连接,各所述参与设备按照各自处理的时间步的先后顺序通信连接,所述循环神经网络训练优化方法包括以下步骤:
接收所述参与设备发送的RNN输出结果,其中,所述RNN输出结果为所述参与设备将上游参与设备传递的上游传递信息,以及所述参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到的,所述上游传递信息为所述上游参与设备将上上游参与设备传递的上上游传递信息,以及所述上游参与设备所处理时间步对应的本地训练数据输入对应的RNN中得到的;
根据所述RNN输出结果计算得到预设损失函数对所述RNN输出结果的梯度信息;
将所述梯度信息反向传播给所述参与设备,以供各所述参与设备根据所述梯度信息计算所述损失函数对RNN模型参数的梯度信息,并根据所述损失函数对RNN模型参数的梯度信息来更新所述RNN的模型参数;
将从各所述参与设备接收到的更新后的模型参数进行融合得到全局模型参数,并将所述全局模型参数发送给各所述参与设备,迭代训练直到检测到满足预设停止条件时得到训练完成的RNN。


2.如权利要求1所述的循环神经网络训练优化方法,其特征在于,所述RNN是神经网络模型的一部分,所述根据所述RNN输出结果计算得到预设损失函数对所述RNN输出结果的梯度信息的步骤包括:
将所述RNN输出结果输入所述神经网络模型的其他网络部分,得到所述神经网络模型的输出结果;
根据所述神经网络模型的输出结果和预设的样本标签计算预设损失函数对所述RNN输出结果的梯度信息。


3.如权利要求2所述的循环神经网络训练优化方法,其特征在于,所述将从各所述参与设备接收到的更新后的模型参数进行融合得到全局模型参数,并将所述全局模型参数发送给各所述参与设备,迭代训练直到检测到满足预设停止条件时得到训练完成的RNN的步骤之后,还包括:
接收各所述参与设备发送的RNN预测输出结果,其中,各所述参与设备将各自的上游传递信息和所处理时间步对应的本地预测数据输入训练完成的RNN中,得到所述RNN预测输出结果;
将所述RNN预测输出结果输入所述神经网络模型的其他网络部分,得到所述神经网络模型的预测结果。


4.如权利要求1至3任一项所述的循环神经网络训练优化方法,其特征在于,所述接收所述参与设备发送的RNN输出结果的步骤之前,还包括:
根据所述RNN训练样本的时间步数和所述参与设备的数量确定各所述参与设备需处理的时间步;或,
根据各所述参与设备拥有的训练数据所对应的时间步确定各所述参与设备需处理的时间步。

【专利技术属性】
技术研发人员:程勇刘洋陈天健
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1