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

基于联邦学习的语音表征模型训练方法、装置、设备及介质与流程

2021-07-27 15:30:00 来源:中国专利 TAG:
本发明实施例涉及人工智能
技术领域
:,尤其涉及一种基于联邦学习的语音表征模型训练方法、装置、设备及介质。
背景技术
::随着人工智能技术的发展,联邦学习(federatedlearning)技术逐渐成为人工智能领域的一个热门课题。联邦学习技术通过多方协作的方式实现对模型的训练,在保护用户隐私和数据安全的同时,解决了数据孤岛的问题。然而,发明人发现,现有的联邦学习技术在对模型进行训练时,若网络环境比较复杂,则在模型的训练过程中会因为网络通信的延迟导致模型参数收敛较慢,模型训练效率较低。技术实现要素:有鉴于此,本发明实施例的目的是提供一种基于联邦学习的语音表征模型训练方法、装置、计算机设备及计算机可读存储介质,用于解决现有模型训练效率较低的问题。为实现上述目的,本发明实施例提供了一种基于联邦学习的语音表征模型训练方法,包括:第一终端获取本地存储的训练样本数据集,所述训练样本数据集包括多个语音数据;所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值;所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值;所述第一终端将所述压缩后的梯度值上传至联邦服务器,其中,所述联邦服务器根据加入至联邦网络的多个第二终端上传的第二梯度值计算总梯度值,所述第二梯度值为所述第二终端对本地部署的第二albert模型进行训练得到的;所述第一终端接收所述联邦服务器返回的总梯度值;所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新,重复执行对所述第一albert模型进行训练的步骤直至模型收敛为止,得到训练好的语音表征模型,其中,所述语音表征模型用于从语音数据中提取表征语音的梅尔频谱及/或线性频谱。可选地,所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值的步骤之前,还包括:所述第一终端对所述多个语音数据进行预处理,以将每一个所述音频数据转换为对应的梅尔频谱及/或线性频谱;所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值的步骤包括:所述第一终端通过所述多个语音数据对应的梅尔频谱及/或线性频谱对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值。可选地,所述第一终端对所述多个语音数据进行预处理,以将每一个所述音频数据转换为对应的梅尔频谱及/或线性频谱包括:所述第一终端对每一个所述音频数据进行分帧处理,以将每一个所述音频数据分为多帧音频数据;采用预设的掩码规则对所述多帧音频数据进行掩码处理,得到掩码后的音频数据;将所述掩码后的音频数据转换为每一个所述音频数据对应的梅尔频谱及/或线性频谱。可选地,所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值包括:所述第一终端对所述第一梯度值进行稀疏化处理,以得到k个值,其中k为大于1的整数;所述第一终端对所述k个值进行量化处理,得到量化后的梯度值,并将所述量化后的梯度值作为所述压缩后的梯度值。可选地,所述第一终端对所述k个值进行量化处理,得到量化后的梯度值,并将所述量化后的梯度值作为所述压缩后的梯度值包括:所述第一终端对所述k个值进行量化处理,得到量化后的梯度值;所述第一终端将量化后的梯度值进行行编码或者列编码处理,得到编码后的梯度值,并将所述编码后的梯度值作为所述压缩后的梯度值。可选地,所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新包括:所述第一终端获取所述albert模型的当前模型参数;所述第一终端根据所述当前模型参数、所述总梯度值与预设的公式对所述albert模型的模型参数进行更新,其中,所述预设的公式为:wt 1=wt-αgt 1,wt 1为更新后的模型参数,wt为所述当前模型参数,gt 1为所述总梯度值,α为预先设定的常量。可选地,所述总梯度值通过如下方式计算得到:其中,gt 1为所述总梯度值,为第c个第二终端上传的第二梯度值,c为第二终端的数量。为实现上述目的,本发明实施例还提供了一种基于联邦学习的语音表征模型训练装置,所述基于联邦学习的语音表征模型训练装置包括:获取模块,用于所述第一终端获取本地存储的训练样本数据集,所述训练样本数据集包括多个语音数据;训练模块,用于所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值;压缩模块,用于所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值;上传模块,用于所述第一终端将所述压缩后的梯度值上传至联邦服务器,其中,所述联邦服务器根据加入至联邦网络的多个第二终端上传的第二梯度值计算总梯度值,所述第二梯度值为所述第二终端对本地部署的第二albert模型进行训练得到的;接收模块,用于所述第一终端接收所述联邦服务器返回的总梯度值;更新模块,用于所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新,重复执行对所述第一albert模型进行训练的步骤直至模型收敛为止,得到训练好的语音表征模型,其中,所述语音表征模型用于从语音数据中提取表征语音的梅尔频谱及/或线性频谱。为实现上述目的,本发明实施例还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于联邦学习的语音表征模型训练方法的步骤。为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的基于联邦学习的语音表征模型训练方法的步骤。本发明实施例提供的基于联邦学习的语音表征模型训练方法、装置、计算机设备及计算机可读存储介质,通过第一终端获取本地存储的训练样本数据集,所述训练样本数据集包括多个语音数据;所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值;所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值;所述第一终端将所述压缩后的梯度值上传至联邦服务器,其中,所述联邦服务器根据加入至联邦网络的多个第二终端上传的第二梯度值计算总梯度值,所述第二梯度值为所述第二终端对本地部署的第二albert模型进行训练得到的;所述第一终端接收所述联邦服务器返回的总梯度值;所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新,继续对所述第一albert模型进行训练直至模型收敛为止,得到训练好的语音表征模型,其中,所述语音表征模型用于从语音数据中提取表征语音的梅尔频谱及/或线性频谱。本实施例通过在将梯度值上传至联邦服务器时,对梯度值进行压缩,从而可以避免因梯度数据过大导致通信延迟,降低模型的训练时长,提高模型的训练效率。附图说明图1为本发明基于联邦学习的语音表征模型训练方法的一实施方式的步骤流程示意图。图2为本发明一实施方式的基于联邦学习的语音表征模型训练装置的程序模块示意图。图3为本发明一实施方式的计算机设备的硬件结构示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式以下结合附图与具体实施例进一步阐述本发明的优点。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。参阅图1,示出了本发明实施例一之基于联邦学习的语音表征模型训练方法的流程图。可以理解,本方法实施例中的流程图不对执行步骤的顺序进行限定。下面以基于联邦学习的语音表征模型训练装置(下文以“训练装置”简称)为执行主体进行示例性描述,所述训练装置可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tabletpersonalcomputer)、膝上型计算机(laptopcomputer)、服务器等具有数据传输功能的设备。具体如下:步骤s10,第一终端获取本地存储的训练样本数据集,所述训练样本数据集包括多个语音数据。具体地,所述训练样本数据集中的语音数据可以为第一终端本地存储的所有语音数据,也可以为第一终端本地存储的部分语音数据,在本实施例中不作限定。需要说明的是,本地存储指的存储在第一终端中的内存及/或硬盘等可以存储数据的存储介质中。其中,所述第一终端指的是对训练样本数据集进行训练的本地终端。比如,若当前待训练的语音表征模型是由本地终端a和其他远程终端b组成的联邦网络进行联合训练的,则所述第一终端即为本地终端a。在一示例性的方式中,在获取到多个语音数据之后,由于不同的语音数据的时长是不一样的,为了便于对语音数据进行处理,在获取到语音数据之后,还需要对语音数据进行预处理,即在本实施例中,在获取本地存储的训练样本数据集之后,还包括:所述第一终端对所述多个语音数据进行预处理,以将每一个所述音频数据转换为对应的梅尔频谱及/或线性频谱。具体地,在对语音数据进行预处理时,可以预先设置每一个语音数据的长度参数len,即设置每一帧语音的长度,这样,在对语音数据进行预处理时,即可以将语音数据分成多帧语音数据。具体而言,在对语音数据进行分帧处理时,可以通过移动窗函数来实现将语音数据处理成等同长度的多帧语音数据。其中,在进行分帧处理时,对于低于长度len的语音数据,可以进行补长处理;对于长度长于len的语音数据,通过移动窗函数均衡采样得到len长度的语音帧数据。在本实施例中,在对语音数据进行分帧处理后,可以继续通过预设的工具将各帧语音数据转换为对应的梅尔频谱及/或线性频谱。比如,可以通过librosa工具将各帧语音数据转换为对应的梅尔频谱((mel-scalespectrogram))。需要说明的是,语音信号是一维信号,直观上只能看到时域信息,不能看到频域信息。通过傅里叶变换(ft)可以变换到频域,但是丢失了时域信息,无法看到时频关系。为了解决这个问题,产生了很多方法,短时傅里叶变换,小波等都是很常用的时频分析方法。其中,短时傅里叶变换(stft),就是对短时的信号做傅里叶变换。原理如下:对一段长语音信号,分帧、加窗,再对每一帧做傅里叶变换,之后把每一帧的结果沿另一维度堆叠,得到一张图(类似于二维信号),这张图就是声谱图,或者称为线性频谱。由于得到的声谱图较大,为了得到合适大小的声音特征,通常将它通过梅尔尺度滤波器组(mel-scalefilterbanks),变为梅尔频谱。在一示例性的实施方式中,所述第一终端对所述多个语音数据进行预处理,以将每一个所述音频数据转换为对应的梅尔频谱及/或线性频谱包括:所述第一终端对每一个所述音频数据进行分帧处理,以将每一个所述音频数据分为多帧音频数据;采用预设的掩码规则对所述多帧音频数据进行掩码处理,得到掩码后的音频数据;将所述掩码后的音频数据转换为每一个所述音频数据对应的梅尔频谱及/或线性频谱。具体地,通过对音频数据进行掩码处理,可以提高数据的安全性。在本实施例中,该掩码规则可以根据实际情况进行设定与调整。在本实施方式中,该掩码规则可以为选择所述多帧语音数据中预设数量帧的语音数据进行掩码处理,比如,选择15%的语音帧进行掩码处理。其中,所述掩码处理指的是在语音数据中添加噪声。在一实施方式中,该掩码处理可以为我对选定帧的80%进行归零处理,选定帧的10%替换为从同一发声中随机采样的其他帧,选定帧的其余10%保留原始帧。步骤s11,所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值。具体地,第一albert模型为bert模型的一个变体,在保持性能的基础上,大大减少了模型的参数,使得实用变得更加方便,是经典的bert变体之一。在本实施例中,该第一albert模型可以从联邦学习网络中下载,然后部署在第一终端本地,也可以直接在第一终端本地部署,而无需先从联邦学习网络中下载,在本实施例中不作限定。在本实施例中,所述第一albert模型可以是经过一定训练的模型,也可以是未经过训练的初始模型。所述第一albert模型中具有对应的损失函数,而该第一梯度值是在通过多个语音数据对所述第一albert模型进行训练迭代过程中用于逼近损失函数的最小值的向量。其中,所述第一albert模型可以为若干层(比如,6层,12层,24层)叠加的transformer结构,模型的权重表示为在一示例性的实施方式中,当所述语音数据为多个语音数据对应的梅尔频谱及/或线性频谱时,则所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值的步骤包括:所述第一终端通过所述多个语音数据对应的梅尔频谱及/或线性频谱对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值。步骤s12,所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值。具体地,由于采用联邦学习训练时,加入至联邦学习网络中的各个终端所处的网络环境不一样,因此,为了使得第一梯度值可以更加高效地上传至联邦学习网络,可以对该第一梯度值先进行压缩,得到更加轻量的梯度值,之后,将压缩后的梯度值在上传至联邦学习网络。在一示例性的实施方式中,所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值包括:所述第一终端对所述第一梯度值进行稀疏化处理,以得到k个值,其中k为大于1的整数;所述第一终端对所述k个值进行量化处理,得到量化后的梯度值,并将所述量化后的梯度值作为所述压缩后的梯度值。具体地,可以通过top-k稀疏化的方式对第一梯度值进行稀疏化处理,其中,top-k稀疏化指的是取梯度矩阵(第一梯度值)中最大的k个值,其余的置为0,这里的k为一个超参数,可以根据实际情况进行设定与调整。在本实施例中,可以通过三元量化的方式对k个值进行量化处理,其中,三元量化指的是,将保留的k个梯度值量化为{-u,0,u}中的一个,这样对于一个浮点数,只需要2个bit(比特)就能表示了,从而可以极大地实现对所述第一梯度值的压缩,降低传输所述第一梯度值所需要的带宽,节省所述第一梯度值传输时所需要的时间。在一示例性的实施方式中,为了进一步地提高对所述一梯度值的压缩率,所述第一终端对所述k个值进行量化处理,得到量化后的梯度值,并将所述量化后的梯度值作为所述压缩后的梯度值包括:所述第一终端对所述k个值进行量化处理,得到量化后的梯度值;所述第一终端将量化后的梯度值进行行编码或者列编码处理,得到编码后的梯度值,并将所述编码后的梯度值作为所述压缩后的梯度值。具体地,行编码或者列编码指的是对于量化后梯度值采用基于行或者基于列的矩阵进行存储,通过行编码或者列编码的方式对梯度值进行存储时,只需要两个数组,其中,一个数组用于存储所有的梯度值中的非0元素,另一数组用于存储非0元素在矩阵行或者矩阵列中的索引,对于所有的梯度值中的0元素,不需要进行存储,从而可以进一步提高对所述第一梯度值的压缩率。步骤s13,所述第一终端将所述压缩后的梯度值上传至联邦服务器,其中,所述联邦服务器根据加入至联邦网络的多个第二终端上传的第二梯度值计算总梯度值,所述第二梯度值为所述第二终端对本地部署的第二albert模型进行训练得到的。具体地,第一终端在将压缩后的梯度值上传至联邦服务器后,联邦服务器可以基于加入至联邦网络的多个第二终端上传的第二梯度值进行梯度值的聚合操作,并将聚合操作得到的梯度值作为总梯度值。其中,所述第二终端是指加入至联邦网络中的终端,该第二终端可以为所述第一终端,也可以为加入至联邦网络中的除所述第一终端之外的其他终端,在本实施例中不作限定。其中,第二梯度值是第二终端通过其本地存储的语音数据对第二albert模型进行训练后得到,所述第二albert模型与所述第一albert模型为相同的模型。联邦服务器在进行总梯度值的聚合操作时,可以采用以下公式计算得到总梯度值:其中,gt 1为所述总梯度值,为第c个第二终端上传的第二梯度值,c为第二终端的数量。也就是说,总梯度值为c个第二终端上传的第二梯度值的和值的平均值。需要说明的是,联邦服务器在计算总梯度值时,可以随机从加入至联邦网络中的所有第二终端中选择若干个第二终端上传的第二梯度值来计算总梯度值,也可以将加入值联邦网络中的所有第二终端上传的第二梯度值来计算总梯度值,在本实施例中不作限定。作为示例,可以从加入至联邦网络中的所有第二终端中选择c个第二终端上传的第二梯度值来计算总梯度值,其中c为预先设定的值,比如,设定c为5个,则需要从从加入至联邦网络中的所有第二终端中选择5个第二终端上传的第二梯度值来计算总梯度值。步骤s14,所述第一终端接收所述联邦服务器返回的总梯度值。具体地,联邦服务器在计算出总梯度值之后,会将计算出的总梯度值推送至加入至联邦网络的各个终端,以便各个终端可以根据推送的总梯度值对各自的模型参数进行更新。步骤s15,所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新,重复执行对所述第一albert模型进行训练的步骤直至模型收敛为止,得到训练好的语音表征模型,其中,所述语音表征模型用于从语音数据中提取表征语音的梅尔频谱及/或线性频谱。具体地,第一终端在完成模型参数的更新之后,会判断是否需要对模型进行继续训练,若判断出模型还没有收敛,则会继续对模型进行训练,若判断出模型已经收敛,则会停止对模型的训练,并将训练好的模型作为语音表征模型,以便可以通过该语音表征模型从语音数据中提取表征语音的梅尔频谱及/或线性频谱。需要说明的是,本实施例中的模型收敛指的是模型的损失值小于预设值,或者是模型的损失值的变化趋近于平稳,即相邻两次或多次训练对应的损失值的差值小于设定值,也就是损失值基本不再变化。在一示例性的实施方式中,所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新包括:所述第一终端获取所述albert模型的当前模型参数;所述第一终端根据所述当前模型参数、所述总梯度值与预设的公式对所述albert模型的模型参数进行更新,其中,所述预设的公式为:wt 1=wt-αgt 1,wt 1为更新后的模型参数,wt为所述当前模型参数,gt 1为所述总梯度值,α为预先设定的常量。其中,α的具体值可以根据实际情况进行设定与调整。本实施例中,通过第一终端获取本地存储的训练样本数据集,所述训练样本数据集包括多个语音数据;所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值;所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值;所述第一终端将所述压缩后的梯度值上传至联邦服务器,其中,所述联邦服务器根据加入至联邦网络的多个第二终端上传的第二梯度值计算总梯度值,所述第二梯度值为所述第二终端对本地部署的第二albert模型进行训练得到的;所述第一终端接收所述联邦服务器返回的总梯度值;所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新,继续对所述第一albert模型进行训练直至模型收敛为止,得到训练好的语音表征模型,其中,所述语音表征模型用于从语音数据中提取表征语音的梅尔频谱及/或线性频谱。本实施例通过在将梯度值上传至联邦服务器时,对梯度值进行压缩,从而可以避免因梯度数据过大导致通信延迟,降低模型的训练时长,提高模型的训练效率。请参阅图2,示出了本发明实施例之基于联邦学习的语音表征模型训练装置200(以下简称为“训练装置”200)的程序模块示意图。所述训练装置200可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tabletpersonalcomputer)、膝上型计算机(laptopcomputer)、服务器等具有数据传输功能的设备。在本实施例中,所述训练装置200可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于联邦学习的语音表征模型训练方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于联邦学习的语音表征模型训练方法在存储介质中的执行过程。在本实施例中,所述基于联邦学习的语音表征模型训练装置200包括获取模块201、训练模块202、压缩模块203、上传模块204、接收模块205及更新模块206。以下描述将具体介绍本实施例各程序模块的功能:获取模块201,用于第一终端获取本地存储的训练样本数据集,所述训练样本数据集包括多个语音数据。具体地,所述训练样本数据集中的语音数据可以为第一终端本地存储的所有语音数据,也可以为第一终端本地存储的部分语音数据,在本实施例中不作限定。需要说明的是,本地存储指的存储在第一终端中的内存及/或硬盘等可以存储数据的存储介质中。在一示例性的方式中,在获取到多个语音数据之后,由于不同的语音数据的时长是不一样的,为了便于对语音数据进行处理,在获取到语音数据之后,还需要对语音数据进行预处理,即在本实施例中,训练装置200还可以包括预处理模块。所述预处理模块,用于所述第一终端对所述多个语音数据进行预处理,以将每一个所述音频数据转换为对应的梅尔频谱及/或线性频谱。具体地,在对语音数据进行预处理时,可以预先设置每一个语音数据的长度参数len,即设置每一帧语音的长度,这样,在对语音数据进行预处理时,即可以将语音数据分成多帧语音数据。具体而言,在对语音数据进行分帧处理时,可以通过移动窗函数来实现将语音数据处理成等同长度的多帧语音数据。其中,在进行分帧处理时,对于低于长度len的语音数据,可以进行补长处理;对于长度长于len的语音数据,通过移动窗函数均衡采样得到len长度的语音帧数据。在本实施例中,在对语音数据进行分帧处理后,可以继续通过预设的工具将各帧语音数据转换为对应的梅尔频谱及/或线性频谱。比如,可以通过librosa工具将各帧语音数据转换为对应的梅尔频谱((mel-scalespectrogram))。需要说明的是,语音信号是一维信号,直观上只能看到时域信息,不能看到频域信息。通过傅里叶变换(ft)可以变换到频域,但是丢失了时域信息,无法看到时频关系。为了解决这个问题,产生了很多方法,短时傅里叶变换,小波等都是很常用的时频分析方法。其中,短时傅里叶变换(stft),就是对短时的信号做傅里叶变换。原理如下:对一段长语音信号,分帧、加窗,再对每一帧做傅里叶变换,之后把每一帧的结果沿另一维度堆叠,得到一张图(类似于二维信号),这张图就是声谱图,或者称为线性频谱。由于得到的声谱图较大,为了得到合适大小的声音特征,通常将它通过梅尔尺度滤波器组(mel-scalefilterbanks),变为梅尔频谱。在一示例性的实施方式中,所述所述预处理模块,还用于所述第一终端对每一个所述音频数据进行分帧处理,以将每一个所述音频数据分为多帧音频数据;采用预设的掩码规则对所述多帧音频数据进行掩码处理,得到掩码后的音频数据;将所述掩码后的音频数据转换为每一个所述音频数据对应的梅尔频谱及/或线性频谱。具体地,通过对音频数据进行掩码处理,可以提高数据的安全性。在本实施例中,该掩码规则可以根据实际情况进行设定与调整。在本实施方式中,该掩码规则可以为选择所述多帧语音数据中预设数量帧的语音数据进行掩码处理,比如,选择15%的语音帧进行掩码处理。其中,所述掩码处理指的是在语音数据中添加噪声。在一实施方式中,该掩码处理可以为我对选定帧的80%进行归零处理,选定帧的10%替换为从同一发声中随机采样的其他帧,选定帧的其余10%保留原始帧。训练模块202,用于所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值。具体地,第一albert模型为bert模型的一个变体,在保持性能的基础上,大大减少了模型的参数,使得实用变得更加方便,是经典的bert变体之一。在本实施例中,该第一albert模型可以从联邦学习网络中下载,然后部署在第一终端本地,也可以直接在第一终端本地部署,而无需先从联邦学习网络中下载,在本实施例中不作限定。在本实施例中,所述第一albert模型可以是经过一定训练的模型,也可以是未经过训练的初始模型。所述第一albert模型中具有对应的损失函数,而该第一梯度值是在通过多个语音数据对所述第一albert模型进行训练迭代过程中用于逼近损失函数的最小值的向量。其中,所述第一albert模型可以为若干层(比如,6层,12层,24层)叠加的transformer结构,模型的权重表示为在一示例性的实施方式中,当所述语音数据为多个语音数据对应的梅尔频谱及/或线性频谱时,训练模块202,还用于所述第一终端通过所述多个语音数据对应的梅尔频谱及/或线性频谱对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值。压缩模块203,用于所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值。具体地,由于采用联邦学习训练时,加入至联邦学习网络中的各个终端所处的网络环境不一样,因此,为了使得第一梯度值可以更加高效地上传至联邦学习网络,可以对该第一梯度值先进行压缩,得到更加轻量的梯度值,之后,将压缩后的梯度值在上传至联邦学习网络。在一示例性的实施方式中,压缩模块203,还用于所述第一终端对所述第一梯度值进行稀疏化处理,以得到k个值,其中k为大于1的整数;所述第一终端对所述k个值进行量化处理,得到量化后的梯度值,并将所述量化后的梯度值作为所述压缩后的梯度值。具体地,可以通过top-k稀疏化的方式对第一梯度值进行稀疏化处理,其中,top-k稀疏化指的是取梯度矩阵(第一梯度值)中最大的k个值,其余的置为0,这里的k为一个超参数,可以根据实际情况进行设定与调整。在本实施例中,可以通过三元量化的方式对k个值进行量化处理,其中,三元量化指的是,将保留的k个梯度值量化为{-u,0,u}中的一个,这样对于一个浮点数,只需要2个bit(比特)就能表示了,从而可以极大地实现对所述第一梯度值的压缩,降低传输所述第一梯度值所需要的带宽,节省所述第一梯度值传输时所需要的时间。在一示例性的实施方式中,为了进一步地提高对所述一梯度值的压缩率,压缩模块203,还用于所述第一终端对所述k个值进行量化处理,得到量化后的梯度值;所述第一终端将量化后的梯度值进行行编码或者列编码处理,得到编码后的梯度值,并将所述编码后的梯度值作为所述压缩后的梯度值。具体地,行编码或者列编码指的是对于量化后梯度值采用基于行或者基于列的矩阵进行存储,通过行编码或者列编码的方式对梯度值进行存储时,只需要两个数组,其中,一个数组用于存储所有的梯度值中的非0元素,另一数组用于存储非0元素在矩阵行或者矩阵列中的索引,对于所有的梯度值中的0元素,不需要进行存储,从而可以进一步提高对所述第一梯度值的压缩率。上传模块204,用于所述第一终端将所述压缩后的梯度值上传至联邦服务器,其中,所述联邦服务器根据加入至联邦网络的多个第二终端上传的第二梯度值计算总梯度值,所述第二梯度值为所述第二终端对本地部署的第二albert模型进行训练得到的。具体地,第一终端在将压缩后的梯度值上传至联邦服务器后,联邦服务器可以基于加入至联邦网络的多个第二终端上传的第二梯度值进行梯度值的聚合操作,并将聚合操作得到的梯度值作为总梯度值。其中,第二梯度值是第二终端通过其本地存储的语音数据对第二albert模型进行训练后得到,所述第二albert模型与所述第一albert模型为相同的模型。联邦服务器在进行总梯度值的聚合操作时,可以采用以下公式计算得到总梯度值:其中,gt 1为所述总梯度值,为第c个第二终端上传的第二梯度值,c为第二终端的数量。也就是说,总梯度值为c个第二终端上传的第二梯度值的和值的平均值。需要说明的是,联邦服务器在计算总梯度值时,可以随机从加入至联邦网络中的所有第二终端中选择若干个第二终端上传的第二梯度值来计算总梯度值,也可以将加入值联邦网络中的所有第二终端上传的第二梯度值来计算总梯度值,在本实施例中不作限定。作为示例,可以从加入至联邦网络中的所有第二终端中选择c个第二终端上传的第二梯度值来计算总梯度值,其中c为预先设定的值,比如,设定c为5个,则需要从从加入至联邦网络中的所有第二终端中选择5个第二终端上传的第二梯度值来计算总梯度值。接收模块205,用于所述第一终端接收所述联邦服务器返回的总梯度值。具体地,联邦服务器在计算出总梯度值之后,会将计算出的总梯度值推送至加入至联邦网络的各个终端,以便各个终端可以根据推送的总梯度值对各自的模型参数进行更新。更新模块206,用于所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新,重复执行对所述第一albert模型进行训练的步骤直至模型收敛为止,得到训练好的语音表征模型,其中,所述语音表征模型用于从语音数据中提取表征语音的梅尔频谱及/或线性频谱。具体地,第一终端在完成模型参数的更新之后,会判断是否需要对模型进行继续训练,若判断出模型还没有收敛,则会继续对模型进行训练,若判断出模型已经收敛,则会停止对模型的训练,并将训练好的模型作为语音表征模型,以便可以通过该语音表征模型从语音数据中提取表征语音的梅尔频谱及/或线性频谱。需要说明的是,本实施例中的模型收敛指的是模型的损失值小于预设值,或者是模型的损失值的变化趋近于平稳,即相邻两次或多次训练对应的损失值的差值小于设定值,也就是损失值基本不再变化。在一示例性的实施方式中,更新模块206,还用于所述第一终端获取所述albert模型的当前模型参数;所述第一终端根据所述当前模型参数、所述总梯度值与预设的公式对所述albert模型的模型参数进行更新,其中,所述预设的公式为:wt 1=wt-αgt 1,wt 1为更新后的模型参数,wt为所述当前模型参数,gt 1为所述总梯度值,α为预先设定的常量。其中,α的具体值可以根据实际情况进行设定与调整。本实施例中,通过第一终端获取本地存储的训练样本数据集,所述训练样本数据集包括多个语音数据;所述第一终端通过所述多个语音数据对本地部署的第一albert模型进行训练,并输出所述第一albert模型的第一梯度值;所述第一终端将所述第一梯度值进行压缩处理,得到压缩后的梯度值;所述第一终端将所述压缩后的梯度值上传至联邦服务器,其中,所述联邦服务器根据加入至联邦网络的多个第二终端上传的第二梯度值计算总梯度值,所述第二梯度值为所述第二终端对本地部署的第二albert模型进行训练得到的;所述第一终端接收所述联邦服务器返回的总梯度值;所述第一终端根据所述总梯度值对所述albert模型的模型参数进行更新,继续对所述第一albert模型进行训练直至模型收敛为止,得到训练好的语音表征模型,其中,所述语音表征模型用于从语音数据中提取表征语音的梅尔频谱及/或线性频谱。本实施例通过在将梯度值上传至联邦服务器时,对梯度值进行压缩,从而可以避免因梯度数据过大导致通信延迟,降低模型的训练时长,提高模型的训练效率。参阅图3,是本发明实施例之计算机设备300的硬件架构示意图。在本实施例中,所述计算机设备300是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图所示,所述计算机设备300至少包括,但不限于,可通过装置总线相互通信连接存储器301、处理器302、网络接口303。其中:本实施例中,存储器301至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器301可以是计算机设备300的内部存储单元,例如所述计算机设备300的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备300的外部存储设备,例如所述计算机设备300上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器301还可以既包括计算机设备300的内部存储单元也包括其外部存储设备。本实施例中,存储器301通常用于存储安装于计算机设备300的操作装置和各类应用软件,例如基于联邦学习的语音表征模型训练装置200的程序代码等。此外,存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。处理器302在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。所述处理器302通常用于控制计算机设备300的总体操作。本实施例中,处理器302用于运行存储器301中存储的程序代码或者处理数据,例如运行基于联邦学习的语音表征模型训练装置200,以实现上述各个实施例中的基于联邦学习的语音表征模型训练方法。所述网络接口303可包括无线网络接口或有线网络接口,所述网络接口303通常用于在所述计算机设备300与其他电子装置之间建立通信连接。例如,所述网络接口303用于通过网络将所述计算机设备300与外部终端相连,在所述计算机设备300与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯装置(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。需要指出的是,图3仅示出了具有部件301-303的计算机设备300,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。在本实施例中,存储于存储器301中的所述基于联邦学习的语音表征模型训练装置200还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器301中,并由一个或多个处理器(本实施例为处理器302)所执行,以完成本发明之基于联邦学习的语音表征模型训练方法。本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储基于联邦学习的语音表征模型训练装置200,以被处理器执行时实现本发明之基于联邦学习的语音表征模型训练方法。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