一种FSMN数据处理方法、装置、介质和设备制造方法及图纸

技术编号:24758239 阅读:41 留言:0更新日期:2020-07-04 09:37
本发明专利技术涉及一种FSMN数据处理方法、装置、介质和设备。针对目前FSMN每一隐藏层通过内存拷贝方式保存历史数据、当前数据和未来数据,每次有新的数据,需要将所有原有数据进行位置移动,导致数据处理速度较慢的问题,本发明专利技术实施例提出,可以根据产生的时间先后顺序,利用环形队列实现历史数据、当前数据和未来数据的保存,这样每次有新的数据,可以直接用新的数据更新对应的原始的数据,利用指针维护每个数据的位置,在进行数据处理时,无需进行内存拷贝,有效加快数据处理速度。

Fsmn data processing method, device, medium and equipment

【技术实现步骤摘要】
一种FSMN数据处理方法、装置、介质和设备
本专利技术涉及人工智能
,特别涉及一种FSMN数据处理方法、装置、介质和设备。
技术介绍
目前,前馈型序列记忆网络(FSMN,Feed-forwardSequentialMemoryNetwork)得到了广泛使用,例如,FSMN可以应用于关键字识别(KWS)领域,以保证设备在不同的环境下具有更高的唤醒率。FSMN的架构可以如图1所示。它是在深度神经网络(DNN,DeepNeuralNetworks)架构上,又结合了当前和历史的信息,既具备DNN计算量小的特点,同时参数量也较小。FSMN架构可以包括输入层(Inputlayer),隐藏层(Hiddenlayer)和输出层(Outputlayer)。输入层输入数据可以以Xt表示,输出层输出数据可以以yt表示。在每一个隐藏层,由当前数据htt(一个当前数据根据未来数据(此处的未来数据可以为多个,最新的未来数据为该层最新接收到的输入数据,未来数据也可以理解为输入数据)得到)得到的输出数据Wt,以及由历史数据(此处的历史数据可以为多个历史数据,最新的历史数据为该层本次之前一次得到的当前数据)得到的输出数据(可以理解为由记忆模块得到输出数据在图1中记为MemoryBlock),相加作为下一层的输入数据,进而下一个隐藏层可以根据输入数据,得到对应的当前数据htt+1。目前,FSMN每一隐藏层通过内存拷贝方式保存历史数据、当前数据和未来数据,以实现每一层的数据处理过程。虽然内存拷贝在当前的处理器中有相应的加速处理函数,但是FSMN每一层均进行信息拷贝和搬移,且每一层的数据处理过程涉及的历史数据和未来数据都有可能为多个(数据维度较多),由于FSMN计算周期较短,一般都在毫秒级,这样累加起来会占用较多的系统资源,造成数据处理速度较慢。
技术实现思路
本专利技术实施例提供一种FSMN数据处理方法、装置、介质和设备,用于解决FSMN数据处理速度较慢的问题。本专利技术提供了一种FSMN数据处理方法,针对所述FSMN的每一个隐藏层,该隐藏层对应的指定未来维度的输入数据、当前数据和指定历史维度的历史数据按照产生的时间先后顺序,依次保存在该隐藏层对应的环形队列中,一个隐藏层接收到一个输入数据时,所述方法包括:将接收到的输入数据,保存在该隐藏层对应的环形队列中,对应的时间最早的历史数据所保存的位置;根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的指定未来维度的输入数据,根据查找到的输入数据确定一个当前数据,并将确定出的当前数据,保存在该隐藏层对应的环形队列中,对应的时间最早的输入数据所保存的位置。本专利技术还提供了一种FSMN数据处理装置,针对所述FSMN的每一个隐藏层,该隐藏层对应的指定未来维度的输入数据、当前数据和指定历史维度的历史数据按照产生的时间先后顺序,依次保存在该隐藏层对应的环形队列中,所述装置包括:接收模块,用于针对一个隐藏层,接收一个输入数据;更新模块,用于将接收到的输入数据,保存在该隐藏层对应的环形队列中,对应的时间最早的历史数据所保存的位置;根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的指定未来维度的输入数据,根据查找到的输入数据确定一个当前数据,并将确定出的当前数据,保存在该隐藏层对应的环形队列中,对应的时间最早的输入数据所保存的位置。本专利技术还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现如上所述的方法。本专利技术还提供了一种FSMN数据处理设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存储的程序时,实现如上所述的方法步骤。根据本专利技术实施例提供的方案,针对FSMN的每一个隐藏层,可以根据产生的时间先后顺序,通过一个环形队列保存该层对应的指定未来维度的输入数据,指定历史维度的历史数据和当前数据。从而在数据处理过程中,无需进行信息拷贝,可以利用环形队列,实现信息的保存和查找,节省了信息拷贝时间,且节约了内存,可以有效加快数据处理速度。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术提供的FSMN架构示意图;图2为本专利技术实施例一提供的FSMN数据处理方法的流程示意图;图3为本专利技术实施例一提供的FSMN每一层数据处理过程示意图;图4为本专利技术实施例三提供的FSMN数据处理装置的结构示意图;图5为本专利技术实施例四提供的FSMN数据处理设备的结构示意图。具体实施方式针对目前FSMN每一隐藏层通过内存拷贝方式保存历史数据、当前数据和未来数据,每次有新的数据,需要将所有原有数据进行位置移动,导致数据处理速度较慢的问题,本专利技术实施例提出,可以根据产生的时间先后顺序,利用环形队列实现历史数据、当前数据和未来数据的保存,这样每次有新的数据,可以直接用新的数据更新对应的原始数据,利用指针维护每个数据的位置,在进行数据处理时,无需进行内存拷贝,有效加快数据处理速度。另外,在现有技术中,各隐藏层之间表示当前数据处理周期(即,当前拍)的指针互不联系,层与层之间通过逻辑判断来统一时间标准,由此导致在更换网络配置时还需要修改代码,不利用模块化编程,若在测试阶段更换网络配置,需要不停的修改代码,容易带来信息同步异常的问题。因此,在本专利技术实施例提供的方案中提出,整个FSMN可以维护一个时间,每层用于查找数据的指针均可以根据系统时间确定。从而使得每一层进行数据处理的时间同步,避免出现数据同步异常的问题。且使得实现逻辑更加简单,有利于模块化编程。即使网络配置发生变化,只需要修改配置文件,无需修改代码,简化FSMN的实现。为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象本文档来自技高网
...

