CN111145765A - 一种音频处理方法、装置、电子设备及存储介质 - Google Patents

一种音频处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111145765A
CN111145765A CN201911402690.2A CN201911402690A CN111145765A CN 111145765 A CN111145765 A CN 111145765A CN 201911402690 A CN201911402690 A CN 201911402690A CN 111145765 A CN111145765 A CN 111145765A
Authority
CN
China
Prior art keywords
audio segment
result
audio
sequence
output
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.)
Granted
Application number
CN201911402690.2A
Other languages
English (en)
Other versions
CN111145765B (zh
Inventor
王运侠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AI Speech Ltd
Original Assignee
AI Speech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by AI Speech Ltd filed Critical AI Speech Ltd
Priority to CN201911402690.2A priority Critical patent/CN111145765B/zh
Publication of CN111145765A publication Critical patent/CN111145765A/zh
Application granted granted Critical
Publication of CN111145765B publication Critical patent/CN111145765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了一种音频处理方法、装置、电子设备及存储介质,其中,所述方法包括:对实时输入的音频信息进行切分,得到至少一个音频段;对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,将所述每一个音频段的输出进行合并得到输出结果;其中,对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,包括:将所述每一个音频段的序列开始、序列中间以及序列结束分别进行神经网络计算,得到所述每一个音频段所对应的第一结果、第二结果以及第三结果;将每一个音频段所对应的所述第一结果、第二结果、第三结果合并,得到所述每一个音频段所对应的输出。

Description

一种音频处理方法、装置、电子设备及存储介质
技术领域
本申请涉及信息处理领域,尤其涉及一种音频处理方法、装置、电子设备及存储介质。
背景技术
在相关技术中,进行音频信息处理,通常采用深度学习的方式,所述深度学习的方式中最常用的神经网络包括DNN(深度神经网络)、CNN(卷积神经网络)、RNN(循环神经网络)、DFSMN等等。其中,RNN循环神经网络中的长期信息,需在进入当前处理单元前顺序遍历所有单元。LSTM可以绕过单元从而记住更长的时间步骤,因此,LSTM可以消除一些梯度消失的问题。可以处理时间间隔和延迟较长的序列问题。LSTM和GRU是单向的,只依赖序列中当前时刻之前的输出状态,BLSTM是双向的,不仅依赖当前时刻之前的输出状态还依赖后面时刻的输出状态。DFSMN是一种新型的网络结构,它可以取得相比于目前最流行的基于长短时记忆单元的双向循环神经网络(BLSTM)的识别系统显著的性能提升。而且DFSMN在训练速度,模型参数量,解码速度及模型的推理延时上相比于BLSTM都具有明显的优势。
然而上述相关技术中的处理方式中,尤其是DFSMN、BLSMN这些双向结构的网络,由于训练较慢,模型参数量大,解码速度受到硬件设备制约,且计算量大导致的推理延时等问题,使得这类网络对其应用场景有很大的限制,无法提供在线语音实时处理。
发明内容
本申请提供一种音频处理方法、装置、电子设备及存储介质,以解决现有技术中存在的上述问题。
本发明一方面提供一种音频处理方法,所述方法包括:
对实时输入的音频信息进行切分,得到至少一个音频段;
对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,将所述每一个音频段的输出进行合并得到输出结果;
其中,对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,包括:
将所述每一个音频段的序列开始、序列中间以及序列结束分别进行神经网络计算,得到所述每一个音频段所对应的第一结果、第二结果以及第三结果;
将每一个音频段所对应的所述第一结果、第二结果、第三结果合并,得到所述每一个音频段所对应的输出。
本发明一方面提供一种音频处理装置,所述装置包括:
音频划分单元,用于对实时输入的音频信息进行切分,得到至少一个音频段;
音频处理单元,用于对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,将所述每一个音频段的输出进行合并得到输出结果;
其中,所述音频处理单元,具体用于将所述每一个音频段的序列开始、序列中间以及序列结束分别进行神经网络计算,得到所述每一个音频段所对应的第一结果、第二结果以及第三结果;将每一个音频段所对应的所述第一结果、第二结果、第三结果合并,得到所述每一个音频段所对应的输出。
本发明另一方面提供一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够前述方法。
本发明另一方面还提供一种存储介质,所述存储介质用于存储计算机指令,所述计算机指令用于使所述计算机执行前述方法。
通过采用上述方案,就能够将实时输入的音频信息划分为多个音频段,分别对每一个音频段进行处理,最终可以得到每一个音频段的输出,将每一个音频段的输出合并得到音频信息的最终输出结果。如此,由于可以实时的对较短的音频段进行处理,从而能够实现了在线处理音频信息;另外,由于实现将长序列划分为多个短序列进行处理,从而降低了对及其的计算硬件的能力要求;并且每一个音频段之间的处理相互不影响,这样可以实现并行的进行音频段的处理,从而加快音频信息的处理流程。
附图说明
图1为RNN网络结构示意图;
图2为LSTM网络结构示意图;
图3为GRU网络结构示意图;
图4为BLSTM网络结构示意图;
图5为DFSMN结构示意图;
图6为DFSMN处理结构示意图;
图7为本发明实施例提供的一种音频处理方法流程示意图;
图8为本发明实施例提供的离线以及在线音频处理方法流程对比示意图;
图9~图11为本发明实施例提供的音频段的序列开始、序列中间以及序列结束的处理示意图;
图12为本发明实施例提供的一种音频处理装置的组成结构示意图;
图13为本发明实施例提供的一种电子设备组成结构示意图。
具体实施方式
为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在相关技术中,深度学习中最常用的神经网络包括DNN(深度神经网络)、CNN(卷积神经网络)、RNN(循环神经网络)。
DNN和传统意义上的NN(神经网络)并无太大区别,最大的不同是层数增多了,并解决了模型可训练的问题。DNN最大的问题是只能看到预先设定的长度的数据,对于语音和语言等前后相关的时序信号的表达能力有限。CNN卷积神经网络主要是模拟人的视觉神经系统提出来的,它的主要功能是对输入数据进行特征提取。RNN是在DNN无法对时间序列上的变化进行建模的基础上提出来的。在RNN中神经元的输出可以在下一时间段直接作用到本身。它的隐层不但可以接收到上一层的输入,也可以得到上一时刻当前隐层的输入。这一个变化的重要意义就在于使得神经网络具备了历史记忆的功能,原则上它可以看到无穷长的历史信息,这非常适合于像语音语言这种具有长时相关性的任务。
常见的循环神经网络有GRU,LSTM,B-LSTM等单元,主要用于处理时序数据。dfsmn是用一种新的fsmn结构来替代lstm循环单元,在不损失效果的前提下,达到减小模型大小,加快训练和预测速度的目的。
其中,循环神经网络由输入层、一个隐藏层和一个输出层组成。结构如下图1所示,RNN可以被看做是同一神经网络的多次复制,每个神经网络模块会把消息传递给下一个。RNN结构中当前时刻的输出,不仅依赖于当前时刻的输入还依赖上一时刻的输出状态。常用的RNN单元有LSTM、GRU和BLSTM。
LSTM的重复网络模块的结构很复杂,如图2所示,它实现了三个门计算,即遗忘门、输入门和输出门。LSTM是RNN的改进模型,相比RNN,可以学习长期依赖信息。LSTM通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。LSTM最关键的地方在于cell(图中一个框就是一个cell)的状态和图中上面的那条横穿的水平线。其中,cell状态的传输从整个cell中穿过,只是做了少量的线性操作。这种结构能够很轻松地实现信息从整个cell中穿过而不做改变;若只有上面的那条水平线是没办法实现添加或者删除信息的。而是通过一种叫做门(gates)的结构来实现的。门可以实现选择性地让信息通过,主要是通过一个sigmoid的神经层和一个逐点相乘的操作来实现的。其中,sigmoid层输出(是一个向量)的每个元素都是一个在0或1之间的实数,表示让对应信息通过的权重(或者占比)。比如,0表示“不让任何信息通过”,1表示“让所有信息通过”。每个LSTM有三个这样的门结构,来实现保护和控制信息。其中的三个门结构分别称为“forget gate layer”,遗忘门;“input gate layer”,输入门;“output gate layer”,输出门。
GRU模型结构如下,它有两个门,如图3所示,分别为更新门和重置门。GRU输入输出的结构与普通的RNN相似,其中的内部思想与LSTM相似。与LSTM相比,GRU内部少了一个”门控“,参数比LSTM少,但是却也能够达到与LSTM相当的功能。GRU的cell和LSTM的思想大致相同,只是内部的门单元从3个变成2个,既LSTM的一种变种形式。它的隐层单元比LSTM少,内部计算没有那么复杂,因此训练可以更快收敛,推理速度也可以加快。
BLSTM,也就是双向LSTM的结构如图4所示,是在隐层同时有一个正向LSTM和反向LSTM,正向LSTM捕获了上文的特征信息,而反向LSTM捕获了下文的特征信息,这样相对单向LSTM来说能够捕获更多的特征信息,所以通常情况下双向LSTM表现比单向LSTM或者单向RNN要好。具体来说:假设序列是t1,t2,t3,…,T。ti代表第i时刻的输入。LSTM是按照时间顺序计算t1时刻的输出和状态,然后再用t1时刻的输出状态和t2时刻的输入计算t2时刻的输出和状态,重复以上步骤直到T时刻计算结束。
BLSTM是双向的,它不仅从t1开始计算到T。也从序列的最后T计算,按照上述步骤一直计算到t1时刻,然后把两个方向算出来的结果拼在一起,比如:
t1→t2→t3→……→T;
T→tn-1→tn-2→……→t1;
纵向把上述两个方向的序列计算结果拼接一起,按时刻拼。这样序列的计算过程不仅依赖了前面时刻的信息也依赖后面时刻的信息,在处理时序序列的时候,准确性会更好
但是,相关技术中上述几种方式存在以下问题:
(1)结构复杂
这些循环网络通过增加各种门单元来控制信息的传递。这些信息首先要经过被称为“门”的结构的处理。“门”是一种有选择的让信息通过的方式,可以增加或者删除单元状态中的信息。但是这些门单元通过不同的激活函数来选择信息,增加了网络内部结构的复杂性。
(2)存在大量隐层单元
人们常说循环网络是有记忆的,神经网络添加记忆的目的在于:序列本身即带有信息,而循环网络能利用这种信息完成前馈网络无法完成的任务。这些顺序信息保存在循环网络隐藏状态中,不断向前层层传递,跨越许多个时间步,影响每一个新样例的处理。这些记忆单元都是通过隐层单元来传递的。
(3)计算量大
循环网络有时被描述为深度网络,其深度不仅仅发生在输入和输出之间,而且还发生在不同的时间步,每个时间步可以被认为是一个层。LSTM需要每个单元4个线性层(MLP层)在每个序列时间步骤中运行,每个线性层都需要很大的计算量。此外,所有循环神经网络都具有神经网络重复模块链的形式,按时间展开之后,每一个时刻都要在Cell内部进行一次计算,并同时更新状态到下一个时刻。由于跨越许多个时间步,导致计算量大大增加。
(4)模型训练较困难
循环神经网络虽然具有很强的建模能力,但是其训练通常采用BPTT算法,存在训练速度缓慢和梯度消失等问题,导致训练的时候模型很难收敛。另一方面,RNN和LSTM的训练是困难的,因为它们需要存储带宽绑定计算,这是硬件设计者最糟糕的噩梦,最终限制了这种循环神经网络解决方案的适用性。
具体来说,由于RNN循环神经网络中的长期信息,需在进入当前处理单元前顺序遍历所有单元。这意味着它要被乘以很多次小于0的小数而损坏,这是导致vanishinggradients(梯度消失)问题的原因。因此被视为救星的LSTM模型出现了,LSTM可以绕过单元从而记住更长的时间步骤。因此,LSTM可以消除一些梯度消失的问题。可以处理时间间隔和延迟较长的序列问题。
此外针对不同问题进行优化,LSTM还有各种变种形式,例如:在三个控制门的输入分别加入了细胞状态信息,这个连接被称为peephole connection;将遗忘门和输入门合成为一个更新门,然后将细胞状态信息流和隐层状态信息流合并为一个信息流,这种变体时最常用的GRU结构。LSTM和GRU的性能差异并不大,但是GRU明显在收敛速度上更胜一筹,因此可以作为一种RNN的结构来使用。目前最常用的循环网络,就是LSTM,GRU,BLSTM这几种网络结构。其中,LSTM和GRU是单向的,只依赖序列中当前时刻之前的输出和状态,BLSTM是双向的,不仅依赖当前时刻之前的输出和状态还依赖后面时刻的输出和状态。
这些结构单元使循环神经网络在处理序列化数据时取得了很好的效果,因此被广泛应用于深度网络。但是由于训练较慢,模型参数量大,解码速度受到硬件设备制约,且计算量大导致的推理延时,这些客观存在的问题对其应用场景有很大的限制。
然而,由于LSTM这种结构的加速一般是使用一些加速库如cublas来对内部计算进行加速,或者一些合并计算优化如BlockfusedCell和cudnnLSTM等单元,但是这些计算优化一般适用于GPU显卡,对硬件要求较高。也可以通过减少层数或者隐层单元个数来减少参数量和计算量来优化,但是这种方式会影响模型的性能,不能达到较好的识别效果。
DFSMN是一种新型的网络结构,它可以取得相比于目前最流行的基于长短时记忆单元的双向循环神经网络(BLSTM)的识别系统显著的性能提升。而且DFSMN在训练速度,模型参数量,解码速度及模型的推理延时上相比于BLSTM都具有明显的优势。如图5所示,Input Layer(输入层)输入的xt为三维矩阵[Batch,length,indim];将xt进行矩阵乘,比如,可以采用公式ht=xt*W+bias进行计算。假设输入T个时刻的序列1~T,按照时刻计算的过程,在第0个时刻往左看时左边没有输入,所以只有当前时刻和往后看的时刻和memory计算,然后按照时间往后滑动,直至计算到第T个序列。
DFSMN和BLSTM这种类型的双向网路,由于当前时刻的输出不仅依赖前面时刻的输入还依赖后面时刻的输入,因此一般用于离线的计算,如自然语言处理,机器翻译,OCR等领域。但是在语音识别领域,这种双向的网络结构一般仅适用于离线的语音转写,无法处理在线的语音识别任务。因此,在在线语音实时交互的情况下,无法使用这种双向的网络结构。
由于DFSMN同时要考虑前面时刻的输入还依赖后面时刻的输入。具体形式如图6所示,图中示例DFSMN有3层,每一层从左到右为0~T个时刻;order=2表示往左看两个时刻,stride跨越的圈隔一个圈表示stride=2,左边的线和圈同样的意思;第4层的t时刻依赖第3层的t-4~t+4,依次递归。
常用的方式是把这种既依赖前面某些时刻又依赖后面时刻的网络做成离线的形式(如BLSTM)。离线方式即对一个完整的序列进行计算处理。这种计算方式比较简单,不需要考虑不同时刻的输入输出依赖情况,因为整个序列一起计算时它们相互之间的依赖关系是确定的,得到完整的序列根据网络需要的数据量进行计算即可。但是这种方式存在一个问题,即无法实时处理序列,不能提供实时反馈与在线交互功能。因此把这种离线网络做成在线的形式,既可以在取得较好的识别性能的同时,也可以实现实时反馈给用户提供在线交互体验。
基于此,本实施例提供一种音频处理方法,如图7所示,包括:
S11:对实时输入的音频信息进行切分,得到至少一个音频段;
S12:对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,将所述每一个音频段的输出进行合并得到输出结果;
其中,对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,包括:
将所述每一个音频段的序列开始、序列中间以及序列结束分别进行神经网络计算,得到所述每一个音频段所对应的第一结果、第二结果以及第三结果;
将每一个音频段所对应的所述第一结果、第二结果、第三结果合并,得到所述每一个音频段所对应的输出。
前述神经网络具体可以为DFSMN模型。
所述对实时输入的音频信息进行切分,得到至少一个音频段,还包括:
对实时输入的音频信息进行语音活动检测VAD处理,将VAD处理后得到的结果进行切分,得到至少一个音频段。
其中,语音活动检测(Voice Activity Detection,VAD)又称语音端点检测,语音边界检测。目的是从声音信号流里识别和消除长时间的静音期,以达到在不降低业务质量的情况下节省话路资源的作用,它是IP电话应用的重要组成部分。静音抑制可以节省宝贵的带宽资源,可以有利于减少用户感觉到的端到端的时延。
对所述至少一个音频段中每一个音频段进行神经网络计算时,所述方法还包括:
对所述至少一个音频段中每一个音频段进行特征提取,对特征提取后得到的音频段进行神经网络计算。
离线方式的处理以及在线方式的处理,采用图8进行区别说明,通过图8可以看出,离线方式的处理中,需要得到一个完整的序列然后进行VAD(语音端点检测技术,VoiceActivity Detection)处理,然后进行特征提取,将经过特征提取之后的信息输入至神经网络计算,得到输出结果;
通过在线方式的处理,如图8右侧的流程所示,将输入音频进行VAD处理,然后将VAD处理之后的结果分为音频段1~音频段N,N为大于等于2的整数;分别针对每一个音频段进行特征提取,将特征提取之后的信息进行神经网络计算,最终得到每一个音频段经过神经网络计算之后的输出1~输出N;将输出1~输出N合并作为最终的输出结果。
具体来说,把离线计算方式转成在线计算方式,需要考虑三种情况:序列开始,序列中间,序列结束。以10层dfsmn为例,假设所有的dfsmn结构都是往右看一个时刻(rorder=1,rstride=1),把离线计算模式转成在线计算形式,分以下三种示例分别进行说明:
示例1、
序列的开始情况:将所述每一个音频段的序列开始进行神经网络计算,得到所述每一个音频段所对应的第一结果,包括:
将所述每一个音频段中长度为L1的序列开始输入至N层的DFSMN模型,得到经过全部N层的DFSMN模型处理后的长度为L1-M的第一结果;
其中,L1为大于等于M的整数,N为大于等于1的整数,M为大于等于1且小于L1的整数。
这里的M=SUM(Layer_i(r_order*r_stride));SUM表示求和,Layer_i表示第i个DFSMN层,r_order往右看的帧数,r_stride不同帧之间的间隔。N为网络中包含的DFSMN的层数。
举例来说,L1可以为L1个音频帧的长度。N可以根据实际情况进行设置,本示例中采用N=10为例,每一层的处理都往右看1个时刻为例,因此M=10,也就是说,输入N层DFSMN的序列开始的长度为L1,输出的结果的长度为L1-10。
其中,每一层DFSMN模型的处理,可以为:
将长度为l1的输入序列输入至第n层DFSMN,将第n层DFSMN模型输出的长度为l1的第n个子结果中的最后m个时刻的输出删除,得到所述第n层DFSMN输出的长度为l1-m的输出序列;
其中,l1为大于m且小于等于L1的整数,n为大于等于1且小于等于N的整数,m为大于等于1且小于等于M的整数。
需要指出的是,每一层输出的时候后面所要去掉的m个时刻的内容,其中,m等于rorder*rstride。本示例中以rorder=1、以及rstride=1为例,那么每一层输出的内容需要将最后一个时刻的内容删除。
举例来说,本示例中,l_order=5,l_stride=1;
r_order=1,r_stride=1;
表示往左看5个时刻,时刻之间不存在间隔;往右看一个时刻。因为只有往右看的时候,计算当前序列最后时刻的信息时,还拿不到后一时刻的信息,所以算出来的结果是错的,需要删除。
前述长度为l1的输入序列,可以在不同层对应不同值,比如,输入至第1层DFSMN模型的输入序列的长度可以等于l1,经过第1层DFSMN模型的处理后,得到的结果为长度l1,如果减去其最后一个时刻的输出时,得到的结果为l1-1;那么第2层DFSMN模型的输入序列的长度l1就等于L1-1,第2层DFSMN模型的输出为L1-1,经过减去其最后一个时刻的输出后,得到的结果的长度为L1-2;以此类推,直至完成N层DFSMN的处理。
比如,结合图9进行说明:输入序列的长度是L1,该长度可以理解为至少大于SUM_1-N(rorder*rstride)。本实施例中可以为输出序列的长度是L1-10。
由于第一次输入之前没有要依赖的输入,因此可以直接计算,且输出的结果都是可信的,但是由于最后一个时刻的输出要依赖后一个时刻的输入,当前序列因为其后一时刻的输入目前还拿不到,所以当前序列(也就是序列开始)的最后一个时刻的输出是错误的,所以要把其输出的最后一个时刻去除掉,这样每经过一层DFSMN输出序列就少一个时刻输出。
图9中所示,N=10,也就是经过10层DFSMN的序列会减少10个时刻的输出。即网络会存在10个时刻的识别延时,这是无法避免的。
示例2、
序列的中间情况,
将所述每一个音频段的序列中间进行神经网络计算,得到所述每一个音频段所对应的第二结果,包括:
将每一个音频段中长度为L2的序列中间输入至N层的DFSMN模型,得到所述N层的DFSMN输出的长度为L2的第二结果;
其中,L2为大于等于1的整数,N为大于等于1的整数,N为网络中包含的DFSMN的层数。
这里,L2与前述示例1中的L1可以相同可以不同,本示例中不对其进行限定。
另外,针对每一层DFSMN的处理,可以包括:
将长度为l2的输入序列输入至第n层DFSMN,计算之前,将前一次计算第n层DFSMN输出时丢弃的m个时刻的数据拼接到l2长度的输入前面,得到l2+m的第n个子结果;第n层DFSMN计算完成之后,将所述长度为l2+m的第n个子结果中最后m个时刻的输出删除,得到长度为l2+m-m的第n个子结果;
其中l2为大于等于1小于等于L2的整数,n为大于等于1且小于等于N的整数,m为大于等于1的整数。
需要指出的是,将前一个时刻相同层的最后时刻的内容添加至本次输出的结果中,然后每一层输出的时候后面所要去掉的m个时刻的内容,其中,m等于rorder*rstride。本示例中以rorder=1、以及rstride=1为例,那么每一层输出的内容需要将最后一个时刻的内容删除。
比如,输入至第1层DFSMN模型的输入序列的长度可以等于L2,增加前一个时刻的第一层DFSMN处理得到的最后时刻的内容后得到的输入序列的长度为L2+1;经过第1层DFSMN模型的处理后,减去其最后一个时刻的输出时,得到的结果为L2+1-1=L2,以此类推,直至完成N层DFSMN的处理。
比如,参见图10,输入序列的长度是L2,输出序列的长度也是L2。这种情况比较复杂,左边的移位是因为上一次计算时的最后一个时刻的结果不可信,因此需要把上一次的计算中最后一个时刻的输入考虑进来,因此算出来的结果会把T-1时刻的输出补上。右边的移位情况和序列开始的情况一样,这种计算方式一直会存在10个时刻的识别延时。
示例3、序列的结束情况
将所述每一个音频段的序列结束进行神经网络计算,得到所述每一个音频段所对应的第三结果,还包括:
将每一个音频段中长度为L3的序列中间部分输入至N层的DFSMN模型,得到所述N层的DFSMN输出的长度为L3+M的第三处理结果;
其中,L3为大于等于1的整数,N为大于等于1的整数,M为大于等于1的整数。
L3的大小,可以与L1相同,或者与L2相同,换句话说,L3=L2=L1,也就是三个序列的长度均相同。当然,可以三种序列的长度均不相同,本示例不进行穷举,
其中,每一层DFSMN,也就是第n层DFSMN的输入以及输出可以如下所示:
将前一时刻中所述第n层DFSMN输出时丢弃的m个时刻的结果添加至l3的输入序列的开始部分,得到长度为l3+m的序列;
将长度为l3+m的序列输入至第n层DFSMN,得到所述第n层DFSMN模型输出的长度为l3+m的第n个子结果;
其中,l3为小于等于L3的整数,n为大于等于1且小于等于N的整数,m为大于等于1的整数、且小于等于M的整数。
需要指出的是,每一层输出的时候前面所要增加的m个时刻的内容,其中,m可以等于rorder*rstride。本示例中以rorder=1、以及rstride=1为例,将前一个时刻相同层的最后时刻的内容添加至本次输出的结果中,因此,本次输出最终的结果的长度为l3+1。
比如,输入至第1层DFSMN模型的输入序列的长度可以等于L3,经过第1层DFSMN模型的处理后,得到的结果为长度L3,增加前一个时刻的第一层DFSMN处理得到的最后时刻的内容后,得到的结果也为L3+1;那么第2层DFSMN模型的输入序列的长度l3为L3+1,第2层DFSMN模型的输出为L3+1,增加前一个时刻的第二层DFSMN处理得到的最后时刻的内容后,得到的结果也为L3+1+1=L3+2;以此类推,直至完成N层DFSMN的处理,得到的最终输出结果的长度为L3+M,也就是L3+10。
参见图11,输入序列的长度是L3,输出序列的长度是L3+10。左边的移位情况和前述示例2中序列中间的处理一样,右边因为序列结束了,依赖的后面的序列都已经全部拿到,所以可以信赖所有的输出结果。这样就完成了整个输入序列的计算。
最终将前述示例1、2、3得到的第一结果、第二结果以及第三结果进行合并得到每一个音频段所对应的输出。进一步地,将每一个音频段所对应的输出进行合并,得到最终的输出结果。
还需要指出的是,在实际处理中并不是按照序列长度来划分音频段,也就是并不是采用前述L1,L2和L3来区分音频段,而是网络中有一个flag参数,分别等于0,1,2来表示这一次送进网络中的数据是序列的开始,中间还是结束。
另外,序列本身是不区分开始序列,中间序列和结束序列的,本实施例中为了说明方便进行的描述上的标识。实际处理中,对整个序列做特征提取,按照时间顺序把特征排好序。每次往网络中送特征的时候,如果是第一次喂就同时输入参数flag=0,中间的时候flag=1,结束了最后一次喂的时候,flag=2.
上述离线转在线的方式,由于可以在边做音频处理的同时(VAD切割及特征提取)边做识别,这样大大减少了等待完整序列再处理的识别延时,也加快了整个识别过程的计算流程,把原始的顺序处理机制变成了并行处理机制。且离线的情况下需要一次性计算一个完整的序列,计算量比较大,现在把一个长序列切分成多个短序列处理,不仅可以降低机器的计算硬件需求,同时也减少一次推理的时间,它的另一个意义是可以在同样的硬件设备下同时跑多个并发,这样大大加快了整个识别流程。
本实施例提供一种音频处理装置,如图12所示,包括:
音频划分单元S21,用于对实时输入的音频信息进行切分,得到至少一个音频段;
音频处理单元S22,用于对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,将所述每一个音频段的输出进行合并得到输出结果;
其中,音频处理单元S22,具体用于将所述每一个音频段的序列开始、序列中间以及序列结束分别进行神经网络计算,得到所述每一个音频段所对应的第一结果、第二结果以及第三结果;
将每一个音频段所对应的所述第一结果、第二结果、第三结果合并,得到所述每一个音频段所对应的输出。
前述神经网络具体可以为DFSMN模型。
所述音频划分单元S21,用于对实时输入的音频信息进行语音活动检测VAD处理,将VAD处理后得到的结果进行切分,得到至少一个音频段。
音频处理单元S22,具体用于对所述至少一个音频段中每一个音频段进行特征提取,对特征提取后得到的音频段进行神经网络计算。
分以下三种示例分别进行说明:
示例1、
序列的开始情况:音频处理单元S22,具体用于将所述每一个音频段中长度为L1的序列开始输入至N层的DFSMN模型,得到经过全部N层的DFSMN模型处理后的长度为L1-M的第一结果;
其中,L1为大于等于1的整数,N为大于等于1的整数,M为大于等于1且小于L1的整数。
示例2、
序列的中间情况,
音频处理单元S22,具体用于将每一个音频段中长度为L2的序列中间输入至N层的DFSMN模型,得到所述N层的DFSMN输出的长度为L2的第二结果;
其中,L2为大于等于1的整数,N为大于等于1的整数。
这里,L2与前述示例1中的L1可以相同可以不同,本示例中不对其进行限定。
示例3、序列的结束情况
音频处理单元S22,具体用于将每一个音频段中长度为L3的序列中间部分输入至N层的DFSMN模型,得到所述N层的DFSMN输出的长度为L3+M的第三处理结果;
其中,L3为大于等于1的整数,N为大于等于1的整数,M为大于等于1的整数。
L3的大小,可以与L1相同,或者与L2相同,换句话说,L3=L2=L1,也就是三个序列的长度均相同。当然,可以三种序列的长度均不相同,本示例不进行穷举。
本实施例中所述装置中各个模块执行的处理与前述方法相同,这里不再进行赘述。
可见,通过采用上述方案,就能够将实时输入的音频信息划分为多个音频段,分别对每一个音频段进行处理,最终可以得到每一个音频段的输出,将每一个音频段的输出合并得到音频信息的最终输出结果。如此,由于可以实时的对较短的音频段进行处理,从而能够实现了在线处理音频信息;另外,由于实现将长序列划分为多个短序列进行处理,从而降低了对及其的计算硬件的能力要求;并且每一个音频段之间的处理相互不影响,这样可以实现并行的进行音频段的处理,从而加快音频信息的处理流程。
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备。图13为本发明实施例电子设备的硬件组成结构示意图,包括:
通信接口91,能够与其它设备比如网络设备等进行信息交互;
处理器92,与所述通信接口91连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述信息处理装置的一个或多个技术方案提供的方法。而所述计算机程序存储在存储器93上。
当然,实际应用时,信息处理装置中的各个组件通过总线系统94耦合在一起。
可理解,总线系统94用于实现这些组件之间的连接通信。总线系统94除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统94。
本发明实施例中的存储器93用于存储各种类型的数据以支持信息处理装置的操作。这些数据的示例包括:用于在信息处理装置上操作的任何计算机程序。
可以理解,存储器93可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。
上述本发明实施例揭示的方法可以应用于处理器92中,或者由处理器92实现。
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器93,上述计算机程序可由终端的处理器92执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种音频处理方法,其特征在于,所述方法包括:
对实时输入的音频信息进行切分,得到至少一个音频段;
对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,将所述每一个音频段的输出进行合并得到输出结果;
其中,对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,包括:
将所述每一个音频段的序列开始、序列中间以及序列结束分别进行神经网络计算,得到所述每一个音频段所对应的第一结果、第二结果以及第三结果;
将每一个音频段所对应的所述第一结果、第二结果、第三结果合并,得到所述每一个音频段所对应的输出。
2.根据权利要求1所述的方法,其特征在于,所述神经网络为DFSMN模型。
3.根据权利要求2所述的方法,其特征在于,将所述每一个音频段的序列开始进行神经网络计算,得到所述每一个音频段所对应的第一结果,包括:
将所述每一个音频段中长度为L1的序列开始输入至N层的DFSMN模型,得到经过全部N层的DFSMN模型处理后的长度为L1-M的第一结果;
其中,L1为大于等于M的整数,N为大于等于1的整数,M为大于等于1且小于L1的整数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将长度为l1的输入序列输入至第n层DFSMN,将第n层DFSMN模型输出的长度为l1的第n个子结果中的最后m个时刻的输出删除,得到所述第n层DFSMN输出的长度为l1-m的输出序列;
其中,l1为大于m且小于等于L1的整数,n为大于等于1且小于等于N的整数,m为大于等于1且小于等于M的整数。
5.根据权利要求2所述的方法,其特征在于,将所述每一个音频段的序列中间进行神经网络计算,得到所述每一个音频段所对应的第二结果,包括:
将每一个音频段中长度为L2的序列中间输入至N层的DFSMN模型,得到所述N层的DFSMN输出的长度为L2的第二结果;
其中,L2为大于等于1的整数,N为大于等于1的整数,N为网络中包含的DFSMN的层数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将长度为l2的输入序列输入至第n层DFSMN,计算之前,将前一次计算第n层DFSMN输出时丢弃的m个时刻的数据拼接到l2长度的输入前面,得到l2+m的第n个子结果;第n层DFSMN计算完成之后,将所述长度为l2+m的第n个子结果中最后m个时刻的输出删除,得到长度为l2+m-m的第n个子结果;
其中l2为大于等于1小于等于L2的整数,n为大于等于1且小于等于N的整数,m为大于等于1的整数。
7.根据权利要求2所述的方法,其特征在于,将所述每一个音频段的序列结束进行神经网络计算,得到所述每一个音频段所对应的第三结果,还包括:
将每一个音频段中长度为L3的序列中间部分输入至N层的DFSMN模型,得到所述N层的DFSMN输出的长度为L3+M的第三处理结果;
其中,L3为大于等于1的整数,N为大于等于1的整数,M为大于等于1的整数。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
将前一时刻中所述第n层DFSMN输出时丢弃的m个时刻的结果添加至l3的输入序列的开始部分,得到长度为l3+m的序列;
将长度为l3+m的序列输入至第n层DFSMN,得到所述第n层DFSMN模型输出的长度为l3+m的第n个子结果;
其中,l3为小于等于L3的整数,n为大于等于1且小于等于N的整数,m为大于等于1的整数、且小于等于M的整数。
9.根据权利要求1所述的方法,其特征在于,所述对实时输入的音频信息进行切分,得到至少一个音频段,还包括:
对实时输入的音频信息进行语音活动检测VAD处理,将VAD处理后得到的结果进行切分,得到至少一个音频段;
对所述至少一个音频段中每一个音频段进行神经网络计算时,所述方法还包括:
对所述至少一个音频段中每一个音频段进行特征提取,对特征提取后得到的音频段进行神经网络计算。
10.一种音频处理装置,其特征在于,所述装置包括:
音频划分单元,用于对实时输入的音频信息进行切分,得到至少一个音频段;
音频处理单元,用于对所述至少一个音频段中每一个音频段进行神经网络计算,得到每一个音频段所对应的输出,将所述每一个音频段的输出进行合并得到输出结果;
其中,所述音频处理单元,具体用于将所述每一个音频段的序列开始、序列中间以及序列结束分别进行神经网络计算,得到所述每一个音频段所对应的第一结果、第二结果以及第三结果;将每一个音频段所对应的所述第一结果、第二结果、第三结果合并,得到所述每一个音频段所对应的输出。
11.根据权利要求10所述的装置,其特征在于,所述神经网络为DFSMN模型。
12.根据权利要求10所述的装置,其特征在于,所述音频划分单元,用于对实时输入的音频信息进行语音活动检测VAD处理,将VAD处理后得到的结果进行切分,得到至少一个音频段;
音频处理单元,用于对所述至少一个音频段中每一个音频段进行特征提取,对特征提取后得到的音频段进行神经网络计算。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
14.一种存储介质,其特征在于,所述存储介质用于存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
CN201911402690.2A 2019-12-31 2019-12-31 一种音频处理方法、装置、电子设备及存储介质 Active CN111145765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911402690.2A CN111145765B (zh) 2019-12-31 2019-12-31 一种音频处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911402690.2A CN111145765B (zh) 2019-12-31 2019-12-31 一种音频处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111145765A true CN111145765A (zh) 2020-05-12
CN111145765B CN111145765B (zh) 2022-04-15

Family

ID=70522225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911402690.2A Active CN111145765B (zh) 2019-12-31 2019-12-31 一种音频处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111145765B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107680597A (zh) * 2017-10-23 2018-02-09 平安科技(深圳)有限公司 语音识别方法、装置、设备以及计算机可读存储介质
CN108257592A (zh) * 2018-01-11 2018-07-06 广州势必可赢网络科技有限公司 一种基于长短期记忆模型的人声分割方法及系统
US20180247629A1 (en) * 2015-11-03 2018-08-30 Guangzhou Kugou Computer Technology Co., Ltd. Audio data processing method and device
CN109616097A (zh) * 2019-01-04 2019-04-12 平安科技(深圳)有限公司 语音数据处理方法、装置、设备及存储介质
WO2019139660A1 (en) * 2018-01-12 2019-07-18 Alibaba Group Holding Limited Enhancing audio signals using sub-band deep neural networks
CN110310662A (zh) * 2019-05-21 2019-10-08 平安科技(深圳)有限公司 音节自动标注方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180247629A1 (en) * 2015-11-03 2018-08-30 Guangzhou Kugou Computer Technology Co., Ltd. Audio data processing method and device
CN107680597A (zh) * 2017-10-23 2018-02-09 平安科技(深圳)有限公司 语音识别方法、装置、设备以及计算机可读存储介质
CN108257592A (zh) * 2018-01-11 2018-07-06 广州势必可赢网络科技有限公司 一种基于长短期记忆模型的人声分割方法及系统
WO2019139660A1 (en) * 2018-01-12 2019-07-18 Alibaba Group Holding Limited Enhancing audio signals using sub-band deep neural networks
CN109616097A (zh) * 2019-01-04 2019-04-12 平安科技(深圳)有限公司 语音数据处理方法、装置、设备及存储介质
CN110310662A (zh) * 2019-05-21 2019-10-08 平安科技(深圳)有限公司 音节自动标注方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111145765B (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
CN107301864B (zh) 一种基于Maxout神经元的深度双向LSTM声学模型
Dayan et al. Q-learning
CN112949896B (zh) 一种基于融合序列分解与时空卷积的时序预测方法
EP3619651A1 (en) System and method for batch-normalized recurrent highway networks
US20210097366A1 (en) Pipelined neural network processing with continuous and asynchronous updates
CN111563161B (zh) 一种语句识别方法、语句识别装置及智能设备
CN109543112A (zh) 一种基于循环卷积神经网络的序列推荐方法及装置
CN111950735B (zh) 一种基于双向模型的强化学习方法
CN110852295B (zh) 一种基于多任务监督学习的视频行为识别方法
CN109147771B (zh) 音频分割方法和系统
CN112733043B (zh) 评论推荐方法及装置
WO2024103653A1 (zh) 视频与文本的互检方法、装置、设备、非易失性可读存储介质及终端
CN112597217A (zh) 一种历史决策数据驱动的智能决策平台及其实现方法
CN115713026A (zh) 时序数据预测模型构建方法、装置、设备及可读存储介质
CN108985449A (zh) 一种对卷积神经网络处理器的控制方法及装置
CN111145765B (zh) 一种音频处理方法、装置、电子设备及存储介质
CN112297012B (zh) 一种基于自适应模型的机器人强化学习方法
CN108073442A (zh) 基于深度模糊栈式自编码的仿真请求执行时间预测方法
CN111985626B (zh) 一种加速rnn网络的系统、方法及存储介质
KR102209917B1 (ko) 심층 강화 학습을 위한 데이터 처리 장치 및 방법
CN117494762A (zh) 学生模型的训练方法、素材处理方法、装置及电子设备
CN111242246B (zh) 一种基于强化学习的图像分类方法
CN115660052A (zh) 一种融合后见之明思想的群体智能学习方法
CN110874553A (zh) 一种识别模型训练方法及装置
Khandelwal et al. Efficient Real-Time Inference in Temporal Convolution Networks

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215024 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Jiangsu Province

Applicant after: Sipic Technology Co.,Ltd.

Address before: 215024 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Jiangsu Province

Applicant before: AI SPEECH Ltd.

GR01 Patent grant
GR01 Patent grant