用于神经网络模型的模型参数更新方法及装置与流程

文档序号:35507567发布日期:2023-09-20 18:24阅读:35来源:国知局
用于神经网络模型的模型参数更新方法及装置与流程

本公开涉及机器学习领域,特别涉及用于神经网络模型的模型参数更新方法及装置、计算机可存储介质。


背景技术:

1、人类可以学习一系列连续不断遇到的任务而不遗忘以前学习到的知识。例如,学生在大学期间学习了计算机相关的知识后,依然能够记住高中学习的数学和物理知识。近年来,随着人工智能领域的兴起,越来越多的研究成果致力于利用人工智能算法服务于人类和社会。因此,研究者也希望神经网络能够具备人类的这种持续学习的能力,如图1所示,具备持续学习能力的神经网络模型f首先学习了任务1,即数字分类任务,接着学了任务2,即猫狗分类任务,持续学习的目标是希望学习完任务2之后,模型f依然能够进行准确的进行手写数字分类。

2、相关技术中,通过约束新任务对神经网络模型的模型参数更新的梯度方向的方式来缓解基于通过新任务更新后的模型参数的神经网络模型对旧任务造成的遗忘。例如,相关技术中,在新任务沿着正交于旧任务构成的子空间的正交方向去更新。


技术实现思路

1、相关技术中,为减少旧任务被遗忘的程度,在利用奇异值分解构建旧任务构成的子空间的过程中,通过k秩逼近操作确定构成子空间的多个左奇异向量时所采用的超参数的值通常设置得较大,这将导致新任务的更新空间受限,从而使得神经网络模型没有足够的更新空间来学习新任务,极大地限制了神经网络模型在新任务上的精度,从而导致神经网络模型在多个任务上的平均性能或平均精度较低。

2、针对上述技术问题,本公开提出了一种解决方案,可以提高用于多个任务的神经网络模型在多个任务上的平均性能或平均精度。

3、根据本公开的第一方面,提供了一种用于神经网络模型的模型参数更新方法,包括:获取与不同学习任务对应的第一训练数据和第二训练数据;根据所述第一训练数据,以最大化所述神经网络模型的每层网络的初始模型参数的邻域内的平均损失为目标,沿着梯度下降的方向,对所述每层网络的初始模型参数进行更新,得到第一模型参数;通过奇异值分解,确定所述第一训练数据在基于所述第一模型参数的所述每层网络中的表示矩阵的多个左奇异向量,作为所述第一训练数据构成的子空间,其中,所述多个左奇异向量的数量通过k秩逼近操作确定,所述k秩逼近操作所采用的超参数的值小于超参数阈值;根据所述第二训练数据,以最大化所述神经网络模型的每层网络的第一模型参数的邻域内的平均损失为目标,确定损失函数在所述每层网络的第二梯度;确定所述第二梯度中与所述第一训练数据构成的子空间正交的梯度分量,作为与所述每层网络对应的正交梯度分量;根据与所述每层网络对应的正交梯度分量,沿着梯度下降的方向,对所述每层网络的第一模型参数进行更新,得到第二模型参数。

4、在一些实施例中,对所述每层网络的初始模型参数进行更新包括:根据所述第一训练数据,以最大化所述神经网络模型的每层网络的初始模型参数的邻域内的平均损失为目标,确定损失函数在所述每层网络的第一梯度;根据所述每层网络的第一梯度,沿着梯度下降的方向,对所述每层网络的初始模型参数进行更新。

5、在一些实施例中,确定损失函数在所述每层网络的第一梯度包括:根据所述第一训练数据,确定第一目标函数,其中,所述第一目标函数以最大化所述神经网络模型的每层网络的初始模型参数的邻域内的平均损失为目标;采用一阶泰勒展开的方式,对所述第一目标函数进行近似计算,得到使所述初始模型参数的邻域内的平均损失最大的邻域的第一目标值;根据所述第一训练数据和所述第一目标值,确定所述第一梯度。

6、在一些实施例中,根据所述第一训练数据和所述第一目标值,确定所述第一梯度包括:利用所述第一目标值,对所述初始模型参数进行扰动,得到初始扰动模型参数;确定所述第一训练数据在所述初始扰动模型参数下的平均损失的函数表达式,作为第一函数表达式;确定所述第一函数表达式关于所述初始扰动模型参数的梯度,作为第一梯度。

7、在一些实施例中,根据所述第一训练数据,确定第一目标函数包括:根据所述第一训练数据,确定所述神经网络模型的每层网络的初始模型参数的邻域内的平均损失的函数表达式;根据所述神经网络模型的每层网络的初始模型参数的邻域内的平均损失的函数表达式,确定所述第一目标函数,其中,所述第一目标函数以最大化所述神经网络模型的每层网络的初始模型参数的邻域内的平均损失为目标。

