基于注意力机制的机器学习模型的融合方法技术

技术编号:28038375 阅读:18 留言:0更新日期:2021-04-09 23:21
本发明专利技术涉及基于注意力机制的机器学习模型的融合方法,包括步骤:A.制定机器学习任务要学习的目标,并训练得到至少两个子模型,各子模型的输出结果组合成一个向量;B.构建注意力模块,包括多个具有注意力机制的全连接神经网络,先对所述向量升维和学习高维交互特征,再对向量降维后输出,向量长度为子模型个数,向量中各元素的值对应各子模型的权重;C.融合子模型:将预测样本的变量输入子模型得到向量,并输入到注意力模块得到各对应子模型的权重,对子模型的输出结果进行加权融合。本发明专利技术能够根据融合变量的变化来对子模型融合时的权重进行相应的输出,使融合后的输出更接近真实值,有效提高了融合后输出的准确性。

【技术实现步骤摘要】
基于注意力机制的机器学习模型的融合方法
本专利技术涉及机器学习模型的融合方法,具体讲是基于注意力机制的机器学习模型的融合方法。
技术介绍
注意力机制(AttentionMechanism)源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息。上述机制被称为注意力机制。为了合理利用有限的视觉信息处理资源,人们需要选择视觉区域中的特定部分,然后集中关注它。例如,人们在阅读时,通常只有少量要被读取的词会被关注和处理。因此,注意力机制主要有两个方面:决定需要关注的是哪部分;分配有限的信息处理资源给重要的部分。注意力机制可以使得神经网络具备专注于其输入(或特征)子集的能力。在计算能力有限情况下,注意力机制是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务。关于更详细的注意力机制的原理和实现,可以参考:https://baike.baidu.com/item/%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6/22768534;以及:https://blog.csdn.net/hpulfc/article/details/80448570。现有的机器学习模型常用的融合方法有:简单平均融合、线性加权融合、Stacking融合。其中,简单平均融合:将要融合的各个子模型的输出结果取算术平均得到融合结果;线性加权融合:根据专家经验或者根据模型的效果遍历搜索得到各子模型的权重,并对各子模型的输出结果分配对应的权重后,加权平均得到融合结果;Stacking融合:将数据划分为多个子数据集,在不同的数据集上训练子模型,再将子模型堆叠起来,通常是用一个逻辑回归模型学习得到各子模型对应的权重,最终将各子模型加权融合;由上述可知,现有的简单平均融合、线性加权融合、Stacking融合等方法,均是基于给定的、确定的模型权重,各子模型的权重相对固定,不能根据要融合的变量动态调整,因此融合以后输出的效果不够理想。
技术实现思路
本专利技术提供了一种基于注意力机制的机器学习模型的融合方法,可以根据融合变量的变化对子模型的权重进行相应的调整,以使融合后的输出更接近真实值。本专利技术基于注意力机制的机器学习模型的融合方法,包括:步骤A.根据相应的应用场景,制定机器学习任务要学习的目标,并使用收集到的数据集通过现有方法训练得到至少两个子模型,各子模型根据输入的变量得到各自对应的输出结果,并将各子模型的输出结果组合成一个向量,向量中的每个元素对应一个子模型,将该向量存储到磁盘的结构空间中;例如,子模型0的输出结果为0.11,子模型1的输出结果为0.34,子模型N的输出结果为0.66,则N个子模型的输出结果组合成一个N维的向量S=[0.11,0.34,…,0.66]。步骤B.构建注意力模块:在磁盘中划分出构建和保存注意力模块的结构空间,所述的注意力模块包括至少两个具有注意力机制的全连接神经网络,通过处理器从磁盘的结构空间中调取出所述的向量输入到注意力模块中,然后通过注意力模块对该向量进行升维,并学习向量中各元素之间的高维交互特征,只有充分学习了各子模型间的高维交互特征后才能获得最好的融合效果。然后对升维后的向量进行降维,再归一化后输出,降维后向量的长度即为子模型的个数,向量中每个元素按子模型输出结果的组合顺序分别对应一个子模型,元素的值即为注意力模块给该元素对应的子模型分配的注意力权重,由此完成注意力模块的构建;步骤C.使用注意力模块融合子模型:对于某个需要预测的样本,将该样本的变量输入通过步骤A训练好的各子模型得到所述的向量,再由处理器将该向量从磁盘的结构空间中调取出来,输入步骤B所述的注意力模块中,然后将注意力模块的输出结果作为与各对应的子模型的权重,来对子模型的输出结果进行加权融合,得到最终的融合结果。对于给定的机器学习任务和多个使用相同或不同数据源训练好的子模型,本专利技术通过构建一个具有注意力机制的神经网络结构的注意力模块,将待融合的子模型的输出作为注意力模块的输入。注意力模块的功能就是通过对输入特征(各子模块的输出,即向量中的每个元素)进行学习,包括升维、特征交互、降维等步骤,最后注意力模块输出向量的各元素值即为给每个输入特征分配到的注意力权重,每个输入特征又各自对应到相应的子模型。最后再使用得到的权重来对各个子模型进行加权融合。这种融合方式不但简单易行,而且是根据各子模型的输出结果的重要性来确定的权重,使得各子模块的融合更加合理,融合后的输出结果更准确,并且也可以根据融合的变量进行动态调整,增加了灵活性。优选的,步骤B中,在完成注意力模块的构建后,再对该注意力模块进行优化,包括:步骤B1.随机初始化通过步骤B保存到相应存储空间中的注意力模块的参数;步骤B2.使用初始化后的注意力模块的输出作为权重对各子模型加权融合,并将融合后的模型保存在磁盘新的存储空间中,再使用融合后的模型的输出与步骤A所述的要学习的目标计算交叉熵的损失函数。步骤B3.通过梯度下降方法,以最小化所述损失函数来优化注意力模块的参数;步骤B4.重复步骤B3,直至损失函数的值不再变小,即得到了最优的注意力模块。其中梯度下降算法的原理可以参考:https://baike.baidu.com/item/%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D/4864937?fr=aladdin。训练注意力模块的目的是要寻找到最优的参数,使得利用注意力模块的输出值进行子模型融合后的输出与真实值最接近,参数优化的目标函数就是要学习的目标与融合后的模型的输出构成的交叉熵损失函数,最小化该目标函数即能得到最优的注意力模块参数。交叉熵的损失函数的原理可以参考:https://blog.csdn.net/b1055077005/article/details/100152102。具体的,步骤A中,各子模型的输出结果组合成的向量为矩阵结构向量;步骤B中,通过对所述的矩阵结构向量进行矩阵相乘实现所述的升维。例如,有N个子模型需要融合,N个子模型输出结果就组合成一个N×1的矩阵结构向量:AN×1,对其进行升维(从1维升至M维),乘以随机初始化的矩阵B1×M(后续再通过梯度下降算法优化),得到矩阵CN×M,即实现了升维。通过升维来挖掘和充分学习输入特征(子模型结果)里的高维特征,以到达最好的融合效果。进一步的,步骤B中,通过矩阵相乘实现所述的对升维后的向量进行降维。其方法与上述升维相似,本领域技术人员均能够根据现有技术实现,在此不做详述。本专利技术能够根据融合变量的变化来对子模型融合时的权重进行相应的输出,使融合后的输出更接近真实值,有效提高了融合后输出的准确性。以下结合实施例的具体实施方式,对本专利技术的上述内容再作进一步的详细说明。但不应将此理解为本专利技术上述主题的范围仅限于以下的实例。在不脱离本专利技术上本文档来自技高网
...

