本申请涉及人工智能技术领域,具体涉及一种数据处理方法、一种数据处理装置、一种电子设备和一种存储设备;本申请还涉及一种基于神经网络模型进行数据处理的方法和一种基于神经网络模型进行数据处理的装置;本申请还涉及一种音频降噪方法、一种音频降噪装置和一种神经网络模型。
背景技术:
直播场景中,音频经常混杂噪声,影响听感。越来越常见的突发噪声、复杂噪声、人声,对传统的音频降噪算法的能力提出了严峻挑战。
利用神经网络,尤其是卷积神经网络(convolutionalneuralnetworks,cnn)的数据驱动算法,在复杂噪声的场景下取得了较好的效果。但神经网络可靠的降噪效果,依赖于神经网络(neuralnetworks,nn)的深度与运算复杂度,也依赖于输入数据、输入特征的数量。一般而言,nn越深、参数越多、复杂度越高、输入特征越长,则算法效果越好。但是较深、参数较多、输入特征多的nn模型,运行速度也更慢,算法产生的延迟也会变大,对用户使用体验的影响也更显著。在实际研发中,对nn模型“大小、速度”与“效果”之间的取舍,一直是一个较难的问题。
综上所述,现有技术采用神经网络对输入数据进行降噪处理时存在大模型运算缓慢、延迟较大的问题。
技术实现要素:
本申请提供一种数据处理方法、装置、电子设备和存储设备,以解决现有技术采用神经网络对输入数据进行降噪处理时存在的大模型运算缓慢、延迟较大的问题。
本申请提供一种数据处理方法,包括:
获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;
获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降燥处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
可选的,所述第一卷积层为神经网络模型的第一层卷积层,所述获取子序列的用于输入神经网络模型的第一特征数据,包括:
获得目标序列数据;
按照指定帧数对所述目标序列数据进行分帧处理,得到子序列的原始数据;
对所述子序列的原始数据进行特征转换处理,得到子序列用于输入神经网络模型的第一特征数据。
可选的,所述第一卷积层不是神经网络模型的第一层卷积层,所述获得子序列的用于输入神经网络模型的的第一特征数据,包括:
获取所述第一卷积层的上一层卷积层针对子序列输出的特征数据;
将所述针对子序列输出的特征数据作为子序列的用于输入神经网络模型的第一特征数据。
可选的,所述获得子序列的第一特征数据对应的短时记忆缓存数据,包括:
判断缓存中是否存在子序列的第一特征数据对应的短时记忆缓存数据;
当不存在时,针对子序列的第一特征数据进行数据填充处理,得到子序列的第一特征数据对应的短时记忆缓存数据;
当存在时,从缓存中获得子序列的第一特征数据对应的短时记忆缓存数据。
可选的,所述判断缓存中是否存在子序列的第一特征数据对应的短时记忆缓存数据,包括:
判断子序列的第一特征数据对应的子序列是否为第一子序列;所述第一子序列为目标序列中位于时间最先的子序列;
若是,判断为缓存中不存在子序列的第一特征数据对应的短时记忆缓存数据;
若否,判断为缓存中存在子序列的第一特征数据对应的短时记忆缓存数据。
可选的,缓存中存在的子序列的第一特征数据对应的短时记忆缓存数据通过下述方式获得:
获得上一子序列的第一特征数据;
从所述上一子序列的第一特征数据的末尾部分,截取预设长度的特征数据;
将所述预设长度的特征数据,作为缓存中存在的子序列的第一特征数据对应的短时记忆缓存数据。
可选的,所述预设长度为第一卷积层所需的短时记忆帧数;所述第一卷积层所需的短时记忆帧数,根据第一卷积层的卷积核的大小、第一卷积层的卷积的空洞率确定。
可选的,所述将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降燥处理,得到第二特征数据,包括:
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行卷积运算和正则化处理,得到第二特征数据。
可选的,所述将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行卷积运算和正则化处理,得到第二特征数据,包括:
根据子序列的第一特征数据和所述对应的短时记忆缓存数据,获得子序列中每一帧的特征数据的均值和标准差;
根据所述每一帧的特征数据的均值和标准差,对同一帧的特征数据进行归一化处理,得到每一帧对应的归一化后的特征数据;
获得用于正则化运算的正则化变换参数值;
根据所述正则化变换参数、每一帧对应的归一化后的特征数据,进行卷积运算和正则化处理,得到第二特征数据。
可选的,所述子序列包括至少一帧;所述获得用于正则化运算的正则化变换参数,包括:针对子序列包括的各帧获得相同的用于正则化运算的正则化变换参数值。
可选的,所述子序列包括以下至少一种:
音频序列的子序列;
视频序列的子序列;
文本序列的子序列。
本申请还提供一种数据处理装置,包括:
第一特征数据获得单元,用于获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;
短时记忆缓存数据获得单元,用于获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;
第二特征数据得到单元,用于将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降噪处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储数据处理方法的程序,该设备通电并通过所述处理器运行该数据处理方法的程序后,执行下述步骤:
获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;
获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降噪处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
本申请还提供一种存储设备,存储有数据处理方法的程序,该程序被处理器运行,执行下述步骤:
获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;
获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降噪处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
本申请还提供一种基于神经网络模型进行数据处理的方法,包括:
对目标序列数据进行分帧处理,得到子序列的原始数据;
根据子序列的原始数据,得到子序列的用于输入神经网络模型的第一特征数据;
将子序列的第一特征数据和第一特征数据对应的短时记忆缓存数据输入神经网络模型,输出降噪的目标序列数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据。
本申请还提供一种基于神经网络模型进行数据处理的装置,包括:
子序列数据得到单元,对目标序列数据进行分帧处理,得到子序列的原始数据;
第一特征数据得到单元,用于根据子序列的原始数据,得到子序列的用于输入神经网络模型的第一特征数据;
降噪的目标序列数据输出单元,用于将子序列的第一特征数据和第一特征数据对应的短时记忆缓存数据输入神经网络模型,输出降噪的目标序列数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据。
本申请还提供一种音频降噪方法,包括:
获取音频子序列的用于输入神经网络的第一特征数据;所述音频子序列为对音频目标序列进行分帧处理获得的数据子集;
获得音频子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上音频子序列的前一音频子序列的第一特征数据的部分数据;
将音频子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络的第一卷积层进行降燥处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
本申请还提供一种音频降噪装置,包括:
获取音频子序列的用于输入神经网络的第一特征数据;所述音频子序列为对音频目标序列进行分帧处理获得的数据子集;
获得音频子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上音频子序列的前一音频子序列的第一特征数据的部分数据;
将音频子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络的第一卷积层进行降燥处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
本申请还提供一种神经网络模型,包括:至少一个卷积层;
所述卷积层,用于获得子序列的第一特征数据和第一特征数据对应的短时记忆缓存数据;并对所述第一特征数据和第一特征数据对应的短时记忆缓存数据进行降噪处理,生成第二特征数据;其中,所述子序列为对目标序列进行分帧处理获得的数据子集;所述第二特征数据为去除部分噪声的第一特征数据。
与现有技术相比,本申请具有以下优点:
本申请提供一种数据处理方法,包括:获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降燥处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。本申请的方法,将子序列的第一特征数据和所述对应的短时记忆缓存数据一起输入神经网络模型的第一卷积层进行处理,由于使用短时记忆缓存数据增强了感受野(receptivefield,指算法能够利用的数据的数量。针对图像算法,数据的量便指像素空间范围的大小,针对音频算法,数据的量便指时间跨度的长短),丰富了神经网络模型的输入,提升了拟合能力,因此降低了单次运算的负担;此外,本申请可以对目标序列(例如,音频目标序列)进行分帧处理获得任意长度的数据子集,对每个数据子集的第一特征数据取短时记忆,并输出降噪后的第二特征数据,不会导致延迟问题,可适配各种延迟需求,解决了采用神经网络模型对输入数据(例如,音频序列数据)进行降噪处理时存在的大模型运算缓慢、延迟较大的问题。
附图说明
图1a是本申请第一实施例提供的一种场景图。
图1是本申请第一实施例提供的一种数据处理方法的流程图。
图2是本申请第一实施例提供的一种指定帧数为5帧的推演示意图。
图3是本申请第一实施例提供的一种指定帧数为1帧的推演示意图。
图4是本申请第一实施例提供的另一种指定帧数为5帧的推演示意图。
图5是本申请第一实施例提供的一种整体方案的流程图。
图6是本申请第二实施例提供的一种数据处理装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
本申请第一实施例提供一种数据处理方法,下面结合图1至图5进行说明。
为了使本领域的技术人员更好的理解本申请方案,首先对本申请的一个具体应用场景实施例进行详细描述。
本申请第一实施例提供的图片类别的识别方法可以应用于客户端与服务器交互的场景,如图1a,在用户需要对音频目标序列数据进行降噪处理时,首先,客户端与服务器建立连接,然后将音频目标序列数据通过客户端设备发送到服务器;服务器在获得音频目标序列数据后先进行分帧处理,获得音频目标序列数据的子序列,然后在第一特征数据获得单元101,获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;在短时记忆缓存数据获得单元102,获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;在第二特征数据得到单元103,将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降噪处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据,服务器通过神经网络模型的多个第一卷积层对音频目标序列的每个子序列采用上述三个单元处理后,获得去除噪声的音频目标序列数据并提供给客户端,客户端接收去除噪声的音频目标序列数据。
如图1所示,在步骤s101中,获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集。
所述目标序列,指按顺序逐个出现、排列的数据形式。帧是序列的最小单位。例如:目标序列包括:第一帧、第二帧、第三帧……第n帧。目标序列可以包括:音频序列、文本序列、图像序列等。
所述子序列,指对目标序列进行分帧处理后获得的数据子集,即对目标序列进行分帧处理后产生的较短的一串帧序列。一般而言,实际使用时常常将数个、数十个、甚至数百个帧作为一个子序列,一起运算处理。这种将n个帧作为一个子序列的方式称为分帧。本申请中,子序列包含的帧数可以为任意帧数。
所述子序列可以包括:音频序列的子序列、视频序列的子序列、文本序列的子序列等。
以图2为例,2-1为一个包含5帧的子序列。2-2也是一个包含5帧的子序列。如图3所示,3-1为一个包含1帧的子序列。
所述第一特征数据,指子序列对应的待输入神经网络的特征数据。第一特征数据是待输入第一卷积层的包含噪声的特征数据,第一特征数据输入第一卷积层后,通过第一卷积层进行处理,得到去除部分噪声的第二特征数据。
如图1所示,在步骤s102中,获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据。
所述短时记忆缓存数据,指缓存的短时记忆数据。所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据。
例如,在时间次序上子序列为第三个子序列,则子序列的第一特征数据对应的短时记忆缓存数据,即为时间次序上的第二子序列的第一特征数据的部分数据。
如图1所示,在步骤s103中,将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降燥处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
所述第二特征数据,指将子序列的第一特征数据和对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行去燥处理后,得到的去除部分噪声的特征数据。第二特征数据可以是对子序列的第一特征数据和对应的短时记忆缓存数据经过神经网络模型的第一卷积层进行卷积运算和正则化处理后得到的特征数据。
所述第一卷积层,可以指神经网络模型的任何一个卷积层。
当第一卷积层为神经网络的第一层卷积层时,所述获得子序列的第一特征数据,包括:
获得目标序列数据;
按照指定帧数对所述目标序列数据进行分帧处理,得到子序列的原始数据;
对所述子序列的原始数据进行特征转换处理,得到子序列的用于输入神经网络模型的第一特征数据。
所述第一层卷积层,指针对根据子序列的原始数据直接得到的第一特征数据进行处理的卷积层。即对子序列的原始数据进行特征处理,得到第一特征数据,对上述第一特征数据进行处理的卷积层为第一层卷积层。
目标序列数据,可以指需要进行去燥处理的序列数据。如果需要对一个包含噪声的序列数据进行去燥处理,则此序列数据可以确定为目标序列数据。例如,3秒或3分钟的待去燥处理的音频序列数据可以为一个目标序列数据。
所述指定帧数可以为任意帧数。例如,指定帧数为1帧、5帧。如图2,指定帧数为5帧,按照5帧对目标序列数据进行分帧处理,得到子序列的原始数据,然后对子序列的原始数据进行特征转换处理,得到子序列的第一特征数据(包括5帧的特征数据)。
所述获得目标序列数据,指获得待去除噪声的序列数据。具体的,本申请的数据处理方法运行在服务端,用户可以通过用户端将目标序列数据发送到服务端,服务端获得目标序列数据。
所述按照指定帧数对所述目标序列数据进行分帧处理,得到子序列的原始数据,可以指按照指定帧数将目标序列数据分成多个子集,得到子序列的原始数据。例如,目标序列数据包含30帧的数据,指定帧数是5帧,按照指定帧数进行分帧处理,可以得到6个子序列的原始数据。
所述对所述子序列的原始数据进行特征转换处理,得到子序列的用于输入神经网络模型的第一特征数据,指将子序列的原始数据转换成神经网络模型的输入数据类型,输入神经网络模型。
当第一卷积层不是神经网络的第一层卷积层时,所述获得子序列的第一特征数据,包括:
获取所述第一卷积层的上一层卷积层针对子序列输出的特征数据;
将所述针对子序列输出的特征数据作为子序列的用于输入神经网络模型的第一特征数据。
例如,如果第一卷积层为第二层卷积层(第二层卷积层,指将第一层卷积层的输出作为输入的卷积层),则子序列的第一特征数据,指第一卷积层的上一层卷积层即第一层卷积层针对子序列输出的特征数据。
所述获得子序列的第一特征数据对应的短时记忆缓存数据,包括:
判断缓存中是否存在子序列的第一特征数据对应的短时记忆缓存数据;
当不存在时,针对子序列的第一特征数据进行数据填充处理,得到子序列的第一特征数据对应的短时记忆缓存数据;
当存在时,从缓存中获得子序列的第一特征数据对应的短时记忆缓存数据。
所述判断缓存中是否存在子序列的第一特征数据对应的短时记忆缓存数据,包括:
判断子序列的第一特征数据对应的子序列是否为第一子序列;
若是,判断为缓存中不存在子序列的第一特征数据对应的短时记忆缓存数据;
若否,判断为缓存中存在子序列的第一特征数据对应的短时记忆缓存数据。
所述第一子序列,指目标序列中位于时间最先的子序列。
由于当子序列的第一特征数据对应的子序列为第一子序列时,第一子序列不存在时间次序上的前一子序列,因此缓存中不存在子序列的第一特征数据对应的短时记忆缓存数据,对子序列的第一特征数据进行数据填充处理;当子序列不为时间次序上的第一子序列时,子序列的第一特征数据对应的短时记忆缓存数据存储在缓存中,可以从缓存中直接获得子序列的第一特征数据对应的短时记忆缓存数据。
以图2为例,2-1为第一子序列,不存在前一子序列,因此缓存中不存在子序列的第一特征数据对应的短时记忆缓存数据,因此对子序列的第一特征数据进行数据填充处理(前边两帧补0),两帧包含0的数据可以认为是第一子序列的短时记忆缓存数据。2-2为第二子序列,不为第一子序列,第一子序列为其前一子序列,因此缓存中存在子序列的第一特征数据对应的短时记忆缓存数据。
缓存中存在的子序列的第一特征数据对应的短时记忆缓存数据可以通过下述方式获得:
获得上一子序列的第一特征数据;
从所述上一子序列的第一特征数据的末尾部分,截取预设长度的特征数据;
将所述预设长度的特征数据,作为缓存中存在的子序列的第一特征数据对应的短时记忆缓存数据。
如图2,虚线框内的特征数据为截取上一子序列的预设长度的特征数据,截取的预设长度的特征数据作为子序列的第一特征数据对应的短时记忆缓存数据。例如,2-1的末尾的2帧的特征数据,为2-2的特征数据(子序列的第一特征数据)对应的短时记忆缓存数据。
所述预设长度可以为第一卷积层所需的短时记忆帧数;所述第一卷积层所需的短时记忆帧数,根据第一卷积层的卷积核的大小、第一卷积层的卷积的空洞率确定。
具体的,可以采用如下公式确定第l层卷积层所需的短时记忆帧数:
fl=(kl-1)*dl;
其中,kl:第l层卷积的核大小(kernelsize,针对序列数据则专指1d卷积的时域宽度);
dl:第l层卷积的空洞率(dilationrate)。
dilation:cnn卷积核矩阵中,有效元素之间间隔的距离。当dilation=1时,卷积核是常见意义上的矩阵/张量。当dilation=2时,两个卷积核参数之间会插入一个空位。
第l层卷积所需的短时记忆浮点数个数(numberoffloatingpoints)为nl:
nl=(kl-1)*dl*cl;
cl为第l层卷积的输入通道数(inputchannels)。
整个模型所需的短时记忆帧数f:
整个模型所需的短时记忆浮点数个数n:
例如,第一卷积层的卷积核的大小为3、第一卷积层的卷积的空洞率为1,则第一卷积层所需的短时记忆帧数为:(3-1)*1=2帧。即截取子序列的第一特征数据末尾的2帧的特征数据(对于时间序列而言,末尾的2帧的特征数据是指指到达时间最晚的2帧数据),作为下一子序列的短时记忆缓存数据。
如图3所示,第一卷积层的卷积核的大小为3、第一卷积层的卷积的空洞率为1,则第一卷积层所需的短时记忆帧数为:(3-1)*1=2帧。子序列包含1帧数据,当子序列为第一子序列时,补两帧0作为短时记忆缓存数据,当子序列为第二子序列时,由于第一子序列只包含一帧特征数据,除了将此帧特征数据作为短时记忆缓存数据,还需要在前边补一帧包含0的数据,组合成两帧的短时记忆缓存数据,可以从包含短时记忆帧的第二子序列的末尾取两帧特征数据,作为第三子序列的短时记忆缓存数据。
所述将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行处理,得到第二特征数据,包括:
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行卷积运算和正则化处理,得到第二特征数据。
所述将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行卷积运算和正则化处理,得到第二特征数据,包括:
根据子序列的第一特征数据和所述对应的短时记忆缓存数据,获得子序列中每一帧的特征数据的均值和标准差;
根据所述每一帧的特征数据的均值和标准差,对同一帧的特征数据进行归一化处理,得到每一帧对应的归一化后的特征数据;
获得用于正则化运算的正则化变换参数值;
根据所述正则化变换参数、每一帧对应的归一化后的特征数据,进行卷积运算和正则化处理,得到第二特征数据。
所述每一帧的特征数据的均值,指对每一帧包含的特征数据求和之后除以帧包含的元素的数量,得到的结果。
所述每一帧的特征数据的标准差,指每一帧的特征数据的方差开平方。
所述每一帧的特征数据的方差,指每一帧的每个特征数据与每一帧的特征数据均值之差的平方的和的平均数。
具体的,根据所述每一帧的特征数据的均值和标准差,对同一帧的特征数据进行归一化处理,得到每一帧对应的归一化后的特征数据,如下所示:对每一帧输入数据(每一帧的特征数据)x,使用其均值mu与标准差stddev,将x归一化为x'=(x-mu)/stddev。
所述用于正则化运算的正则化变换参数值,指两个可变参数alpha与beta,此处的alpha或beta可为标量或向量。
具体的,根据所述正则化变换参数、每一帧对应的归一化后的特征数据,进行卷积运算和正则化处理,得到第二特征数据,可以采用下述公式:第二特征数据:y=x'*alpha+beta。
所述子序列包括至少一帧;所述获得用于正则化运算的正则化变换参数,包括:针对子序列包括的各帧获得相同的用于正则化运算的正则化变换参数值。如图2,同一层针对每帧输入数据采用使用相同的用于正则化运算的正则化变换参数值α和β,不同层采用不同的正则化变换参数值α和β。
本申请可以进行帧自正则化,即针对每一帧计算均值和标准差,再对每一帧进行正则化运算,其分段推演与整段推演效果相同。本申请通过帧自正则化,可以对一帧数据进行处理,当获得一帧的数据时,能够及时进行处理,无需等待多帧数据一起处理,提高了处理的实时性。
本申请也可以采用具有子序列拆分不变性的正则化。如图4所示,为本申请第一实施例提供的另一种指定帧数为5帧的推演示意图。
s是人为指定的子序列长度。
在改变神经网络推演的子序列长度时,遵循如下规则:
构造循环队列生成函数
相应的无穷数组alpha变为:
beta以此类推。
在各层正则化中,将alphabeta取出使用时,按下角标与本层数据帧号相匹配。
只有各层数据中未添加短时记忆的部分需要alphabeta。
短时记忆帧不消耗alphabeta,不计入数据序列标号中。
下面列举一下本申请与现有技术各方案相比能达到的效果:
1、短帧输入方案:
缺点:感受野受限导致效果不佳、延迟较长、因丢弃部分输出而造成运算资源浪费,耗能高。
本申请将子序列的第一特征数据和所述对应的短时记忆缓存数据一起输入神经网络模型的第一卷积层进行处理,由于使用短时记忆缓存数据增强了感受野(receptivefield,指算法能够利用的数据的数量。针对图像算法,数据的量便指像素空间范围的大小,针对音频算法,数据的量便指时间跨度的长短),丰富了神经网络模型的输入,提升了拟合能力,因此降低了单次运算的负担。
2、单帧输入方案:
缺点:感受野高度受限,拟合能力差,因补0而存在运算资源浪费。
本申请使用将子序列的第一特征数据和所述对应的短时记忆缓存数据一起输入神经网络模型的第一卷积层进行处理,由于使用短时记忆缓存数据增强了感受野,丰富了神经网络模型的输入,避免了补0,不会因补0而浪费运算。
3、长段输入方案
缺点:长段输入方案的缺点是延迟高,应用场景受限。
本申请可以对目标序列(例如,音频目标序列)进行分帧处理获得任意长度的数据子集,对每个数据子集的第一特征数据取短时记忆,并输出降噪后的第二特征数据,不会导致延迟问题,可适配各种延迟需求。
4、整条输入的离线方案
缺点:整条输入的缺点是:延迟高,应用场景极其受限。
本申请可以对目标序列(例如,音频目标序列)进行分帧处理获得任意长度的数据子集,对每个数据子集的第一特征数据取短时记忆,并输出降噪后的第二特征数据,不会导致延迟问题,可适配各种延迟需求。
本申请可使得算法的效果与整条/长段方案相同,提供同样好的拟合能力,同时具有单帧输入/短帧输入的低延迟,比短帧输入更低的算力消耗。
图5为一个本申请第一实施例提供的一个整体方案的流程图。
如图5所示,在步骤s501中,输入任意长短序列数据。例如,输入3秒钟的音频序列数据。
如图5所示,在步骤s502中,按指定帧数分帧。例如,指定帧数为5帧,分帧后得到子序列数据。
如图5所示,在步骤s503中,对子序列数据进行预处理与特征转换。
如图5所示,在步骤s504中,判断是否有短时记忆缓存,若有,执行步骤s505,若无,执行步骤s506。
如图5所示,在步骤s505中,使用输入的短时记忆缓存。
如图5所示,在步骤s506中,使用0或其他padding手段初始化短时记忆缓存。
如图5所示,在步骤s507中,使用带单帧正则化的卷积神经网络进行运算推演。
如图5所示,在步骤s508中,输出结果。
如图5所示,在步骤s509中,判断全序列是否处理完成,若否,执行步骤s510,整合特征为记忆缓存;若是,结束。
如图5所示,在步骤s510中,提取各层中间特征。
需要说明的是,本申请第一实施例提供的数据处理方法可以以插件的形式提供给用户,用户下载插件后,使用插件处理存在噪声的目标序列数据,处理后生成去除噪声的序列数据。
与本申请第一实施例提供的数据处理方法相对应的,本申请第二实施例还提供了一种数据处理装置。
请参考图6,所述数据处理装置,包括:
第一特征数据获得单元601,用于获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;
短时记忆缓存数据获得单元602,用于获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;
第二特征数据得到单元603,用于将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降噪处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
可选的,所述第一卷积层为神经网络模型的第一层卷积层,所述第一特征数据获得单元具体用于:
获得目标序列数据;
按照指定帧数对所述目标序列数据进行分帧处理,得到子序列的原始数据;
对所述子序列的原始数据进行特征转换处理,得到子序列的用于输入神经网络模型的第一特征数据。
可选的,所述第一卷积层不是神经网络模型的第一层卷积层,所述第一特征数据获得单元具体用于:
获取所述第一卷积层的上一层卷积层针对子序列输出的特征数据;
将所述针对子序列输出的特征数据作为子序列的用于输入神经网络模型的第一特征数据。
可选的,所述短时记忆缓存数据获得单元具体用于:
判断缓存中是否存在子序列的第一特征数据对应的短时记忆缓存数据;
当不存在时,针对子序列的第一特征数据进行数据填充处理,得到子序列的第一特征数据对应的短时记忆缓存数据;
当存在时,从缓存中获得子序列的第一特征数据对应的短时记忆缓存数据。
可选的,所述短时记忆缓存数据获得单元具体用于:
判断子序列的第一特征数据对应的子序列是否为第一子序列;所述第一子序列为目标序列中位于时间最先的子序列;
若是,判断为缓存中不存在子序列的第一特征数据对应的短时记忆缓存数据;
若否,判断为缓存中存在子序列的第一特征数据对应的短时记忆缓存数据。
可选的,缓存中存在的子序列的第一特征数据对应的短时记忆缓存数据通过下述方式获得:
获得上一子序列的第一特征数据;
从所述上一子序列的第一特征数据的末尾部分,截取预设长度的特征数据;
将所述预设长度的特征数据,作为缓存中存在的子序列的第一特征数据对应的短时记忆缓存数据。
可选的,所述预设长度为第一卷积层所需的短时记忆帧数;所述第一卷积层所需的短时记忆帧数,根据第一卷积层的卷积核的大小、第一卷积层的卷积的空洞率确定。
可选的,所述第二特征数据得到单元具体用于:
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行卷积运算和正则化处理,得到第二特征数据。
可选的,所述第二特征数据得到单元具体用于:
根据子序列的第一特征数据和所述对应的短时记忆缓存数据,获得子序列中每一帧的特征数据的均值和标准差;
根据所述每一帧的特征数据的均值和标准差,对同一帧的特征数据进行归一化处理,得到每一帧对应的归一化后的特征数据;
获得用于正则化运算的正则化变换参数值;
根据所述正则化变换参数、每一帧对应的归一化后的特征数据,进行卷积运算和正则化处理,得到第二特征数据。
可选的,所述子序列包括至少一帧;所述所述第二特征数据得到单元具体用于:针对子序列包括的各帧获得相同的用于正则化运算的正则化变换参数值。
可选的,所述子序列包括以下至少一种:
音频序列的子序列;
视频序列的子序列;
文本序列的子序列。
需要说明的是,对于本申请第二实施例提供的装置的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
与本申请第一实施例提供的数据处理方法相对应的,本申请第三实施例还提供了一种电子设备。
所述电子设备,包括:
处理器;以及
存储器,用于存储数据处理方法的程序,该设备通电并通过所述处理器运行该数据处理方法的程序后,执行下述步骤:
获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;
获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降噪处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
可选的,所述第一卷积层为神经网络模型的第一层卷积层,所述获取子序列的用于输入神经网络模型的第一特征数据,包括:
获得目标序列数据;
按照指定帧数对所述目标序列数据进行分帧处理,得到子序列的原始数据;
对所述子序列的原始数据进行特征转换处理,得到子序列的用于输入神经网络模型的第一特征数据。
可选的,所述第一卷积层不是神经网络模型的第一层卷积层,所述获得子序列的用于输入神经网络模型的的第一特征数据,包括:
获取所述第一卷积层的上一层卷积层针对子序列输出的特征数据;
将所述针对子序列输出的特征数据作为子序列的用于输入神经网络模型的第一特征数据。
可选的,所述获得子序列的第一特征数据对应的短时记忆缓存数据,包括:
判断缓存中是否存在子序列的第一特征数据对应的短时记忆缓存数据;
当不存在时,针对子序列的第一特征数据进行数据填充处理,得到子序列的第一特征数据对应的短时记忆缓存数据;
当存在时,从缓存中获得子序列的第一特征数据对应的短时记忆缓存数据。
可选的,所述判断缓存中是否存在子序列的第一特征数据对应的短时记忆缓存数据,包括:
判断子序列的第一特征数据对应的子序列是否为第一子序列;所述第一子序列为目标序列中位于时间最先的子序列;
若是,判断为缓存中不存在子序列的第一特征数据对应的短时记忆缓存数据;
若否,判断为缓存中存在子序列的第一特征数据对应的短时记忆缓存数据。
可选的,缓存中存在的子序列的第一特征数据对应的短时记忆缓存数据通过下述方式获得:
获得上一子序列的第一特征数据;
从所述上一子序列的第一特征数据的末尾部分,截取预设长度的特征数据;
将所述预设长度的特征数据,作为缓存中存在的子序列的第一特征数据对应的短时记忆缓存数据。
可选的,所述预设长度为第一卷积层所需的短时记忆帧数;所述第一卷积层所需的短时记忆帧数,根据第一卷积层的卷积核的大小、第一卷积层的卷积的空洞率确定。
可选的,所述将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降燥处理,得到第二特征数据,包括:
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行卷积运算和正则化处理,得到第二特征数据。
可选的,所述将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行卷积运算和正则化处理,得到第二特征数据,包括:
根据子序列的第一特征数据和所述对应的短时记忆缓存数据,获得子序列中每一帧的特征数据的均值和标准差;
根据所述每一帧的特征数据的均值和标准差,对同一帧的特征数据进行归一化处理,得到每一帧对应的归一化后的特征数据;
获得用于正则化运算的正则化变换参数值;
根据所述正则化变换参数、每一帧对应的归一化后的特征数据,进行卷积运算和正则化处理,得到第二特征数据。
可选的,所述子序列包括至少一帧;所述获得用于正则化运算的正则化变换参数,包括:针对子序列包括的各帧获得相同的用于正则化运算的正则化变换参数值。
可选的,所述子序列包括以下至少一种:
音频序列的子序列;
视频序列的子序列;
文本序列的子序列。
需要说明的是,对于本申请第三实施例提供的电子设备的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
与本申请第一实施例提供的数据处理方法相对应的,本申请第四实施例还提供了一种存储设备。存储有数据处理方法的程序,该程序被处理器运行,执行下述步骤:
获取子序列的用于输入神经网络模型的第一特征数据;所述子序列为对目标序列进行分帧处理获得的数据子集;
获得子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据;
将子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络模型的第一卷积层进行降噪处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
需要说明的是,对于本申请第四实施例提供的存储设备的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请第五实施例提供一种基于神经网络模型进行数据处理的方法,包括:
对目标序列数据进行分帧处理,得到子序列的原始数据;
根据子序列的原始数据,得到子序列的用于输入神经网络模型的第一特征数据;
将子序列的第一特征数据和第一特征数据对应的短时记忆缓存数据输入神经网络模型,输出降噪的目标序列数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据。
需要说明的是,对于本申请第五实施例的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请第六实施例提供一种基于神经网络模型进行数据处理的装置,包括:
子序列数据得到单元,对目标序列数据进行分帧处理,得到子序列的原始数据;
第一特征数据得到单元,用于根据子序列的原始数据,得到子序列的用于输入神经网络模型的第一特征数据;
降噪的目标序列数据输出单元,用于将子序列的第一特征数据和第一特征数据对应的短时记忆缓存数据输入神经网络模型,输出降噪的目标序列数据;所述短时记忆缓存数据为在时间次序上子序列的前一子序列的第一特征数据的部分数据。
需要说明的是,对于本申请第六实施例的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请第七实施例提供一种音频降噪方法,包括:
获取音频子序列的用于输入神经网络的第一特征数据;所述音频子序列为对音频目标序列进行分帧处理获得的数据子集;
获得音频子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上音频子序列的前一音频子序列的第一特征数据的部分数据;
将音频子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络的第一卷积层进行降燥处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
需要说明的是,对于本申请第七实施例的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请第八实施例提供一种音频降噪装置,包括:
获取音频子序列的用于输入神经网络的第一特征数据;所述音频子序列为对音频目标序列进行分帧处理获得的数据子集;
获得音频子序列的第一特征数据对应的短时记忆缓存数据;所述短时记忆缓存数据为在时间次序上音频子序列的前一音频子序列的第一特征数据的部分数据;
将音频子序列的第一特征数据和所述对应的短时记忆缓存数据输入神经网络的第一卷积层进行降燥处理,得到第二特征数据;所述第二特征数据为去除部分噪声的第一特征数据。
需要说明的是,对于本申请第八实施例的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请第九实施例提供一种神经网络模型,包括:至少一个卷积层;
所述卷积层,用于获得子序列的第一特征数据和第一特征数据对应的短时记忆缓存数据;并对所述第一特征数据和第一特征数据对应的短时记忆缓存数据进行降噪处理,生成第二特征数据;其中,所述子序列为对目标序列进行分帧处理获得的数据子集;所述第二特征数据为去除部分噪声的第一特征数据。
本方案能够基于用户的反馈,以两种手段优化、干预算法,以形成闭环的改进迭代流程:
1.对于算法效果的反馈,可经由训练目标函数的改变,达成对输出效果的更新。借助本方案所述的特征与缓存利用方法,算法改进可以使用连续的序列数据,高效地进行重训练,更新算法质量。
2.对于算法延迟速度的反馈,可经由对本方法分帧参数的改变,任意地调整算法的延迟,匹配用户的需求。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。