System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及模式识别,具体涉及一种零空间中提示微调的持续进化学习方法。
技术介绍
1、面对开放和动态的实际环境,基于封闭世界假设的静态学习范式遇到严峻的挑战。在静态的学习范式下,模型只能泛化到已知类别,面对来自新类别或其他分布差异较大的测试样本,模型的泛化能力会严重退化。如果使用新类别的数据更新模型,又会导致对旧类别判别能力的灾难性遗忘。这些问题严重制约了深度学习模型在实际中的应用潜力。持续进化学习旨在使得模型能够不断更新来学习新类别或任务,同时又能较好地保持在已学习类别或任务上的性能。近年来随着大模型的广泛使用,提示微调也成为将大模型的泛化能力迁移到下游任务的一种流行方法。基于提示微调的持续进化学习方法也逐渐受到更多研究。
2、现有的基于提示微调的持续进化学习方法首先为样本实例查询和选择一组可学习提示,然后将提示与输入的图像词符(token)结合,送入预训练的视觉transformer(vit)中提取精细特征再进行分类。比如,一种名为l2p的方法首先创建一个具有若干提示词的提示池,然后根据预训练vit提取的粗略特征与提示对应查询键的距离,从提示池中选择一组合适的提示,再送入预训练vit中提取精细的图像特征,最终送入分类器进行分类。coda-prompt把基于一种注意力过程将从提示池中选择若干提示的过程转化为对所有提示进行加权融合的过程,使提示的选择变为一种可端到端优化的过程。consistent-prompting在训练过程中尽可能均匀地从提示池中选择提示,使测试阶段的提示选择与训练阶段的差异程度减小,从而提高对
3、另外还有一些方法不采用提示池,而是基于其他策略防止持续进化学习中的遗忘。比如,使用较小的准确率更新作为主干网络的vit,或使用较大动量缓慢更新一个离线专家模型,从而减小特征的变化速度;使用扩展的网络分支,对每个新任务使用一个单独的可学习分支,同时对旧任务的分支进行一定语义补偿,减小旧任务分支的特征变化程度;研究使用更具有判别性的分类器,如使用基于能量模型的对齐、基于大量随机映射的判别空间,而不关注训练干预问题对特征的改变。
4、根据以上分析,现有基于提示微调的持续进化学习技术还没有解决如何消除训练过程中新任务对旧任务的训练干预问题,从而会导致严重的灾难性遗忘。
技术实现思路
1、为了克服现有技术的不足,本专利技术提供一种零空间中提示微调的持续进化学习方法。本专利技术使待训练的提示词符在与旧任务的图像词符相关的零空间内更新,从而消除提示词符的更新对旧任务图像特征的改变,达到消除训练干预问题、从理论上避免灾难性遗忘的目的。
2、本专利技术解决其技术问题所采用的技术方案具体包括如下步骤:
3、步骤1:随机初始化提示词符pt,s,t表示任务序号,s表示训练过程中的迭代次数,总的任务数量表示为t′,每个任务中预设的最大迭代次数表示为n;初始化第一非中心化协方差矩阵c1,t=0,其中0代表零矩阵,初始化第二非中心化协方差矩阵c2,t=0;初始化第一零空间映射矩阵b1,t=i,其中i代表单位矩阵,初始化第二零空间映射矩阵b2,t=i;
4、步骤2:获取第t个任务的训练样本集合,训练样本集合中的每一个训练样本包含一个图像及其对应的类别标签;所述训练样本集合中的类别数量为ct;
5、步骤3:计算提示词符pt,n;
6、步骤4:利用任务的训练样本集合和提示词符pt,n更新第一非中心化协方差矩阵c1,t和第二非中心化协方差矩阵c2,t;
7、步骤5:使用奇异值分解分别计算c1,t和c2,t的近似零空间的基和
8、步骤6:使用近似零空间的基和更新零空间映射矩阵b1,t+1和b2,t+1:
9、
10、
11、其中η1与η2分别为两个0.9到1之间的超参数,||·||f代表矩阵的frobenius范数;
12、更新的b1,t+1和b2,t+1用于后续在任务中对梯度gt,s进行零空间映射;
13、步骤7:判断是否完成任务的学习,即是否满足t=t′,如果t=t′,则结束训练过程,进入步骤8;如果t不等于t′,则进入步骤2,开始第t+1个任务的学习,直至满足t=t′;
14、步骤8:输出优化完成的提示词符pt,n,pt,n即为通过持续进化学习方法得到的优化后的提示词符,用于在实际中对测试图像推理类别标签。
15、所述步骤3计算提示词符pt,n的步骤为:
16、判断任务是否为第一个学习任务,即是否满足t=1,如果为第一个学习任务,则进入步骤s3.1,否则进入步骤3.4;
17、步骤3.1:将提示词符pt,s与步骤2中获取的训练样本集合送入给定预训练vit模型进行前向传播,由此计算分类损失l1,再通过反向传播获取pt,s的梯度gt,s;
18、步骤3.2:利用提示词符pt,s的梯度gt,s更新该提示词符,得到第s+1次迭代的提示词符pt,s+1,设学习率为γ,则更新过程表示为:
19、pt,s+1=pt,s-γgt,s (1)
20、步骤3.3:判断迭代次数s+1是否达到目标迭代次数n,如果达到目标迭代次数n,则保留最后一次迭代所获得的提示词符pt,n,然后进入步骤4,如果迭代次数s+1未达到目标迭代次数n,则转至步骤3.1;
21、步骤3.4:当t>1,即为第2至t个任务时,将提示词符pt,s和步骤2中获取的训练样本集合送入预训练vit模型进行前向传播,由此计算分类损失l1,同时计算分布不变损失l2,再利用分类损失和分布不变损失的和l1+l2进行反向传播,获取pt,s的梯度gt,s;在任务中,将训练结束得到的第s次迭代的提示词符表示为pt-1,n,使用表示pt-1,n中每个行向量的均值,表示pt-1,n中每个行向量的标准差,使用表示pt,s中每个行向量的均值,表示pt,s中每个行向量的标准差,分布不变损失l2通过如下公式计算得到:
22、
23、其中和分别作为固定的目标分布,和为通过梯度下降进行优化的分布参数;
24、将l1与l2相加,得到总损失l3为:
25、l3=l1+ξl2
26、其中ξ是一个大于0的损失系数,作为超参数手动设置,得到总损失l3后,再通过反向传播计算,得到提示词符pt,s的梯度gt,s;
27、步骤3.5:将梯度gt,s与第一零空间映射矩阵b1,t和第二零空间映射矩阵b2,t相乘,得到映射后的梯度δpt,s为:
28、δpt,s=b2,tgt,sb1,t
29、步骤3.6:利用映射后的梯度δpt,s以学习率γ更新pt,s,得到pt,s+1:
30、pt,s+1=pt本文档来自技高网...
【技术保护点】
1.一种零空间中提示微调的持续进化学习方法,其特征在于包括如下步骤:
2.根据权利要求1所述的零空间中提示微调的持续进化学习方法,其特征在于:
3.根据权利要求2所述的零空间中提示微调的持续进化学习方法,其特征在于:
4.根据权利要求2所述的零空间中提示微调的持续进化学习方法,其特征在于:
5.根据权利要求1所述的零空间中提示微调的持续进化学习方法,其特征在于:
6.一种电子设备,其特征在于,包括:包括一个或多个处理器;还有存储器;一个或多个程序被存储在所述存储器中,并被配置为由所述处理器执行权利要求1-5任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-5任一项所述的方法。
【技术特征摘要】
1.一种零空间中提示微调的持续进化学习方法,其特征在于包括如下步骤:
2.根据权利要求1所述的零空间中提示微调的持续进化学习方法,其特征在于:
3.根据权利要求2所述的零空间中提示微调的持续进化学习方法,其特征在于:
4.根据权利要求2所述的零空间中提示微调的持续进化学习方法,其特征在于:
5.根据权利要求1所述的零空间中提示微调的持续进化...
【专利技术属性】
技术研发人员:张世周,路悦,张艳宁,程德,梁国强,王鹏,席庆彪,田雪涛,
申请(专利权)人:西北工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。