用于语音增强的高斯加权自注意力的方法和系统与流程
本申请基于并要求于2019年5月8日提交并被分配序列号62/844,954的美国临时专利申请和于2019年10月2日提交并被分配序列号16/591,117的美国专利申请的优先权,所述专利申请的全部内容通过引用包含于此。
本公开总体上涉及一种语音处理系统。具体地,本公开涉及一种用于提供用于语音增强的具有高斯加权自注意力(gaussianweightedself-attention)的变换器的系统和方法。
背景技术:
变换器使用自注意力在整个输入序列上并行地计算逐符号相关性,逐符号相关性用于预测目标与相邻上下文符号之间的相似性比率。预测的比率由柔性最大(softmax)函数进行归一化,并且用于组合用于下一层输出的输入上下文符号。
与循环网络(诸如,长短期记忆(lstm)或门控循环单元(gru))相比,变换器可被配置为并行化操作,但是对于具有相同的路径长度的所有上下文符号也是透明的。路径长度是针对操作进行遍历(traverse)的步骤数,并且路径长度越短,它们之间的学习依赖性变得越容易。典型的循环模型需要与其符号距离成比例的路径长度。相反,变换器在整个上下文符号上具有恒定的路径长度,这是变换器中的优势之一。
通过呈现技术性能的状态,变换器最近已经在许多神经语言编程(nlp)任务上替换了循环网络(例如,lstm、gru)。然而,还没有报告变换器在语音或图像降噪问题上表现出性能。主要问题是语音降噪问题不同于典型的nlp任务,并且变换器中的等路径长度注意力模型与语音信号的物理特性不兼容。例如,噪声或信号相关性随着两个相关分量之间的距离变大而减小。因此,自注意力可意外地与位于远处的上下文具有高相关性。
技术实现要素:
根据一个实施例,一种方法包括:接收输入噪声信号;基于接收到的输入噪声信号来生成分数矩阵;和将高斯加权函数应用于生成的分数矩阵。
根据一个实施例,一种系统包括:存储器和处理器,处理器被配置为:接收输入噪声信号;基于接收到的输入噪声信号来生成分数矩阵;和将高斯加权函数应用于生成的分数矩阵。
附图说明
从下面的结合附图的详细描述,本公开的特定实施例的以上和其它方面、特征和优点将更加明显,其中:
图1示出根据实施例的用于语音增强的高斯加权自注意力的方法的流程图;
图2示出根据实施例的用于语音增强的高斯加权自注意力的系统的示图;以及
图3示出根据一个实施例的网络环境中的电子装置的框图。
具体实施方式
在下文中,参照附图详细描述本公开的实施例。应注意,尽管相同的元件在不同的附图中示出,但是相同的元件将由相同的参考标号指定。在下面的描述中,具体细节(诸如,详细的配置和组件)仅被提供以帮助对本公开的实施例的总体理解。因此,本领域技术人员应清楚,在不脱离本公开的范围的情况下,可进行在此描述的实施例的各种改变和修改。另外,为了清楚和简明,省略了对公知的功能和构造的描述。以下描述的术语是考虑到本公开中的功能而定义的术语,并且可根据用户、用户的意图和/或习惯而不同。因此,术语的定义应基于贯穿本说明书的内容来确定。
本公开可具有各种修改和各种实施例,以下参照附图详细描述其中的实施例。然而,应理解,本公开不限于这些实施例,而是包括在本公开的范围内的所有修改、等同物和替换物。
尽管包括序数(诸如,第一、第二等)的术语可用于描述各种元件,但是结构元件不受这些术语限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不脱离本公开的范围的情况下,第一结构元件可被称为第二结构元件。类似地,第二结构元件也可被称为第一结构元件。如在此使用的,术语“和/或”包括一个或多个相关项的任何组合和所有组合。
在此使用的术语仅用于描述本公开的各种实施例,而不意在限制本公开。除非上下文另外清楚地指示,否则单数形式意在包括复数形式。在本公开中,应理解,术语“包括”或“具有”指示存在特征、数量、步骤、操作、结构元件、部件或它们的组合,并且不排除存在或可能添加一个或多个其它特征、数量、步骤、操作、结构元件、部件或它们的组合。
除非不同地定义,否则在此使用的所有术语具有与本公开所属领域的技术人员理解的含义相同的含义。除非在本公开中清楚地定义,否则术语(诸如在通用字典中定义的术语)将被解释为具有与在相关技术领域的上下文含义相同的含义,并且将不被解释为具有理想化或过于形式化的含义。
根据一个实施例的电子装置可以是各种类型的电子装置之一。例如,电子装置可包括便携式通信装置(例如,智能电话)、计算机、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据公开的一个实施例,电子装置不限于以上描述的电子装置。
本公开中使用的术语不意在限制本公开,而是意在包括对应实施例的各种改变、等同物或替换物。关于附图的描述,相似的参考标号可用于表示相似的或相关的元件。除非相关上下文另外清楚地指示,否则与项目对应的名词的单数形式可包括一个或多个事物。如在此使用的,如“a或b”、“a和b中的至少一个”、“a或b中的至少一个”、“a、b或c”、“a、b和c中的至少一个”以及“a、b或c中的至少一个”的这样的短语中的每个可包括与短语中的对应短语中一起枚举的项目的所有可能的组合。如在此使用的,诸如“第1”、“第2”、“第一”以及“第二”的术语可用于将对应组件与另一组件区分开,而不意在在其它方面(例如,重要性或顺序)限制组件。意图是,如果元件(例如,第一元件)在具有或没有术语“可操作地”或“通信地”的情况下被称为“与”另一元件(例如,第二元件)“结合”、“结合到”另一元件、“与”另一元件“连接”、或“连接到”另一元件,则指示该元件可直接(例如,有线地)、无线地或经由第三元件与另一元件结合。
如在此使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并且可与其它术语(例如,“逻辑”、“逻辑块”、“部件”或“电路”)互换使用。模块可以是适于执行一个或多个功能的单个集成组件或者是它的最小单元或部件。例如,根据一个实施例,可以以专用集成电路(asic)的形式来实现模块。
在一个实施例中,本系统和方法提供用于语音去噪的高斯加权自注意力。对于自注意力,在应用柔性最大(softmax)函数之后使用查询(query)和键(或关键字、关键词,key)相关性来生成注意力权重。
图1示出根据实施例的用于语音增强的高斯加权自注意力的方法的流程图100。在102,系统接收输入噪声信号。
图2示出根据实施例的用于语音增强的高斯加权自注意力的系统的示图。例如,系统200接收输入噪声信号202。
在104,系统基于接收到的输入噪声信号来生成分数矩阵。例如。系统200通过三个单独的批量矩阵乘法运算204、206和208来处理输入噪声信号202,三个单独的批量矩阵乘法运算204、206和208分别接收用于与输入噪声信号202进行乘法运算的可训练参数wq、wk、wv。v表示值矩阵,k表示键矩阵(keymatrix),q表示查询矩阵(querymatrix)。b表示批量大小,s表示序列大小,d表示输入维度。系统200通过各自的重塑(reshape)运算210、212和214来处理参数wq、wk和wv,重塑运算210、212和214根据注意力头(attentionhead)h的数量来划分输入维数。系统200将关于wq参数的重塑运算210的输出和关于wk参数的重塑运算212的输出处理成批量矩阵乘法运算216,批量矩阵乘法运算216产生如等式(1)中的分数矩阵:
其中,qh是查询矩阵,
qh=reshape(wqv)(2)
kh=reshape(wkv)(3)
vh=reshape(wvv)(4)
其中,qh和kh具有相同的维数(b*h)×s×(d/h),并且“*”表示卷积运算。
在106,系统将高斯加权函数应用于生成的分数矩阵。
例如,系统200将分数矩阵与高斯加权(g.w.)函数218相乘以淡化(fadeout)与其到目标帧的距离成比例的分数。高斯加权函数包括高斯加权矩阵,并且高斯加权矩阵可如等式(5)中那样来构造。
在此,i,j=1、2、……、s,s是正整数,并且其中,σ是大于0的实数。高斯矩阵的对角线具有最大值,并且对角线的权重从左到右相等地衰减。如等式(6)中,等式(5)中的高斯矩阵与分数矩阵按元素相乘。
系统200可如等式(7)中那样应用高斯加权函数,其中,oi表示应用高斯加权函数的结果或输出。
oi=(softmax(g⊙|sh|))vh(7)
等式(7)是高斯矩阵与分数矩阵的绝对值的按元素相乘。对于等式(7),sh的绝对值被用于softmax输入,并且sh的符号在softmax输出之后被补偿。这种两步法的原因是:与典型的nlp任务不同,信号估计中的负相关性与正相关性同样重要。应用softmax函数之前的高斯加权使相关性值衰减,而不管相关性值的符号。通过取分数的绝对值,自注意力将仅取决于分数大小。之后,当vh矩阵被组合时,系统通过与符号矩阵sign(sh)相乘来补偿分数的符号。
系统200可如等式(8)中那样应用高斯加权函数。
oi=(softmax(g⊙|sh|)⊙sign(sh))vh(8)
等式(8)是高斯矩阵与分数矩阵的绝对值的按元素相乘,分数矩阵的符号在应用softmax函数之后被补偿。等式(8)随后不补偿符号。由于vh、qh、kh是可训练矩阵,因此即使没有显式的符号补偿,它们也可找到合适的符号。
系统200可如等式(9)中那样应用高斯加权函数。
oi=(softmax(g⊙sh))vh(9)
等式(9)是高斯矩阵与分数矩阵的按元素相乘。等式(9)通过期望分数函数可学习翻转(flip)负号而不采用分数矩阵的绝对函数。等式(7)、(8)和(9)中的每个应用图2中所示的softmax运算220。系统使用softmax运算220的输出和重塑运算214的输出来执行批量矩阵乘法222。系统对批量矩阵乘法222的输出执行重塑运算224。系统使用重塑运算224的输出和wout来执行批量矩阵乘法运算226以产生输出228。
可选地,如等式(10)中,高斯加权函数218可在softmax运算220之后被应用。
在等式(10)中,因为负相关性将在softmax函数被应用之后被忽略,所以正相关被使用。
图3示出根据一个实施例的网络环境300中的电子装置301的框图。参照图3,网络环境300中的电子装置301可经由第一网络398(例如,短距离无线通信网络)与电子装置302通信,或者经由第二网络399(例如,长距离无线通信网络)与电子装置304或服务器308通信。电子装置301可经由服务器308与电子装置304通信。电子装置301可包括处理器320、存储器330、输入装置350、声音输出装置355、显示装置360、音频模块370、传感器模块376、接口377、触觉模块379、相机模块380、电源管理模块388、电池389、通信模块390、用户识别模块(sim)396和/或天线模块397。在一个实施例中,可从电子装置301省略组件中的至少一个(例如,显示装置360或相机模块380),或者可将一个或多个其它组件添加到电子装置301。在一个实施例中,组件中的一些组件可被实现为单个集成电路(ic)。例如,传感器模块376(例如,指纹传感器、虹膜传感器或照度传感器)可被嵌入在显示装置360(例如,显示器)中。
处理器320可执行例如软件(例如,程序340)以控制电子装置301的与处理器320连接的至少一个其它组件(例如,硬件组件或软件组件),并且可执行各种数据处理或计算。作为数据处理或计算的至少部分,处理器320可将从另一组件(例如,传感器模块376或通信模块390)接收的命令或数据加载到易失性存储器332中,处理存储在易失性存储器332中的命令或数据,并且将结果数据存储在非易失性存储器334中。处理器320可包括主处理器321(例如,中央处理器(cpu)或应用处理器(ap))和辅助处理器323(例如,图形处理器(gpu)、图像信号处理器(isp)、传感器集线器处理器或通信处理器(cp)),辅助处理器323可独立于主处理器321操作,或者与主处理器321一起操作。附加地或可选地,辅助处理器323可适于比主处理器321消耗更少的电力,或者执行特定功能。辅助处理器323可被实现为与主处理器321分离,或者被实现为主处理器321的部分。
辅助处理器323可在主处理器321处于非活动(例如,睡眠)状态时代替主处理器321,或者在主处理器321处于活动状态(例如,执行应用)时与主处理器321一起,控制与电子装置301的组件中的至少一个组件(例如,显示装置360、传感器模块376或通信模块390)相关的功能或状态中的至少一些。根据一个实施例,辅助处理器323(例如,图像信号处理器或通信处理器)可被实现为与辅助处理器323功能上相关的另一组件(例如,相机模块380或通信模块390)的部分。
存储器330可存储由电子装置301中的至少一个组件(例如,处理器320或传感器模块376)使用的各种数据。各种数据可包括例如软件(例如,程序340)和针对与其相关的命令的输入数据或输出数据。存储器330可包括易失性存储器332和/或非易失性存储器334。
程序340可作为软件存储在存储器330中,并且可包括例如操作系统(os)342、中间件344和/或应用346。
输入装置350可从电子装置301的外部(例如,用户)接收将由电子装置301的其它组件(例如,处理器320)使用的命令或数据。输入装置350可包括例如麦克风、鼠标和/或键盘。
声音输出装置355可将声音信号输出到电子装置301的外部。声音输出装置355可包括例如扬声器和/或接收器。扬声器可用于一般目的(诸如,播放多媒体或记录),并且接收器可用于接收来电呼叫。根据一个实施例,接收器可被实现为与扬声器分离,或者作为扬声器的部分来实现。
显示装置360可视觉地向电子装置301的外部(例如,用户)提供信息。显示装置360可包括例如显示器、全息图装置和/或投影仪以及用于控制显示器、全息图装置和投影仪中的对应一个的控制电路。根据一个实施例,显示装置360可包括适于检测触摸的触摸电路,或者适于测量由触摸引起的力的强度的传感器电路(例如,压力传感器)。
音频模块370可将声音转换为电信号,反之亦然。根据一个实施例,音频模块370可经由输入装置350获得声音,或者经由声音输出装置355或者与电子装置301直接(例如,有线地)或无线地连接的外部电子装置302的耳机来输出声音。
传感器模块376可检测电子装置301的操作状态(例如,功率或温度)或电子装置301外部的环境状态(例如,用户的状态),然后生成与检测的状态对应的电信号或数据值。传感器模块376可包括例如姿态传感器、陀螺仪传感器、大气压力传感器、磁传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(ir)传感器、生物计量传感器、温度传感器、湿度传感器和/或照度传感器。
接口377可支持将用于电子装置301与外部电子装置302直接(例如,有线地)或无线地连接的一个或多个特定协议。根据一个实施例,接口377可包括例如高清晰度多媒体接口(hdmi)、通用串行总线(usb)接口、安全数字(sd)卡接口和/或音频接口。
连接端子378可包括连接器,电子装置301可经由连接器与外部电子装置302物理连接。根据一个实施例,连接端子378可包括例如hdmi连接器、usb连接器、sd卡连接器和/或音频连接器(例如,耳机连接器)。
触觉模块379可将电信号转换为可经由触觉或动觉被用户识别的机械刺激(例如,振动或移动)或电刺激。根据一个实施例,触觉模块379可包括例如电机、压电元件和/或电刺激器。
相机模块380可捕获静止图像或运动图像。根据一个实施例,相机模块380可包括一个或多个镜头、图像传感器、图像信号处理器和/或闪光灯。
电源管理模块388可管理供应给电子装置301的电力。电源管理模块388可被实现为例如电源管理集成电路(pmic)的至少部分。
电池389可向电子装置301的至少一个组件供应电力。根据一个实施例,电池389可包括例如不可再充电的一次电池、可再充电的二次电池或燃料电池。
通信模块390可支持在电子装置301与外部电子装置(例如,电子装置302、电子装置304或服务器308)之间建立直接(例如,有线)通信信道或无线通信信道,并且支持经由建立的通信信道执行通信。通信模块390可包括可独立于处理器320(例如,ap)进行操作并且支持直接(例如,有线)通信或无线通信的一个或多个通信处理器。根据一个实施例,通信模块390可包括无线通信模块392(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(gnss)通信模块)或有线通信模块394(例如,局域网(lan)通信模块或电力线通信(plc)模块)。这些通信模块中的对应的模块可经由第一网络398(例如,短距离通信网络(诸如,蓝牙(bluetoothtm)、无线保真(wi-fi)直连或红外数据协会(irda)的标准))或第二网络399(例如,长距离通信网络(诸如,蜂窝网络、互联网或计算机网络(例如,lan或广域网(wan)))与外部电子装置通信。这些各种类型的通信模块可被实现为单个组件(例如,单个ic),或者可被实现为彼此分离的多个组件(例如,多个ic)。无线通信模块392可使用存储在用户识别模块396中的用户信息(例如,国际移动用户标识(imsi))来标识和认证通信网络(诸如,第一网络398或第二网络399)中的电子装置301。
天线模块397可向电子装置301的外部(例如,外部电子装置)发送信号或电力,或者从电子装置301的外部(例如,外部电子装置)接收信号或电力。根据一个实施例,天线模块397可包括一个或多个天线,由此,适合于在通信网络(诸如,第一网络398或第二网络399)中使用的通信方案的至少一个天线可例如通过通信模块390(例如,无线通信模块392)被选择。然后,可经由选择的至少一个天线在通信模块390与外部电子装置之间发送或接收信号或电力。
上述组件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(gpio)、串行外围接口(spi)或移动工业处理器接口(mipi))相互连接并且在它们之间传递信号(例如,命令或数据)。
根据一个实施例,可经由与第二网络399连接的服务器308在电子装置301与外部电子装置304之间发送或接收命令或数据。电子装置302和304中的每个可以是与电子装置301相同类型或不同类型的装置。将在电子装置301处执行的操作的全部或一些可在外部电子装置302、外部电子装置304或外部电子装置308中的一个或多个处执行。例如,如果电子装置301应自动或者响应于来自用户或另一装置的请求来执行功能或服务,则电子装置301可请求一个或多个外部电子装置执行功能或服务的至少部分来代替执行功能或服务,或者除了执行功能或服务之外,电子装置301还可请求一个或多个外部电子装置执行功能或服务的至少部分。接收到请求的一个或多个外部电子装置可执行请求的功能或服务的至少部分或者与请求相关的附加功能或附加服务,并且将执行的结果传送到电子装置301。电子装置301可在对结果进行或不进行进一步处理的情况下提供结果,作为对请求的回复的至少部分。为此,例如,云计算、分布式计算或客户端-服务器计算技术可被使用。
一个实施例可被实现为软件(例如,程序340),软件包括存储在存储介质(例如,内部存储器336或外部存储器338)中的可由机器(例如,电子装置301)读取的一个或多个指令。例如,电子装置301的处理器可调用存储在存储介质中的一个或多个指令中的至少一个指令,并且在处理器的控制下使用或不使用一个或多个其它组件来执行至少一个指令。因此,机器可被操作以根据调用的至少一个指令执行至少一个功能。一个或多个指令可包括由编译器生成的代码或可由解释器执行的代码。机器可读存储介质可以以非暂时性存储介质的形式来提供。术语“非暂时性”指示存储介质是有形装置,并且不包括信号(例如,电磁波),但是这个术语不区分数据被半永久性地存储在存储介质中的情况和数据被临时存储在存储介质中的情况。
根据一个实施例,可在计算机程序产品中包括并提供公开的方法。计算机程序产品可在卖方与买方之间作为产品被交易。计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(cd-rom))的形式分发,或者经由应用商店(例如,playstoretm)在线分发(例如,下载或上传),或者直接在两个用户装置(例如,智能电话)之间分发。如果在线分发,则计算机程序产品的至少部分可临时生成或至少临时存储在机器可读存储介质(诸如,制造商的服务器、应用商店的服务器或中继服务器的存储器)中。
根据一个实施例,上述组件中的每个组件(例如,模块或程序)可包括单个实体或多个实体。可省略上述组件中的一个或多个,或者可添加一个或多个其它组件。可选地或附加地,多个组件(例如,模块或程序)可被集成到单个组件中。在这种情况下,集成的组件仍然可以以与多个组件中的每个的一个或多个功能在集成之前由多个组件中的对应组件执行的方式相同或相似的方式执行多个组件中的每个的一个或多个功能。可顺序地、并行地、重复地或启发式地执行由模块、程序或另一组件执行的操作,或者可以以不同的顺序执行操作中的一个或多个或省略操作中的一个或多个,或者可添加一个或多个其它操作。
尽管本公开的特定实施例已经在本公开的具体实施方式中被描述,但是在不脱离本公开的范围的情况下,本公开可以以各种形式被修改。因此,本公开的范围不应仅基于描述的实施例来确定,而应基于所附权利要求及其等同物来确定。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除