【技术保护点】
1.一种FSMN数据处理方法,其特征在于,针对所述FSMN的每一个隐藏层,该隐藏层对应的指定未来维度的输入数据、当前数据和指定历史维度的历史数据按照产生的时间先后顺序,依次保存在该隐藏层对应的环形队列中,一个隐藏层接收到一个输入数据时,所述方法包括:/n将接收到的输入数据,保存在该隐藏层对应的环形队列中,对应的时间最早的历史数据所保存的位置;/n根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的指定未来维度的输入数据,根据查找到的输入数据确定一个当前数据,并将确定出的当前数据,保存在该隐藏层对应的环形队列中,对应的时间最早的输入数据所保存的位置。/n

【技术特征摘要】
1.一种FSMN数据处理方法,其特征在于,针对所述FSMN的每一个隐藏层,该隐藏层对应的指定未来维度的输入数据、当前数据和指定历史维度的历史数据按照产生的时间先后顺序,依次保存在该隐藏层对应的环形队列中,一个隐藏层接收到一个输入数据时,所述方法包括:
将接收到的输入数据,保存在该隐藏层对应的环形队列中,对应的时间最早的历史数据所保存的位置;
根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的指定未来维度的输入数据,根据查找到的输入数据确定一个当前数据,并将确定出的当前数据,保存在该隐藏层对应的环形队列中,对应的时间最早的输入数据所保存的位置。


2.如权利要求1所述的方法,其特征在于,将确定出的当前数据,保存在该隐藏层对应的环形队列中,对应的时间最早的输入数据所保存的位置之后,所述方法还包括:
根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的指定历史维度的历史数据,根据查找到的历史数据,确定第一输出数据;并,
根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的当前数据,根据查找到的当前数据,确定第二输出数据;
将所述第一输出数据和所述第二输出数据相加,作为该隐藏层本次数据处理过程对应的输出数据。


3.如权利要求2所述的方法,其特征在于,根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的指定历史维度的历史数据,根据查找到的历史数据,确定第一输出数据,包括:
根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的指定历史维度的历史数据,确定查找到的历史数据与第一权重的第一乘积,并确定查找到的输入数据与第二权重的第二乘积,将所述第一乘积和所述第二乘积相加,作为第一DNN的输入数据,得到对应的第一输出数据;
根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的当前数据,根据查找到的当前数据,确定第二输出数据,包括:
根据产生的时间先后顺序,利用指针从该隐藏层对应的环形队列中,查找保存的当前数据,确定查找到的当前数据与第三权重的第三乘积,将所述第三乘积作为第二DNN的输入数据,得到对应的第二输出数据。


4.如权利要求1~3任一所述的方法,其特征在于,针对所述FSMN的每一个隐藏层,用于查找指定未来维度的输入数据、指定历史维度的历史数据和所述当前数据的指针,均根据系统时间确定。


5.一种FSMN数据处理装置,其特征在于,针对所述FSMN的每一个隐藏层,该隐藏层对应的指定未来维度的输入数据、当前数据和指定历史维度的历史数据按照产生的时间先后顺序,依次保存在该隐藏层对应的环形队列中,所述装置包括:
接...

【专利技术属性】
技术研发人员:徐仁新陈孝良冯大航
申请(专利权)人:北京声智科技有限公司
类型:发明
国别省市:北京;11

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

1