8、在一些实施例中,获取与不同学习任务对应的第一训练数据和第二训练数据包括:获取与第一学习任务对应的初始训练数据和与第二学习任务对应的初始训练数据;分别对所述与第一学习任务对应的初始训练数据和所述与第二学习任务对应的初始训练数据,进行数据扩充,得到所述第一训练数据和所述第二训练数据。

9、在一些实施例中,确定所述第二梯度中与所述第一训练数据构成的子空间正交的梯度分量,作为与所述每层网络对应的正交梯度分量包括:将所述第二梯度投影到与所述第一训练数据构成的子空间,得到所述第二梯度的投影梯度分量;去除所述第二梯度中的所述投影梯度分量,得到与所述每层网络对应的正交梯度分量。

10、在一些实施例中,根据所述第二训练数据,以最大化所述神经网络模型的每层网络的第一模型参数的邻域内的平均损失为目标,确定损失函数在所述每层网络的第二梯度包括:根据所述第二训练数据,确定第二目标函数,其中,所述第二目标函数以最大化所述神经网络模型的每层网络的第一模型参数的邻域内的平均损失为目标;采用一阶泰勒展开的方式,对所述第二目标函数进行近似计算,得到使所述第一模型参数的邻域内的平均损失最大的邻域的第二目标值;根据所述第二训练数据和所述第二目标值,确定所述第二梯度。

11、在一些实施例中,根据所述第二训练数据和所述第二目标值,确定所述第二梯度包括:利用所述第二目标值,对所述第一模型参数进行扰动,得到第一扰动模型参数;确定所述第一训练数据在所述第一扰动模型参数下的平均损失的函数表达式,作为第二函数表达式;确定所述第二函数表达式关于所述第一扰动模型参数的梯度,作为第二梯度。

12、在一些实施例中,所述第一训练数据与第一学习任务对应,所述第二训练数据与第二学习任务对应,所述神经网络模型还被配置为在学习所述第一学习任务和所示第二学习任务后,学习第三学习任务,所述模型参数更新方法还包括:通过奇异值分解,确定所述第二训练数据在基于所述第二模型参数的所述每层网络中的表示矩阵的多个左奇异向量,作为所述第二训练数据构成的子空间,其中,与所述第二训练数据对应的多个左奇异向量的数量通过k秩逼近操作确定,所述k秩逼近操作所采用的超参数的值小于所述超参数阈值;合并与所述第一训练数据对应的多个左奇异向量和与所述第二训练数据对应的多个左奇异向量,得到所述第一训练数据和所述第二训练数据构成的子空间;获取与所述第三学习任务对应的第三训练数据;根据所述第三训练数据,以最大化所述神经网络模型的每层网络的第二模型参数的邻域内的平均损失为目标,确定损失函数在所述每层网络的第三梯度;确定所述第三梯度中与所述第一训练数据和所述第二训练数据构成的子空间正交的梯度分量,作为与所述每层网络对应的所述第三梯度的正交梯度分量;根据与所述每层网络对应的所述第三梯度的正交梯度分量,沿着梯度下降的方向,对所述每层网络的第二模型参数进行更新,得到第三模型参数。

13、在一些实施例中,所述超参数阈值小于或等于0.96。

14、根据本公开第二方面,提供了一种用于神经网络模型的模型参数更新装置,包括:获取模块,被配置为获取与不同学习任务对应的第一训练数据和第二训练数据;第一更新模块,被配置为根据所述第一训练数据,以最大化所述神经网络模型的每层网络的初始模型参数的邻域内的平均损失为目标,沿着梯度下降的方向,对所述每层网络的初始模型参数进行更新,得到第一模型参数;第一确定模块,被配置为通过奇异值分解,确定所述第一训练数据在基于所述第一模型参数的所述每层网络中的表示矩阵的多个左奇异向量,作为所述第一训练数据构成的子空间,其中,所述多个左奇异向量的数量通过k秩逼近操作确定,所述k秩逼近操作所采用的超参数的值小于超参数阈值;第二确定模块,被配置为根据所述第二训练数据,以最大化所述神经网络模型的每层网络的第一模型参数的邻域内的平均损失为目标,确定损失函数在所述每层网络的第二梯度;第三确定模块,被配置为确定所述第二梯度中与所述第一训练数据构成的子空间正交的梯度分量,作为与所述每层网络对应的正交梯度分量;第二更新模块,被配置为根据与所述每层网络对应的正交梯度分量,沿着梯度下降的方向,对所述每层网络的第一模型参数进行更新,得到第二模型参数。

15、根据本公开第三方面,提供了一种用于神经网络模型的模型参数更新,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的用于神经网络模型的模型参数更新方法。

16、根据本公开的第四方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的用于神经网络模型的模型参数更新方法。

17、在上述实施例中,可以提高用于多个任务的神经网络模型在多个任务上的平均性能或平均精度。

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