数据识别方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机
技术领域
,具体而言,本申请涉及一种数据识别方法、装置、电子设备及存储介质。背景技术
随着云时代的来临,大数据吸引了越来越多的关注。大数据是指基于互联网获取到的海量的、多样化的数据集合。大数据的核心是利用数据的价值,机器学习是利用数据价值的关键技术,对于大数据而言,机器学习是不可或缺的。相反,对于机器学习而言,模型能利用的数据越多,越可能提升模型的精确性。
机器学习的基础是特征提取,通过去除不相关数据和冗余数据,能够提升机器学习效率和效果。如何从待处理的数据中提取得到表达能力更佳的特征,成为需要解决的问题。
发明内容
本申请提供了一种数据识别方法、装置及电子设备,可以解决现有技术中存在的问题。
本申请实施例提供的具体技术方案如下:
一方面,本申请实施例提供了一种数据识别方法,该方法包括:
获取待识别数据,待识别数据包括至少两个子数据;
对每个子数据进行特征提取,得到每个子数据的至少两个维度的数据特征;
基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,其中,修正权重的维度与数据特征的维度对应;
基于修正权重,对每个数据特征进行加权处理,得到加权处理后的每个数据特征;
基于加权处理后的每个数据特征,得到待识别数据的识别结果。
另一方面,本发明实施例还提供了一种数据识别装置,该装置包括:
获取模块,用于获取待识别数据,待识别数据包括至少两个子数据;
提取模块,用于对每个子数据进行特征提取,得到每个子数据的至少两个维度的数据特征;
确定模块,用于基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,其中,修正权重的维度与数据特征的维度对应;
加权模块,用于基于修正权重,对每个数据特征进行加权处理,得到加权处理后的每个数据特征;
处理模块,用于基于加权处理后的每个数据特征,得到待识别数据的识别结果。
本发明实施例还提供了一种电子设备,该电子设备包括一个或多个处理器;存储器;一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序被配置用于执行如本申请的第一方面所示的方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,当计算机程序在处理器上运行时,使得处理器可以执行如本申请的第一方面所示的方法。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种数据识别方法、装置及电子设备,基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,基于修正权重,对待识别数据的每个子数据的数据特征进行加权处理,从而实现对不同维度的相关性建模,使得可以利用待识别数据的全局信息来对不同维度的数据特征进行修正,进而实现对每个子数据的修正,让提取的数据特征指向性更强,最后基于加权处理后的每个数据特征,得到待识别数据的识别结果,由于修正数据特征后,可让提取的数据特征指向性更强,从而可以充分利用不同子数据之间的上下文信息,有效提升识别性能,达到提升整个网络的性能的目的。另外,本申请技术方案是基于不同维度的相关性建模实现的,无需依赖通道结构,因而适用于序列建模任务,可以处理包含至少两个子数据的序列形式的待识别数据。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种数据识别方法的流程示意图;
图2为本申请实施例提供的对待识别语音数据进行处理的处理过程的示意图;
图3为本申请实施例提供的数据识别装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本申请实施例提供的技术方案涉及云计算、人工智能的计算机视觉技术、自然语言处理技术以及机器学习/深度学习等技术,具体通过如下实施例进行说明。
云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
语音处理技术(Speech Technology)的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请技术方案的执行主体为计算机设备,包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。计算机设备包括用户设备与网络设备。其中,用户设备包括但不限于电脑、智能手机、PAD等;网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或于云计算的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种数据识别方法,该方法的执行主体可以为任一电子设备,可选的,可以是服务器,如图1所示,该方法包括:
步骤S101,获取待识别数据,待识别数据包括至少两个子数据;
其中,待识别数据可以是由至少两个子数据组成的序列形式的数据,例如,待识别数据可以包括语音数据、视频数据等,语音数据对应的子数据可以为对语音数据进行分帧处理之后得到的各帧数据,视频数据对应的子数据可以是视频的每一帧图像数据。待识别数据还可以是其他任何序列形式的数据或者是可以划分为序列形式的数据,本申请对此不做限定。
步骤S102,对每个子数据进行特征提取,得到每个子数据的至少两个维度的数据特征;
具体的,服务器对每个子数据进行特征提取,可以将提取出的特征作为每个子数据的数据特征。可选地,可以通过神经网络模型进行数据特征的提取,得到神经网络模型输出的较高维度的特征,作为每个子数据的数据特征。其中,神经网络模型具体可以包括深度神经网络(Deep Neural Networks,DNN)、卷积神经网络(Convolutional NeuralNetworks,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)、前馈型序列记忆网络(feed-forward sequential memory networks)等。
其中,维度可以指特征的数量,每个维度对应一个特征。至少两个维度的数据特征是指数据特征包括至少两个特征,数据特征的维度越多,该数据特征的表达越丰富。通过神经网络模型进行数据特征的提取,可以得到神经网络模型输出的较高维度的表达能力更强的特征。
步骤S103,基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重;
其中,修正权重的维度与数据特征的维度对应。在一些实施方式中,修正权重的维度与数据特征的维度对应,可以是修正权重的维度的数值与数据特征的维度的数值相同。也就是说,若修正权重包含多个权重,则修正权重的维度的数值即修正权重所包含的多个权重的数量,此时,一个权重与一个数据特征的维度对应。
在另一些实施方式中,修正权重的维度的数值也可大于或小于数据特征的维度的数值,即修正权重所包含的多个权重的数量可大于或小于数据特征的维度的数量。本实施例对此不作限定。
其中,待识别数据的不同维度的数据特征之间具有相关性,相关性可以包括不同维度的数据特征之间的依赖关系。
其中,基于不同维度的数据特征之间的相关性确定的待识别数据对应的修正权重,不同维度的数据特征各自对应的修正权重可能相同,也可能不同。在实际应用中,不同维度的数据特征是从不同维度对子数据的表达,不同维度的重要程度通常是不同的。
在一种实施方式中,基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重时,可以令重要的特征对应的权重较大,不重要的特征对应的权重较小,从而基于各维度的数据特征对应的权重得到的针对待识别数据全局的修正权重,可以对重要的数据特征进行增强,对不重要的数据特征进行抑制,从而让提取的特征指向性更强,达到提升整个网络的性能的目的。
步骤S104,基于修正权重,对每个数据特征进行加权处理,得到加权处理后的每个数据特征;
具体的,服务器将每个维度的数据特征的修正权重,与对应的每个维度的数据特征进行加权计算,得到加权后的每个数据特征,基于每个维度的数据特征的修正权重,对每个维度的数据特征进行修正,从而实现对重要的数据特征进行增强,对不重要的数据特征进行抑制,使数据特征的指向性更强。
本申请技术方案中,基于待识别数据所对应的不同维度的数据特征之间的相关性,确定每个维度的数据特征的修正权重,可以利用待识别数据中至少两个子数据所形成序列的不同维度的全局信息,来对不同维度的数据特征进行修正,实现对不同子数据的修正,从而充分利用了待识别数据的上下文信息,可以有效提升数据识别的性能。
步骤S105,基于加权处理后的每个数据特征,得到待识别数据的识别结果。
服务器基于加权处理后的每个维度的数据特征,作为待识别数据的数据特征,根据待识别数据的具体内容,以及具体应用场景,对待识别数据进行处理。
由于本实施例提供的数据识别方法可对不同维度的数据特征之间的相关性进行建模,无需依赖通道(channel)结构,使得网络可以利用整个待识别数据的全局信息,即通过不同数据特征之间的相关性得到的待识别数据对应的修正权重,来对不同维度的数据特征进行修正,使得修正后的每个数据特征(即加权处理后的每个数据特征)指向性更强,也更适用于语音识别、视频处理等序列建模任务。例如,若待识别数据为视频数据,则可以基于加权处理后的数据特征,对待识别视频数据进行图像识别,得到图像识别结果。
本申请实施例提供的数据识别方法,通过基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,并基于修正权重对每个数据特征进行加权处理,从而修正由待识别数据提取得到的数据特征,实现对不同维度的相关性建模,使得可以利用待识别数据的全局信息来对不同维度的数据特征进行修正,进而实现对每个子数据的修正,让提取的数据特征指向性更强,达到提升整个网络的性能的目的。不仅如此,由于本申请实施例是通过对不同维度的相关性建模实现的,不是对不同通道(channel)相关性的建模,无需依赖channel结构,因而本申请实施例不仅适用于有channel结构的网络,例如,CNN,还适用于无channel结构的网络,例如,DNN、LSTM、FSMN等,即可适用于任意网络结构。
服务器确定待识别数据对应的修正权重的具体实现方式见如下实施例。
在一种可能的实现方式中,基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,包括:
针对每个维度,基于每个数据特征对应同一维度的特征,得到每个维度对应的全局特征;
基于每个维度对应的全局特征之间的相关性,确定每个维度对应的权重;
基于每个维度对应的权重,得到待识别数据对应的修正权重。
在实际应用中,对于每个维度,服务器可以根据每个子数据的同一维度的数据特征,确定每个维度对应的全局特征,全局特征为反应每个子数据的该维度的特征的整体属性的特征,通过每个维度的全局特征之间的相关性,确定每个维度对应的权重,并基于每个维度对应的权重,得到待识别数据对应的修正权重,该修正权重是针对待识别数据全局的,从而可以有效利用全局信息,充分利用上下文信息,可以有效提升待识别数据的处理性能。
在一示例中,假设待识别数据包含T个子数据,每个子数据的数据特征的维度为D,则待识别数据的T*D维的数据特征X如下:
其中,矩阵中的每一行表示一个子数据的数据特征,每一列表示每个子数据的对应同一维度的特征。以第一个维度的特征为例,可以根据第一列中的a11、a21…aT1确定该维度的全局特征,确定了每个维度的全局特征之后,可以根据每个维度的全局特征之间的相关性,确定每个维度对应的权重,并基于每个维度对应的权重,得到待识别数据整体对应的修正权重。
在一种可能的实现方式中,针对每个维度,基于每个数据特征对应同一维度的特征,得到每个维度对应的全局特征,包括:
针对每个维度,对每个数据特征对应同一维度的特征进行全局池化处理,得到每个维度对应的全局特征。
在实际应用中,可以通过全局池化处理得到一个维度对应的全局特征。可选地,可以将各子数据的该同一维度的特征进行加权平均计算,得到该维度的全局特征。
在一种可能的实现方式中,针对每个维度,基于每个数据特征对应同一维度的特征,得到每个维度对应的全局特征,包括:
针对每个维度,通过神经网络模型对每个数据特征对应同一维度的特征进行全局处理,得到每个维度对应的全局特征。
在实际应用中,全局特征还可以通过神经网络模型来得到,神经网络模型具体可以是DNN、LSTM等。
可选的,可以通过DNN来得到全局特征,将如公式(1)所示的待识别数据的T*D维的数据特征输入DNN的全连接层进行处理,得到每个维度对应的全局特征。
可选的,可以通过LSTM来得到全局特征,将待识别数据的每个子数据依次输入LSTM进行处理,将最后一个子数据对应的LSTM的输出作为待识别数据的全局特征。
本申请实施例中,对每个子数据的数据特征对应同一维度的特征进行全局处理,得到每个维度对应的全局特征,并基于每个维度对应的全局特征之间的相关性,来确定每个维度对应的权重,进而得到整个待识别数据对应的修正权重,以对待识别数据的各个子数据进行修正,从而无需依赖channel结构,即可利用待识别数据的全局信息来对不同维度的数据特征进行修正,即可以处理序列形式的数据,因而本申请实施例提供的数据识别方法可以更适用于语音识别等序列建模任务,并且适用于任意网络结构,而不必局限于CNN,即将其应用范围从CNN扩展到任意网络,如CNN、DNN、LSTM等。
在一种可能的实现方式中,基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,包括:
由压缩激励网络根据不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重。
在实际应用中,可以将每个子数据的不同维度的数据特征输入压缩激励(Squeezeand Excitation,SE)网络,压缩激励网络基于不同维度的数据特征,根据不同维度的数据特征之间的相关性,确定每个维度的数据特征的权重,基于每个维度的数据特征的权重,得到待识别数据对应的修正权重。
在一种可能的实现方式中,压缩激励网络包括压缩模块和激励模块,由压缩激励网络根据不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,包括:
通过压缩模块,针对每个维度,基于每个数据特征对应同一维度的特征,得到每个维度对应的全局特征;
通过激励模块,基于每个维度对应的全局特征之间的相关性,确定待识别数据对应的修正权重。
在实际应用中,压缩激励网络可以通过不同的模块实现相应的功能,通过压缩模块对每个数据特征对应同一维度的特征进行全局池化处理,输出每个维度对应的全局特征;将每个维度对应的全局特征输入激励模块,输出每个维度的数据特征的权重,基于每个维度的数据特征的权重,得到待识别数据对应的修正权重。
在一示例中,可以通过以下公式(2)得到一个维度的全局特征:
其中,zd表示d维度的全局特征;Fsq()表示通过压缩模块对每个子数据每个维度的数据特征进行全局池化处理;T表示子数据的数量;xtd表示第t个子数据的d维度的数据特征。
SE网络通过激励模块基于每个维度对应的全局特征确定每个维度的数据特征的权重,进而得到待识别数据对应的修正权重。
在一示例中,待识别数据包含T个子数据,每个子数据的数据特征的维度为D,激励模块包括两层全连接层,通过第一层全连接层进行降维处理,可选的,可以通过缩减系数进行降维处理,输出维度为D/r的全局特征,其中,r为大于0的整数,表示缩减系数,作用是先将输出维度变少,从而减少模型参数量。然后进行非线性变换,可选的,可以通过在该层后加入线性整流函数(Rectified Linear Unit,ReLU)进行非线性变换;通过第二层全连接层确定各维度的数据特征的权重。具体的,首先将输出维度恢复为D维,然后经过激活函数,最终得到1×D维的全局修正系数,作为待识别数据的修正权重,其中,激活函数可以是sigmoid函数。全局修正系数是利用不同维度的数据特征变化得到的,利用了不同维度的数据特征之间的相关性,同时该全局修正系数可以起到门控作用,对重要的数据特征进行增强,对不重要的数据特征进行抑制。
可以通过以下公式(3)得到每个维度的数据特征的权重:
sd=Fex(zd,W)=σ(W2δ(W1zd)) (3)
其中,sd表示压缩激励网络输出的d维度特征的权重;Fex(zd,w)表示通过激励模块对d维度的全局特征进行处理;W1表示第一层全连接层的网络参数;δ()表示线性整流函数;W2表示第二层全连接层的网络参数;σ()表示激活函数。
利用每个维度的数据特征的权重,对每个维度的数据特征进行加权,通过以下公式(4)得到加权后的每个维度的数据特征:
X′=Fscale(X,S)=S·X (4)
其中,X′表示加权后的每个维度的数据特征;Fscale( )表示元素级别的点乘函数;S表示每个维度的数据特征的权重;X表示加权前的每个维度的数据特征。
由此,本实施例基于SE网络,将原来需结合CNN使用,对不同channel相关性的建模改为不同维度的相关性建模,使得网络可以利用整个待识别数据的全局信息,来对不同维度的特征进行修正,对重要的特征进行增强,对不重要的特征进行抑制,从而让提取的数据特征指向性更强,达到提升整个网络的性能的目的。
在一种可能的实现方式中,待识别数据为待识别语音数据,子数据为待识别语音数据的一帧数据;识别结果为待识别语音数据的语音识别结果;
对每个子数据进行特征提取,得到每个子数据的数据特征,包括:
对待识别语音数据的各帧语音数据进行特征提取,得到对应于各帧语音数据的语音特征,其中,数据特征为语音特征;
基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,包括:
基于待识别语音数据所对应的不同维度的语音特征之间的相关性,得到待识别语音数据对应的修正权重。
在实际应用中,对待识别语音数据进行分帧处理,得到各帧语音数据,对各帧语音数据进行特征提取,提取至少两个维度的特征作为各帧语音数据的语音特征。其中,语音特征可以包括语音数据的频谱特征,例如,梅尔频率倒谱系数(Mel-scale FrequencyCepstral Coefficient,MFCC)、线性预测倒谱系数(LinearPredictiveCepstralCoefficient,LPCC)等。
其中,各帧语音数据不同维度的语音特征之间具有相关性,相关性可以包括不同维度的语音特征之间的依赖关系。通过不同维度的语音特征之间的相关性,确定每个维度的语音特征的权重,并由此得到待识别数据对应的修正权重,通过修正权重对每个语音特征进行加权处理,从而利用整个语音序列的全局信息来对每一帧语音数据进行修正,充分利用上下文信息,有效提升语音识别性能,并且通过对不同维度的语音特征的相关性进行建模,对重要的特征进行增强,对不重要的特征进行抑制,从而让提取的特征指向性更强,达到提升整个网络的性能的目的。另外,本申请实施例提供的数据识别方法适用于语音识别等序列建模任务,并且适用于任意网络结构,并不限于CNN。
下面通过一个具体的实施例对本申请技术方案的数据处理过程进行详细说明。本实施例只是本申请技术方案的一种实现方式,不代表本申请技术方案的全部实现方式。
如图2所示,在本实施例中,待识别数据为待识别语音数据,基于本申请一实施例提供的数据识别方法,对待识别语音数据进行处理,以对待识别语音数据的不同维度的数据特征进行修正的具体过程如下:
对待识别语音数据进行分帧处理,对各帧语音数据进行特征提取,得到语音特征X,其中,语音特征X包括T帧语音数据的语音特征,将语音特征X输入神经网络模型(可以是DNN、CNN或者LSTM中的一种,也可以是其他神经网络模型)进行特征提取之后,可输出T×D维的特征将T×D维的特征输入压缩模块,在时间维度上进行全局池化处理,将每一帧语音数据对应的同一维度的数据特征进行加和求平均,得到1×D维的全局特征,目的是为了得到整个语音序列上的全局信息;将全局特征输入激励模块,激励模块对不同维度之间的相关性进行建模,激励模块包括两个全连接层,全局特征经过第一个全连接层,进行降维处理,得到维的全局特征,其中,r为大于0的整数,表示缩减系数,作用是先将输出维度变少,从而减少模型参数量。然后在该层后加入线性整流函数,进行非线性变换,经过线性整流函数的处理之后,得到维的全局特征;经过第二个全连接层,维度恢复为D维,得到1×D维的全局特征;经过激活函数进行处理,得到1×D维的全局特征,作为待识别语音数据对应的修正权重,作为全局修正系数,利用全局修正系数,对每一帧语音数据的每个维度的语音特征进行加权处理,也就是修正处理,输出处理之后的T×D维的特征X′。其中,全局修正系数是利用不同维度的特征变化得到的,利用了不同维度的数据特征之间的相关性,可以起到门控作用,对每一帧语音数据的每个维度的数据特征修正,以实现对重要的数据特征进行增强,对不重要的数据特征进行抑制。
本申请实施例提供的数据识别方法,基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,基于修正权重,对待识别数据的每个子数据的数据特征进行加权处理,以实现每个子数据的修正,基于加权处理后的每个数据特征,得到待识别数据的识别结果,通过修正权重对重要的特征进行增强,对不重要的特征进行抑制,从而让提取的特征指向性更强,达到有效提升整个网络的性能的目的。另外,本申请技术方案,可以处理包含至少两个子数据的序列形式的待识别数据,解决了无法处理序列形式的数据的问题,即本申请实施例提供的数据识别方法适用于语音识别等序列建模任务,并且适用于任意网络结构。
基于与图1中所示方法相同的原理,本公开的实施例中还提供了一种数据识别装置30,如图3所示,该数据识别装置30包括:
获取模块31,用于获取待识别数据,待识别数据包括至少两个子数据;
提取模块32,用于对每个子数据进行特征提取,得到每个子数据的至少两个维度的数据特征;
确定模块33,用于基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,其中,修正权重的维度与数据特征的维度对应;
加权模块34,用于基于修正权重,对每个数据特征进行加权处理,得到加权处理后的每个数据特征;
处理模块35,用于基于加权处理后的每个数据特征,得到待识别数据的识别结果。
在一种可能的实现方式中,待识别数据为待识别语音数据,子数据为待识别语音数据的一帧数据;识别结果为待识别语音数据的语音识别结果;
提取模块32,用于:
对待识别语音数据的各帧语音数据进行特征提取,得到对应于各帧语音数据的语音特征,其中,数据特征为语音特征;
确定模块33,用于:
基于待识别语音数据所对应的不同维度的语音特征之间的相关性,得到待识别语音数据对应的修正权重。
在一种可能的实现方式中,确定模块33具体用于:
针对每个维度,基于每个数据特征对应同一维度的特征,得到每个维度对应的全局特征;
基于每个维度对应的全局特征之间的相关性,确定每个维度对应的权重;
基于每个维度对应的权重,得到所述待识别数据对应的修正权重。
在一种可能的实现方式中,确定模块33在基于每个数据特征对应同一维度的特征,得到每个维度对应的全局特征时,用于:
针对每个维度,对每个数据特征对应同一维度的特征进行全局池化处理,得到每个维度对应的全局特征。
在一种可能的实现方式中,确定模块33在基于每个数据特征对应同一维度的特征,得到每个维度对应的全局特征时,用于:
针对每个维度,通过神经网络模型对每个数据特征对应同一维度的特征进行全局处理,得到每个维度对应的全局特征。
在一种可能的实现方式中,确定模块33具体用于:
由压缩激励网络根据不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重。
在一种可能的实现方式中,压缩激励网络包括压缩模块和激励模块,确定模块33具体用于:
通过压缩模块,针对每个维度,基于每个数据特征对应同一维度的特征,得到每个维度对应的全局特征;
通过激励模块,基于每个维度对应的全局特征之间的相关性,确定待识别数据对应的修正权重。
本公开实施例的数据识别装置可执行本公开的实施例所提供的与图1对应的数据识别方法,其实现原理相类似,本公开实施例中的数据识别装置中的各模块所执行的动作是与本公开实施例中的数据识别方法中的步骤相对应的,对于数据识别装置的各模块的详细功能描述具体可以参见前文中所示的对应的数据识别方法中的描述,此处不再赘述。
本申请实施例提供的数据识别装置,基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,基于修正权重,对待识别数据的每个子数据的数据特征进行加权处理,从而实现对不同维度的相关性建模,使得可以利用待识别数据的全局信息来对不同维度的数据特征进行修正,进而以实现对每个子数据的修正,让提取的数据特征指向性更强,最后基于加权处理后的每个数据特征,得到待识别数据的识别结果,由于修正数据特征后,可让提取的数据特征指向性更强,从而可以充分利用不同子数据之间的上下文信息,有效提升识别性能,达到提升整个网络的性能的目的。另外,本申请技术方案是基于不同维度的相关性建模实现的,无需依赖通道结构,因而适用于序列建模任务,可以处理包含至少两个子数据的序列形式的待识别数据。
上述实施例从虚拟模块的角度介绍了数据识别装置,下述从实体模块的角度介绍一种电子设备,具体如下所示:
本申请实施例提供了一种电子设备,如图4所示,图4所示的电子设备8000包括:处理器8001和存储器8003。其中,处理器8001和存储器8003相连,如通过总线8002相连。可选地,电子设备8000还可以包括收发器8004。需要说明的是,实际应用中收发器8004不限于一个,该电子设备8000的结构并不构成对本申请实施例的限定。
处理器8001可以是CPU,通用处理器,GPU,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器8001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线8002可包括一通路,在上述组件之间传送信息。总线8002可以是PCI总线或EISA总线等。总线8002可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器8003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器8003用于存储执行本申请方案的应用程序代码,并由处理器8001来控制执行。处理器8001用于执行存储器8003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
本申请实施例提供了一种电子设备,本申请实施例中的电子设备包括:一个或多个处理器;存储器;一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序被处理器执行时,获取待识别数据,待识别数据包括至少两个子数据;对每个子数据进行特征提取,得到每个子数据的至少两个维度的数据特征;基于待识别数据所对应的不同维度的数据特征之间的相关性,确定待识别数据对应的修正权重,其中,修正权重的维度与数据特征的维度对应;基于修正权重,对每个数据特征进行加权处理,得到加权处理后的每个数据特征;基于加权处理后的每个数据特征,得到待识别数据的识别结果。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当计算机程序在处理器上运行时,使得处理器可以执行前述方法实施例中相应内容。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据识别方法的各种可选实现方式中提供的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。