【技术保护点】
1.基于注意力机制的机器学习模型的融合方法,其特征包括:/n步骤A.根据相应的应用场景,制定机器学习任务要学习的目标,并使用收集到的数据集通过现有方法训练得到至少两个子模型,各子模型根据输入的变量得到各自对应的输出结果,并将各子模型的输出结果组合成一个向量,向量中的每个元素对应一个子模型,将该向量存储到磁盘的结构空间中;/n步骤B.构建注意力模块:在磁盘中划分出构建和保存注意力模块的结构空间,所述的注意力模块包括至少两个具有注意力机制的全连接神经网络,通过处理器从磁盘的结构空间中调取出所述的向量输入到注意力模块中,然后通过注意力模块对该向量进行升维,并学习向量中各元素之间的高维交互特征,然后对升维后的向量进行降维,再归一化后输出,降维后向量的长度即为子模型的个数,向量中每个元素按子模型输出结果的组合顺序分别对应一个子模型,元素的值即为注意力模块给该元素对应的子模型分配的注意力权重,由此完成注意力模块的构建;/n步骤C.使用注意力模块融合子模型:对于某个需要预测的样本,将该样本的变量输入通过步骤A训练好的各子模型得到所述的向量,再由处理器将该向量从磁盘的结构空间中调取出来,输入步骤B所述的注意力模块中,然后将注意力模块的输出结果作为与各对应的子模型的权重,来对子模型的输出结果进行加权融合,得到最终的融合结果。/n...

【技术特征摘要】
1.基于注意力机制的机器学习模型的融合方法,其特征包括:
步骤A.根据相应的应用场景,制定机器学习任务要学习的目标,并使用收集到的数据集通过现有方法训练得到至少两个子模型,各子模型根据输入的变量得到各自对应的输出结果,并将各子模型的输出结果组合成一个向量,向量中的每个元素对应一个子模型,将该向量存储到磁盘的结构空间中;
步骤B.构建注意力模块:在磁盘中划分出构建和保存注意力模块的结构空间,所述的注意力模块包括至少两个具有注意力机制的全连接神经网络,通过处理器从磁盘的结构空间中调取出所述的向量输入到注意力模块中,然后通过注意力模块对该向量进行升维,并学习向量中各元素之间的高维交互特征,然后对升维后的向量进行降维,再归一化后输出,降维后向量的长度即为子模型的个数,向量中每个元素按子模型输出结果的组合顺序分别对应一个子模型,元素的值即为注意力模块给该元素对应的子模型分配的注意力权重,由此完成注意力模块的构建;
步骤C.使用注意力模块融合子模型:对于某个需要预测的样本,将该样本的变量输入通过步骤A训练好的各子模型得到所述的向量,再由处理器将该向量从磁盘的结构空间中调取出来,输入步骤B所述的注意力模块中,然后将注意力模块的输出...

【专利技术属性】
技术研发人员:杨晓东卫浩
申请(专利权)人:四川新网银行股份有限公司
类型:发明
国别省市:四川;51

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

1