CN117391225A - 数据处理方法、设备及介质 - Google Patents
数据处理方法、设备及介质 Download PDFInfo
- Publication number
- CN117391225A CN117391225A CN202210769021.4A CN202210769021A CN117391225A CN 117391225 A CN117391225 A CN 117391225A CN 202210769021 A CN202210769021 A CN 202210769021A CN 117391225 A CN117391225 A CN 117391225A
- Authority
- CN
- China
- Prior art keywords
- tensor
- dimension
- attention mechanism
- input
- calculation
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 45
- 230000007246 mechanism Effects 0.000 claims abstract description 243
- 238000004364 calculation method Methods 0.000 claims abstract description 199
- 238000000605 extraction Methods 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000003062 neural network model Methods 0.000 claims abstract description 44
- 230000015654 memory Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000010606 normalization Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000013016 learning Effects 0.000 description 71
- 239000013598 vector Substances 0.000 description 49
- 239000011159 matrix material Substances 0.000 description 41
- 239000010410 layer Substances 0.000 description 33
- 238000012549 training Methods 0.000 description 33
- 230000009467 reduction Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 20
- 230000002123 temporal effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 239000002355 dual-layer Substances 0.000 description 12
- 230000004913 activation Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 239000003814 drug Substances 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000031836 visual learning Effects 0.000 description 6
- 229940079593 drug Drugs 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000002547 new drug Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理技术领域,具体涉及一种数据处理方法、设备及介质。其中,数据处理方法包括:获取神经网络模型的输入张量;基于输入张量和第一预设张量进行注意力机制计算,得到第一中间张量;基于输入张量和第一中间张量进行注意力机制计算,得到输入张量的第一特征提取结果;基于第一特征提取结果和神经网络模型进行推理,得到神经网络模型的推理结果。本申请中的数据处理方法,在采用注意力机制计算输入张量的特征时,引入比输入张量维数更少的第一预设张量,可以降低计算复杂度,提高计算速度,并且减少在计算过程中占用的内存,使得神经网络模型的推理时间更少,推理所需的计算资源更少。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据处理方法、设备及介质。
背景技术
时序预测广泛存在于人们的日常生活中,例如交通态势预测、天气预测等等。由于时序预测的精准性对于系统的安全性、稳定性以及运行效率的提高至关重要,时序预测从时间序列预测,到考虑空间因素的预测,再随着机器学习和深度学习的兴起的预测模型的预测,不断发展变化。
目前对于时序预测,一般基于采用注意力机制的预测模型,例如时空图卷积神经网络、Transformer模型、Informer模型等。通过输入包括时空两个维度的图数据,捕获图数据的时间特征和空间特征提高模型的预测精度。其中,图数据例如交通领域的城市道路网络、生物化学领域的药物分子结构、推荐系统领域的社交关系网络等。例如,图1a中,输入城市道路网络(即图数据),包括道路还有各个路口,然后根据输入的城市道路网络预测各个时间段的交通态势。再例如,图1b中,输入药物分子结构,包括单个原子表示的节点以及连接的化学键表示的边,预测该药物分子的三维结构。
然而,目前的注意力机制一般为自注意力机制,需要对输入数据的每个位置计算权重,这样会占据大量的计算资源,模型复杂度较高。当图数据的图顶点规模较大时,预测模型易受到计算机硬件资源的限制,模型训练难以进行。
发明内容
本申请实施例提供了一种数据处理方法、设备及介质,解决神经网络模型训练时占用时间和内存过多的问题。
第一方面,本申请实施例提供了一种数据处理方法,应用于电子设备,包括:获取神经网络模型的输入张量;基于输入张量和第一预设张量进行注意力机制计算,得到第一中间张量,其中,第一预设张量的维度与输入张量的维度相同,第一预设张量的至少一个维度的维数小于输入张量的对应维度的维数,第一中间张量的维度和各维度的维数与第一预设张量的维度和各维度的维数相同;基于输入张量和第一中间张量进行注意力机制计算,得到输入张量的第一特征提取结果;基于第一特征提取结果和神经网络模型进行推理,得到神经网络模型的推理结果。
可以理解,第一预设张量为根据神经网络模型中的预设参数随机初始化得到,第一预设张量可以理解为下文中的低维学习参数张量。由于第一预设张量中的至少一个维度的维数小于输入张量的对应维度的维数,则根据第一预设张量和输入张量计算得到第一中间张量的计算复杂度相比于自注意力机制的计算复杂度会降低,当输入张量的维数足够大时,计算得到中间张量的计算复杂度会大幅降低。
可以理解,第一中间张量为下文中的根据输入张量和低维学习参数张量采用注意力机制计算得到的低维的中间张量。第一特征提取结果为下文中的根据低维的中间张量和输入张量采用注意力机制计算得到的输出张量(即输入张量的特征),提取到的为输入张量的第一维度的特征。
在一些实施例中,神经网络模型为采用注意力机制实现对应应用场景下的数据预测的模型(即神经网络模型为预测模型)。其中,数据预测可以例如交通态势预测、天气预测、输入法联想预测等。神经网络模型。预测模型,可以例如时空图卷积神经网络、Transformer模型、Informer模型等。神经网络模块的推理即通过预测模块进行数据预测或训练预测模块。
本申请中的数据处理方法,在采用注意力机制计算输入张量的特征时,引入比输入张量维数更少的第一预设张量,可以降低计算复杂度,提高计算速度,并且减少在计算过程中占用的内存,使得神经网络模型的推理时间更少,推理所需的计算资源更少。
在上述第一方面的一种可能的实现中,基于输入张量和第一预设张量进行注意力机制计算,得到第一中间张量,包括:将第一预设张量作为注意力机制计算中的查询,将输入张量作为注意力机制计算中的键和值,进行注意力机制计算,得到第一中间张量。
可以理解,第一预设张量作为下文注意力机制计算公式(1)中的Q,将输入张量作为注意力机制计算公式(1)中的K和V,采用注意力机制计算公式(1),计算得到第一中间张量。
在上述第一方面的一种可能的实现中,基于输入张量和第一中间张量进行注意力机制计算,得到输入张量的第一特征提取结果,包括:将输入张量作为注意力机制计算中的查询,将第一中间张量作为注意力机制计算中的键和值,进行注意力机制计算,得到第一特征提取结果。
可以理解,输入张量作为下文注意力机制计算公式(1)中的Q,将第一中间张量作为注意力机制计算公式(1)中的K和V,采用注意力机制计算公式(1),计算得到第一特征提取结果。
在上述第一方面的一种可能的实现中,基于第一特征提取结果和神经网络模型进行推理,包括:将第一特征提取结果作为输入张量的第一特征,并基于第一特征和神经网络模型进行推理。
在上述第一方面的一种可能的实现中,上述方法还包括:基于输入张量和第二预设张量进行注意力机制计算,得到第二中间张量,其中,第二中间张量的维度和各维度的维数与第二预设张量的维度和各维度的维数相同,第二预设张量中至少两个维度由输入张量的至少两个维度发生维度调换后得到,且维度调换前的第二预设张量中至少两个维度中的至少一个维度中的维数小于输入张量对应维度的维数;基于输入张量和第二中间张量进行注意力机制计算,得到输入张量的第二特征提取结果;基于第一特征提取结果和第二特征提取结果和神经网络模型进行推理,得到神经网络模型的推理结果。
可以理解,第二预设张量为根据神经网络模型中的预设参数随机初始化得到,第二预设张量可以理解为下文中的低维学习参数张量。且第二预设张量不同于输入张量的维数的维度与第一预设张量不同。由于第二预设张量中的至少一个维度的维数小于输入张量的对应维度的维数,则根据第二预设张量和输入张量计算得到第二中间张量的计算复杂度相比于自注意力机制的计算复杂度会降低,当输入张量的维数足够大时,计算得到中间张量的计算复杂度会大幅降低。
可以理解,第二中间张量为下文中的根据输入张量和低维学习参数张量采用注意力机制计算得到的低维的中间张量。第二特征提取结果为下文中的根据低维的中间张量和输入张量采用注意力机制计算得到的输出张量(即输入张量的特征),提取到的为输入张量的第二维度的特征。
可以理解,通过上述第一预设张量和第二预设张量可以实现对输入张量的两个维度的特征提取。即本申请实施例提供的数据处理方法可以实现对输入张量的至少一个维度的特征提取。
在上述第一方面的一种可能的实现中,基于输入张量和第二预设张量进行注意力机制计算,得到第二中间张量,包括:将第二预设张量作为注意力机制计算中的查询,将输入张量作为注意力机制计算中的键和值,进行注意力机制计算,得到第二中间张量。
可以理解,第二预设张量作为下文注意力机制计算公式(1)中的Q,将输入张量作为注意力机制计算公式(1)中的K和V,采用注意力机制计算公式(1),计算得到第二中间张量。
在上述第一方面的一种可能的实现中,基于第一特征提取结果和第二特征提取结果和神经网络模型进行推理,包括:将输入张量作为注意力机制计算中的查询,将第二中间张量作为注意力机制计算中的键和值,进行注意力机制计算,得到第二特征提取结果。
可以理解,输入张量作为下文注意力机制计算公式(1)中的Q,将第二中间张量作为注意力机制计算公式(1)中的K和V,采用注意力机制计算公式(1),计算得到第二特征提取结果。
在上述第一方面的一种可能的实现中,基于第一特征提取结果和第二特征提取结果和神经网络模型进行推理,包括:对第一特征提取结果和第二特征提取结果进行逐元素相加,并将相加结果进行归一化处理得到输入张量的第二特征;基于第二特征和神经网络模型进行推理。
在上述第一方面的一种可能的实现中,对输入张量进行特征提取后得到具有第一形状的第一特征提取结果。
在上述第一方面的一种可能的实现中,输入张量的形状和第一形状相同。
可以理解,在神经网络模型获取到输入张量后,可以根据神经网络模型的嵌入维度,对输入张量进行特征嵌入,然后再执行上述将特征嵌入后的张量作为输入张量进行后续的特征提取。神经网络模型的嵌入维度的维数可以与输入张量的对应维度的维数相同。例如,预测模型的嵌入维度为8,而输入的张量数据的形状为100×24×3(其中3表示输入数据的特征维度),因此对输入的张量数据进行特征嵌入后变成形状为100×24×8的张量数据。
在上述第一方面的一种可能的实现中,输入张量的形状和第一形状不同。
可以理解,神经网络模型的嵌入维度的维数可以与输入张量的对应维度的维数不同,即神经网络模型的嵌入维度的维数可以比输入张量的对应维度的维数大,也可以比输入张量的对应维度的维数小。例如,预测模型的嵌入维度的维数为8,而输入的张量数据的形状为100×24×3(其中3表示输入数据的特征维度的维数),因此对输入的张量数据进行特征嵌入后变成形状为100×24×8的张量数据。
在上述第一方面的一种可能的实现中,上述方法还包括:在推理结果不满足终止条件的情况下,调整第一预设张量的参数;基于输入张量和调整后的第一预设张量进行注意力机制计算,得到第一中间张量。
可以理解,在进行神经网络模型的推理后,如果推理结果与预期推理结果相差过大,可以根据推理结果对第一预设张量的初始化参数进行调整,然后再进行上述数据处理过程,使得推理结果更加准确。
第二方面,本申请实施例提供了一种数据处理装置,包括:获取模块,用于获取神经网络模型的输入张量;注意力机制计算模块,用于基于输入张量和第一预设张量进行注意力机制计算,得到第一中间张量,其中,第一预设张量的维度与输入张量的维度相同,第一预设张量的至少一个维度的维数小于输入张量的对应维度的维数,第一中间张量的维度和各维度的维数与第一预设张量的维度和各维度的维数相同;基于输入张量和第一中间张量进行注意力机制计算,得到输入张量的第一特征提取结果;推理模块,用于基于第一特征提取结果和神经网络模型进行推理,得到神经网络模型的推理结果。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行上述数据处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储介质上存储有指令,指令在计算机上执行时使计算机执行上述数据处理方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述数据处理方法。
附图说明
图1a所示为本申请实施例所提供的一种城市路网的结构示意图;
图1b所示为本申请实施例所提供的一种药物分子的结构示意图;
图1c所示为一种自注意力机制的计算示意图;
图1d所示为以向量a1输出得到向量b1的过程示意图;
图2a和2b所示为本申请实施例中提供的一种双层注意力机制的计算流程示意图;
图3所示为本申请实施例所提供的一种数据处理方法的流程示意图;
图4所示为本申请实施例所提供的一种数据预测方法的流程示意图;
图5a所示为本申请实施例所提供的一种时间互注意力机制上层的计算流程示意图;
图5b所示为本申请实施例所提供的一种空间互注意力机制上层的计算流程示意图;
图5c所示为本申请实施例所提供的一种时间互注意力机制下层的计算流程示意图;
图5d所示为本申请实施例所提供的一种空间互注意力机制下层的计算流程示意图;
图6所示为本申请实施所例提供的一种基于互注意力机制的数据预测方法的流程示意图;
图7所示为本申请实施例所提供的一种互注意力机制计算方法的流程示意图;
图8所示为本申请实施例所提供的一种电子设备的硬件结构示意图;
图9所示为本申请实施例所提供的一种数据处理装置的程序模块示意图。
具体实施方式
为了更好地理解本方案,下面对本申请方案中涉及的部分技术术语进行简要介绍。
张量,可以理解为多维的数据阵列,即在同构的意义下,张量可以包括第一阶张量(即向量),也可以为第二阶张量(即矩阵)。可以理解,张量的维度和维数与张量的形状有关,其形状可以表示为[D0,D1,…,Dn-1],或者D0×D1×…×Dn-1。其中,D0至Dn-1为任意正整数,张量的维度为n,任意第j维度的维数即为Dj(0≤j<n)。
例如,对于三维空间,第一阶张量的形状可以表示为[X,Y,Z],也可以表示为X×Y×Z,该张量的维度为3,第一维度的维数为X,第二维度的维数为Y,第三维度的维数为Z。
注意力机制:在进行数据处理时,会选择性地关注所有数据的一部分,忽略其他可见数据。通过注意力机制可以快速提取数据的重要特征。
具体地,注意力机制计算可以表示为如下公式(1):
在公式(1)中Q、K、V可以为矩阵,也可以是张量(多维的矩阵)。
下面以Q、K、V为矩阵为例,对上述公式进行介绍。
其中Q为注意力机制中所有输入向量的查询(query)组成的矩阵,Q中的每个元素表示每个输入向量的query值;K为注意力机制中所有输入向量的键(key)组成的矩阵,K中的每个元素表示每个输入向量的key值;V为注意力机制中所有输入向量的值(value)组成的矩阵,V中的每个元素表示每个输入向量的数值。其中,每个key会有对应的value,组成每个输入向量的数据对。
矩阵Q和矩阵K的转置相乘表示计算Q矩阵中的每个向量query与KT中的某个keyi的点积,可以计算得到每个输入向量在其他向量上的投影,即可以得到每个输入向量与其他向量之间的相似性或相关性,计算QKT得到的矩阵可以作为矩阵V的权重。
其中d表示矩阵Q和矩阵K的长度。假设矩阵Q和K中的每个元素都是独立随机变量,满足零均值(即均值为0)和单位方差(即方差为1),则计算QKT得到的矩阵中每个元素的均值为0,方差为d,由于矩阵中每个元素的方差过大,会导致经过softmax函数后,数值分布集中(分布集中在绝对值较大的区域),进而会影响预测模型的梯度值的稳定性。因此,为了保障应用注意力机制的预测模型的梯度值保持稳定,即计算QKT得到的矩阵中每个元素的方差均为1,则需要对QKT得到的矩阵中的每个元素除以
其中,softmax函数为激活函数,对进行归一化处理,使得矩阵中的所有元素之和为1,以在后续计算输出向量时进行加权求和。经过激活函数后的矩阵作为矩阵V的权重矩阵,其中的每个元素为所有输入向量与对应输入向量的value进行加权求和得到,进而可以计算得到每个输入向量对应的注意力机制输出向量。
自注意力机制:对于输入的多个数据,确定其内部相关性。例如,对于输入的多个数据,利用自注意力机制确定每个数据与其余各个数据之间的相关性,进而根据计算得到的相关性可以得到输入数据的特征,便于后续的预测模型的训练。
特征嵌入:对于每个预测模型来讲,其均具有固定的嵌入维度,以便后续进行数据处理,因此在张量数据输入预测模型后,均需要根据预测模型的嵌入维度对输入张量数据进行特征嵌入。例如,预测模型的嵌入维度为8,而输入的张量数据的形状为100×24×3(其中3表示输入数据的特征维度),因此对输入的张量数据进行特征嵌入后变成形状为100×24×8的张量数据。
例如,图1c所示为一种自注意力机制的计算示意图。
如图1c所示,对于输入的包括五个词的向量a,经过自注意力机制后输出包括五个数据的向量b。其中,输出的向量b是考虑所有的输入向量得到的。
具体地,自注意力机制的的过程包括:
(1)对于输入的五个向量,需要其分别乘以三个系数wq,wk,wv,即对输入向量进行线性变换,得到该输入向量对应的三个值q(表示query)、k(表示key)、v(表示value):
qi=wq·ai,写成矩阵的形式为Q=WqI;
ki=wk·ai,写成矩阵的形式为K=WkI;
vi=wv·ai,写成矩阵的形式为V=WvI。
其中,Wq表示五个输入向量的权重系数wq组成的矩阵,Wk表示五个输入向量的权重系数wk组成的矩阵.Wv表示五个输入向量的权重系数wv组成的矩阵;I表示五个输入向量组成的矩阵。
(2)利用计算得到的q和k,计算每个向量和其余向量之间的相关性,及计算权重值:αi,j=ki T·qj,写成矩阵的形式为A=KTQ。
可以理解,计算上述权重值A中的每个元素为计算每个向量ai与其他四个向量的内积,即计算向量ai在其余各个向量上的投影,得到的值即为向量ai与各向量之间的相关性,并将其保存为矩阵的形式。
(3)对计算得到的权重矩阵A利用softmax函数进行归一化操作,得到矩阵A',即A'=softmax(A)。
其中,通过softmax函数进行归一化,可以使得矩阵A'中的所有元素之和为1,即对于所有输入向量的注意力和为1。
(4)利用计算得到的归一化结果以及计算得到的v,计算每个输入向量对应的自注意力机制的输出向量b,即写成矩阵的形式为O=VA'。
其中矩阵O表示所有输出向量组成的矩阵,矩阵中的每个元素表示每个输出向量。
例如,图1d所示为以向量a1输出得到向量b1的过程。
如图1d所示,对于输入的向量a1,先乘以三个系数wq,wk,wv得到q、k、v,然后利用q和k计算出权重值,并将所有的权重值通过softmax函数进行归一化操作,得到(如图1d中的/>),最后根据计算得到的/>对所有的v进行加权求和,即可得到a1的自注意力机制输出结果b1。其中,加权求和时的权重为/>
可以理解,对于上述自注意力机制来说,计算出权重矩阵的复杂度为o(5),根据权重矩阵计算得到输出矩阵的复杂度为o(5),进而上述自注意力机制的复杂度为o(5×5)。
进而,对于具有n个输入向量的模型,其复杂度达到o(n2)。当自注意力机制中的节点个数(即输入向量的数量,例如上述示例中的节点个数为5)规模很大时,其复杂度也会大幅度增大,将极大地增加预测模型的训练时间和计算机占用的内存,在有限的训练时间内能搜索到的参数组合比较少,不利于找到最佳的参数组合,测试速度降低。
为了解决上述预测模型训练时占用时间和内存过多的问题,本申请实施例提供了一种数据处理方法。该方法包括:对于表征输入数据的输入张量,构建低维学习参数张量,并将构建好的低维学习参数张量作为注意力机制计算中的query(例如公式(1)中的Q)、将输入张量作为注意力机制计算中的key(例如公式(1)中的K)和value(例如公式(1)中的V),得到低维的中间张量,然后再将输入张量作为注意力机制计算中的query(例如公式(1)中的Q)、将中间张量作为注意力机制计算中的key(例如公式(1)中的K)和value(例如公式(1)中的V),得到与输入张量形状相同的输出张量(即输入张量的特征),并根据输出张量完成预测模型的训练和预测。如此,在计算中间张量时,采用维数更少的query,在计算输出张量时,采用维数更少的key和value,大大降低了计算复杂度,计算速度更快,占用的内存更少,进而预测模型的训练时间和预测时间更少,所需的计算资源更少。
例如,对于形状为N×T×K的输入张量,采用本申请实施例提供的计算方法,对构建形状为N×t×K的低维学习参数张量,其中t小于T,然后根据低维学习参数张量和输入张量,采用注意力机制公式进行计算,得到形状为N×t×K的中间张量,计算复杂度为o(T×t);再根据中间张量和输入张量,采用注意力机制公式进行计算,得到形状为N×T×K的输出张量,其计算复杂度为o(T×t),即本申请提供的方法的计算复杂度为2×o(T×t),其中的系数2可以忽略。采用自注意力机制计算,其计算复杂度为o(T×T)。当T足够大时,本申请提供的方法的计算复杂度远小于自注意力机制的计算复杂度,本申请的计算复杂度更低。
可以理解,输入张量可以为图数据,例如交通领域的城市道路网络、生物化学领域的药物分子结构、推荐系统领域的社交关系网络,还可以为文本数据,也可以为其他类型的数据,只要能够整合成张量类型,均处于本申请保护范围。
可以理解,低维学习参数张量是输入张量进行随机初始化得到的,即对于输入张量的某些维度进行降维,得到更低维的张量作为低维学习参数张量。例如,对于形状为1000×24×3的输入张量,对于其第一维进行降维,可以得到形状为50×24×3的低维学习参数张量,也可以对其第二维进行降维,得到形状为1000×3×3的低维学习参数张量。随机初始化得到的低维学习参数张量可以根据最终想要的输出结果,以及应用场景选择性地进行降维。在一些实施例中,为了保障本申请实施例中数据预测方法输出结果的精确性以及计算效率,对于随机初始化得到的低维学习参数张量需要保持在预设的数值范围。例如上述实例中的形状为1000×24×3的输入张量,对其第一维1000进行降维,降维得到的数值不能小于第一阈值,例如第一阈值为5,降维后为2,则数值过小,降维时丢失的数据越多,计算精确度降低,影响数据预测的准确性;降维得到的数值不能大于第二阈值,例如第二阈值为300,降维后为500,则数值过大,计算复杂度仍然过高,对于预测模型训练时占用的内存和时间的降低影响较低。
在一些实施例中,构建低维学习参数张量之前,还可以先对输入张量进行特征嵌入,得到历史特征张量,进而在计算得到中间张量时,可以基于历史特征张量以及学习参数张量,进行注意力机制计算,得到中间张量,然后基于中间张量以及历史特征张量再次进行注意力机制计算,得到输出张量。
在一些实施例中,数据处理方法包括时间序列的特征提取和空间序列的特征提取(即对于输入张量进行时空预测),输入张量中包括时间分量和空间分量,进而构建出的低维学习参数张量可以包括空间学习参数张量和时间学习参数张量。故而,利用注意力机制计算得到低维的中间张量可以包括基于时间学习参数张量和输入张量进行注意力计算得到的时间中间张量,以及基于空间学习参数张量和输入张量进行注意力计算得到的空间中间张量。利用注意力机制将低维中间张量转换至输入张量的维度,可以包括利用注意力机制将时间中间张量转换至时间输出张量,以及将空间中间张量转换为空间输出张量,最后再将空间输出张量和时间输出张量进行融合,得到最终的输出张量。
在其他实施例中,数据处理方法还可以包括除空间特征和时间特征之外的其他维度的特征提取,进而可以对对应的维度采用上述本申请实施例中提供的数据处理方法进行计算,本申请对此不作限制。
可以理解,本申请中采用了双层注意力机制计算,包括利用注意力机制计算得到中间张量以及利用注意力机制计算得到输出张量。本申请提供的数据预测方法可以为仅对于输入张量中的一个维度进行双层注意力机制的计算,例如对时间维度或空间维度采用本申请提供的数据处理方法进行计算,还可以对其他任意之一维度采用本申请提供的数据处理方法进行计算,又可以为对两个或两个以上的维度采用本申请提供的数据处理方法进行计算,例如上述实例中对于时间维度和空间维度的特征提取,本申请对此不做限制。
本申请通过引入低维学习参数张量,采用双层注意力机制计算,代替传统的自注意力机制,即根据构建出的低维学习参数张量以及输入张量,采用注意力机制计算得到低维的中间张量,并根据低维的中间张量以及输入张量,采用注意力机制计算得到输出张量,进而进行预测模型的训练和预测,大大降低了特征提取中的张量的维度,降低了模型的计算复杂度,减少了预测模型所需的计算资源和计算时间,提高模型的运行效率。
例如,图2a和2b所示为本申请实施例中提供的一种双层注意力机制的计算流程示意图。图2a和2b中以输入张量为c=(c1,c2,c3,c4,c5),且预测模型包括时间序列和空间序列的特征提取为例,对本申请实施例进行介绍。
如图2a和2b所示,双层注意力机制的计算包括数据前处理、注意力机制上层、注意力机制下层以及时空特征融合四部分。
其中,数据前处理包括:当输入张量c输入数据处理模型后,会先进行特征嵌入得到历史特征张量c',并根据历史特征张量c'构建时间学习参数张量t1和空间学习参数张量n1。
注意力机制上层包括:以时间学习参数张量t1为query,以历史特征张量c'为key和value,进行注意力机制计算,得到时间中间张量T的时间互注意力机制上层201;和以空间学习参数张量n1为query,以历史特征张量c'为key和value,进行注意力机制计算,得到空间中间张量N的空间互注意力机制上层202。
注意力机制下层包括:以时间中间张量T为key和value,以历史特征张量c'为query,进行注意力机制计算,得到时间输出张量T'的时间注意力互机制下层203;和以空间中间张量N为key和value,以历史特征张量c'为query,进行注意力机制计算,得到空间输出张量N'空间互注意力机制下层204。
时空特征融合包括:对输出的时间输出张量T'和空间输出张量N',经过激活函数(例如sigmod函数等)进行特征融合,得到双层注意力机制的输出张量,即输入张量c的时空特征d=(d1,d2,d3,d4,d5)。
上述计算得到的输出张量可以参与预测模型的训练和预测中。
下面结合图3,对本申请实施例中的双层注意力机制的特征提取方法进行进一步介绍。需要说明的是,本申请提供的双层注意力机制的特征方法,可以用于例如道路网络的交通态势预测、新的药物分子结构预测、社交关系网络的预测等等,只要输入的数据可以转换为张量的形式,并且在计算注意力机制时由于维度过高造成计算复杂度高,进而需要降维的场景均可适用于本申请提供的方法,在此不作限制。
图3所示为本申请实施例中一种数据处理方法的流程示意图。该流程的执行主体可以是任意能够进行注意力机制计算的电子设备。
如图3所示,该方法包括:
301:获取输入张量。
可以理解,获取的输入张量可以为图数据,例如交通领域的城市道路网络、生物化学领域的药物分子结构、推荐系统领域的社交关系网络,还可以为文本数据,也可以为其他类型的数据,只要能够整合成张量类型,均处于本申请保护范围。
可以理解,输入张量可以为二维的张量类型,例如可以为包括时间维度以及各时间维度下的特征的张量,其形状可以表示为A×B,还可以为三维的张量类型,例如可以为包括时间维度、空间维度以及各时间和空间维度下的特征的张量,其形状可以表示为A×B×C。
其中,输入张量为输入到双层注意力机制模型的输入数据。
在一些实施例中,对于输入张量,还可以根据模型的维度,对其进行特征嵌入,得到历史特征张量,进而后续的注意力机制的计算可以基于历史特征张量进行计算。例如形状为2000×30×4的输入张量,若模型的嵌入维度为8,则对输入张量进行特征嵌入后,得到形状为2000×30×8的历史特征张量;若模型的嵌入维度为4,则对输入张量进行特征嵌入后,得到形状为2000×30×4的历史特征张量;若模型的嵌入维度为3,则对输入张量进行特征嵌入后,得到形状为2000×30×3的历史特征张量。可以理解,对输入张量进行特征嵌入时,模型的嵌入维度可以比输入张量的维度大,也可以比输入张量的维度小,还可以和输入张量的维度相等,本申请对此不作限制。
302:根据输入张量构建低维学习参数张量。
可以理解,构建的低维学习参数张量为对输入张量进行降维后得到的,即对输入张量的一个或多个维度进行降维。其中,降维的过程为随机初始化的过程。
例如,对于形状为1000×24×3的输入张量,对于其第一维进行降维,可以得到形状为50×24×3的低维学习参数张量,也可以对其第二维进行降维,得到形状为1000×3×3的低维学习参数张量。随机初始化得到的低维学习参数张量可以根据最终想要的输出结果,以及应用场景选择性地进行降维。在一些实施例中,为了保障本申请实施例中注意力机制输出结果的精确性以及计算效率,对于随机初始化得到的低维学习参数张量需要保持在预设的数值范围。例如上述实例中的形状为1000×24×3的输入张量,对其第一维1000进行降维,降维得到的数值不能小于第一阈值,例如第一阈值为5,降维后为2,则数值过小,降维时丢失的数据越多,计算精确度降低,影响注意力机制的准确性;降维得到的数值不能大于第二阈值,例如第二阈值为300,降维后为500,则数值过大,计算复杂度仍然过高,对于预测模型训练时占用的内存和时间的降低影响较低。
在一些实施例中,数据处理方法包括对时间维度和空间维度的特征提取,则构建的低维学习参数张量可以包括时间学习参数张量和空间学习参数张量。在另一些实施例中,数据处理方法包括其他维度的特征提取,则构建出的低维学习参数张量可以包括对应维度的学习参数张量,本申请对此不作限制。
在一些实施例中,在执行步骤302之前,对输入张量进行特征嵌入,则构建的低维学习参数张量是根据特征嵌入得到的历史特征进行构建的。例如对于形状为2000×30×4的输入张量,模型的嵌入维度为8,则特征嵌入后得到形状为2000×30×8的历史特征张量,然后对历史特征张量的第一维度进行随机初始化降维,得到形状为20×30×8的低维学习参数张量。
303:根据低维学习参数张量以及输入张量,利用注意力机制计算得到低维的中间张量。
可以理解,低维的中间张量是通过构建引入的低维学习参数张量,实现对输入张量的降维,进而使得模型的复杂度降低,达到节省计算资源以及提高模型训练速度和测试速度的效果。
在一些实施例中,步骤303具体可以为,以低维学习参数张量作为注意力机制计算中的query,输入张量作为注意力机制计算中的key和value,进行注意力机制计算,得到低维的中间张量。其中的低维的中间张量,其结构与低维学习参数张量相同。例如,对于形状为1000×24×3的输入张量,对第一维度进行随机初始化降维,得到性扎实能为20×24×3的低维学习参数张量,然后以形状为20×24×3的低维学习参数张量作为注意力机制计算中的query,形状为1000×24×3输入张量作为注意力机制计算中的key和value,可以得到形状为20×24×3的低维的中间张量,即低维的中间张量的结构与低维学习参数张量相同。
在一些实施例中,若步骤301之后对输入张量进行特征嵌入,则步骤303具体可以为,以低维学习参数张量作为注意力机制计算中的query,输入张量进行特征嵌入后得到的历史特征张量作为注意力机制计算中的key和value,进行注意力机制计算,得到低维的中间张量。例如,对于形状为1000×24×3的输入张量,设模型的嵌入维度为8,则对输入张量进行特征嵌入后得到形状为1000×24×8的历史特征张量。对形状为1000×24×8的历史特征张量的第一维度进行随机初始化降维,得到形状为20×24×8的低维学习参数张量,然后以形状为20×24×8的低维学习参数张量作为注意力机制计算中的query,形状为1000×24×8的历史特征张量作为注意力机制计算中的key和value,可以得到形状为20×24×8低维的中间张量。
在一些实施例中,数据处理方法包括对时间维度和空间维度的特征提取,构建的低维学习参数张量包括对输入张量的时间长度进行初始化降维得到的时间学习参数张量以及对输入张量的空间长度进行初始化降维得到的空间学习参数张量,进而步骤303中计算得到的低维的中间张量可以包括时间中间张量和空间中间张量。可以理解,通过时间学习参数张量和空间参数学习张量,可以实现时间注意力机制中时间长度的降维,以及空间注意力机制中空间长度的降维。下文将结合实施例进行说明,在此不作赘述。
在另一些实施例中,数据处理方法模型包括其他维度的特征提取,则计算得到的低维的中间张量可以包括对应维度的中间张量,本申请对此不作限制。
可以理解,根据低维学习参数张量以及输入张量计算得到低维的中间张量,可以实现输入张量的降维,进而降低注意力机制的计算复杂度。
304:根据低维的中间张量以及输入张量,利用注意力机制计算得到输出张量。
在一些实施例中,步骤304具体可以为,以低维的中间张量作为注意力机制计算中的key和value,输入张量作为注意力机制计算中的query,进行注意力机制计算,得到输出张量。其中的输出张量,其结构与输入张量相同。例如,对于形状为1000×24×3的输入张量,执行上述步骤302和303后,得到形状为20×24×3的低维的中间张量,以形状为20×24×3的低维的中间张量作为注意力机制计算中的key和value,形状为1000×24×3的输入张量作为注意力机制计算中的query,进行注意力机制的计算,可以得到形状为1000×24×3的输出张量。
在一些实施例中,若步骤301之后对输入张量进行特征嵌入,则步骤304具体可以为,以低维的中间张量作为注意力机制计算中的key和value,输入张量进行特征嵌入后得到的历史特征张量作为注意力机制计算中的query,进行注意力机制计算,得到输出张量。例如,对于形状为1000×24×3的输入张量,设模型的嵌入维度为8,则对输入张量进行特征嵌入后得到形状为1000×24×8的历史特征张量。执行上述步骤302和步骤303后,得到形状为20×24×8低维的中间张量。以形状为20×24×8的低维的中间张量作为注意力机制计算中的key和value,形状为1000×24×8的历史特征张量作为注意力机制计算中的query,进行注意力机制的计算,可以得到形状为1000×24×8的输出张量。
在一些实施例中,数据处理方法包括对时间维度和空间维度的特征提取,构建的低维学习参数张量包括对输入张量的时间长度进行初始化降维得到的时间学习参数张量以及对输入张量的空间长度进行初始化降维得到的空间学习参数张量,步骤303中可以计算得到低维的中间张量可以包括时间中间张量和空间中间张量,进而步骤304中可以根据时间中间张量和空间中间张量分别计算得到时间输出张量和空间输出张量,并用激活函数对时间输出张量和空间输出张量进行特征融合,得到注意力机制的输出张量。下文将结合实施例进行说明,在此不作赘述。
在另一些实施例中,数据处理方法包括其他维度的特征提取,则对低维的中间张量进行注意力机制的计算的结果可以包括对应维度的输出张量,本申请对此不作限制。
305:将输出张量输入预测模型参与预测模型的训练或预测。
可以理解,将输出张量作为预测模型的输入,根据上述步骤301至304,可以利用注意力机制计算得到输入张量的特征,然后预测模型在进行训练或预测时,需要提取出输入数据的特征,才能进行下一步的预测或训练。
可以理解,预测模型可以包括时空图卷积神经网络、Transformer模型、Informer模型等。在一些实施例中,在对预测模型进行训练时,步骤301中获取到的输入张量为训练数据;在另一些实施例中,采用预测模型进行预测时,步骤301中的获取到的输入张量为在当前预测场景中检测到的数据。
在一些实施例中,本申请提供的数据处理方法可以不包括上述步骤305,即仅通过上述步骤301至步骤304对输入张量进行特征提取,特征提取结果不需要输入预测模型。
在一些实施例中,将输出张量输入预测模型后,若得到的预测结果不满足预测模型的终止条件,可以重新调整上述步骤302中低维学习张量的值,并重复上述步骤303至步骤305,重新进行数据预测。
其中,步骤303可以理解为本申请实施例中注意力机制的上层,步骤304可以理解为注意力机制的下层,即通过双层注意力机制实现模型复杂度的降低。为了便于阐述本申请提供的方法对于计算复杂度的降低,下面结合具体地例子进行说明。
例如,对于形状为n×T×K的输入张量,采用本申请实施例提供的计算方法,对构建形状为m×T×K的低维学习参数张量,其中m小于n,然后根据低维学习参数张量和输入张量,采用注意力机制公式进行计算,得到形状为m×T×K的中间张量,计算复杂度为o(m×n);再根据中间张量和输入张量,采用注意力机制公式进行计算,得到形状为n×T×K的输出张量,其计算复杂度为o(m×n),即本申请提供的方法的计算复杂度为2×o(m×n),其中的系数2可以忽略。
而采用自注意力机制计算,设Q、K、V的形状与输入张量的形状相同,均为n×T×K。则计算得到权重张量A的计算复杂度为o(T),由权重张量计算得到输出张量的计算复杂度为o(T),自注意力机制的计算复杂度为o(T×T)。
可见,本申请提供的方法计算复杂度相比自注意力机制的计算复杂度降低,当n足够大时,本申请提供的方法的计算复杂度远小于自注意力机制的计算复杂度,本申请的计算复杂度更低。
因此,本申请实施例通过引入低维学习参数张量,完成对输入张量的降维,使得模型复杂度降低,减少了预测模型所需的计算资源和计算时间,提高模型的运行效率。
下面结合图4,以时间维度和空间维度进行双层注意力机制的计算为例,对本申请实施例提供的注意力机制进行进一步介绍。需要说明的是,本实施例仅作为本申请中的一种示例,在其他实施例中,还可以对其他维度采用下述方法进行计算,本申请对此不作限制。
图4所示为本申请实施例提供的一种数据预测方法的流程示意图。该流程的执行主体可以是任意能够进行注意力机制计算的电子设备。
如图4所示,方法包括:
401:获取形状为N×T×D的输入张量,并根据模型的嵌入维度对输入张量进行特征嵌入得到形状为N×T×d的历史时间特征张量feature1 his和形状为T×N×d的历史空间特征张量feature2 his。
可以理解,其中的模型的嵌入维度为d,其中d可以比输入张量中的D大,也可以比输入张量中的D小,还可以和输入张量中的D一样大,本申请对此不作限制。
其中,形状为N×T×D的输入张量中的T表示输入张量对应的图数据的历史时间片数,用以表示时间维度,N表示输入张量对应的图数据的节点数,用以表示空间维度。
402:根据历史时间特征张量feature1 his构建形状为N×t×d的时间学习参数张量Tini,以及历史空间特征张量feature2 his构建形状为T×n×d的空间学习参数张量Sini。
可以理解,时间学习参数张量Tini中的t小于历史时间特征张量feature1 his中的T,空间学习参数张量Sini中的n小于历史空间特征张量feature2 his中的N,即对历史时间特征和历史空间特征进行随机初始化降维,作为互注意力机制中引入的低维度学习参数张量。
403:根据时间学习参数张量Tini,在历史时间特征张量feature1 his的时间维度上进行注意力机制计算,得到形状为N×t×d的时间中间张量T ini'。
可以理解,步骤403即为本申请的双层注意力机制中的时间互注意力机制上层501,具体地,参考图5a所示。
如图5a所示,在时间互注意力机制上层501中,以时间学习参数张量Tini作为注意力机制计算中的query,以历史时间特征张量feature1 his作为注意力机制计算中的key和value,然后基于query、key和value进行注意力机制计算,可以得到形状为N×t×d的时间中间张量T ini'。
404:根据空间学习参数张量Sini,在历史空间特征张量feature2 his的空间维度上进行注意力机制计算,得到形状为T×n×d的空间中间张量S ini'。
可以理解,步骤404即为本申请的双层注意力机制中的空间互注意力机制上层502,具体地,参考图5b所示。
如图5b所示,在空间互注意力机制上层502中,以空间学习参数张量Sini作为注意力机制计算中的query,以历史空间特征张量feature2 his作为注意力机制计算中的key和value,然后基于query、key和value进行注意力机制计算,可以得到形状为T×n×d的空间中间张量S ini'。
405:根据时间中间张量T ini',在历史时间特征张量feature1 his的时间维度上进行注意力机制计算,得到形状为N×T×d的时间输出张量featureT his。
可以理解,步骤405即为本申请的双层注意力机制中的时间互注意力机制下层503,具体地,参考图5c所示。
如图5c所示,在时间互注意力机制下层503中,以历史时间特征张量feature1 his作为注意力机制计算中的query,以时间中间张量T ini'作为注意力机制计算中的key和value,然后基于query、key和value进行注意力机制计算,可以得到形状为N×T×d的时间输出张量featureT his。
406:根据空间中间张量S ini',在历史空间特征张量feature2 his的时间维度上进行注意力机制计算,得到形状为T×N×d的空间输出张量featureS his。
可以理解,步骤406即为本申请的双层注意力机制中的空间互注意力机制下层504,具体地,参考图5d所示。
如图5d所示,在空间互注意力机制下层504中,以历史空间特征张量feature2 his作为注意力机制计算中的query,以空间中间张量S ini'作为注意力机制计算中的key和value,然后基于query、key和value进行注意力机制计算,可以得到形状为T×N×d的空间输出张量featureS his。
407:将空间输出张量featureS his转置为与时间输出张量featureT his相同的形状后,与时间输出张量经过激活函数融合,得到输出张量。
可以理解,将空间输出张量featureS his转置可例如交换空间输出张量featureS his中的时间维度和空间维度的数值,即将形状为T×N×d的空间输出张量featureS his转置为形状为T×N×d的空间输出张量featureS his。
在一些实施例中,输出张量可以通过对转制后的空间输出张量以及时间输出张量进行逐元素相加,然后再通过激活函数进行归一化处理即可得到。其中的激活函数可以例如sigmod函数等,还可以采用其他激活函数进行归一化处理,本申请对此不做限制。
408:将输出张量输入预测模型进行训练或预测。
在一些实施例中,在预测模型训练过程中,对对应预测场景的预测结果不满足终止条件时,可以调整前述时间学习参数张量Tini和空间学习参数张量Sini,重复进行上述步骤403至步骤408。
下面结合图6和7,以美国西雅图开源数据集为例,对本申请实施例中的基于互注意力机制的数据预测方法进行进一步介绍。具体地参数设置为:以西雅图高速公路数据为例的交通态势预测为例,其中,城市路网包含323个检测器,并以每小时获取一次检测器的监测数据,以一天的数据为一个数据样本,将每个检测器的速度、占有率以及流量聚合三个特征为一个小时时间颗粒度,构建得到形状为323×24×3的输入张量,并设模型的嵌入维度为8。
图6所示为本申请实施例提供的一种基于互注意力机制的数据预测方法的流程示意图。该流程的执行主体可以是任意能够进行注意力机制计算的电子设备。
图7所示为本申请实施例提供的一种互注意力机制计算方法的流程示意图。该流程的执行主体可以是任意能够进行注意力机制计算的电子设备。
如图6所示,该方法包括:
601:获取形状为323×24×3的输入张量,并对其进行数据处理,分别得到形状为323×24×8的历史时间特征张量feature1 his和形状为24×323×8的历史空间特征张量feature2 his。
结合图7可以理解,对于输入张量通过嵌入层进行特征嵌入,可以得到形状为323×24×8的历史时间特征张量feature1 his;对输入张量通过嵌入层进行特征嵌入并调换维度,可以得到形状为24×323×8的历史空间特征张量feature2 his。
602:对历史时间特征张量feature1 his进行随机初始化得到形状为323×3×8的时间学习参数张量Tini,以及对历史空间特征张量feature2 his进行随机初始化得到形状为24×3×8的空间学习参数张量Sini。
603:进行时间互注意力机制上层701的计算,得到形状为323×3×8的时间中间张量T ini'。
如图7所示,具体地,以时间学习参数张量Tini为时间互注意力计算的query,以历史时间特征张量feature1 his作为注意力机制计算中的key和value,然后基于query、key和value进行注意力机制计算,可以得到形状为323×3×8的空间中间张量T ini'。
604:进行空间互注意力机制上层702的计算,得到形状为24×3×8的空间中间张量S ini'。
如图7所示,具体地,以空间学习参数张量Sini为空间互注意力计算的query,以历史空间特征张量feature2 his作为注意力机制计算中的key和value,然后基于query、key和value进行注意力机制计算,可以得到形状为24×3×8的空间中间张量S ini'。
605:进行时间互注意力机制下层703的计算,得到形状为323×24×8的时间输出张量featureT his。
如图7所示,具体地,以历史时间特征张量feature1 his为时间互注意力计算的query,以时间中间张量T ini'作为注意力机制计算中的key和value,然后基于query、key和value进行注意力机制计算,可以得到形状为323×24×8的时间输出张量featureT his。
606:进行空间互注意力机制下层704的计算,得到形状为24×323×8的空间输出张量featureS his。
如图7所示,具体地,以历史空间特征张量feature2 his为空间互注意力计算的query,以空间中间张量T ini'作为注意力机制计算中的key和value,然后基于query、key和value进行注意力机制计算,可以得到形状为24×323×8的空间输出张量featureS his。
607:对空间输出张量featureS his调换维度,并与时间输出张量featureT his进行融合,得到形状为323×24×8的输出张量。
可以理解对空间输出张量featureS his调换维度为,将对空间输出张量featureS his中的时间维度和空间维度进行调换,得到形状为323×24×8的空间输出张量featureS his,然后对维度调换后的空间输出张量featureS his和时间输出张量featureT his进行逐元素相加,并利用sigmod函数(如图7中的σ)等激活函数对相加结果进行归一化处理,得到形状为323×24×8的输出张量。
608:将输出张量输入路网交通态势的预测模型,进行预测模型的训练或预测路网交通态势。
例如,在预测模型训练过程中,预测的路网中的各检测器对应的监测数据的时间特征和空间特征不满足训练终止条件,例如与训练数据中的实际监测数据的时间特征和空间特征差异太大等等,可以调整前述步骤602中生成的形状为323×3×8的时间学习参数张量Tini和形状为24×3×8的空间学习参数张量Sini,并重复进行前述步骤603至608。
下表1所示为采用本申请中的方法以及现有技术中的自注意力机制的计算方法,对上述图6所示的示例进行模型训练耗费的时间和占用的显存。
表1
其中的1个epoch可以理解为每轮训练,即对于全部数据样本完成一轮训练,上表中提供的时间均为完成一轮训练所需的时间。
由上表可以看出,与传统的时空自注意力机制进行注意力计算相比,本申请实施例提供的时空互注意力机制可以包括两个方面的有益效果:其一,本申请实施例中的时空互注意力机制相比现有的时空自注意力机制,一个epoch节省了100s的训练时间,相当于减少了25%的训练时长,同时计算时长、测试时长也大幅度降低。通常来讲,预测模型的训练需要训练50个epoch,本申请提供的方法可以节省大约80多分钟,训练时间大大降低。其二,本申请实施例中的的时空互注意力机制相比现有的时空自注意力机制,可以降低50%的计算机显存占用,这样可以大大加快模型的训练速度,节省了训练时间,进而模型可以搜索到更多的参数组合,可以快速对模型的参数进行调整。
图8所示为应用本申请实施例提供的方法的电子设备800的硬件结构框图。电子设备800可以用于运行本申请实施例提供的数据处理方法对应的指令,例如执行前述步骤301至305对应的指令,也可以用于运行本申请实施例提供的数据处理方法训练的模型。在图8中,相似的部件具有同样的附图标记。如图8所示,电子设备800可以包括处理器810、电源模块840、存储器880、摄像头870、移动通信模块830、无线通信模块820、传感器模块890、音频模块850、接口模块860以及显示屏802等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备800的具体限定。在本申请另一些实施例中,电子设备800可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器810可以包括一个或多个处理单元,例如,可以包括中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、数字信号处理器(Digital Signal Processor,DSP)、微处理器(Micro-programmed Control Unit,MCU)、人工智能(Artificial Intelligence,AI)处理器或可编程逻辑器件(Field ProgrammableGate Array,FPGA)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
例如,在本申请的一些实例中,处理器810可以用来对输入张量进行降维处理,然后进行注意力机制上层和下层的计算,得到最终的输出张量。
电源模块840可以包括电源、电源管理部件等。电源可以为电池。电源管理部件用于管理电源的充电和电源向其他模块的供电。充电管理模块用于从充电器接收充电输入;电源管理模块用于连接电源,充电管理模块与处理器810。
移动通信模块830可以包括但不限于天线、功率放大器、滤波器、低噪声放大器(Low Noise Amplify,LNA)等。移动通信模块830可以提供应用在电子设备800上的包括2G/3G/4G/5G等无线通信的解决方案。在一些实施例中,移动通信模块830的至少部分功能模块可以被设置于处理器810中。在一些实施例中,移动通信模块830至少部分功能模块可以与处理器810的至少部分模块被设置在同一个器件中。
无线通信模块820可以包括天线,并经由天线实现对电磁波的收发。无线通信模块820可以提供应用在电子设备800上的包括无线局域网(Wireless Local Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络),蓝牙(Bluetooth,BT),全球导航卫星系统(Global Navigation Satellite System,GNSS),调频(Frequency Modulation,FM),近距离无线通信技术(Near Field Communication,NFC),红外技术(Infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备800的移动通信模块830和无线通信模块820也可以位于同一模块中。
摄像头870用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给ISP(Image Signal Processor,图像信号处理器)转换成数字图像信号。电子设备800可以通过ISP,摄像头870,视频编解码器,GPU(Graphic Processing Unit,图形处理器),显示屏802以及应用处理器等实现拍摄功能。
显示屏802包括显示面板。传感器模块890可以包括接近光传感器、压力传感器,距离传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
音频模块850可以将数字音频信息转换成模拟音频信号输出,或者将模拟音频输入转换为数字音频信号。在一些实施例中,音频模块850可以包括扬声器、听筒、麦克风以及耳机接口。
接口模块860包括外部存储器接口、通用串行总线(Universal Serial Bus,USB)接口及用户标识模块(Subscriber Identification Module,SIM)卡接口等。
图9所示为本申请实施例提供的一种数据处理装置900,可以用于运行本申请实施例提供的数据处理方法数据预测方法对应的指令,例如执行前述步骤301至305对应的指令,也可以用于运行本申请实施例提供的数据处理方法数据预测方法训练的模型。
如图9所示,数据处理装置900包括:
获取模块901,用于获取神经网络模型的输入张量;
注意力机制计算模块902,用于基于输入张量和第一预设张量进行注意力机制计算,得到第一中间张量,其中,第一预设张量的维度与输入张量的维度相同,第一预设张量的至少一个维度的维数小于输入张量的对应维度的维数,第一中间张量的维度和各维度的维数与第一预设张量的维度和各维度的维数相同;基于输入张量和第一中间张量进行注意力机制计算,得到输入张量的第一特征提取结果;
推理模块903,用于基于第一特征提取结果和神经网络模型进行推理,得到神经网络模型的推理结果。
可以理解,第一预设张量为根据神经网络模型中的预设参数随机初始化得到,第一预设张量可以理解为前文中的低维学习参数张量。由于第一预设张量中的至少一个维度的维数小于输入张量的对应维度的维数,则根据第一预设张量和输入张量计算得到第一中间张量的计算复杂度相比于自注意力机制的计算复杂度会降低,当输入张量的维数足够大时,计算得到中间张量的计算复杂度会大幅降低。
可以理解,第一中间张量为前文中的根据输入张量和低维学习参数张量采用注意力机制计算得到的低维的中间张量。第一特征提取结果为前文中的根据低维的中间张量和输入张量采用注意力机制计算得到的输出张量(即输入张量的特征),提取到的为输入张量的第一维度的特征。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路(Application Specific Integrated Circuit,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (15)
1.一种数据处理方法,应用于电子设备,其特征在于,包括:
获取神经网络模型的输入张量;
基于所述输入张量和第一预设张量进行注意力机制计算,得到第一中间张量,其中,所述第一预设张量的维度与所述输入张量的维度相同,所述第一预设张量的至少一个维度的维数小于所述输入张量的对应维度的维数,所述第一中间张量的维度和各维度的维数与所述第一预设张量的维度和各维度的维数相同;
基于所述输入张量和第一中间张量进行注意力机制计算,得到所述输入张量的第一特征提取结果;
基于所述第一特征提取结果和所述神经网络模型进行推理,得到所述神经网络模型的推理结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述输入张量和第一预设张量进行注意力机制计算,得到第一中间张量,包括:
将所述第一预设张量作为注意力机制计算中的查询,将所述输入张量作为注意力机制计算中的键和值,进行注意力机制计算,得到所述第一中间张量。
3.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述输入张量和第一中间张量进行注意力机制计算,得到所述输入张量的第一特征提取结果,包括:
将所述输入张量作为注意力机制计算中的查询,将所述第一中间张量作为注意力机制计算中的键和值,进行注意力机制计算,得到所述第一特征提取结果。
4.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述第一特征提取结果和所述神经网络模型进行推理,包括:
将所述第一特征提取结果作为所述输入张量的第一特征,并基于所述第一特征和所述神经网络模型进行推理。
5.根据权利要求1所述的数据处理方法,其特征在于,还包括:
基于所述输入张量和第二预设张量进行注意力机制计算,得到第二中间张量,其中,所述第二中间张量的维度和各维度的维数与所述第二预设张量的维度和各维度的维数相同,所述第二预设张量中至少两个维度由所述输入张量的至少两个维度发生维度调换后得到,且维度调换前的第二预设张量中所述至少两个维度中的至少一个维度中的维数小于所述输入张量对应维度的维数;
基于所述输入张量和第二中间张量进行注意力机制计算,得到所述输入张量的第二特征提取结果;
基于所述第一特征提取结果和所述第二特征提取结果和所述神经网络模型进行推理,得到所述神经网络模型的推理结果。
6.根据权利要求5所述的数据处理方法,其特征在于,所述基于所述输入张量和第二预设张量进行注意力机制计算,得到第二中间张量,包括:
将所述第二预设张量作为注意力机制计算中的查询,将所述输入张量作为注意力机制计算中的键和值,进行注意力机制计算,得到所述第二中间张量。
7.根据权利要求5所述的数据处理方法,其特征在于,所述基于所述第一特征提取结果和所述第二特征提取结果和所述神经网络模型进行推理,包括:
将所述输入张量作为注意力机制计算中的查询,将所述第二中间张量作为注意力机制计算中的键和值,进行注意力机制计算,得到所述第二特征提取结果。
8.根据权利要求5所述的数据处理方法,其特征在于,所述基于所述第一特征提取结果和所述第二特征提取结果和所述神经网络模型进行推理,包括:
对所述第一特征提取结果和所述第二特征提取结果进行逐元素相加,并将相加结果进行归一化处理得到所述输入张量的第二特征;
基于所述第二特征和所述神经网络模型进行推理。
9.根据权利要求1所述的数据处理方法,其特征在于,对所述输入张量进行特征提取后得到具有第一形状的所述第一特征提取结果。
10.根据权利要求9所述的数据处理方法,其特征在于,所述输入张量的形状和所述第一形状相同。
11.根据权利要求9所述的数据处理方法,其特征在于,所述输入张量的形状和所述第一形状不同。
12.根据权利要求1所述的数据处理方法,其特征在于,还包括:
在所述推理结果不满足终止条件的情况下,调整所述第一预设张量的参数;
基于所述输入张量和调整后的第一预设张量进行注意力机制计算,得到所述第一中间张量。
13.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当所述一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至12中任一项所述的数据处理方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至12中任一项所述的数据处理方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,该指令在执行时使计算机执行权利要求1至12中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210769021.4A CN117391225A (zh) | 2022-06-30 | 2022-06-30 | 数据处理方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210769021.4A CN117391225A (zh) | 2022-06-30 | 2022-06-30 | 数据处理方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117391225A true CN117391225A (zh) | 2024-01-12 |
Family
ID=89461794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210769021.4A Pending CN117391225A (zh) | 2022-06-30 | 2022-06-30 | 数据处理方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117391225A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707791A (zh) * | 2024-02-02 | 2024-03-15 | 北京壁仞科技开发有限公司 | 用于进行注意力运算的方法、设备和存储介质 |
CN117726183A (zh) * | 2024-02-07 | 2024-03-19 | 天津生联智慧科技发展有限公司 | 一种基于空间高阶卷积的燃气运行数据预测方法 |
-
2022
- 2022-06-30 CN CN202210769021.4A patent/CN117391225A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707791A (zh) * | 2024-02-02 | 2024-03-15 | 北京壁仞科技开发有限公司 | 用于进行注意力运算的方法、设备和存储介质 |
CN117707791B (zh) * | 2024-02-02 | 2024-05-14 | 北京壁仞科技开发有限公司 | 用于进行注意力运算的方法、设备和存储介质 |
CN117726183A (zh) * | 2024-02-07 | 2024-03-19 | 天津生联智慧科技发展有限公司 | 一种基于空间高阶卷积的燃气运行数据预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Facial expression recognition via ResNet-50 | |
Qin et al. | Imaging and fusing time series for wearable sensor-based human activity recognition | |
CN110580482B (zh) | 图像分类模型训练、图像分类、个性化推荐方法及装置 | |
Shanthamallu et al. | A brief survey of machine learning methods and their sensor and IoT applications | |
James | Semi-supervised deep ensemble learning for travel mode identification | |
CN117391225A (zh) | 数据处理方法、设备及介质 | |
CN114611705A (zh) | 数据处理方法、机器学习的训练方法及相关装置、设备 | |
CN113158815B (zh) | 一种无监督行人重识别方法、系统及计算机可读介质 | |
CN112163717B (zh) | 人口数据预测方法、装置、计算机设备及介质 | |
CN113240120A (zh) | 基于温习机制的知识蒸馏方法、装置、计算机设备和介质 | |
CN112115900B (zh) | 图像处理方法、装置、设备及存储介质 | |
WO2023280113A1 (zh) | 数据处理方法、神经网络模型的训练方法及装置 | |
Abid et al. | Improving indoor geomagnetic field fingerprinting using recurrence plot-based convolutional neural networks | |
CN113539290A (zh) | 语音降噪方法和装置 | |
CN114862010A (zh) | 一种基于时空数据的流量确定方法、装置、设备和介质 | |
CN116861850A (zh) | 一种数据处理方法及其装置 | |
CN116310318A (zh) | 交互式的图像分割方法、装置、计算机设备和存储介质 | |
CN113590971B (zh) | 一种基于类脑时空感知表征的兴趣点推荐方法及系统 | |
Gammelli et al. | Recurrent flow networks: A recurrent latent variable model for density estimation of urban mobility | |
Cao et al. | A dual attention model based on probabilistically mask for 3D human motion prediction | |
CN113762331A (zh) | 关系型自蒸馏方法、装置和系统及存储介质 | |
CN117253287A (zh) | 基于域泛化的动作预测模型训练方法、相关方法及产品 | |
CN117077928A (zh) | 网约车需求预测方法、装置、设备及存储介质 | |
CN111429185A (zh) | 人群画像预测方法、装置、设备及存储介质 | |
CN117218507A (zh) | 图像处理模型训练方法、图像处理方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |