一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

深度源分离架构的制作方法

2022-06-01 19:22:03 来源:中国专利 TAG:

深度源分离架构
1.相关申请的交叉引用
2.本专利申请要求于2019年10月21日提交的西班牙专利申请号p201930932、于2020年1月7日提交的美国临时专利申请号62/957,870、以及于2020年10月5日提交的美国临时专利申请号63/087,788的优先权,其中每个申请均通过引用以其全文并入本文。
技术领域
3.本技术涉及语音识别和深度机器学习。更具体地,以下描述的(多个)示例实施例涉及改进神经网络架构,以对语音源进行更好的分离。


背景技术:

4.在本节中描述的方法是可以追寻的方法,但不一定是之前已经设想到或追寻的方法。因此,除非另有指明,否则不应该认为本节中所述的任何方法仅凭其纳入本节就可被视为现有技术。
5.从混合语音中识别单独的语音源是具有挑战性的。从大量数据中进行学习已经使得这种识别取得了一些进步。进一步利用深度机器学习来改进语音源的分离可能是有帮助的。
附图说明
6.在附图中以举例而非限制的方式来图示本发明的(多个)示例实施例,在附图中:
7.图1图示了根据所公开的实施例的语音分离服务器计算机的示例部件。
8.图2图示了conv-tasnet神经网络。
9.图3图示了根据所公开的实施例的用于语音分离的示例神经网络。
10.图4图示了根据所公开的实施例的用于语音分离的示例神经网络。
11.图5图示了根据所公开的实施例的具有修改的门控线性单元的示例卷积层。
12.图6图示了根据所公开的实施例的用于语音分离的示例神经网络。
13.图7图示了根据所公开的实施例的具有跳跃连接和残差连接的示例卷积层。
14.图8图示了根据本文描述的一些实施例的用语音分离服务器计算机执行的示例过程。
15.图9图示了根据本文描述的一些实施例的用语音分离服务器计算机执行的示例过程。
16.图10是图示了其上可以实施本发明的实施例的计算机系统的框图。
具体实施方式
17.在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对(多个)示例实施例的透彻理解。然而,明显的是,可以在没有这些具体细节的情况下实践所述(多个)示例实施例。在其他实例中,已知结构和设备以框图形式示出以便避免对所述(多个)示例实施
例的不必要模糊。
18.实施例根据以下概要在以下各小节中进行描述:
19.1.总体概述
20.2.示例计算机部件
21.3.功能描述
22.3.1.conv-tasnet
23.3.2.深度非线性编码器和解码器
24.3.2.1.1.架构
25.3.2.1.2.训练
26.4.示例过程
27.5.实验结果
28.6.硬件实施方式
29.7.扩展和替代方案
30.**
31.1.总体概述
32.公开了语音分离服务器计算机(“服务器”)和相关方法。在一些实施例中,该服务器包括具有非线性激活的深度学习编码器,该深度学习编码器被编程为:获取时域中的混合音频波形;从混合音频波形中学习一般化模式;以及生成有效表征混合音频波形的编码表示,以进行语音分离。混合音频波形包括在一段时间内来自多个声音声源的话语。该服务器还包括具有非线性激活的深度学习解码器,该深度学习解码器被编程为:获取与不同语音源相对应的单独波形的编码表示;以及生成单独波形。
33.在一些实施例中,编码器是包括多个卷积层的卷积网络。这些卷积层中的至少一个卷积层包括尺寸相对较小的一维(1-d)滤波器。这些卷积层中的至少一个卷积层包括如参数修正线性单元(prelu)或门控线性单元(glu)等非线性激活函数。
34.在一些实施例中,服务器被编程为接收跨时域中的某一时间段的混合音频波形。例如,混合音频波形可能是两个不同说话者在十分钟内的两个话语的混合。服务器被编程为进一步从混合音频波形中生成跨该时间段内重叠时间范围的波形段。例如,可以从十分钟的混合音频波形中得到四个波形段,每个波形段跨十毫秒,与前一个波形段的时间范围重叠两毫秒。
35.在一些实施例中,服务器被编程为通过编码器运行每个波形段以生成该波形段的编码表示。
36.在一些实施例中,服务器被编程为将分离器应用于编码表示的集合以生成分离的编码表示,每个编码表示跨该时间段且对应于不同语音源。
37.在一些实施例中,解码器是包括多个卷积层的卷积网络。这些卷积层中的至少一个卷积层包括尺寸相对较小的1-d滤波器。这些卷积层中的至少一个卷积层包括如prelu或glu等非线性激活函数。
38.在一些实施例中,服务器被编程为运行每个分离的编码表示以生成跨该时间段且与不同语音源相对应的单独波形。
39.该服务器提供了某些技术优势。为编码器或解码器组合小上下文、非线性变换的
架构使得能够从输入的混合音频波形中学习一般化模式,从而更好地表征各个组成波形并因此使得能够更好地分离语音源。小上下文允许高效实施,即使将多个小上下文组合也是如此。非线性允许在输入与输出之间创建复杂的映射,这有利于学习复杂数据并对其建模。
40.2.示例计算机部件
41.图1图示了根据所公开的实施例的语音分离服务器计算机的示例部件。该图仅用于说明目的,并且服务器102可以包括更少或更多的功能部件或存储部件。每个功能部件可以实施为软件部件、通用或专用硬件部件、固件部件或其任意组合。存储部件可以使用关系数据库、对象数据库、平面文件系统或javascript对象表示法(json)存储中的任何一者来实施。存储部件可以本地或者使用编程调用、远程过程调用(rpc)设施或消息总线通过网络连接到功能部件。一个部件可以是也可以不是独立的。取决于实施方式特定的或其他考虑,这些部件可以是在功能上或物理上集中式的或分布式的。
42.在一些实施例中,服务器102可以包括数据收集指令104、神经模型管理指令106、神经模型训练指令108和神经模型执行指令110。另外,服务器102可以包括服务器数据库120。
43.在一些实施例中,数据收集指令102使得能够对包括混合音频波形(从这些混合音频波形中识别与不同语音源相对应的单独波形)的训练数据、验证数据或实际数据进行收集。可以从公共数据源中取得包括混合音频波形和对应的单独波形二者的训练数据和验证数据。数据收集指令102进一步使得能够对与训练数据、验证数据或实际数据的生成、处理或使用相关的各种用户偏好或系统配置进行收集。
44.在一些实施例中,神经模型管理指令106使得能够对不同的神经模型进行管理,包括存储或更新具有不同结构的多个卷积神经网络。在这种上下文中,每个神经“模型”指的是电子数字方式存储的一组相互关联的可执行指令和数据值,这些可执行指令和数据值能够基于指定输入值来接收和响应程序化或其他数字调用、调取或解析请求,以产生可以作为计算机实施的推荐、输出数据显示或机器控制等的基础的一个或多个存储或计算的输出值。对不同神经模型的管理包括取得和存储与神经模型的训练或执行相关的系统配置或用户偏好,诸如训练算法或目标函数的选择。
45.在一些实施例中,神经模型训练指令108使得能够对不同的神经模型进行训练或构建。基于经由数据收集指令104获得的数据以及经由神经模型管理指令106获得的用于训练过程的相关参数值,可以训练不同的神经模型,并且可以经由神经模型管理指令106存储包括神经模型的各种参数的值的训练结果以供将来使用。
46.在一些实施例中,神经模型执行指令110使得能够执行不同的神经模型。通过基于经由神经模型管理指令106获得的用于执行过程的相关参数值来使用经由神经模型训练指令108获得的训练后的神经模型,可以将混合音频波形的实际数据分离成与不同语音源相对应的单独波形。神经模型执行指令110进一步使得能够存储或传输执行神经模型的结果,如单独波形。
47.在一些实施例中,服务器数据库220被编程或配置为管理对如训练数据、验证数据、实际数据、神经模型、训练过程的组成、系统配置、用户偏好或训练或执行神经模型的结果等相关数据的存储和访问。
48.3.功能描述
49.3.1 conv-tasnet
50.最近的出版物报道了在波形域中处理源分离的有希望的结果。conv-tasnet是用于在波形域中进行语音源分离的端到端神经网络,如yi luo和nima mesgarani在以下文献中所描述的:“conv-tasnet:surpassing ideal time-frequency magnitude masking for speech separation[conv-tasnet:超越理想的语音分离时频幅度掩蔽]”,ieee/acm音频、语音和语言处理汇刊,第27卷,第8期,第1256-1266页,2019年。
[0051]
图2图示了conv-tasnet神经网络。conv-tasnet神经网络(“系统”或“conv-tasnet”)包括编码器204、分离器206和解码器208。所述系统被编程为将混合音频波形202作为输入并产生单独波形210。具体地,该系统被编程为从单通道语音混合x∈r
t
(其中,t表示波形的长度并且)中分离c个单独的语音源sc∈r
t
,其中,c∈{1,2,...,c}
[0052]
编码器204将混合音频波形202线性映射到所学习的隐空间中。具体地,混合音频波形202被分割成k个重叠帧xk∈r
l
,k=1,2,...,k,每个长度l与前一帧具有为s的重叠。然后,线性变换定义为:
[0053]
e=ux,
ꢀꢀ
(1)
[0054]
其中,u∈rn×
l
在其行中包含n个可学习的基础滤波器或大小为l的内核,x∈r
l
×k将长度为l的k帧存储在列中,并且e∈rn×k表示混合音频波形202的隐空间表示,其中,每个帧由n个值表示。因此,该编码器可以实施为具有n个内核的1-d卷积。在一个示例中,n=512,l=16,s=8,对应于采样率为8khz的2ms的基础滤波器和1ms的重叠。
[0055]
分离器206通过学习这个隐空间中的掩码来预测每个语音源的表示。分离器206包括具有指数增加的膨胀因子的堆叠的膨胀卷积块,并且每个堆叠可以重复多次。膨胀卷积的深度堆叠使得分离器能够具有较大的时间上下文和紧凑的模型大小。逐元素乘法214然后将分离器206产生的单独掩码应用到混合音频波形202以生成单独隐空间表示。
[0056]
解码器将每个估计的干净源c=1,2,...,c的隐空间表示线性变换到时域:
[0057][0058]
其中,v∈rn×
l
包含n个解码器基础过滤器(不与编码器u绑定),dc∈rn×k是分离器预测的第c个估计源的表示,并且包含重建信号的k个帧。整个时域波形是通过的行的重叠相加获得的。与编码器类似,解码器可以实施为1-d(转置)卷积。所有conv-tasnet构建块都是联合优化的。
[0059]
3.2深度非线性编码器和解码器
[0060]
3.2.1架构
[0061]
图3图示了根据所公开的实施例的用于语音分离的示例神经网络。在一些实施例中,该神经网络包括编码器和解码器。编码器或解码器可以与conv-tasnet中的分离器相结合以形成用于进行语音分离的端到端神经网络,或者与被配置为接收与conv-tasnet中的分离器相同类型的输入数据并产生相同类型的输出数据的另一个分离器(如在对conv-tasnet的后期改进中)相结合。
[0062]
在一些实施例中,编码器包括1-d卷积304,该1-d卷积可以与conv-tasnet中接收混合音频波形并产生混合音频波形的隐空间表示的编码器204相同或相似。1-d卷积304后跟第一卷积层堆叠,如卷积层312、314和316。每个卷积层包括1-d卷积和非线性激活函数。
例如,每个卷积层可以有1-d卷积,后跟prelu,该prelu是本领域技术人员已知的:
[0063]ei
=prelu(ui*e
i-1
),
ꢀꢀ
(3)
[0064]
其中,*表示卷积算子,i=2,3,...,i表示卷积层索引,ui∈rn×n×g表示n个可学习内核,e1是1-d卷积304的输出,并且ei∈rn×k是第i个卷积层的输出。由于每个ei都表示混合音频波形202的隐空间表示(其中,每个帧由n个值表示),每个内核实际上大小为n
×
g。关于混合音频波形202的卷积在时间维度上继续。可以在卷积中使用s的步幅。例如,g的值可以是3,s的值可以是1,并且堆叠的大小可以是3。该第一卷积层堆叠将混合音频波形202分层地变换为非线性隐空间。
[0065]
由于这些卷积层中的内核在时间维度上具有相对较小的卷积大小,初始卷积层在混合音频波形202中提取更多高分辨率或具体模式,而随后的卷积层提取更多低分辨率或抽象模式。这种抽象的、非线性的隐表示允许分离器在其中更容易区分和提取混合物显著成分的空间中进行预测。小步幅倾向于提高时间分辨率,并且可以与较小的内核大小相组合以实现良好的覆盖率。然后,滤波器的受控数量和第一堆叠的大小(卷积层的数量)有助于实现精度与速度之间的良好折衷。例如,与conv-tasnet中分离器206中的卷积块相比,每个卷积层和整个第一卷积层堆叠的结构相对简单,有助于保持编码器的性能优势,将更多的执行时间留给分离器模块。先前的编码器或解码器缺少这种有效且高效地表征语音信号以进行语音分离的深度学习。
[0066]
在一些实施例中,解码器的结构反映了编码器的结构。从可以与conv-tasnet中的分离器206相同或相似的分离器306中生成的预测表示首先由第二卷积层堆叠(如卷积层322、324和326)处理。每个卷积层包括具有非线性激活函数的保维1-d转置卷积,并且在其他方面以与编码器中的卷积层相同的方式进行操作。解码器的这些卷积层中的内核可以与编码器的这些卷积层中的内核分开学习。最后,第二卷积层堆叠后跟可以与conv-tasnet中的解码器308相同或相似的1-d转置卷积308,以产生时域估计的源信号。
[0067]
图4图示了根据所公开的实施例的用于语音分离的示例神经网络。在一些实施例中,神经网络包括编码器和解码器,与图3中所示的神经网络相似。一个区别在于使用如下所述的本领域技术人员已知的glu或修改的glu来代替每个prelu。glu通常比prelu具有更多的可学习参数。与注意力相似,glu依赖于所学习的门来对内核的相对重要性进行建模。因此,编码器包括可以与conv-tasnet中的编码器204相同或相似的1-d卷积404,后跟第一卷积层堆叠,如卷积层412、414和416。每个卷积层包括1-d卷积和非线性激活函数,如glu。解码器的结构反映了编码器的结构。来自可以与conv-tasnet中的分离器206相同或相似的分离器406的预测表示首先由第二卷积层堆叠(如422、424和426)处理。每个卷积层包括具有如glu的非线性激活函数的保维1-d转置卷积。最后,第二卷积层堆叠后跟作为conv-tasnet中的解码器的1-d转置卷积408。
[0068]
图5图示了根据所公开的实施例的具有修改的glu的示例卷积层。在一些实施例中,卷积层(如图4中所示的412)包括glu,其具有通过1-d卷积502的第一路径和通过1-d卷积504和s形激活函数508的第二路径,以实现门控机制510。卷积层进一步包括在本领域技术人员已知的s形激活函数508之前的本领域技术人员已知的全局层归一化506,从而形成修改的glu以加速训练。
[0069]
在一些实施例中,在神经网络中包括的用于编码器或解码器(如图3或图4所示的
编码器或解码器)的具有非线性激活的卷积层的数量可以少于或多于三个。在一个实施例中,在神经网络中包括的非线性激活函数可以替代地为渗漏修正线性单元(relu)、s形函数、tanh函数、高斯误差线性单元(gelu)、softplus函数、指数线性单元(elu)、arctan函数、平方非线性函数(sqnl)或本领域技术人员已知的其他非线性激活函数。在一个实施例中,多个卷积层具有不同的非线性激活函数。在一个实施例中,每个卷积层都具有非线性激活。在一个实施例中,并非在具有线性激活或没有线性激活的第一个卷积层之后的每个卷积层都具有非线性激活。
[0070]
图6图示了根据所公开的实施例的用于语音分离的示例神经网络。在一些实施例中,该神经网络包括编码器和解码器。编码器包括1-d卷积604,该1-d卷积可以与conv-tasnet中的编码器相同或相似。1-d卷积604后跟通过非线性单元(如prelu或glu618)调节的第一卷积层堆叠,如612、614和616。编码器中的每个卷积层都建立有跳跃连接和残差连接,这种跳跃连接和残差连接是本领域技术人员已知的。已知跳跃连接用于避免梯度消失或消除深度学习网络中的奇点,从而使学习过程成为可能或更容易。残差连接通向下一个卷积层,而跳跃连接通向馈送到非线性单元618的求和620。解码器的结构反映了编码器的结构。来自可以与conv-tasnet中的分离器相同或相似的分离器606的预测表示首先由通过非线性单元628调节的第二卷积层堆叠(如622、624和626)处理。解码器中的每个卷积层都建立有跳跃连接和残差连接,如在编码器中一样。最后,第二卷积层堆叠后跟可以与conv-tasnet中的解码器208相同或相似的1-d转置卷积608。
[0071]
图7图示了根据所公开的实施例的具有跳跃连接和残差连接的示例卷积层。在一些实施例中,卷积层(如图6中所示的612)包括深度卷积704(本领域技术人员已知的深度卷积或深度可分离卷积),后跟非线性激活函数706,如prelu。深度卷积704可以具有与所讨论的1-d卷积相同的参数。例如,每个卷积运算中使用的内核的大小为g。然后,非线性激活函数706后跟用于残差连接714的、通过第一点卷积710(该点卷积是本领域技术人员已知的)的第一路径和用于跳跃连接712的、通过第二点卷积708的第二路径。在其他实施例中,深度卷积704prelu 706可以由另一个非线性激活函数(如图5中所示的glu或修改的glu)代替。
[0072]
3.2.2训练
[0073]
在一些实施例中,编码器和解码器与分离器一起训练。上文引用的conv-tasnet公开中描述了这种端到端训练的过程。代替在该过程中应用的尺度不变信噪比(si-snr),使用具有幂律项的si-snr作为目标函数。具体地,为了(按照波形的幅度)限制来自深度编码器或解码器的预测源的尺度,si-snr目标函数增加了幂律项,以鼓励被训练的模型预测与地面真值具有相似幅度的频谱。已知幂律与人类感知相关。增加的目标函数写为:
[0074][0075]
其中,
[0076]
p-law(x,y,α)=l1-norm(||stft(x)||
α-||stft(y)||
α
),
ꢀꢀꢀ
(5)。
[0077]
和sc已在上文进行讨论。stft代表短时傅里叶变换,α是将每个时频区间中的原始信号能量映射到感知域的感知指数,α意指将频谱映射到人类对响度的感知更线性的域,例如,将这个域中的值加倍应该会使对信号的感知响度加倍。β是表示p-law在总损失中的权重的权重因子。α或β的值介于0到1之间。在某些实施例中,β设置为0.01且α设置为0.5。
[0078]
在一些实施例中,训练数据跨特定持续时间,如30小时,并且验证数据跨特定持续
时间,如10小时。可以通过以随机选择的信噪比(snr)随机混合来自多个说话者的话语来获得训练数据或验证数据。例如,可以以随机选择的介于-5db到5db之间的snr随机混合来自100个说话者的话语来生成训练数据和验证数据。波形可以以特定频率采样,如8,000hz。
[0079]
4.示例过程
[0080]
图8和图9各自图示了根据本文描述的一些实施例的用语音分离服务器计算机执行的示例过程。图8和图9各自以简化的示意性格式示出,用于说明清楚的示例,并且其他实施例可以包括以各种方式连接的更多、更少或不同的元件。图8和图9各自旨在公开可以用于实施一个或多个计算机程序或其他软件元素的算法、规划或概要,这些计算机程序或其他软件元素在被执行时使本文描述的功能改进和技术进步得以执行。此外,本文的流程图以与本领域普通技术人员通常就形成他们计划使用其积累的技术或知识进行编写或实施的软件程序的基础的算法、规划或规范而相互交流所使用的相同的详细程度进行描述。
[0081]
参考图8,在一些实施例中,在步骤802中,服务器被编程为接收包括来自多个音频源的音频信号的混合音频信号。该多个音频信号中的每一个音频信号可以包括时域中的波形。
[0082]
在一些实施例中,在步骤804中,服务器被编程为通过具有多个卷积层和非线性激活的编码器卷积神经网络(cnn)将混合音频信号变换为编码表示。
[0083]
在一些实施例中,编码器cnn包括具有线性激活或无激活的卷积层。在其他实施例中,编码器cnn包括进行1-d卷积运算的卷积层。
[0084]
在一些实施例中,非线性激活包括prelu、glu、归一化的glu、渗漏relu、s形函数或tanh函数。在其他实施例中,编码器cnn包括三个卷积层,该三个卷积层中的每个卷积层都具有非线性激活。
[0085]
在一些实施例中,编码器cnn包括具有残差连接和跳跃连接的一个或多个卷积层。编码器cnn可以进一步包括在具有残差连接和跳跃连接的一个或多个卷积层之后的非线性激活。另外,该一个或多个卷积层中的卷积层可以包括一个或多个非线性激活函数。
[0086]
在一些实施例中,在步骤806中,服务器被编程为将编码表示分离成与多个音频源相对应的多个单独表示。分离可以由包括堆叠的膨胀卷积块的分离器cnn执行。
[0087]
在一些实施例中,在步骤808中,服务器被编程为通过具有多个卷积层和非线性激活的解码器cnn将多个单独表示变换为与多个音频源相对应的多个音频信号。解码器cnn的结构可以对应于编码器cnn的结构。
[0088]
在一些实施例中,服务器被编程为接收与多个音频源相对应的多个样本音频信号。服务器被编程为使用包括si-snr的目标函数通过置换不变训练从多个采样音频信号进一步构建编码器cnn。
[0089]
参考图9,在一些实施例中,在步骤902中,服务器被编程为接收包括来自多个音频源的音频信号的混合音频信号,该混合音频信号跨时域中的某一时间范围。
[0090]
在一些实施例中,在步骤904中,服务器被编程为将混合音频信号划分为多个特定长度的片段,该多个片段中的至少两个片段跨时域中时间范围的重叠子范围。
[0091]
在一些实施例中,在步骤906中,服务器被编程为将编码器cnn应用于该多个片段中的每个片段以生成该片段的编码表示,该编码器cnn具有多个卷积层和非线性激活。
[0092]
在一些实施例中,非线性激活包括prelu、glu、归一化的glu、渗漏relu、s形函数或
tanh函数。在其他实施例中,编码器cnn包括三个卷积层,该三个卷积层中的每个卷积层都具有非线性激活。在又其他的实施例中,编码器cnn包括具有残差连接和跳跃连接的一个或多个卷积层。
[0093]
在一些实施例中,在步骤908中,服务器被编程为将多个片段的多个编码表示传输到分离器,以生成与多个音频源相对应的多个单独表示。
[0094]
在一些实施例中,服务器被编程为从分离器接收多个单独表示。服务器进一步被编程为将解码器cnn应用于多个单独表示中的每个单独表示以生成跨时间范围的音频信号,该解码器cnn具有多个卷积层和非线性激活。服务器接下来被编程为传输多个音频信号。
[0095]
5.实验结果
[0096]
使用具有i个层的示例性非线性深度编码器/解码器进行实验。第一层等效于原始的conv-tasnet编码器,其中,将线性变换应用于长度为l且步幅为s的帧。它是经由具有n个内核的1-d卷积层实施的。第一层后跟i-1个1-d卷积层的堆叠,其中,每一层都有n个大小为n
×
3的内核和一个上述根据等式3(如下所示)的prelu。
[0097]ei
=prelu(ui*e
i-1
),(3)
[0098]
其中,*表示卷积算子,i=2,3,...,i表示卷积层索引,ui∈rn×n×g表示n个可学习内核,e1是1-d卷积304的输出,并且ei∈rn×k是第i个卷积层的输出。
[0099]
示例性非线性深度编码器/解码器的第一变体通过采用膨胀卷积来增加深层的时间上下文。
[0100]
如上所述,示例性非线性深度编码器/解码器的第二变体通过使用glu代替prelu作为激活函数来进一步增加容量。此外,在glu中在s形非线性之前插入了全局层归一化以加速训练。
[0101]
在第一实验中,在本领域技术人员已知的普遍使用的wsj02-speaker(wsj0-2mix)数据库上对非线性深度编码器/解码器及其用于语音源分离的变体的表现进行评估。第一实验的结果总结在以下表1中。
[0102]
表1.所研究的变体的概述及其在wsj0-2mix评估集上的表现。目标函数是si-snr。
[0103][0104]
训练集合(30小时)和验证集合(10小时)是通过以随机选择的介于-5db到5db之间的snr随机混合来自100个说话者的话语来创建的。所有波形均以8000hz采样。表1总结了对测试集合(5小时,16个未见过的说话者)进行语音分离之前和之后的si-snr改进(si-snri)。首先,原始的conv-tasnet被成功复制以在他们的结果基础上发展(表1第1行)。其次,请注意bigconv-tasnet(表1,第2行),即,经修改的conv-tasnet,具有数量增加一倍的内核滤波器以及在分离器中的四个(而不是三个)时域卷积网络(tcn),不能优于原始的
conv-tasnet。并且第三,深度编码器/解码器(表1第3行)比基线提供了0.7db的改进。这个结果表明了架构本身的重要性,因为通过简单地增加模型的容量并没有改进客观指标。因此,在表1中可以看出,非线性深度编码器/解码器及其变体显著优于原始的conv-tasnet和bigconv-tasnet。
[0105]
6.硬件实施方式
[0106]
根据一个实施例,本文所描述的技术由至少一个计算设备实施。可以使用至少一个服务器计算机和/或利用网络(如分组数据网络)耦接的其他计算设备的组合来全部或部分地实施这些技术。计算设备可以是硬接线的,以用于执行这些技术,或者可以包括如被持久地编程为执行这些技术的至少一个专用集成电路(asic)或现场可编程门阵列(fpga)等数字电子设备,或者可以包括被编程为根据固件、存储器、其他存储装置或组合中的程序指令执行这些技术的至少一个通用硬件处理器。这种计算设备也可以将定制的硬接线逻辑、asic或fpga与定制编程相结合来实现这些所描述技术。计算设备可以是服务器计算机、工作站、个人计算机、便携式计算机系统、手持设备、移动计算设备、可穿戴设备、身体安装或可植入设备、智能手机、智能电器、网络互联设备、如机器人或无人驾驶地面或空中交通工具等自主或半自主设备、并入硬接线和/或程序逻辑以实施所描述的技术的任何其他电子设备、数据中心中的一个或多个虚拟计算机器或实例、和/或服务器计算机和/或个人计算机的网络。
[0107]
图1010是图示了可以用其实施实施例的示例计算机系统的框图。在图10的示例中,以与本公开所属领域的普通技术人员普遍使用的就计算机架构和计算机系统实施方式进行交流的相同详细程度将计算机系统1000和用于在硬件、软件或硬件和软件的组合中实施所公开技术的指令示意性地表示为例如框和圆。
[0108]
计算机系统1000包括输入/输出(i/o)子系统1002,其可以包括用于通过电子信号路径在计算机系统1000的部件之间传送信息和/或指令的总线和/或其他(多个)通信机制。i/o子系统1002可以包括i/o控制器、存储器控制器和至少一个i/o端口。电子信号路径在附图中示意性地表示为例如线、单向箭头或双向箭头。
[0109]
至少一个硬件处理器1004耦接到用于处理信息和指令的i/o子系统1002。硬件处理器1004可以包括例如通用微处理器或微控制器和/或如嵌入式系统或图形处理单元(gpu)或数字信号处理器或arm处理器等专用微处理器。处理器1004可以包括集成算术逻辑单元(alu)或者可以耦接到分离的alu。
[0110]
计算机系统1000包括存储器1006的一个或多个单元,如主存储器,该主存储器耦接到i/o子系统1002从而以电子数字方式存储要由处理器1004执行的数据和指令。存储器1006可以包括易失性存储器(如各种形式的随机存取存储器(ram))或其他动态存储设备。存储器1006还可以用于存储在执行要由处理器1004执行的指令期间的临时变量或其他中间信息。在被存储于处理器1004可访问的非暂态计算机可读存储介质中时,这种指令可以使计算机系统1000变成被定制用于执行在指令中指定的操作的专用机器。
[0111]
计算机系统1000进一步包括非易失性存储器(如只读存储器(rom)1008)或耦接到i/o子系统1002以存储处理器1004的信息和指令的其他静态存储设备。rom 1008可以包括如可擦除prom(eprom)或电可擦除prom(eeprom)等各种形式的可编程rom(prom)。持久存储单元1010可以包括如闪速存储器或固态存储设备、磁盘或光盘(如cd-rom或dvd-rom)等各
种形式的非易失性ram(nvram),并且可以耦接到i/o子系统1002以用于存储信息和指令。存储设备1010是可以用于存储指令和数据的非暂态计算机可读介质的示例,这些指令和数据在由处理器1004执行时使用于执行本文的技术的计算机实施的方法得以执行。
[0112]
存储器1006、rom 1008或存储设备1010中的指令可以包括被组织为模块、方法、对象、功能、例程或调用的一组或多组指令。指令可以被组织为一个或多个计算机程序、操作系统服务或包括移动应用的应用程序。指令可以包括操作系统和/或系统软件;支持多媒体、编程或其他功能的一个或多个库;用于实施tcp/ip、http或其他通信协议的数据协议指令或堆栈;用于解释和呈现使用html、xml、jpeg、mpeg或png编码的文件的文件处理指令;用于呈现或解释用于图形用户界面(gui)、命令行界面或文本用户界面的命令的用户界面指令;如办公套件、因特网访问应用、设计和制造应用、图形应用、音频应用、软件工程应用、教育应用、游戏或其他应用等应用软件。这些指令可以实施web服务器、web应用服务器或web客户端。指令可以被组织为表示层、应用层和如使用结构化查询语言(sql)或nosql的关系数据库系统、对象存储、图形数据库、平面文件系统或其他数据存储等数据存储层。
[0113]
计算机系统1000可以经由i/o子系统1002耦接到至少一个输出设备1012。在一个实施例中,输出设备1012为数字计算机显示器。可以在各种实施例中使用的显示器的示例包括触摸屏显示器或发光二极管(led)显示器或液晶显示器(lcd)或电子纸显示器。计算机系统1000可以包括其他(多个)类型的输出设备1012,作为显示设备的替代或补充。其他输出设备1012的示例包括打印机、票据打印机、绘图仪、投影仪、声卡或视频卡、扬声器、蜂鸣器或压电设备或其他可听设备、灯或led或lcd指示器、触觉设备、致动器或伺服器。
[0114]
至少一个输入设备1014耦接到i/o子系统1002,用于将信号、数据、命令选择或手势传送到处理器1004。输入设备1014的示例包括触摸屏、麦克风、静态和视频数码相机、字母数字键和其他键、小键盘、键盘、图形输入板、图像扫描仪、操纵杆、时钟、开关、按钮、刻度盘、滑动装置和/或如力传感器、运动传感器、热传感器、加速度计、陀螺仪和惯性测量单元(imu)传感器等各种类型的传感器和/或如无线(例如蜂窝或wi-fi)收发器、射频(rf)收发器或红外线(ir)收发器和全球定位系统(gps)收发器等各种类型的收发器。
[0115]
另一种类型的输入设备是控制设备1016,其可以执行光标控制或其他自动控制功能,如在显示屏上的图形界面中导航,作为输入功能的替代或补充。控制设备1016可以是触摸板、鼠标、轨迹球或光标方向键,以用于将方向信息和命令选择传送到处理器1004并用于控制在显示器1012上的光标移动。该输入设备可以具有在两条轴线(第一轴线(例如,x轴)和第二轴线(例如,y轴))上的至少两个自由度,允许设备在某个平面中指定方位。另一种类型的输入设备是有线控制设备、无线控制设备或光学控制设备,如操纵杆、棒、控制台、方向盘、踏板、换挡机构或其他类型的控制设备。输入设备1014可以包括多个不同输入设备的组合,如摄像机和深度传感器。
[0116]
在另一实施例中,计算机系统1000可以包括物联网(iot)设备,其中,省略了输出设备1012、输入设备1014和控制设备1016中的一个或多个。或者,在这样的实施例中,输入设备1014可以包括一个或多个相机、运动检测器、温度计、麦克风、地震检测器、其他传感器或检测器、测量设备或编码器,并且输出设备1012可以包括如单线led或lcd显示器、一个或多个指示器、显示面板、仪表、阀门、螺线管、致动器或伺服器等专用显示器。
[0117]
当计算机系统1000是移动计算设备时,输入设备1014可以包括耦接到gps模块的
全球定位系统(gps)接收器,该gps模块能够对多个gps卫星进行三角测量、确定并生成地理位置或位置数据,如计算机系统1000的地球物理位置的纬度-经度值。输出设备1012可以包括硬件、软件、固件和接口,用于单独或与其他应用特定数据组合而生成指向主机1024或服务器1030的位置报告分组、通知、脉冲或心跳信号、或指定计算机系统1000的位置的其他重复数据传输。
[0118]
计算机系统1000可以使用定制的硬接线逻辑、至少一个asic或fpga、固件和/或程序指令或逻辑来实施本文所描述的技术,该定制的硬接线逻辑、至少一个asic或fpga、固件和/或程序指令或逻辑当被加载并使用或执行时与计算机系统相结合使计算机系统作为专用机器而运行。根据一个实施例,响应于处理器1004执行包含在主存储器1006中的至少一个指令的至少一个序列,计算机系统1000执行本文中的技术。这种指令可以从另一个存储介质(如存储设备1010)读取到主存储器1006中。包含在主存储器1006中的指令序列的执行使处理器1004执行本文所描述的过程步骤。在替代实施例中,可以使用硬接线电路来代替软件指令或者与软件指令相结合。
[0119]
如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,如存储设备1010。易失性介质包括动态存储器,如存储器1006。存储介质的常见形式包括例如硬盘、固态驱动器、闪存驱动器、磁数据存储介质、任何光数据存储介质或物理数据存储介质、存储芯片等。
[0120]
存储介质不同于传输介质但可以与传输介质结合使用。传输介质参与存储介质之间的信息传递。例如,传输介质包括同轴电缆、铜线和光纤,包括包含i/o子系统的总线1002的导线。传输介质还可以采用声波或光波的形式,如在无线电波和红外数据通信期间生成的声波或光波。
[0121]
各种形式的介质可以涉及将至少一个指令的至少一个序列载送到处理器1004以供执行。例如,指令最初可以携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载至其动态存储器并且使用调制解调器通过如光纤或同轴电缆或电话线等通信链路来发送这些指令。计算机系统1000本地的调制解调器或路由器可以接收通信链路上的数据并转换该数据以供计算机系统1000读取。例如,如射频天线或红外检测器等接收器可以接收在无线或光信号中携带的数据,并且适当的电路系统可以将数据提供给i/o子系统1002,如将数据放在总线上。i/o子系统1002将数据载送至存储器1006,处理器1004从其中取得并执行指令。存储器1006接收的指令可以可选地在由处理器1004执行之前或之后存储在存储设备1010上。
[0122]
计算机系统1000还包括耦接到总线1002的通信接口1018。通信接口1018提供到(多个)网络链路1020的双向数据通信耦接,该(多个)网络链路直接或间接连接到如网络1022或因特网上的公共云或私有云等至少一个通信网络。例如,通信接口1018可以是以太网网络接口、综合业务数字网(isdn)卡、电缆调制解调器、卫星调制解调器、或调制解调器,以向对应类型的通信线(例如,以太网电缆或任何种类的金属电缆或光纤线或电话线)提供数据通信连接。网络1022广泛地表示局域网(lan)、广域网(wan)、校园网、因特网或其任何组合。通信接口1018可以包括提供到兼容lan的数据通信连接的lan卡,或根据蜂窝无线电话无线网络标准有线发送或接收蜂窝数据的蜂窝无线电话接口,或根据卫星无线网络标准
有线发送或接收数字数据的卫星无线电接口。在任何这种实施方式中,通信接口1018通过信号路径发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
[0123]
网络链路1020通常使用例如卫星、蜂窝、wi-fi或蓝牙技术直接或通过至少一个网络向其他数据设备提供电数据通信、电磁数据通信或光数据通信。例如,网络链路1020可以提供通过网络1022到主机计算机1024的连接。
[0124]
此外,网络链路1020可以提供通过网络1022的连接或经由因特网服务提供商(isp)1026操作的因特网设备和/或计算机到其他计算设备的连接。isp 1026通过世界范围的分组数据通信网络(表示为因特网1028)提供数据通信服务。服务器计算机1030可以耦接到因特网1028。服务器1030广泛地表示任何计算机、数据中心、具有或不具有管理程序的虚拟机或虚拟计算实例、或执行如docker或kubernetes等容器化程序系统的计算机。服务器1030可以表示使用多于一个计算机或实例实施的且通过传输web服务请求、具有http有效负载中的参数的统一资源定位符(url)字符串、api调用、应用服务调用、或其他服务调用来访问和使用的电子数字服务。计算机系统1000和服务器1030可以形成包括其他计算机、处理集群、服务器群或协作执行任务或执行应用或服务的其他计算机组织的分布式计算系统的元件。服务器1030可以包括被组织为模块、方法、对象、功能、例程或调用的一组或多组指令。指令可以被组织为一个或多个计算机程序、操作系统服务或包括移动应用的应用程序。指令可以包括操作系统和/或系统软件;支持多媒体、编程或其他功能的一个或多个库;用于实施tcp/ip、http或其他通信协议的数据协议指令或堆栈;用于解释或呈现使用html、xml、jpeg、mpeg或png编码的文件的文件格式处理指令;用于呈现或解释用于图形用户界面(gui)、命令行界面或文本用户界面的命令的用户界面指令;如办公套件、因特网访问应用、设计和制造应用、图形应用、音频应用、软件工程应用、教育应用、游戏或其他应用等应用软件。服务器1030可以包括托管表示层、应用层和如使用结构化查询语言(sql)或nosql的关系数据库系统、对象存储、图形数据库、平面文件系统或其他数据存储等数据存储层的web应用服务器。
[0125]
计算机系统1000可以通过(多个)网络、网络链路1020和通信接口1018发送消息和接收数据和指令,包括程序代码。在因特网示例中,服务器1030可以通过因特网1028、isp 1026、本地网络1022和通信接口1018传输应用程序的请求代码。所接收的代码可以在被接收到时由处理器1004执行,和/或存储在存储设备1010、或其他非易失性存储器中以供稍后执行。
[0126]
本节中描述的指令的执行可以实施呈被执行的、且由程序代码及其当前活动构成的计算机程序实例的形式的进程。根据操作系统(os),进程可以由同时执行指令的多个执行线程组成。在这种上下文中,计算机程序是指令的被动集合,而进程可以是这些指令的实际执行。数个进程可以与相同程序相关联;例如,打开同一程序的数个实例通常意味着执行多于一个进程。可以实施多任务以允许多个进程共享处理器1004。虽然每个处理器1004或处理器的核心每次执行单个任务,但是计算机系统1000可以被编程为实施多任务处理以允许每个处理器在被执行的任务之间切换而不必等待每个任务完成。在实施例中,可以在任务执行输入/输出操作时、当任务指示它可以被切换或者在硬件中断时执行切换。通过快速执行上下文切换以出现多个进程同时并发执行,可以实施分时以允许交互式用户应用的快速响应。在实施例中,为了安全性和可靠性,操作系统可以防止独立进程之间的直接通信,
提供严格中介和受控的进程间通信功能。
[0127]
7.扩展和替代方案
[0128]
在前述说明书中,已经参考许多具体细节描述了本公开的实施例,这些细节可以根据实施方式而变化。因此,应当从说明性而非限制性意义上看待本说明书和附图。指明本公开范围以及本公开范围内申请人的发明意图的唯一且排他性指示是从本技术中产生的这套权利要求以该权利要求发布的具体形式、包括任何后续修改的字面上的以及等效的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献