基于LSTM的数据处理方法及智慧旅游大数据处理系统
未命名
09-12
阅读:70
评论:0

基于lstm的数据处理方法及智慧旅游大数据处理系统
技术领域
1.本发明涉及神经网络领域,特别是涉及一种基于lstm的数据处理方法方法及智慧旅游大数据处理系统。
背景技术:
2.随着现代信息技术快速发展,人们的生活理念和生活方式都发生了翻天覆地的变化,人们的生活中充斥着各种各样的信息。在这样的背景之下,人们生活中产生大量数据最终能成大数据,而大数据对于各行各业的发展都产生了深远影响,对于旅游产业发展也带来了深远影响。在发展旅游业过程之中,我们可以通过大数据分析来更好的找到旅游业中存在的不足,这样才能更好的迎合客户需求,提供个性化的旅游服务。大数据常常可以给旅游行业带来大量数据信息,可以通过建模方式将各种各样信息进行分门别类的有效整理,这样可以有助于旅游各部门做好公共管理服务,更好的迎合客户旅游多元化的需求,真正做到一对一的个性化服务,使得服务变得更加全面,可以更好的满足人们对于旅游的需求。
3.然而,旅游大数据涉及语音、文本与图像等,现有技术中提出了多种对此类数据的处理方法,但仍有改进的余地。近年来,循环神经网络rnn,尤其是能解决长期依赖问题的长短期记忆网络lstm(long-short term memory),因其能够将语音,文本等数据按照序列次序依次送入模型中,通过迭代计算提取数据对象的单帧特征和序列关系特征,所以广泛应用于旅游大数据处理中,其对文旅行业产生的大数据的智能分类、检测、识别应用中效果尤其突出。
4.但是,随着其精度和参数数量的增加,模型的计算复杂度也随之增加,需要更高的计算能力和更大的内存;尤其是由于其模型本身的串行化迭代计算特征,使得模型每层的计算密度较大,层数较深,这些都使得模型推理涉及的参数量不断增加,并行性开发变得困难,无法充分利用常规cpu结合加速器的主流形态。
5.现场可编程门阵列fpga,由于其灵活性和低功耗成为上述问题最受欢迎的解决方案之一。在lstm加速器中,结合fpga,通过权重剪枝,将权值矩阵压缩为稀疏矩阵,避免了零元素的计算开销和内存占用。但是,在整个lstm加速器中,稀疏矩阵向量乘子模块和矩阵存储单元两个模块占用最多的资源。矩阵存储单元占用最多的片上存储资源,主要来自于权值其对应的索引。对于以往的均衡稀疏化方法,索引开销比较大,当想获得更低的压缩比时,索引反而成为瓶颈。并且这些稀疏循环神经网络加速器只考虑从权值的角度减少运算的计算量,没有考虑从输入特征的角度减少计算量。因此如何优化传统lstm加速器架构,进一步减少计算量、所需内存空间、减小推理延迟,以更适用于智慧旅游大数据处理,是目前亟待解决的问题。
技术实现要素:
6.为解决上述技术问题,本发明提供了一种lstm加速方法,包括:
7.输入步骤:将lstm配置参数、输入数据序列加载至片上存储模块;a代表所述输入数据序列中的输入数据的个数;b代表每个输入数据包括的元素的个数;a、b均为大于1的整数;
8.初始化步骤:令t=1;当前输入数据x
t
=x1=所述输入数据序列的第一个输入数据(x
11
,x
12
……
x
1b
);先前输入数据x
p
=0;先前结果数据y
p
=0;
9.相似度判断步骤:比较所述当前输入数据x
t
与所述先前输入数据x
p
,判断所述当前输入数据x
t
与所述先前输入数据x
p
是否相似;
10.若是,则输出先前结果数据y
p
,进入递归步骤;
11.若否,则进入加速处理步骤:lstm加速处理所述当前输入数据x
t
,输出当前结果数据y
t
;令先前输入数据x
p
=当前输入数据x
t
;先前结果数据y
p
=当前结果数据y
t
;进入递归步骤;
12.递归步骤:令t=t+1;判断t是否大于a,若是则结束;若否则返回相似度判断步骤。
13.进一步地,所述相似度判断步骤,具体为:
14.计算所述当前输入数据x
t
与所述先前输入数据x
p
的差值z
t
,统计所述差值z
t
的非零数个数p;
15.若所述非零数个数p大于预设阈值,则判定所述当前输入数据x
t
与所述先前输入数据x
p
相似;
16.若所述非零数个数p不大于所述预设阈值,则判定所述当前输入数据x
t
与所述先前输入数据x
p
不相似。
17.进一步地,所述计算所述当前输入数据x
t
与所述先前输入数据x
p
的差值z
t
,包括:
18.取所述当前输入数据x
t
的每个元素的高w位;
19.取所述先前输入数据x
p
的每个元素的高w位;
20.计算所述当前输入数据x
t
的每个元素的高w位与所述先前输入数据x
p
的每个元素的高w位的近似化差值z
tw
,作为所述差值z
t
。
21.进一步地,所述统计所述差值z
t
的非零数个数p的步骤,包括:
22.取分组系数c;c为能被b整除的正整数;
23.将所述当前输入数据x
t
的b个元素分成c组,每组包括b/c个元素;
24.将所述先前输入数据x
p
的b个元素分成对应的c组,每组包括b/c个元素;
25.依次计算当前输入数据x
t
的每组元素与对应的先前输入数据x
p
的每组元素的差值;
26.依次统计差值中的非零数个数(p1,p2……
pc);
27.采用公式p1+p2……
+pc,计算非零数的总和,作为所述差值z
t
的非零数个数p;
28.其中,p1代表第一组元素所得差值中的非零数个数,p2代表第二组元素所得差值中的非零数个数,pc代表第c组元素所得差值中的非零数个数。
29.进一步地,所述加速处理步骤,包括:
30.对所述当前输入数据x
t
,进行稀疏矩阵向量乘法,得到稀疏矩阵行和向量的乘法结果;
31.对所述乘法结果,执行非线性激活操作,得到激活结果;
32.对所述激活结果,执行元素乘法运算和元素加法运算,得到所述当前结果数据y
t
。
33.进一步地,所述稀疏矩阵向量乘法的步骤,包括:
34.另一方面,本发明还提供一种智慧旅游大数据处理系统,包括软件端a和硬件端b;所述软件端a将lstm的推理运算任务加载到所述硬件端b运行;所述硬件端b运行所述推理运算任务,并将当前结果数据读取到所述软件端b;
35.所述的硬件端b,用于执行所述的数据处理方法,包括:接口模块100、存储模块200和运算模块300;
36.所述接口模块100,与所述存储模块200和外界连接,用于将lstm配置参数、输入数据序列从外界加载至所述存储模块200;输出当前结果数据;
37.所述运算模块300,与所述存储模块200和所述接口模块100连接,用于执行初始化步骤、相似度判断步骤和递归步骤。
38.所述推理运算任务,用于智慧旅游大数据处理需求。
39.进一步地,所述存储模块200,包括矩阵存储模块210和向量存储模块220;
40.所述矩阵存储模块210,用于存储所述lstm配置参数;
41.所述向量存储模块220,用于存储所述输入数据序列、所述当前输入数据、所述先前输入数据、所述先前结果数据、所述当前结果数据。
42.进一步地,所述运算模块300,包括:初始化子模块310、相似度判断子模块320、加速处理子模块330和递归子模块340;
43.所述初始化子模块310,与所述存储模块200连接,用于令t=1;当前输入数据x
t
=x1=输入数据序列的第一个输入数据(x
11
,x
12
……
x
1b
);先前输入数据x
p
=0;先前结果数据y
p
=0;
44.所述相似度判断子模块320,与所述接口模块100、所述存储模块200、所述初始化子模块310、所述加速处理子模块330和所述递归子模块340连接;用于比较当前输入数据x
t
与先前输入数据x
p
,判断当前输入数据x
t
与先前输入数据x
p
是否相似;若是,则输出先前结果数据y
p
,进入递归步骤;
45.若否,则进入加速处理步骤;
46.所述加速处理子模块330,与所述相似度判断子模块320、所述接口模块100和所述递归子模块340连接,用于lstm加速处理当前输入数据x
t
,输出当前结果数据y
t
;令先前输入数据x
p
=当前输入数据x
t
;先前结果数据y
p
=当前结果数据y
t
;进入递归步骤;
47.所述递归子模块340,用于令t=t+1;判断t是否大于a,若是则结束;若否则返回相似度判断步骤。
48.本发明提供的基于lstm的数据处理方法及智慧旅游大数据处理系统,于现有技术相比:在lstm操作之前,考虑从输入数据本身的特征出发减少计算量,将当前输入数据x
t
与先前输入数据x
p
进行比较,判断当前输入数据x
t
与先前输入数据x
p
是否相似;若相似,则直接跳过lstm加速操作步骤,输出先前输入数据x
p
对应的先前结果数据y
p
;若不相似,则不跳过lstm加速操作,按照正常步骤进行lstm加速操作。该方案能够跳过大量lstm操作,而精度
下降很小,大大降低了存储空间,提高了运行效率,极大满足了文旅行业对大数据处理的需求。
附图说明
49.图1为本发明的lstm加速方法的一个实施例的流程图;
50.图2为本发明的lstm加速方法的相似度判断步骤的一个实施例的流程图;
51.图3为本发明的lstm加速方法的相似度判断步骤的子步骤的一个实施例的流程图;
52.图4为本发明的lstm加速方法的相似度判断步骤的子步骤的一个实施例的流程图;
53.图5为本发明的lstm加速方法的加速处理步骤的一个实施例的流程图;
54.图6为本发明的lstm加速方法的加速处理步骤的子步骤一个实施例的流程图;
55.图7为本发明的lstm加速器及其系统的一个实施例的结构框图。
具体实施方式
56.如图1,本发明提供了一种基于lstm的数据处理方法,包括:
57.s1:输入步骤:将lstm配置参数、输入数据序列加载至片上存储模块;a代表输入数据序列中的输入数据的个数;b代表每个输入数据包括的元素的个数;a、b均为大于1的整数;具体的,lstm配置参数,可选但不仅限于权值和索引。
58.s2:初始化步骤:令t=1;当前输入数据x
t
=x1=输入数据序列的第一个输入数据(x
11
,x
12
……
x
1b
);先前输入数据x
p
=0;先前结果数据y
p
=0;
59.s3:相似度判断步骤:比较当前输入数据x
t
与先前输入数据x
p
,判断当前输入数据x
t
与先前输入数据x
p
是否相似;
60.若是,则s4:输出先前结果数据y
p
,进入递归步骤;
61.若否,则s5:进入加速处理步骤:lstm加速处理当前输入数据x
t
,输出当前结果数据y
t
;令先前输入数据x
p
=当前输入数据x
t
;先前结果数据y
p
=当前结果数据y
t
;进入递归步骤;
62.s6:递归步骤:令t=t+1;判断t是否大于a,若是则结束;若否则返回相似度判断步骤。
63.在该实施例中,本发明提供了一种基于lstm的数据处理方法,在lstm加速操作之前,考虑从输入数据本身的特征出发减少计算量,将当前输入数据x
t
与先前输入数据x
p
进行比较,判断当前输入数据x
t
与先前输入数据x
p
是否相似;若相似,则直接跳过lstm加速操作步骤,输出先前输入数据x
p
对应的先前结果数据y
p
;若不相似,则不跳过lstm加速操作,按照正常步骤进行lstm加速操作。该方案能够跳过大量lstm操作,而精度下降很小,大大降低了存储空间,提高了运行效率。值得注意的是,本发明将当前输入数据x
t
与先前输入数据x
p
(最
近一次不相似判断结果时,所对应的输入数据)进行比较判定,而并非将当前输入数据x
t
与前一帧的相邻输入数据x
t-1
进行比较,相较于将当前输入数据x
t
与前一帧的相邻输入数据x
t-1
进行比较,避免了与相邻输入进行连续相似度比较所造成的误差积累,从而避免了将可能被跳过的操作被再次计算,造成误差和延时。值得注意的,步骤s1-s6的时间顺序不以该序号为限,仅给出了一种可实施的顺序方式。示例的,为进一步节约该方法的运行时间,步骤s3、s5可并行处理。即,在当前输入数据x
t
输入进来,进行相似度判断步骤s3时,可并行进入加速处理步骤s5,作后续步骤s51的预处理或者是进入执行s51,而不等待s3的结果。在步骤s3结果出来时,若相似则截停步骤s51,无论其进入到s51的哪个环节、哪个元素均可。
64.具体的,以当前输入数据x
t
=(x
t1
,x
t2
……
x
tb
)为例,假设b=1024,即每个输入数据有1024个元素;每个元素x
tb
由16位数据表示;详细说明作为本发明发明核心的相似度判断步骤s3。
65.优选的,如图2所示,相似度判断步骤s3,可选但不仅限于包括:
66.s31:计算当前输入数据x
t
(x
t1
,x
t2
……
x
t1024
)与先前输入数据x
p
(x
p1
,x
p2
……
x
p1024
)的差值z
t
(x
t1-x
p1
,x
t2-x
p2
……
x
t1024-x
p1024
),统计差值z
t
的非零数个数p(该非零数个数p包括z
t
的1024个元素x
t1-x
p1
、x
t2-x
p2
……
x
t1024-x
p1024
的各自16位数据中的所有非零数个数);
67.s32:判断非零数个数p是否大于预设阈值;
68.s33:若是则判定当前输入数据x
t
与先前输入数据x
p
相似;
69.s34:若否则判定当前输入数据x
t
与先前输入数据x
p
不相似。
70.更为具体的,步骤s31中,由于每个当前输入数据x
t
(x
t1
,x
t2
……
x
t1024
)有1024个元素,每个元素又有16位数据。因此,无论是计算差值z
t
(x
t1-x
p1
,x
t2-x
p2
……
x
t1024-x
p1024
)的计算(1024个16位的数据需要计算),还是非零数个数p的统计(1024*16个数据需要统计),都是数据量非常庞大的任务,会浪费大量硬件逻辑资源。
71.因此,更为优选的,如图3所示,本发明s31中,计算当前输入数据x
t
(x
t1
,x
t2
……
x
t1024
)与先前输入数据x
p
(x
p1
,x
p2
……
x
p3
)的差值z
t
的步骤,可选但不仅限于包括:
72.s31a:取当前输入数据x
t
的每个元素的高w位;具体的,以当前输入数据x
t
的每个元素由16位数据表示、w=8为例,可选但不仅限于选取每个元素的高8位数据作代表,表征该对应的元素。具体的,可选但不仅限于以移位操作x
t
》》8(x
t
右移8位),以选取其高8位数据。
73.s31b:取先前输入数据x
p
的每个元素的高w位;同样的,以先前输入数据x
p
的每个元素由16位数据表示、w=8为例,可选但不仅限于选取每个元素的高8位数据作代表,表征该对应的元素。具体的,可选但不仅限于以移位操作x
p
》》8(x
p
右移8位),以选取其高8位数据。
74.s31c:计算当前输入数据x
t
的每个元素的高8位与先前输入数据x
p
的每个元素的高8位的8差值z
tw
,近似化代替差值z
t
。
75.在该实施例中,并没有将每个元素的所有数据(16位数据为例)作差值,而是选定高w位做差值。因为,我们知晓当一个元素由16位数据表征时,若其高8位甚至是高更多位(10位、12位等)都相同,则其相同的可能性非常大,误差比较小,这不仅不会太多的降低该相似性判断的精确度,而且大大降低了差值计算的复杂度,大大降低了内存空间、对硬件的要求。更重要的是,z
t
位数的缩降,大大降低了后续统计差值z
t
的非零数个数p的计算复杂度,进一步降低了内存空间、对硬件的要求。
76.更为优选的,如图4所示,步骤s31中,统计差值z
t
的非零数个数p的步骤,可选但不
仅限于包括:
77.s31d:取分组系数c;c为能被b整除的正整数;
78.s31e:将当前输入数据x
t
的b个元素分成c组,每组包括b/c个元素;
79.s31f:将先前输入数据x
p
的b个元素分成对应的c组,每组包括b/c个元素;
80.s31g:依次计算当前输入数据x
t
的每组元素与对应的先前输入数据x
p
的每组元素的差值;
81.s31h:依次统计差值中的非零数个数(p1,p2……
pc);
82.s31i:采用公式p1+p2……
+pc,计算非零数的总和,作为差值z
t
的非零数个数p。其中,p1代表第一组元素所得差值中的非零数个数,p2代表第二组元素所得差值中的非零数个数,pc代表第c组元素所得差值中的非零数个数。
83.在该实施例中,将当前输入数据x
t
和先前输入数据x
p
的b个元素,分成c组,也就是将差值的计算和非零数个数p的统计,分成c次进行操作,每次仅操作b/c个元素,能够大大减少单次计算统计操作所需的内存空间,大大降低了对硬件指标的要求。由于每次的元素数量减少,其虽然需要计算c次,但时间上的增加并不大,可以忽略。
84.更为优选,如图5所示,s5加速处理步骤,可选但不仅限于包括:
85.s51:对当前输入数据x
t
,进行稀疏矩阵向量乘法,得到稀疏矩阵行和向量的乘法结果;
86.s52:对乘法结果,执行非线性激活操作,得到激活结果;
87.s53:对激活结果,执行元素乘法运算和元素加法运算,得到当前结果数据y
t
。
88.更为优选的,如图6所示,该稀疏矩阵向量乘法s51,可选但不仅限于,包括:
89.s51a:稀疏矩阵向量乘单元从向量存储器中读出稠密向量,均匀分配到各个区块体中的私有寄存器中。
90.s51b:稀疏矩阵向量乘单元每周期从矩阵存储器中读出压缩后的稀疏矩阵行以及对应的索引,均匀分配到各个区块。具体的,稀疏矩阵为使用均衡共享索引剪枝压缩后的格式,每个矩阵行均匀分为多个区块,相邻的若干个区块之间共享一组索引,然后按照共享索引的区块对每个区块执行稀疏率相同的细粒度剪枝,这种剪枝方法保证了每个区块都有相同的非零元素,计算的时候会有最高的硬件使用率。同时共享索引之后能减少2-8倍的索引,减少片上存储占用。
91.s51c:区块体按照索引取出稀疏向量非零数对应的稠密向量元素,并对应相乘累加;
92.s51d:稀疏矩阵向量乘单元累加区块体的结果,得到稀疏矩阵行与向量相乘的结果,即当前结果数据y
t
。
93.具体的,整个累加由加法树实现。每个稀疏矩阵向量乘单元一个周期能流出一个结果给后续模块进行流水线处理。多个周期之后,稀疏矩阵向量乘单元完成一个稀疏矩阵与稠密向量的乘法。稀疏矩阵向量乘单元负责计算一个稀疏矩阵向量乘法,其内部包含两级并行,行间并行和行内并行。更为优选的,激活函数单元负责对稀疏矩阵向量乘单元的结果执行非线性激活操作。通过分段线性拟合来实现。实际运行中,近似函数与实际激活函数的误差小于5
×
10-4,这对于最终模型来说可以忽略不计。
94.元素处理单元在lstm中主要执行元素乘法运算和元素加法运算。稀疏矩阵向量乘
单元的结果被送入激活函数单元激活,最后流入元素处理单元。这样的过程是完全流水线的,不需要额外的访问开销。
95.在该实施例中,采用共享索引的均衡稀疏格式,保证各个计算单元的负载均衡,大大减少了索引的额外内存占用。
96.另一方面,本发明还提供一种智慧旅游大数据处理系统,包括软件端a和硬件端b。软件端a将lstm的推理运算任务加载到硬件端b运行;硬件端b运行推理运算任务,并将输出结果读取到软件端a。值得注意的是,该硬件端b用于执行本发明的基于lstm的数据处理方法。
97.具体的,软件端a发出推理运算任务,将lstm参数、输入数据序列等传入硬件端b的片上存储模块。硬件端b接收数据及lstm推理请求,并在整个lstm计算完成,推断完成后,将结果反馈给软件端。具体的,二者之间通过pcie io总线通信。本发明使用fpga片上资源来开发单个lstm操作的细粒度并行性。即使批处理大小为1,加速器仍然可以实现低延迟负责控制fpga与外部ddr之间的数据传输,神经网络的参数和外部来的输入都通过存储控制模块传入到片上存储。更为具体的,该推理运算任务,可选但不仅限于用于预测旅游需求,其技术方案可选但不仅限于引用申请号:cn202111414339.2的发明专利。该预测旅游需求的技术方案仅为示例说明,并不以此为限,只是对本发明lstm加速方法理论研究的现实应用,并不对其保护范围做限定。
98.在一个具体实施例中,所述的硬件端b包括:接口模块100、存储模块200和运算模块300;
99.接口模块100,与存储模块200和外界连接,用于将lstm配置参数、输入数据序列从外界加载至存储模块200;输出当前结果数据;
100.运算模块300,与存储模块200和接口模块100连接,用于执行初始化步骤、相似度判断步骤和递归步骤。
101.具体的,接口模块100,可选但不仅限于通过数据总线与外界连接,接收lstm推理任务的控制命令,并根据命令输入lstm参数、输入数据序列等。该接口模块100可为整体,也可将输入输出端口分开设置、将不同数据的输入输出端口分开设置。
102.存储模块200,可选但不仅限于包括矩阵存储模块210和向量存储模块220。优选的,矩阵存储模块210,用于存储lstm配置参数;向量存储模块220,用于存储输入数据序列、当前输入数据、先前输入数据、先前结果数据、当前结果数据这种向量数据,以优化存储结构,减小内存的同时放置误操作。
103.运算模块300,可选但不仅限于包括:初始化子模块310、相似度判断子模块320、加速处理子模块330和递归子模块340。其中,初始化子模块310,与存储模块200连接,用于令t=1;当前输入数据x
t
=x1=输入数据序列的第一个输入数据(x
11
,x
12
……
x
1b
);先前输入数据x
p
=0;先前结果数据y
p
=0;
104.相似度判断子模块320,与接口模块100、存储模块200、初始化子模块310、加速处理子模块330和递归子模块340连接;用于比较当前输入数据x
t
与先前输入数据x
p
,判断当前输入数据x
t
与先前输入数据x
p
是否相似;若是,则输出先前结果数据y
p
,进入递归步骤;
105.若否,则进入加速处理步骤;
106.加速处理子模块330,与相似度判断子模块320、接口模块100和递归子模块340连
接,用于lstm加速处理当前输入数据x
t
,输出当前结果数据y
t
;令先前输入数据x
p
=当前输入数据x
t
;先前结果数据y
p
=当前结果数据y
t
;进入递归步骤;
107.递归子模块340,用于令t=t+1;判断t是否大于a,若是则结束;若否则返回相似度判断步骤。
108.更为优选的,加速处理子模块330,可选但不仅限于包括:
109.稀疏矩阵向量乘单元331,用于对当前输入数据x
t
,进行稀疏矩阵向量乘法,得到稀疏矩阵行和向量的乘法结果;
110.激活函数单元332,与所述稀疏矩阵向量乘单元331连接,用于接收乘法结果,并对乘法结果执行非线性激活操作,得到激活结果;
111.元素处理单元333,与所述激活函数单元332连接,用于接收激活结果,并对激活结果执行元素乘法运算和元素加法运算,得到当前结果数据y
t
。
112.值得注意的,上述大数据处理系统与上述lstm数据处理方法对应,其技术作用、有益效果、技术特征的组合在此不再赘述。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
113.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
技术特征:
1.一种基于lstm的数据处理方法,其特征在于,包括:输入步骤:将lstm配置参数、输入数据序列加载至片上存储模块;a代表所述输入数据序列中的输入数据的个数;b代表每个输入数据包括的元素的个数;a、b均为大于1的整数;初始化步骤:令t=1;当前输入数据x
t
=x1=所述输入数据序列的第一个输入数据(x
11
,x
12
……
x
1b
);先前输入数据x
p
=0;先前结果数据y
p
=0;相似度判断步骤:比较所述当前输入数据x
t
与所述先前输入数据x
p
,判断所述当前输入数据x
t
与所述先前输入数据x
p
是否相似;若是,则输出先前结果数据y
p
,进入递归步骤;若否,则进入加速处理步骤:lstm加速处理所述当前输入数据x
t
,输出当前结果数据y
t
;令先前输入数据x
p
=当前输入数据x
t
;先前结果数据y
p
=当前结果数据y
t
;进入递归步骤;递归步骤:令t=t+1;判断t是否大于a,若是则结束;若否则返回相似度判断步骤。2.根据权利要求1所述的数据处理方法,其特征在于,所述相似度判断步骤,具体为:计算所述当前输入数据x
t
与所述先前输入数据x
p
的差值z
t
,统计所述差值z
t
的非零数个数p;若所述非零数个数p大于预设阈值,则判定所述当前输入数据x
t
与所述先前输入数据x
p
相似;若所述非零数个数p不大于所述预设阈值,则判定所述当前输入数据x
t
与所述先前输入数据x
p
不相似。3.根据权利要求2所述的数据处理方法,其特征在于,所述计算所述当前输入数据x
t
与所述先前输入数据x
p
的差值z
t
,包括:取所述当前输入数据x
t
的每个元素的高w位;取所述先前输入数据x
p
的每个元素的高w位;计算所述当前输入数据x
t
的每个元素的高w位与所述先前输入数据x
p
的每个元素的高w位的近似化差值z
tw
,作为所述差值z
t
。4.根据权利要求2所述的数据处理方法,其特征在于,所述统计所述差值z
t
的非零数个数p的步骤,包括:取分组系数c;c为能被b整除的正整数;将所述当前输入数据x
t
的b个元素分成c组,每组包括b/c个元素;将所述先前输入数据x
p
的b个元素分成对应的c组,每组包括b/c个元素;依次计算当前输入数据x
t
的每组元素与对应的先前输入数据x
p
的每组元素的差值;依次统计差值中的非零数个数(p1,p2……
p
c
);采用公式p1+p2……
+p
c
,计算非零数的总和,作为所述差值z
t
的非零数个数p;其中,p1代表第一组元素所得差值中的非零数个数,p2代表第二组元素所得差值中的非零数个数,p
c
代表第c组元素所得差值中的非零数个数。
5.根据权利要求1-4任意一项所述的数据处理方法,其特征在于,还包括:对所述当前输入数据x
t
,进行稀疏矩阵向量乘法,得到稀疏矩阵行和向量的乘法结果;对所述乘法结果,执行非线性激活操作,得到激活结果;对所述激活结果,执行元素乘法运算和元素加法运算,得到所述当前结果数据y
t
。6.一种智慧旅游大数据处理系统,其特征在于,包括软件端a和硬件端b;所述软件端a将lstm的推理运算任务加载到所述硬件端b运行;所述硬件端b运行所述推理运算任务,并将当前结果数据读取到所述软件端a;所述的硬件端b,用于执行如权利要求1-5任一所述的数据处理方法,包括:接口模块100、存储模块200和运算模块300;所述接口模块100,与所述存储模块200和外界连接,用于将lstm配置参数、输入数据序列从外界加载至所述存储模块200;输出当前结果数据;所述运算模块300,与所述存储模块200和所述接口模块100连接,用于执行初始化步骤、相似度判断步骤和递归步骤。所述推理运算任务,用于智慧旅游大数据处理需求。7.根据权利要求6所述的智慧旅游大数据处理系统,其特征在于,所述存储模块200,包括矩阵存储模块210和向量存储模块220;所述矩阵存储模块210,用于存储所述lstm配置参数;所述向量存储模块220,用于存储所述输入数据序列、所述当前输入数据、所述先前输入数据、所述先前结果数据、所述当前结果数据。
技术总结
本发明涉及LSTM加速方法及其加速器和旅游需求预测系统,与传统LSTM加速方法的最大区别在于:在LSTM加速操作之前,考虑从输入数据本身的特征出发减少计算量,将当前输入数据X
技术研发人员:彭蝶飞 陈耀东
受保护的技术使用者:长沙师范学院
技术研发日:2023.06.09
技术公布日:2023/9/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/