WO2023059717A1 PCT指定期内 从语音中估计年龄
从言语中估计年龄 相关申请的交叉引用 [0001] 本申请要求 2022 年 3 月 29 日提交的题为“Confidence Measure for Automatic Age Estimation from Speech”的美国临时申请号 63/325,047 的优先权; 美国临时申请号 63/253,197,题为“Age Estimation from Speech”,于 2021 年 10 月 7 日提交; 以及 2021 年 10 月 6 日提交的题为“Age Estimation from Speech”的美国临时申请第 63/253,057 号,每份申请均以引用方式全文并入。 技术领域 [0002] 本申请一般涉及用于管理、训练和部署用于音频处理的机器学习架构的系统和方法。 背景 [0003] 基于语音生物识别的操作越来越普遍,因为基于语音的渠道越来越普遍,例如呼叫中心和语音接口设备,例如语音助手。 随着越来越多的机器学习系统应用于基于语音的通信渠道,基于语音或其他生物识别机器学习系统的年龄估计变得越来越重要。 一个问题是可用于训练用于年龄估计的机器学习模型的数据集数量有限。 用于基于语音的年龄估计的数据库很少,因此有必要拥有具有良好泛化能力的年龄估计系统。 [0004] 此外,基于语音的年龄估计的传统方法实施回归或分类技术,将基于语音的年龄估计视为回归或分类问题。 然而,这些方法没有纳入或考虑年龄估计中的歧义或序数排名,而人类在估计说话者的年龄时通常会考虑这些问题。 这会在输出结果时造成效率低下,并导致训练期间效率低下。 概括 [0005] 需要的是用于年龄估计的机器学习架构,包括在训练数据集可用性有限的情况下有效训练和开发用于年龄估计的机器学习架构的计算系统。 还需要一种方法来训练用于年龄估计的机器学习架构,以适应估计年龄的不确定性或歧义。 本文公开的是系统和方法 能够解决上述缺点,并且还可以提供任何数量的额外或替代的好处和优点。 实施例包括一种计算设备,该计算设备执行一个或多个机器学习架构的软件例程以进行基于语音的年龄估计。 [0006] 机器学习架构实现标签分布建模和损失函数,以提高年龄估计性能和泛化能力。 机器学习架构包括定义机器学习架构的说话人嵌入提取引擎(有时称为“嵌入提取器”)的前端神经网络架构,以及定义年龄估计引擎(有时称为“嵌入提取器”)的后端神经网络架构 作为机器学习架构的“年龄估计器”)。 嵌入提取器经过训练以从音频信号中提取说话人语音的低级声学特征,例如梅尔倒谱系数 (MFCC),然后提取以数学方式表示低级特征的特征向量或说话人嵌入向量 扬声器的。 通过在说话人嵌入上应用年龄估计器的各种类型的层,训练年龄估计器以生成说话者的估计年龄和估计年龄周围的高斯概率分布。 [0007]在训练期间,或在某些情况下的测试期间(有时称为“部署”或“生产”),年龄估计器参考基本事实、说话者的实际年龄来调整超参数或年龄估计器层的权重和/ 或生成或更新经过训练的预期概率分布。 在训练中,训练说话者标签指示说话者的实际年龄,年龄估计器参考该年龄以使用实际年龄作为分布的均值(或其他参数)来生成分布。 在某些情况下,年龄估计器的损失层将预测平均值(或预测年龄)和预测分布与说话者标签中的预期实际年龄进行比较,以确定具有预测年龄的预期分布与具有预测年龄的预测分布之间的距离 预测年龄。 然后,损失层可以调整年龄估计器的权重或超参数,并在反向传播中将说话人的训练信号重新馈送到年龄估计器,以提高年龄估计器各层的性能。 执行机器学习架构的计算设备将经过训练的年龄估计器和经过训练的预期概率分布存储到非暂时性机器可读存储器中。 [0008] 在部署时,计算设备将经过训练的年龄估计器应用于入站音频信号的入站说话人的入站说话人嵌入。 年龄 估计器根据预先配置的分布参数和年龄估计器的训练层生成入站预测分布。 年龄估计器的操作层(例如,密集层、softmax 层、dropout 层)然后生成入站说话者的入站估计年龄。 损失层确定入站预测分布与训练的预期概率分布之间的距离,其中该距离表示与年龄估计器的输出相关的误差水平或置信度分数。 在某些情况下,年龄估计器会在训练阶段生成经过训练的预期概率。 附加地或替代地,年龄估计器接收输入或预存储的指示入站说话者的实际年龄的登记信息,年龄估计器参考实际年龄和/或生成预期的概率分布。 [0009] 实施例可以包括引用嵌入提取器和年龄估计器的输出的各种类型的下游操作(例如,说话人识别、说话人验证或认证、说话人二分法、基于年龄或父母控制)。 例如,说话人身份验证操作会验证入站说话人是已登记的还是已知的说话人。 在此示例中,机器学习架构或下游身份验证操作确定入站说话人嵌入是否满足与注册声纹嵌入的语音匹配阈值距离,并确定入站说话人的入站估计年龄是否在年龄匹配阈值内 与注册预期年龄的距离,在某些情况下,估计年龄必须具有满足阈值置信度分数的置信度分数。 在另一个示例中,软件应用程序根据说话者的年龄验证是允许还是解锁某些特征或功能。 在此示例中,机器学习架构或软件应用程序确定入站说话者的入站估计年龄是否满足年龄匹配阈值(例如,18 岁),并且在某些情况下,估计年龄必须具有置信度分数 满足阈值置信度分数。 [0010] 在一个实施例中,一种计算机实现的方法包括:通过计算机获得针对多个训练说话人的多个训练音频信号提取的多个训练说话人嵌入; 通过计算机训练机器学习架构的年龄估计器以通过使用多个说话者标签将年龄估计器应用于多个训练说话者的多个训练说话者嵌入来生成估计年龄和概率分布,每个训练说话者 指示相应训练说话人的实际年龄的说话人标签; 计算机获取入站说话人的入站音频信号的入站说话人嵌入; 由计算机生成 将年龄估计器应用于入站说话人嵌入,入站说话人的入站概率分布; 通过计算机将年龄估计器应用于入站说话人嵌入,生成入站说话人的估计年龄和基于估计的概率分布的置信度分数。 [0011] 在另一个实施例中,一种系统包括计算机,该计算机包括处理器,该处理器被配置为获得为多个训练说话人的多个训练音频信号提取的多个训练说话人嵌入; 通过使用多个说话人标签将年龄估计器应用于多个训练说话人的多个训练说话人嵌入来训练机器学习架构的年龄估计器以生成估计年龄和概率分布,每个说话人标签指示实际年龄 相应的培训讲师; 获取入站说话人的入站音频信号的入站说话人嵌入; 通过在入站说话人嵌入上应用年龄估计器,生成入站说话人的入站概率分布; 并通过在入站说话人嵌入上应用年龄估计器,生成入站说话人的估计年龄和基于估计的概率分布的置信度分数。 [0012] 应当理解,前面的一般描述和下面的详细描述都是示例性和解释性的,旨在提供对要求保护的本发明的进一步解释。 附图的简要说明 [0013] 通过参考以下附图可以更好地理解本公开。 图中的组件不一定按比例绘制,而是强调说明本公开的原理。 在附图中,附图标记贯穿不同的视图指示相应的部分。 [0014] 图1示出了根据一个实施例的用于代表终端用户访问的各种计算服务来处理认证请求的系统的组件。 [0015] 图2示出了根据一个实施例的用于训练和部署用于提取说话人嵌入和年龄估计的机器学习架构的方法的步骤。 [0016] 图3示出了根据一个实施例的用于向采用用于提取说话人嵌入和年龄估计的机器学习架构的系统注册登记者用户的方法的步骤。 [0017] 图4A示出了根据一个实施例的包括一个或多个输入层、前端嵌入提取器和后端年龄估计器的机器学习架构。 [0018] 图4B示出了根据一个实施例的定义前端嵌入提取器的机器学习架构的组件层。 [0019] 图4C示出了根据一个实施例的机器学习架构的组件,包括定义后端年龄估计器的层、函数和输出。 详细说明 [0020] 现在将参考附图中所示的示例性实施例,并且在此将使用特定的语言来描述相同的内容。 尽管如此,应当理解,并不因此意在限制本发明的范围。 此处所示的发明特征的改变和进一步修改,以及此处所示的本发明原理的附加应用,相关领域的技术人员会想到并拥有本公开,将被认为在以下范围内 本发明。 [0021]随着语音通道使用的增加,从语音中估计年龄变得越来越重要。 例如,呼叫中心可以使用年龄估计来影响呼叫路由,或者通过将估计年龄与存储在一个或多个注册数据库中的说话者年龄进行比较来验证说话者的身份来提供安全性。 作为另一个示例,语音助手设备或类似的物联网 (loT) 设备可以参考年龄估计来确定是应用基于年龄的控制还是父母控制。 基于语音的年龄估计的传统方法实施回归或分类技术,将基于语音的年龄估计视为回归或分类问题。 然而,这些方法没有纳入或考虑年龄估计中的歧义或序数排名,而人类在估计说话者的年龄时通常会考虑这些问题。 [0022] 说话人年龄估计的损失函数可能会根据实施的一种或多种学习方法而有所不同,包括基于回归的学习方法和基于分类的学习方法。 [0023] 在回归方法中,年龄估计器神经网络架构包括一个具有 Relu 激活的致密层,然后是具有线性激活的第二个致密层,最后是一个具有输出估计年龄的单个神经元的致密层。 在训练中,年龄 估计器然后可以应用损失函数,该损失函数使用估计的年龄并且有时使用说话者标签来执行回归学习函数。 基于回归的损失函数试图通过使用特定损失函数在训练期间惩罚预期真实年龄和估计年龄之间的差异来生成说话者的准确预测年龄。 [0024] 对于分类、排名或基于分布的学习方法,年龄估计器包括,例如,具有 Relu 激活的密集层,后跟根据年龄范围配置的 softmax 层。 基于分类的学习与基于排名或分布的学习之间的区别在于年龄估计器在训练期间执行的损失函数的类型。 [0025] 在基于回归的方法中,损失函数包括例如均方误差(MSE)或平均绝对误差(MAE)等。 回归方法的优势在于,对于预测更接近地面真实标签(例如,说话人训练标签)的估计年龄,误差贡献相对较低。 然而,回归损失函数在训练期间通常会限制地面实况标签周围范围的灵活性。 [0026] 在基于分类的损失函数中,每个年龄映射到一个精确的基于年龄的类(标签到年份由说话者标签指示),在训练期间由机器学习架构的分类器层引用。 然而,每个分类(标签到年份)的准确性使得年龄估计器的质量容易受到错误分类引起的错误的影响。 错误分类的预测年龄更接近说话人标签中的基本事实和错误分类的预测估计年龄远离说话人标签中的预期基本事实对年龄估计器的错误水平的贡献相同,无论输出的估计年龄的排序如何 在训练或部署期间。 分类方法在训练过程中忽略了相邻年龄之间的排序和相关性,为错误分类以及有缺陷或低效的训练创造了机会; 特别是当分类方法试图估计确切年龄时。 [0027] 本文描述的实施例实现了用于年龄估计的基于分布的损失函数。 当被要求估计语音样本中一个人的年龄时,人类可以很容易地提供年龄估计和特定的置信区间。 在基于分布的方法中,年龄估计器实现概率分布和损失函数,这些函数在估计说话者的年龄时考虑并适应一定程度的模糊性,方法是生成和比较高斯分布,其中估计年龄或实际年龄被视为平均值(或其他参数) ) 的分布。 在基于分布的方法中,损失函数 测量两个分布之间的距离或相似度(例如,预期概率分布和预测概率分布)。 [0028] 示例系统组件 [0029] 图1示出了代表终端用户访问的各种计算服务来处理认证请求的系统100的组件。 系统 100 包括企业计算基础设施 101、110,包括分析系统 101 和一个或多个服务提供商系统 110。系统 100 还包括任意数量的最终用户设备 114a-114c(统称为最终用户 设备 114 或最终用户设备 114)。 系统100包括一个或多个外部网络(未示出),企业计算基础设施101、110的设备和终端用户设备114通过这些网络进行通信。 分析系统101的组件计算设备可以通过一个或多个内部网络(未示出)进行通信; 并且同样地,服务提供商系统110的计算设备可以经由一个或多个内部网络进行通信。 系统 100 实现一个或多个机器学习架构,该架构具有定义一个或多个功能引擎 122a-122d (统称为功能引擎 122 或多个功能引擎 122) 的层或功能,用于基于 用于最终用户设备 114 和计算服务 105 或系统 100 的其他功能之间交互的多模型、多设备和/或无摩擦认证操作,这些功能由用户设备 114 执行或托管在各种提供商服务器 106 上 . [0030] 实施例可以包括额外的或替代的组件或者从示例系统100的组件中省略某些组件并且仍然落在本公开的范围内。 例如,包括多个分析服务器102可能是常见的。实施例可以包括或以其他方式实现能够执行这里描述的各种特征和任务的任意数量的设备。 例如,图1将分析服务器102示为与分析数据库104不同的计算设备。在一些实施例中,分析数据库104包括集成分析服务器102。 [0031] 系统100包括一个或多个外部网络和/或内部网络,内部网络包括一个或多个公共或专用网络的各种硬件和软件组件,互连系统100的各种组件。此类外部网络的非限制性示例可包括局域网 网络(LAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、 和互联网。 通过外部网络120的通信可以根据各种通信协议来执行,例如传输控制协议和网际协议(TCP/IP)、用户数据报协议(UDP)和IEEE通信协议。 同样,最终用户设备 114 使用外部网络 120 通过电话和电信协议、硬件和能够托管、传输和交换视听数据的软件与面向客户的服务提供商系统 110 或分析系统 101 通信( 例如,计算机文件、数据流)。 电信和/或计算网络硬件的非限制性示例可以包括交换机和中继线,以及用于通过因特网或其他设备通信介质托管、路由或管理数据通信、电路和信令的其他附加或替代硬件。 用于电信的软件和协议的非限制性示例可以包括 SS7、SIGTRAN、SCTP、ISDN 和 DNIS,以及用于托管、路由或管理电话呼叫、电路和信令的其他附加或替代软件和协议。 各种不同的实体管理或组织电信系统的组件,例如运营商、网络或 Internet 服务提供商以及交换等。 [0032]终端用户设备114包括终端用户操作以通过各种通信信道访问供应商系统110的服务的任何通信或计算设备。 例如,说话者(最终用户)可以通过电话网络或通过由最终用户设备114执行的软件应用程序向提供者系统110发出呼叫。最终用户设备114的非限制性示例可以包括固定电话 电话 114a、移动电话 114b、呼叫计算设备 114c 或边缘设备 114d。 固定电话114a和移动电话114b是通过电信信道进行通信的面向电信的设备(例如,电话)。 终端用户设备114不限于面向电信的设备或信道。 例如,在某些情况下,移动电话 114b 可以通过计算网络信道(例如,因特网)进行通信。 终端用户设备 114 还可以包括包含处理器和/或软件的电子设备,例如呼叫者计算设备 114c 或边缘设备 114d,它们实现例如 IP 电话 (VoIP) 电信、经由 TCP/IP 网络,或其他计算网络通道。 边缘设备114d可以包括任何物联网设备或用于网络通信的其他电子设备。 边缘设备114d可以是能够执行软件应用和/或执行语音的任何智能设备 接口操作。 边缘设备114d的非限制性示例可以包括语音助手设备、汽车、智能电器等。 [0033] 呼叫分析系统101和供应商系统110代表网络基础设施101、110,包括由各种企业组织管理或操作的物理上和逻辑上相关的软件和电子设备。 每个网络系统基础设施101、110的设备被配置为提供特定企业组织的预期服务。 分析系统 101 和服务提供商系统 110 代表计算网络基础设施 101、110,包括逻辑上相关的软件和/或物理上相关的电子设备,由企业组织管理或操作,为最终用户托管各种类型的服务,最终用户 设备 114,或其他企业基础设施 101、110。 [0034] 分析系统 101 包括各种硬件和软件组件,用于捕获和存储与说话者与提供者系统 110 的联系有关的各种类型的数据或元数据。提供者系统 110 包括用于捕获和存储各种类型的数据或元数据的各种硬件和软件组件。 与说话者与供应商系统 110 的联系有关的元数据。这种联系数据(例如,呼叫数据、设备相互通信数据)可以包括,例如,呼叫的录音或说话者的语音以及与用于的协议和软件有关的元数据 特定的沟通渠道。 [0035] 转到分析系统101,分析系统101包括分析服务器102、管理员(admin)设备103和分析数据库104。虽然图1仅示出了单个分析服务器102,但是分析服务器102可以包括任何数量的计算设备。 [0036] 呼叫分析系统101的分析服务器102可以是包括一个或多个处理器和软件并且能够执行这里描述的各种过程和任务的任何计算设备。 分析服务器 102 可以托管分析数据库 104 或与分析数据库 104 通信,并且接收和处理从一个或多个提供者系统 110 接收的呼叫数据(例如,录音、元数据)。尽管图 1 仅显示了单个分析服务器 102, 分析服务器102可以包括任何数量的计算设备。 在一些情况下,分析服务器 102 的计算设备可以执行分析服务器 102 的全部或部分过程和好处。分析服务器 102 可以包括在分布式或云中运行的计算设备 计算配置和/或虚拟机配置。 还应当理解,在一些实施例中,分析服务器102的功能可以部分或全部由提供者系统110(例如,提供者服务器111)的计算设备执行 [0037]分析服务器 102 执行音频处理软件,该软件包括一个或多个具有机器学习层(例如,神经网络层)的机器学习架构或定义嵌入提取引擎(有时称为“嵌入提取器”)的机器执行功能 ) 和年龄估计引擎(有时称为“年龄估计器”),以及其他潜在层或功能。 机器学习架构的附加层或功能的非限制性示例可以包括数据增强、音频信号预处理、音频信号增强、说话人验证或认证(包括跨通道说话人验证)和说话人二值化等。 为了便于描述,分析服务器102执行单个机器学习架构,该架构具有用于嵌入提取器的神经网络架构和用于年龄估计器的神经网络架构,尽管实施例可以实现各种类型机器的任何数量的机器学习架构 - 学习技术或层(例如定义神经网络架构的机器学习层)。 [0038] 如所提到的,在一些实施方式中,系统100的分析服务器102或其他计算设备(例如,提供商服务器111)对输入音频信号执行各种预处理操作和/或数据增强操作。 对输入的音频信号进行预处理操作的非限制性示例包括:将音频数据解析为固定帧或子帧,根据SFT算法的FFT将音频数据从时域表示变换为频域表示, 执行归一化或缩放功能,以及其他潜在的预处理操作。 增强操作的非限制性示例包括执行带宽扩展、下采样或上采样、音频剪辑、噪声增强、频率增强和持续时间增强等。 [0039] 在一些情况下,分析服务器102可以在将输入音频信号馈送到机器学习架构的输入层之前执行一个或多个预处理或数据增强操作。 在一些情况下,附加地或替代地,分析服务器 102 在执行机器学习架构时执行一个或多个预处理或数据扩充操作,其中输入层(或其他层)的 机器学习架构执行预处理或数据扩充操作。 例如,在这些情况下,机器学习架构包括“网络内”输入层和/或数据增强层,它们对馈入机器学习的输入音频信号执行预处理操作和/或数据增强操作 建筑学。 [0040] 在训练阶段,分析服务器102从一个或多个语料库接收各种长度和特征的训练音频信号,这些语料库可以存储在分析数据库104或其他机器可读的非暂时性存储介质中。 训练音频信号(有时称为“训练样本”)包括干净的音频信号和模拟的音频信号,分析服务器102使用它们中的每一个来训练机器学习架构的各个层。 干净的音频信号是包含语音的音频样本,其中语音和特征可由分析服务器102识别 [0041] 分析服务器102可以从更多分析数据库104中检索模拟音频信号和/或通过执行各种数据增强操作来生成模拟音频信号。 在某些情况下,数据增强操作可以为给定的输入音频信号(例如,训练信号、登记信号)生成模拟音频信号,其中模拟音频信号包含模拟特定类型效果的输入音频信号的操纵特征 输入音频信号的信号衰减或失真。 分析服务器102将训练音频信号存储到分析服务器102的非暂时性介质和/或分析数据库104中以供机器学习架构的未来参考或操作。 [0042]在训练阶段(或在某些实现中,注册阶段),一个或多个完全连接和/或前馈层生成并输出训练音频信号的预测年龄估计和年龄分布。 损失层执行各种损失函数来评估预测年龄分布与预期分布之间的距离,如与训练信号相关联的标签所示。 损失层或由分析服务器 102 执行的其他功能调整机器学习架构的超参数,直到预测的估计宽带信号和预期的估计宽带信号之间的距离满足阈值。 [0043] 在可选的登记操作阶段期间,登记者说话者,例如提供者系统110的终端消费者,提供(到呼叫分析系统101)包含登记者语音示例的多个登记者音频信号。 举个例子, 登记者可以通过电话通道响应提供商服务器111执行的IVR软件的各种交互式语音响应(IVR)提示。 作为另一个示例,登记者可以响应由提供商服务器111生成并经由相应的数据通信信道与边缘设备114d的软件应用程序交换的各种提示。 提供商服务器 111 然后将包含真正注册音频信号的记录响应转发到分析服务器 102。分析服务器 102 将经过训练的机器学习架构应用于每个注册者音频样本,并生成相应的注册者特征向量(有时称为“注册者 嵌入”),尽管分析服务器 102 禁用某些层,例如用于训练机器学习架构的层。 分析服务器 102 生成参与者特征向量的平均值或以其他方式算法组合并将参与者特征向量存储到分析数据库 104 或提供者数据库 112 中。可选地,边缘设备通过本地应用(在设备上)生成参与者特征向量 将经过训练的机器学习架构发送给每个参与者音频样本,然后将参与者特征向量发送到提供者服务 111 或分析服务器 102。 [0044] 美国申请号 17/066,210 和 17/079,082 中描述了说话人验证机器学习架构的训练和注册阶段的类似细节,通过引用将其并入。 此外,本文描述的机器学习架构还可以包括说话人验证机器学习的层,其中分析服务器102(或系统100的其他设备)在下游或结合地执行说话人验证机器学习的层 与年龄估计层。 [0045] 在训练阶段或可选注册阶段之后,分析服务器 102 将经过训练的机器学习架构存储到分析数据库 104 或提供者数据库 112 中。在可选注册阶段,指示分析服务器 102 接收指令以进入注册阶段 系统100的设备(例如,提供商服务器111、代理设备116、管理设备103或用户设备114)。 分析服务器 102 从数据库 104、112 中检索经过训练的机器学习架构的经过训练的嵌入提取器,并将嵌入提取器应用于一个或多个参与者音频信号以提取注册特征和各种注册嵌入(例如,注册特征向量, 用于注册者音频信号的注册扬声器嵌入、注册声纹)。 分析服务器102随后将提取的注册嵌入和训练的机器学习架构存储到数据库104、112中用于部署阶段。 [0046]在部署阶段(有时称为“测试”或“生产”)期间,分析服务器102通过特定通信信道接收来自入站说话者的最终用户设备114的入站呼叫的入站音频信号 . 分析服务器 102 将机器学习架构的嵌入提取器应用于入站音频信号以从入站音频信号中提取入站特征和入站嵌入(例如,入站特征向量、入站说话人嵌入、入站声纹)并确定说话人是否 是注册到提供者系统110或分析系统101的注册者(例如,注册演讲者、注册用户)。 [0047] 分析服务器102通过对入站信号应用机器学习架构的各个层来生成入站音频信号的估计年龄。 机器学习架构包括定义年龄估计器的机器学习层,分析服务器102将其应用于输入音频信号。 年龄估计器使用估计年龄作为分布的均值(或其他参数)和估计年龄来生成预测分布。 年龄估计器参考训练标签或存储的说话人数据(例如,登记的用户数据)来确定实际的说话人年龄,年龄估计器使用它来生成预期分布。 在训练中,年龄估计器的损失层执行基于分布的损失函数,使用训练说话人标签确定预测和预期年龄分布之间的水平或误差或距离。 分析服务器102调整年龄估计器的权重和超参数,并在反向传播中将训练音频信号重新馈送到年龄估计器以提高水平或误差,直到满足训练阈值。 在部署中,年龄估计器确定并输出预测的估计年龄和预测的年龄分布。 损失层确定预测和预期年龄分布之间的水平或误差或距离,如预先存储的说话者标签或管理员配置所指示的。 [0048] 在一些实施例中,在部署阶段之后,分析服务器102或系统100的另一设备(例如,提供商服务器111)执行任何数量的下游操作。 这些下游操作使用估计年龄,在某些情况下,使用提取的入站声纹嵌入,由年龄估计器和嵌入提取器在部署阶段生成。 [0049] 分析数据库104可以包含任意数量的训练音频信号语料库,分析服务器102可以通过一个或多个网络访问这些语料库。 在一些 在实施例中,分析服务器 102 采用监督训练来训练机器学习架构,其中分析数据库 104 包括与训练音频信号相关联的标签,这些标签例如指示特征(例如,说话者的实际年龄)或特征(例如,MFCC) 的训练信号。 分析服务器102还可以查询外部第三方数据库(未示出)以访问一个或多个训练音频信号的第三方语料库。 分析系统101的管理员可以配置分析服务器102以选择具有某些特征或特性的训练音频信号。 在某些情况下,分析数据库 104 可以包括注册或注册用户数据,分析系统 101 从各种提供者系统 110 接收这些数据,指示注册演讲者的实际年龄。 [0050] 呼叫分析系统101的管理设备103是允许呼叫分析系统101的人员执行各种管理任务或用户提示的分析操作的计算设备。 管理设备103可以是包括处理器和软件并且能够执行这里描述的各种任务和过程的任何计算设备。 管理设备103的非限制性示例可以包括服务器、个人计算机、膝上型计算机、平板计算机等。 在操作中,用户使用管理设备103来配置呼叫分析系统101或提供商系统110的各种组件的操作并且向这些组件发出查询和指令。 [0051]转向供应商系统110,供应商系统110包括供应商服务器111、供应商数据库112和代理设备116。 [0052] 服务供应商系统110的供应商服务器111执行用于管理呼叫队列和/或路由通过各种渠道向供应商系统110发出的呼叫的软件过程,其中这些过程可以包括例如将呼叫路由至适当的代理设备 116 基于入站发言人的评论、说明、IVR 输入或在入站呼叫期间提交的其他输入。 提供商服务器 111 可以捕获、查询或生成有关呼叫、扬声器和/或最终用户设备 114 的各种类型的信息,并将该信息转发到代理设备 116,其中图形用户界面 (GUI) 代理设备116向提供商系统110的代理(例如,呼叫中心代理)显示信息。 提供商服务器111还将关于入站呼叫的信息传输到分析系统101以对入站音频信号和任何其他音频数据执行各种分析处理。 提供商服务器 111 可以发送 基于预先配置的触发条件(例如,接收入站电话呼叫)、从系统100的另一设备(例如,代理设备116、管理设备103、分析服务器102)接收的指令或查询的信息和音频数据,或作为一部分 以固定间隔或预定时间传输的批次。 [0053] 提供商数据库 112 包括有关终端用户设备 114 或终端用户的信息,并托管在提供商系统 110 的一个或多个计算设备(例如,提供商服务器 111)的非暂时性机器可读存储介质上。提供商数据库 112可以包含任何数量的训练音频信号语料库,分析服务器102可以通过一个或多个网络访问这些语料库。 在一些实施例中,分析服务器 102 采用监督训练来训练机器学习架构,其中分析数据库 104 包括与训练音频信号相关联的标签,这些标签例如指示特征(例如,说话者年龄)或低水平 训练信号的声学特征(例如 MFCC)。 分析服务器102还可以查询外部第三方数据库(未示出)以访问一个或多个训练音频信号的第三方语料库。 分析系统101的管理员可以配置分析服务器102以选择具有某些特征或特性的训练音频信号。 在一些实施例中,提供者数据库112包括注册或参与者-用户数据。 登记数据可以包括例如登记的实际年龄、年龄分布、登记的特征和/或登记的声纹矢量。 [0054] 提供商系统 110 的代理设备 116 可以允许提供商系统 110 的代理或其他用户配置提供商系统 110 的设备的操作。对于对提供商系统 110 的调用,代理设备 116 接收并显示一些或所有 与从提供商服务器 111 路由的呼叫相关联的相关信息的集合。 [0055] 过程操作示例 [0056] 示例训练和部署 [0057] 图2示出了用于训练和部署用于提取说话人嵌入和年龄估计的机器学习架构的方法200的步骤。 实施例可以包括比方法200中描述的操作更多、更少或不同的操作。服务器(例如,分析服务器102)通过执行包括一个或多个机器学习的机器可读软件代码来执行方法200的步骤 尽管实施例可以包括执行方法200的各种操作的任意数量的计算设备和/或处理器。 [0058]服务器执行机器学习架构,包括定义嵌入提取器和年龄估计器的层或函数,以及机器学习架构的其他类型的子组件引擎。 在一些实施例中,机器学习架构包括多个不同的机器学习架构; 并且在一些实施例中,机器学习架构包括单个机器学习架构。 服务器在各种操作阶段执行机器学习架构的层和功能的软件例程,包括训练阶段、部署阶段(有时称为“测试阶段”或“生产阶段”)和可选的 注册阶段(示例方法 200 中未显示)。 [0059] 根据特定的操作阶段,服务器在一个或多个输入音频信号上摄取和应用机器学习架构。 输入音频信号是指服务器摄取并应用机器学习架构的任何音频信号,包括训练阶段的训练信号、注册阶段接收的注册信号以及部署阶段接收的入站音频信号。 [0060] 在步骤202中,在训练阶段,服务器获取任意数量的训练音频信号以及训练信号对应的关联训练标签。 服务器将机器学习架构置于训练操作阶段,服务器获得任意数量(有时数千或数十万)的训练音频信号。 [0061] 机器学习架构的服务器或输入层对输入音频信号(例如,训练音频信号、注册音频信号、入站音频信号)执行各种预处理操作。 这些预处理操作可以包括,例如,从音频信号中提取低级特征(例如,MFCC)并通过执行 FFT 和/或 SFT 变换操作将这些特征从时域表示转换为频域表示 . 预处理操作还可以包括将音频信号解析为帧或子帧,以及执行各种归一化或缩放操作。 可选地,服务器在将输入音频信号的音频数据馈送到机器学习架构的输入层之前执行任意数量的预处理操作。 服务器可以在一个或多个操作阶段中执行各种预处理操作,尽管所执行的特定预处理操作可以跨操作阶段变化。 服务器可以独立于机器学习架构或作为机器学习架构的网络层执行各种预处理操作。 [0062] 在一些实施例中,机器学习架构的服务器或层对输入音频信号(例如,训练音频信号、注册音频信号)执行各种数据增强操作。 数据增强操作会产生各种类型的输入音频信号失真或降级,因此机器学习架构的操作层(例如,嵌入提取器的卷积层;年龄估计器的 softmax 层)会摄取生成的增强或失真输入 音频信号。 在某些情况下,服务器生成具有不同特征或特征(例如,说话者语音特征的变化)的模拟训练音频信号,模拟低级特征和/或说话者语音变化的各种类型的降级。 [0063] 服务器可以执行与机器学习架构分开的各种数据增强操作,或者作为机器学习架构的网络内增强层的操作。 此外,服务器可以在一个或多个操作阶段(例如,训练阶段)中执行各种数据扩充操作,尽管所执行的特定扩充操作可以跨每个操作阶段而变化。 [0064]在步骤204中,服务器通过在训练音频信号上应用机器学习架构来使用训练音频信号训练定义嵌入提取器和年龄估计器的机器学习架构的神经网络层。 服务器将机器学习架构的层或功能应用于每个训练音频信号以训练例如嵌入提取器和年龄估计器的层。 对于每个训练信号,嵌入提取器为特定训练信号中的语音音频生成预测训练嵌入。 使用相同或不同的训练信号,年龄估计器生成预测的年龄分布和预测的估计年龄。 [0065] 在步骤206中,服务器执行一个或多个损失层的软件例程,这些损失层执行损失函数并更新机器学习架构的超参数和/或权重。 在一些实施例中,子组件引擎(例如,嵌入提取器、年龄估计器)的机器学习架构包括不同的损失层,其分别训练特定的子组件引擎。 例如,在示例方法200中,嵌入提取器包括并执行用于训练嵌入提取器的损失层集合,这与训练年龄估计器的年龄估计器的另一损失层集合不同。 [0066] 在一些实施例中,机器学习架构包括共同训练子组件引擎(例如,嵌入提取器、年龄估计器)的融合损失层。 此外或可替代地,在一些实施例中,机器学习架构包括用于分别训练子组件引擎的不同损失层,以及共同训练子组件引擎的融合损失层。 [0067] 对于嵌入提取器,损失层执行损失函数,通过参考与训练信号关联的训练标签来评估误差水平,其中训练标签指示相应的提取器输出(例如,预期训练特征、预期训练向量) 训练信号。 训练标签包括指示例如预期提取器输出的值或特征的各种信息。 各种损失函数(例如,均方误差损失函数)根据嵌入提取器生成的预测提取器输出(例如,预测训练特征、预测训练向量)与预期提取器输出之间的差异或相似性来确定误差级别 由相应的训练标签指示。 嵌入提取器的损失层可以调整嵌入提取器的超参数以提高误差水平,直到误差水平满足误差水平阈值。 [0068]对于年龄估计器,训练标签包括各种信息,例如指示预期的真实年龄和/或预期的真实年龄周围的概率分布。 在某些情况下,服务器确定一个或多个训练标签中真实年龄周围的预期概率分布。 损失层执行基于分布的损失函数,评估一个或多个训练信号的预测年龄分布与一个或多个说话人标签中真实年龄周围的预期年龄分布之间的误差水平。 损失函数根据 softmax 层生成的预测概率分布与训练标签指示的预期概率分布之间的差异或相似性来确定误差级别。 年龄估计器的损失层可以调整年龄估计器的超参数以提高误差水平,直到误差水平满足误差水平阈值。 训练期间损失函数的目标是确定或学习训练信号的说话者年龄的高斯概率分布的一个或多个稳定参数(例如,平均年龄;参数)。 作为训练年龄估计器的结果,高斯分布的均值(或其他参数)将接近(在阈值距离内)或完全等于训练标签中的预期年龄。 例如,年龄估计器的全连接层输出预测年龄或预测年龄分布。 损失函数学习高斯分布的参数 对于全连接层,例如,年龄估计器学习和应用的高斯分布的均值等于标签的年龄。 [0069] 例如,从未经训练的年龄估计器开始,权重仍然是默认值或零。 服务器开始根据与第一个说话人的训练信号相关联的说话人训练标签为22岁的第一个说话人提供新的训练信号。 对于第一训练信号,年龄估计器将例如年龄估计器的密集层、softmax层和全连接层应用于训练音频信号的训练向量以生成65岁的预测年龄。 损失函数确定一个距离,并根据说话人标签指示的预期说话人年龄 22 岁执行反向传播。 在操作中,年龄估计器确定存在训练有素的预期高斯分布,其平均值为 65,西格玛方差为 23 或大约 23。然后,损失函数确定预测年龄 65 岁与实际年龄之间的距离或差异。 预期年龄为 22 岁,距离为 44。损失函数确定距离 44 无法满足训练阈值,并且在反向传播操作中,将第一个说话人的额外训练音频信号信号馈入年龄 估计器调整权重并减少损失。 损失函数的反向传播操作决定了损失过大需要减少。 在进一步训练信号的几次迭代或时期之后,为第一个说话人生成的预测分布的预测均值的距离或损失开始从例如 65 减少到 60,再到 42,然后最终是 预测分布在 22 或 23 的阈值距离内,这是特定说话人的真实年龄,如说话人的训练标签所示。 年龄估计器对具有任意数量特征(例如,年龄、性别、口音、语言)的任意数量的说话者重复这些损失函数。 [0070]在确定损失时,年龄估计器参考平均值,而不是作为整数的估计年龄。 由服务器或说话者标签确定的基本事实不仅包括作为数字的预期年龄。 服务器实际上可能将该预期年龄转换为分布。 例如,年龄估计器不会简单地将 ground truth 预期年龄 55 岁视为 55 岁; 通过假设预期年龄是 55 岁左右的正态分布的平均值,年龄估计可以为预期年龄分配一种可变性。 这样,如果服务器没有收到 54 岁说话者的任何训练样本,则生成均值为 55 左右的分布可以解决 54 岁说话者样本稀缺的问题。 结果,在训练年龄估计器期间或之后,年龄估计器生成一个入站分布,其平均中心在 55 左右,而损失函数 确定入站概率分布和预期概率分布之间的距离。 在某些情况下,这种偏差可能代表对估计年龄的置信水平,从而允许年龄估计器生成具有特定误差或置信水平的“软”年龄估计。 [0071] 训练完成后,服务器将超参数存储到服务器的非临时内存或其他内存存储位置(例如,分析数据库、提供程序数据库)。 在训练之后,服务器可以通过禁用机器学习架构的某些层或功能来固定机器学习架构的超参数和/或权重,从而保持超参数和/或权重不变。 [0072] 在步骤208,在部署阶段,服务器接收入站音频信号数据。 服务器通过基于电话的通信信道(例如,固定电话、移动电话、VoIP)接收包括入站说话者语音信号的入站音频信号。 输入层对入站音频信号应用任意数量的预处理和/或数据增强操作,为嵌入提取器或年龄估计器以及机器学习架构的其他层或功能准备入站音频。 如前所述,预处理操作可能包括将音频信号解析为帧或子帧,执行将原始输入音频信号转换为频谱图能量/频率表示的转换操作(例如,FFT、SFT),提取频谱 -时间特征,并执行各种归一化或缩放操作。 然后,输入层将入站音频信号的特征馈送到机器学习架构的其余层(例如,嵌入提取器、年龄估计器)。 [0073] 在步骤210中,服务器使用嵌入提取器对由输入层摄取的入站信号数据生成入站说话人嵌入。 嵌入提取器的全连接层将入站说话人嵌入提供给年龄估计器,服务器将其应用于入站说话人嵌入以生成入站预测分布和估计年龄。 年龄估计器的层(例如,密集层、softmax 层、dropout 层、全连接层)输出估计年龄,并根据一个或多个预配置参数输出估计年龄周围的预测分布作为预测分布的均值。 在某些情况下,年龄估计器确定预测分布的参数(例如,预测平均值、预测年龄)与分布的参数(例如,预期平均值、预期实际年龄)之间的部署时间距离。 预期分布,其中部署时间距离可能表示入站预测年龄估计的误差水平或置信度。 [0074] 在某些情况下,在年龄估计器的全连接层输出估计年龄和预测分布后,损失层可能会更新或重新训练层和/或分布参数,例如,当距离不能满足年龄匹配时 阈值,置信度分数未达到置信度阈值分数,和/或具有估计年龄的样本数量未能满足特定估计年龄的信号阈值数量。 [0075]在一些实施例中,服务器(或另一计算设备)使用估计的年龄以及在一些情况下提取的入站声纹嵌入来执行下游操作。 例如,认证例程可以确定欺诈的可能性或说话者是登记的说话者的可能性。 [0076] 用户注册、注册和身份验证示例 [0077] 图3示出了用于向采用用于提取说话人嵌入和年龄估计的机器学习架构的系统注册登记者用户的方法300的步骤。 机器学习架构接收登记者用户的登记信息,以包括在可选登记阶段登记登记者的语音生物识别时以及稍后在部署阶段验证登记的说话者时用于估计说话者年龄的各种类型的信息。 实施例可以包括比方法300中描述的操作更多、更少或不同的操作。服务器(例如,分析服务器102)通过执行包括一个或多个机器学习的机器可读软件代码来执行方法200的步骤 尽管实施例可以包括执行方法300的各种操作的任意数量的计算设备和/或处理器。 [0078] 服务器执行机器学习架构,包括定义嵌入提取器和年龄估计器的层或函数,以及机器学习架构的其他类型的子组件引擎。 在一些实施例中,机器学习架构包括多个不同的机器学习架构; 并且在一些实施例中,机器学习架构包括单个机器学习架构。 为了便于讨论,示例方法 300 的机器学习架构包括嵌入提取器和年龄估计器的层,尽管嵌入提取器和年龄估计器可以是不同机器学习的组件 架构。 服务器在各种操作阶段执行机器学习架构的层和功能的软件例程,包括训练阶段(示例方法300中未示出)、可选的注册阶段和部署阶段(有时称为 “测试阶段”或“生产阶段”)。 [0079] 根据特定的操作阶段,服务器在一个或多个输入音频信号上摄取和应用机器学习架构。 输入音频信号是指服务器摄取并应用机器学习架构的任何音频信号,例如训练阶段的训练信号、注册阶段接收的注册信号以及部署阶段接收的入站音频信号。 [0080] 在步骤302中,登记者用户根据各种类型的登记数据向分析系统或服务提供商系统注册新的用户账户。 服务器在用户账户数据库(例如,分析数据库104、提供商数据库112)中生成一个或多个新的数据库记录,并包括各种类型的登记数据(例如,实际登记年龄、年龄分布)。 在步骤304中,机器学习架构的嵌入提取器使用登记音频信号的语音信号提取各种登记特征和说话人嵌入特征向量。 使用提取的注册特征和注册特征向量,服务器然后为新注册用户生成注册声纹嵌入。 在步骤306中,服务器将注册特征、注册声纹嵌入和注册说话人信息(例如,实际注册年龄、年龄分布)存储到用户账户数据库中。 [0081]在步骤308中,机器学习架构将嵌入提取器应用于入站音频信号以生成入站说话人嵌入。 嵌入提取器根据入站说话人嵌入与存储的登记声纹嵌入的比较来确定距离或相似性分数。 然后嵌入提取器可以确定入站说话人嵌入是否满足语音匹配阈值分数。 附加地或替代地,年龄估计器使用入站说话者嵌入和入站说话者的预测年龄来生成预测年龄分布。 年龄估计器可以将预测年龄和/或预测分布与登记的实际年龄和/或预期分布进行比较以确定预测年龄是否满足与登记的实际年龄的年龄匹配阈值距离。 年龄估计器还可以基于预测分布和预期分布之间的距离来确定误差水平或置信度得分。 [0082] 机器学习架构示例 [0083] 图4A-4C示出了用于说话人年龄估计和组件间数据流的机器学习架构400的组件层和功能。 为了便于描述,服务器(例如,分析服务器 102)执行机器学习架构 400 的软件例程,尽管实施例可以包括任意数量的各种类型的计算设备(例如,服务器、个人计算机),这些计算设备执行一些或所有的 机器学习架构 400 的软件例程。 [0084] 机器学习架构400包括定义端到端系统的一个或多个神经网络架构,该端到端系统摄取和处理输入音频信号的音频数据。 在一些实施例中,机器学习架构400包括网络内数据增强层(未示出),其在机器学习架构400的各个操作阶段(例如,训练阶段、训练阶段、 入学阶段)。 因此,图 4A-4C 的输入音频信号可以指在训练阶段接收的训练音频信号(例如,干净的音频信号、模拟音频信号)、在可选注册阶段接收的注册音频信号或接收的入站音频信号 在部署阶段。 实施例可以包括额外的或替代的操作,或者可以从图4A-4C所示的操作中省略操作,并且仍然落入本公开的范围内。 此外,实施例可以改变机器学习架构400的组件被执行的顺序。 [0085] 实施例可以包括比针对示例机器学习架构400所描述的操作更多、更少或不同的操作。为了便于描述,服务器(例如,分析服务器102)通过执行机器学习架构400的操作来执行机器学习架构400的操作。 机器学习架构400的可读软件代码,尽管实施例可以包括任何数量的计算设备和/或执行机器学习架构400的操作的各种类型的计算设备。机器学习架构400包括层或功能 定义前端说话人嵌入提取引擎(“嵌入提取器 402”)和后端说话人年龄估计引擎(“年龄估计器 420”),以及机器学习架构 400 的其他类型的子组件引擎。 在一些实施例中,机器学习架构400包括协同操作的多个不同的机器学习架构400; 在一些实施例中,机器学习架构 400 包括一个单一的, 集成(或“融合”)机器学习架构 400。服务器在各种操作阶段执行机器学习架构 400 的层和功能的软件例程,包括训练阶段、部署阶段(有时称为 “测试阶段”或“生产阶段”),以及可选的注册阶段。 [0086]根据特定的操作阶段,服务器在一个或多个输入音频信号上摄取和应用机器学习架构400。 输入音频信号是指服务器接收并馈送到机器学习架构400中的一个或多个音频信号。例如,输入音频信号包括训练阶段的训练音频信号; 输入音频信号包括注册阶段的注册信号; 输入音频信号包括部署阶段的入站音频信号。 [0087] 如图4A所示,机器学习架构400包括一个或多个输入层401、前端嵌入提取器402和后端年龄估计器420 [0088] 输入层401包括用于摄取输入音频信号并对输入音频信号执行预处理操作和/或数据增强操作的层和功能。 输入层401可以在摄取输入音频信号或从输入音频信号中提取的特征时执行预处理技术。 这些预处理技术可以包括,例如,将音频数据解析为固定帧或子帧,根据FFT of SFT算法将音频数据从时域表示变换为频域表示,并进行归一化或缩放 功能。 例如,某些预处理操作通常将变换后的能量值归一化或缩放到范围为 [-1, 1] 的尺度,其中 -1 是极低值,1 是极高值。 基于对输入音频信号执行的变换算法或其他操作,输入层401生成并输出代表输入音频信号的数据集,其格式为嵌入提取器402提取各种特征和一个或多个代表音频信号的特征向量 输入音频信号。 [0089] 嵌入提取器 402 包括用于使用输入层 401 摄取和预处理的音频信号数据来提取表示音频信号中的语音的特征的层和函数。嵌入提取器 402 然后提取一个或多个说话者嵌入 418 输入音频信号,使用从输入音频信号数据中提取的特征。 [0090] 说话人嵌​​入418包括音频信号中说话人的语音特征的数学表示,例如训练嵌入、登记声纹或生产声纹。 在训练阶段,嵌入提取器402为每个特定的训练音频信号生成训练特征向量。 在可选的登记阶段,嵌入提取器402为来自登记者-说话者的每个登记音频信号生成登记特征向量。 嵌入提取器402通过算法组合登记特征向量以生成表示登记用户的声纹嵌入。 在部署阶段,嵌入提取器402为生产音频信号生成入站特征向量(或“入站声纹”)。 在嵌入提取器402为生成音频信号提取多个生成特征向量的实施例中,嵌入提取器402通过算法组合生成特征向量以生成生成声纹嵌入。 嵌入提取器402然后将生产声纹输出到机器学习架构400的后端。 [0091]年龄估计器420包括用于使用说话人嵌入来估计特定输入音频信号中说话人的年龄的层和函数,并且在一些实现中,还包括关于说话人或最终用户设备的附加类型的数据。 年龄估计器420接收从嵌入提取器402生成和馈送的说话人嵌入418。年龄估计器420然后生成估计年龄430。在训练阶段期间,年龄估计器420生成预测训练估计年龄430和/或 每个训练信号的预测概率分布424。 在可选的登记阶段,登记者通过图形用户界面提供登记者的年龄,或者年龄估计器420为登记音频信号生成登记者估计年龄430和/或登记概率分布424。 在生产时间期间,年龄估计器420为入站音频信号生成入站估计年龄430和/或入站概率分布424。 [0092] 在一些实施例中,服务器或另一设备接收机器学习架构400的输出418、430并执行一个或多个下游操作。 例如,在部署期间,服务器将机器学习架构 400 应用于入站音频信号,生成入站说话人嵌入 418 和入站估计年龄 430。嵌入提取器 402 的全连接层 408 生成说话人嵌入 418 和 相似度分数,指示入站说话人嵌入418和存储的登记声纹说话人嵌入418之间的距离或相似度。当相似度分数满足匹配时,服务器识别入站说话人和登记者之间的潜在匹配(或可能匹配) 阈值。 服务器 可以进一步确定登记者的登记年龄和入站估计年龄430是否在匹配阈值内。 下游认证操作然后根据匹配阈值确定来确定是否将入站说话者认证为登记说话者。 这仅仅是下游操作的简化示例,其他实施例可以使用说话人嵌入 418 或估计年龄 430 来实现任何数量的附加或替代下游操作(例如,说话人认证、说话人二值化)。 [0093] 图4B示出了定义前端嵌入提取器402的机器学习架构400的组件。嵌入提取器402包括卷积层404、池化层406、全连接层408、410、414和损失层412、416。 [0094] 一个或多个卷积层404摄取由输入层401摄取或生成的音频信号数据,例如从输入音频信号中提取的低级特征(例如,MFCC)。 在一些情况下,输入层 401 对输入音频信号执行各种预处理和/或数据增强操作,这些操作将输入音频信号操纵和/或转换为嵌入提取器 402 可用的数据格式。在一些情况下, 卷积层404进一步摄取来自其他数据源的额外类型的数据输入,例如由服务器生成或从数据库(例如,分析数据库104、提供者数据库112)接收的训练音频信号或模拟音频信号。 卷积层404将特定输入音频信号的卷积特征输出到各种池化层406,其可以包括任何数量的统计层和/或归一化层。 全连接层 408 对从汇集层 406 摄取的结果执行各种加权运算,以生成特定输入音频信号的特征向量(例如,训练特征向量、注册特征向量、生产特征向量)。 [0095]在一些实施例中,嵌入提取器402的训练阶段包括两个子阶段。 在第一训练阶段409中,服务器可以冻结各种超参数和/或禁用嵌入提取器402的某些层(例如,第二训练阶段411的层)。 第二组一个或多个全连接层 410 从第一组一个或多个全连接层 408 摄取输出,并类似地对从第一全连接层 408 摄取的结果执行各种加权运算以生成低维 特征向量。 输出层415使用低维特征向量执行softmax函数。 第一组一个或多个损失层 412 执行交叉 对 softmax 函数的输出进行熵运算,在一些实现中,它引用对应于训练音频信号的说话人标签 413。 损失层412可以基于所执行的特定损失函数来调整机器学习架构400的层中的各种参数。 [0096] 对于第二阶段训练操作 411,服务器冻结各种超参数和/或禁用嵌入提取器 402 的某些层(例如,第一阶段训练操作 409 的层),并启用第三组全连接层 ) 414 和第二训练阶段 411 的第二组损失层 416。服务器然后通过嵌入提取器 402 的一些或所有层重新馈送输入音频信号,这可能包括应用第一个完全 连接层408生成特征向量。 第三全连接层414对从第一全连接层408摄取的特征向量执行各种加权运算以生成特定训练音频信号的另一个低维特征向量。 第二组损失层416执行大余弦损失(LMCL)函数,在一些实施方式中,其参考与特定训练音频信号相对应的说话人标签413。 在一些情况下,损失层416可以基于LMCL调整机器学习架构400的层中的各种参数。 [0097] 在一些实现中,在部署(或注册)期间,服务器禁用某些用于训练的层,例如第二组全连接层 410、输出层 415 和/或第一组损失层 412。服务器可以 继续启用和应用其他层,例如第三组全连接层 414 和第二组损失层 416。第二全连接层 414 生成的特征向量变为针对特定输入提取和输出的说话人嵌入 418 音频信号(例如,入站音频信号、注册音频信号),并作为下游操作的参考,例如年龄估计和说话人验证。 [0098] 在一些实施例中,第二组损失层416生成预测说话人嵌入418和预期嵌入之间的距离或相似度的相似度或错误得分水平,如说话人标签413或登记的声纹所示。 当损失层 416 确定预测说话人嵌入 418 和预期嵌入之间的相似性得分或距离在匹配阈值内时,服务器确定输入音频信号的说话人可能与预期说话人或参加者匹配 相似性分数或距离。 对于训练,服务器确定嵌入提取器 当距离或类似分数满足训练阈值误差水平时训练402。 [0099] 图 4C 显示了机器学习架构 400 的组件,包括定义后端年龄估计器 420 的层、函数和输出。年龄估计器 420 从全连接层 408 接收数据,应用概率层 422 以生成一个或多个概率分布 424,并应用一个或多个损失函数426a-426c(统称为“损失函数426”或“损失函数426”)。 如上所述,嵌入提取器402的全连接层414生成说话人嵌入418并将说话人嵌入418馈送到年龄估计器420。 [0100]概率层422包括用于执行各种类型的概率或归一化函数(例如,softmax层、丢失层)、生成概率分布424和根据一种或多种损失学习技术执行损失函数426的软件例程和函数。 [0101] 对于基于分布的方法,年龄估计器 420 实现概率分布 424 和损失函数 426,它们在估计说话者的年龄时考虑并适应一定程度的模糊性。 当被要求估计语音样本中一个人的年龄时,人类可以很容易地提供年龄估计和特定的置信区间。 此能力映射到估计年龄 430 和特定标准差附近的正态分布。 假设正态高斯分布,用于实现这种分布学习损失的损失函数 426 包括例如 Kullback-Leibler 散度(KLD)函数(“KLD 函数 426a”)、广义 Jeffries-Matusita(GJM)距离函数( “GJM 距离函数 426b”),以及均值和方差损失函数 426c。 在基于分布的方法中,损失函数426测量两个分布(例如,预期概率分布424和预测概率分布424)之间的距离或相似性的量。 [0102] 在操作中,概率层422通过用围绕由特定说话者标签413指示的年龄的正态概率分布424替换每个单个说话者标签413来合并基本事实中的歧义。系统管理员手动输入或年龄估计器420自动学习 概率分布424的标准偏差。随着假定的正态概率分布424的标准偏差减小,标准偏差变得更尖锐。 在极限(标准差接近零)处,这种方法近似(或渐近地接近)的行为 基于分类的学习。 可以训练年龄估计器420的概率层422的softmax层以使用说话人嵌入418和一个或多个概率分布424作为目标或预期输出来生成估计年龄430。 训练时,softmax 层生成估计年龄 430 的概率分布 424。 [0103] KLD函数426a(或相对熵)是一种统计距离,测量概率分布424之间的相似性或差异量。KLD函数426a要求服务器知道地面真实年龄的平均值和地面的标准差 真实年龄,如由说话者标签413指示或确定的。然而,通常,服务器对具有用于训练输入音频信号的说话者标签413的足够训练数据集的访问受限。 在这些情况下,管理员可以使用默认标准偏差或恒定标准偏差来配置年龄估计器420。 [0104] GJM距离函数426b是一种类似于KLD函数426a的统计距离。 GJM 距离函数 426b 要求服务器知道地面实况的分布和地面实况年龄的标准偏差,如管理员预先配置的或使用说话人标签 413 指示的那样。管理员或服务器也可以预先配置稳定性或 ground truth 分布的形状参数 (alpha)。 [0105] 均值和方差损失函数426c是均值和方差损失的线性组合。 均值损失寻求最小化由 softmax 层生成的概率分布 424 与地面真值说话人标签 413 的概率分布 424 的均值差异。方差损失寻求最小化由 softmax 层生成的概率分布 424 的分布 softmax层。 在许多情况下,均值和方差损失函数 426c 可以有益地估计年龄分布而无需明确地知道基本事实的分布。 [0106]每个损失函数 426 可以调整年龄估计器 420 或机器学习架构 400 的其他部分(例如,嵌入提取器 402)的超参数和/或权重,以根据 特定损失函数426。当预测概率分布424和预期概率分布424之间的距离或相似性满足特定训练阈值时,服务器确定年龄估计器420被训练。 在部署期间,年龄估计器420生成估计年龄430作为一组一个或多个预测年龄值或作为围绕预测年龄值的预测分布。 年龄 估计器420还可以基于例如预测年龄值和围绕预测年龄值的预测或预期分布的偏差量来生成估计年龄430的置信值。 [0107] 示例实施例 [0108] 在一些实施例中,一种计算机实现的方法包括:通过计算机获得针对多个训练说话人的多个训练音频信号提取的多个训练说话人嵌入; 由计算机训练机器学习架构的年龄估计器以通过使用多个说话者标签将年龄估计器应用于多个训练说话者的多个训练说话者嵌入来生成估计年龄和估计概率分布, 每个说话人标签指示相应训练说话人的实际年龄; 计算机获取入站说话人的入站音频信号的入站说话人嵌入; 通过在入站说话人嵌入上应用年龄估计器的计算机生成入站说话人的入站概率分布; 通过计算机将年龄估计器应用于入站说话人嵌入,生成入站说话人的估计年龄和基于估计的概率分布的置信度分数。 [0109] 在一些实现中,训练年龄估计器包括,对于每个训练信号,由计算机基于将年龄估计器应用于训练信号的训练嵌入来生成预测年龄; 计算机根据说话人标签,根据训练信号的训练说话人的预测年龄与实际年龄的差值,确定损失。 [0110] 在一些实施方式中,该方法进一步包括由计算机基于损失来更新年龄估计器的一个或多个权重。 [OHl]在一些实施方式中,生成预测年龄包括由计算机生成训练信号的预测年龄的预测分布,其中预测年龄是预测分布的平均值。 确定差异包括由计算机确定预测分布和概率分布之间的距离,其中计算机基于该距离更新概率分布。 [0112] 在一些实施方式中,该方法还包括由计算机确定年龄估计器被训练以响应于确定预测分布和概率分布之间的差异满足训练阈值。 [0113] 在一些实施方式中,该方法进一步包括由计算机基于入站分布和概率分布之间的差异来更新年龄估计器的一个或多个权重以更新年龄估计器的训练。 [0114] 在一些实施方式中,该方法还包括由计算机从数据库接收训练说话者的说话者标签的实际年龄。 [0115] 在一些实施方式中,获得训练音频信号的训练说话人嵌入包括由计算机将机器学习架构的嵌入提取器应用于训练音频信号以提取训练音频信号的多个声学特征; 计算机将嵌入提取器应用于多个声学特征,以提取训练音频信号的训练说话人嵌入。 [0116]在一些实施方式中,该方法进一步包括,响应于计算机确定入站说话人嵌入满足与登记说话人嵌入的说话人匹配阈值距离,并且估计年龄在与登记年龄的年龄匹配阈值距离内 已登记发言者:计算机响应计算机,将入站发言者识别为已登记发言者。 [0117] 在一些实施方式中,该方法还包括由计算机从管理员设备的图形用户界面接收概率分布的一个或多个参数。 计算机根据一个或多个参数确定概率分布。 [0118] 在一些实施例中,一种系统包括计算机,该计算机包括处理器,该处理器被配置为获得为多个训练说话人的多个训练音频信号提取的多个训练说话人嵌入; 通过使用多个说话人标签将年龄估计器应用于多个训练说话人的多个训练说话人嵌入来训练机器学习架构的年龄估计器以生成估计年龄和估计概率分布,每个说话人标签指示实际年龄 相应的培训讲师; 获取入站说话人的入站音频信号的入站说话人嵌入; 通过在入站说话人嵌入上应用年龄估计器,生成入站说话人的入站概率分布; 并通过在入站说话人嵌入上应用年龄估计器,生成入站说话人的估计年龄和基于估计的概率分布的置信度分数。 [0119] 在一些实施方式中,当训练年龄估计器时,计算机还被配置为针对每个训练信号,基于将年龄估计器应用于训练信号的训练嵌入来生成预测年龄; 根据说话人标签,根据训练信号的训练说话人的预测年龄与实际年龄的差值确定损失。 [0120] 在一些实施方式中,计算机还被配置为基于损失来更新年龄估计器的一个或多个权重。 [0121] 在一些实施方式中,当生成预测年龄时,计算机还被配置为针对训练信号的预测年龄生成预测分布,其中预测年龄是预测分布的均值。 当确定差异时,计算机还被配置为确定预测分布与概率分布之间的距离,其中计算机基于该距离更新概率分布。 [0122] 在一些实施方式中,计算机还被配置为响应于计算机确定预测分布与概率分布之间的差异满足训练阈值而确定年龄估计器被训练。 [0123] 在一些实施方式中,计算机还被配置为基于入站分布和概率分布之间的差异来更新年龄估计器的一个或多个权重以更新年龄估计器的训练。 [0124] 在一些实施方式中,计算机还被配置为从数据库接收训练说话者的说话者标签的实际年龄。 [0125] 在一些实施方式中,当获得训练音频信号的训练说话人嵌入时,计算机进一步被配置为将机器学习架构的嵌入提取器应用于训练音频信号以提取训练音频信号的多个声学特征; 并将嵌入提取器应用于多个声学特征以提取训练音频信号的训练说话人嵌入。 [0126] 在一些实施方式中,计算机还被配置为响应于计算机确定入站说话人嵌入满足与登记的说话人嵌入的说话人匹配阈值距离,并且估计的年龄处于年龄- match threshold distance from an enrolled age of the enrolled speaker:将入站演讲者识别为已注册演讲者。 [0127] 在一些实施方式中,计算机还被配置为从管理员设备的图形用户界面接收概率分布的一个或多个参数,其中计算机基于一个或多个参数确定概率分布。 [0128] 结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件或两者的组合。 为了清楚地说明硬件和软件的这种可互换性,各种说明性组件、块、模块、电路和步骤已在上面根据它们的功能进行了一般性描述。 这种功能是作为硬件还是软件来实现取决于特定的应用程序和强加给整个系统的设计约束。 技术人员可以针对每个特定应用程序以不同的方式实现所描述的功能,但是这样的实现决定不应被解释为导致偏离本发明的范围。 [0129] 以计算机软件实现的实施例可以以软件、固件、中间件、微码、硬件描述语言或其任何组合来实现。 代码段或机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类或指令、数据结构或程序语句的任意组合 . 代码段可以通过传递和/或接收信息、数据、参数、属性或存储器内容耦合到另一个代码段或硬件电路。 信息、参数、属性、数据等可以通过任何合适的方式传递、转发或传输,包括内存共享、消息传递、令牌传递、网络传输等。 [0130] 用于实施这些系统和方法的实际软件代码或专用控制硬件不限制本发明。 因此,系统和方法的操作和行为是在没有参考特定软件代码的情况下描述的,应理解软件和控制硬件可以被设计为基于本文的描述来实现系统和方法。 [0131] 当以软件实现时,功能可以作为一个或多个指令或代码存储在非暂时性计算机可读或处理器可读存储介质上。 本文公开的方法或算法的步骤可以体现在处理器可执行软件模块中,该模块可以驻留在计算机可读或处理器可读存储介质上。 非暂时性计算机可读或处理器可读介质包括计算机存储介质和促进计算机程序从一个地方转移到另一个地方的有形存储介质。 非暂时性处理器可读存储介质可以是可由计算机访问的任何可用介质。 作为示例而非限制,此类非暂时性处理器可读介质可以包括 RAM、ROM、EEPROM、CD-ROM 或其他光盘存储、磁盘存储或其他磁存储设备,或任何其他有形存储介质 可以用来以指令或数据结构的形式存储所需的程序代码,并且可以由计算机或处理器访问。 此处使用的磁盘和光盘包括压缩光盘 (CD)、激光光盘、光盘、数字多功能光盘 (DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘则通过激光以光学方式再现数据 . 以上的组合也应包括在计算机可读媒体的范围内。 此外,方法或算法的操作可以作为一个或任何组合或一组代码和/或指令驻留在非暂时性处理器可读介质和/或计算机可读介质上,其可以并入计算机程序产品中 . [0132]提供所公开实施例的前述描述以使本领域技术人员能够实现或使用本发明。 对这些实施例的各种修改对于本领域技术人员来说将是显而易见的,并且在不脱离本发明的精神或范围的情况下,本文定义的一般原理可以应用于其他实施例。 因此,本发明并不旨在限于本文所示的实施例,而是符合与所附权利要求和本文公开的原理和新颖特征一致的最宽范围。 [0133] 虽然已经公开了各种方面和实施例,但是可以想到其他方面和实施例。 所公开的各个方面和实施例是为了说明的目的而不是为了限制,真正的范围和精神由所附权利要求指示。
现在,一起体验智慧芽的产品和服务
自动注册,无需人工审核,即可立即开始查询专利
立即注册
澳门正版图库

AI助手