CN112633396A - 基于注意力机制的机器学习模型的融合方法 - Google Patents
基于注意力机制的机器学习模型的融合方法 Download PDFInfo
- Publication number
- CN112633396A CN112633396A CN202011595563.1A CN202011595563A CN112633396A CN 112633396 A CN112633396 A CN 112633396A CN 202011595563 A CN202011595563 A CN 202011595563A CN 112633396 A CN112633396 A CN 112633396A
- Authority
- CN
- China
- Prior art keywords
- vector
- sub
- attention module
- attention
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及基于注意力机制的机器学习模型的融合方法,包括步骤:A.制定机器学习任务要学习的目标,并训练得到至少两个子模型,各子模型的输出结果组合成一个向量;B.构建注意力模块,包括多个具有注意力机制的全连接神经网络,先对所述向量升维和学习高维交互特征,再对向量降维后输出,向量长度为子模型个数,向量中各元素的值对应各子模型的权重;C.融合子模型:将预测样本的变量输入子模型得到向量,并输入到注意力模块得到各对应子模型的权重,对子模型的输出结果进行加权融合。本发明能够根据融合变量的变化来对子模型融合时的权重进行相应的输出,使融合后的输出更接近真实值,有效提高了融合后输出的准确性。
Description
技术领域
本发明涉及机器学习模型的融合方法,具体讲是基于注意力机制的机器学习模型的融合方法。
背景技术
注意力机制(Attention Mechanism)源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息。上述机制被称为注意力机制。为了合理利用有限的视觉信息处理资源,人们需要选择视觉区域中的特定部分,然后集中关注它。例如,人们在阅读时,通常只有少量要被读取的词会被关注和处理。因此,注意力机制主要有两个方面:决定需要关注的是哪部分;分配有限的信息处理资源给重要的部分。
注意力机制可以使得神经网络具备专注于其输入(或特征)子集的能力。在计算能力有限情况下,注意力机制是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务。关于更详细的注意力机制的原理和实现,可以参考:
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为本发明基于注意力机制的机器学习模型的融合方法的流程图。
具体实施方式
如图1所示本发明基于注意力机制的机器学习模型的融合方法,包括:
步骤A.根据相应的应用场景,制定机器学习任务要学习的目标,并使用收集到的数据集通过现有方法训练得到多个子模型,各子模型根据输入的变量得到各自对应的输出结果,并将各子模型的输出结果组合成一个矩阵结构的向量,该向量中的每个元素对应一个子模型,将该向量存储到磁盘的结构空间中;例如,子模型0的输出结果为0.11,子模型1的输出结果为0.34,子模型N的输出结果为0.66,则N个子模型的输出结果组合成一个N维的向量S=[0.11,0.34,…,0.66],由此形成一个N×1的矩阵结构的向量:AN×1。
步骤B.构建注意力模块:在磁盘中划分出构建和保存注意力模块的结构空间,所述的注意力模块包括多个具有注意力机制的全连接神经网络,通过处理器从磁盘的结构空间中调取出所述的向量输入到注意力模块中,然后通过注意力模块对该向量进行升维,并学习向量中各元素之间的高维交互特征,只有充分学习了各子模型间的高维交互特征后才能获得最好的融合效果。然后对升维后的向量进行降维,再归一化后输出,降维后向量的长度即为子模型的个数,向量中每个元素按子模型输出结果的组合顺序分别对应一个子模型,元素的值即为注意力模块给该元素对应的子模型分配的注意力权重,由此完成注意力模块的构建。
其中,通过对所述矩阵结构的向量进行矩阵相乘实现所述的升维。例如,对矩阵结构的向量:AN×1进行升维(从1维升至M维),便是乘以随机初始化的矩阵B1×M(后续再通过梯度下降算法优化),得到了N×M的矩阵:CN×M,即实现了升维。通过升维来挖掘和充分学习输入特征(子模型结果)里的高维特征,以到达最好的融合效果。
所述的降维同样是通过矩阵相乘来实现,其方法与上述升维相似,本领域技术人员均能够根据现有技术实现,在此不做详述。
完成注意力模块的构建后,再对该注意力模块进行优化,包括:
步骤B1.随机初始化通过步骤B保存到相应存储空间中的注意力模块的参数。
步骤B2.使用初始化后的注意力模块的输出作为权重对各子模型加权融合,并将融合后的模型保存在磁盘新的存储空间中,再使用融合后的模型的输出与步骤A所述的要学习的目标计算交叉熵的损失函数。
步骤B3.通过梯度下降方法,以最小化所述损失函数来优化注意力模块的参数。
步骤B4.重复步骤B3,直至损失函数的值不再变小,即得到了最优的注意力模块。
在上述步骤中,可以采用现有的损失函数梯度下降的优化方式,该优化方式的总体思路为:
优化的目标函数为最小化交叉熵的损失函数:
Min Loss=Crossentropy(y,output),
其中y为要学习的目标,output为初始化后的注意力模块的输出。
计算目标函数对偏置项参数的偏导数:
其中W和b均为机器学习模型中的偏置项参数,和分别表示对损失函数求W和b的偏导数。一个机器学习模型通常要包含三个必要的部分,第一部分是用以预测的变量X,第二部分即模型本身的算法,第三部分即需要预测的目标Z,对于偏置项参数而言,例如可以是Z=WX+b。
其中ε为学习率,多次重复这个过程,直至Loss不再变小(收敛),即完成优化过程。更具体的说明可以参考:
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。
步骤C.使用注意力模块融合子模型:对于某个需要预测的样本,将该样本的变量输入通过步骤A训练好的各子模型得到所述的向量,再由处理器将该向量从磁盘的结构空间中调取出来,输入步骤B所述的注意力模块中,然后将注意力模块的输出结果作为与各对应的子模型的权重,来对子模型的输出结果进行加权融合,得到最终的融合结果。
例如,有50个子模型需要融合,注意力模块的输入维度就是50,注意力模块输入:S50=[pred1,pred2…,pred50]。
升维/降维简单示意公式(以下仅说明基本原理,本领域技术人员可根据本领域的常规技术手段理解和实现本发明的升维/降维):
attention=tanh(tanh(S50×W1×128+b1×128)×W128×128+b1×128)×W128×1+b1×1;
其中,W1×128、W128×128和W128×1均为权重矩阵,b1×128和b1×1均为偏置矩阵。
再通过softmax函数将权重归一化:weight=softmax(attention)。
最后使用注意力模块输出的各子模型权重对各子模型加权融合:output=∑S50×weight。
对于给定的机器学习任务和多个使用相同或不同数据源训练好的子模型,本发明通过构建一个具有注意力机制的神经网络结构的注意力模块,将待融合的子模型的输出作为注意力模块的输入。注意力模块的功能就是通过对输入特征(各子模块的输出)进行学习,包括升维、特征交互、降维等步骤,最后注意力模块输出的值即为给每个输入特征分配到的注意力权重,每个输入特征又各自对应到相应的子模块。最后再使用得到的权重来对各个子模型进行加权融合。这种融合方式不但简单易行,而且是根据各子模型的输出结果的重要性来确定的权重,使得各子模块的融合更加合理,融合后的输出结果更准确,并且也可以根据融合的变量进行动态调整,增加了灵活性。
Claims (4)
1.基于注意力机制的机器学习模型的融合方法,其特征包括:
步骤A.根据相应的应用场景,制定机器学习任务要学习的目标,并使用收集到的数据集通过现有方法训练得到至少两个子模型,各子模型根据输入的变量得到各自对应的输出结果,并将各子模型的输出结果组合成一个向量,向量中的每个元素对应一个子模型,将该向量存储到磁盘的结构空间中;
步骤B.构建注意力模块:在磁盘中划分出构建和保存注意力模块的结构空间,所述的注意力模块包括至少两个具有注意力机制的全连接神经网络,通过处理器从磁盘的结构空间中调取出所述的向量输入到注意力模块中,然后通过注意力模块对该向量进行升维,并学习向量中各元素之间的高维交互特征,然后对升维后的向量进行降维,再归一化后输出,降维后向量的长度即为子模型的个数,向量中每个元素按子模型输出结果的组合顺序分别对应一个子模型,元素的值即为注意力模块给该元素对应的子模型分配的注意力权重,由此完成注意力模块的构建;
步骤C.使用注意力模块融合子模型:对于某个需要预测的样本,将该样本的变量输入通过步骤A训练好的各子模型得到所述的向量,再由处理器将该向量从磁盘的结构空间中调取出来,输入步骤B所述的注意力模块中,然后将注意力模块的输出结果作为与各对应的子模型的权重,来对子模型的输出结果进行加权融合,得到最终的融合结果。
2.如权利要求1所述的基于注意力机制的机器学习模型的融合方法,其特征为:步骤B中,在完成注意力模块的构建后,再对该注意力模块进行优化,包括:
步骤B1.随机初始化通过步骤B保存到相应存储空间中的注意力模块的参数;
步骤B2.使用初始化后的注意力模块的输出作为权重对各子模型加权融合,并将融合后的模型保存在磁盘新的存储空间中,再使用融合后的模型的输出与步骤A所述的要学习的目标计算交叉熵的损失函数;
步骤B3.通过梯度下降方法,以最小化所述损失函数来优化注意力模块的参数;
步骤B4.重复步骤B3,直至损失函数的值不再变小,即得到了最优的注意力模块。
3.如权利要求1或2所述的基于注意力机制的机器学习模型的融合方法,其特征为:步骤A中,各子模型的输出结果组合成的向量为矩阵结构向量;步骤B中,通过对所述的矩阵结构向量进行矩阵相乘实现所述的升维。
4.如权利要求3所述的基于注意力机制的机器学习模型的融合方法,其特征为:步骤B中,通过矩阵相乘实现所述的对升维后的向量进行降维。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011595563.1A CN112633396A (zh) | 2020-12-30 | 2020-12-30 | 基于注意力机制的机器学习模型的融合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011595563.1A CN112633396A (zh) | 2020-12-30 | 2020-12-30 | 基于注意力机制的机器学习模型的融合方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112633396A true CN112633396A (zh) | 2021-04-09 |
Family
ID=75287246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011595563.1A Withdrawn CN112633396A (zh) | 2020-12-30 | 2020-12-30 | 基于注意力机制的机器学习模型的融合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112633396A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569975A (zh) * | 2021-08-04 | 2021-10-29 | 华南师范大学 | 一种基于模型融合的素描作品评级方法及装置 |
CN113807470A (zh) * | 2021-11-17 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 一种车辆行驶状态确定方法和相关装置 |
-
2020
- 2020-12-30 CN CN202011595563.1A patent/CN112633396A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569975A (zh) * | 2021-08-04 | 2021-10-29 | 华南师范大学 | 一种基于模型融合的素描作品评级方法及装置 |
CN113807470A (zh) * | 2021-11-17 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 一种车辆行驶状态确定方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lundberg et al. | An unexpected unity among methods for interpreting model predictions | |
Valdez et al. | Modular neural networks architecture optimization with a new nature inspired method using a fuzzy combination of particle swarm optimization and genetic algorithms | |
CN110969251B (zh) | 基于无标签数据的神经网络模型量化方法及装置 | |
WO2019004350A1 (ja) | データ識別器訓練方法、データ識別器訓練装置、プログラム及び訓練方法 | |
CN112288086B (zh) | 一种神经网络的训练方法、装置以及计算机设备 | |
Qi et al. | Multi-objective immune algorithm with Baldwinian learning | |
JP6787444B1 (ja) | ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム | |
CN112633396A (zh) | 基于注意力机制的机器学习模型的融合方法 | |
CN111737743A (zh) | 一种深度学习差分隐私保护方法 | |
Mahajan et al. | A distributed block coordinate descent method for training l1 regularized linear classifiers | |
CN109522945A (zh) | 一种群体情感识别方法、装置、智能设备及存储介质 | |
CN110263236B (zh) | 基于动态多视图学习模型的社交网络用户多标签分类方法 | |
Zhang et al. | GADAM: genetic-evolutionary ADAM for deep neural network optimization | |
US20220261626A1 (en) | Distributed Adversarial Training for Robust Deep Neural Networks | |
JP6612716B2 (ja) | パターン識別装置、パターン識別方法およびプログラム | |
CN111353534A (zh) | 一种基于自适应分数阶梯度的图数据类别预测方法 | |
Templier et al. | A geometric encoding for neural network evolution | |
CN116976461A (zh) | 联邦学习方法、装置、设备及介质 | |
Chen et al. | Boosting the performance of computing systems through adaptive configuration tuning | |
Datta | Efficient genetic algorithm on linear programming problem for fittest chromosomes | |
Chartier et al. | BAM learning of nonlinearly separable tasks by using an asymmetrical output function and reinforcement learning | |
Kepesiova et al. | Comparison of Optimization Techniques for Process Recognition Using Deep Neural Network | |
Nikbakhtsarvestani et al. | Multi-objective ADAM Optimizer (MAdam) | |
CN113705858B (zh) | 多目标区域的最短路径规划方法、系统、设备及存储介质 | |
WO2023019427A1 (en) | Method and apparatus for graph-based recommendation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210409 |