现代语音信号处理(Python版)教学课件第11章 说话人识别NN.ppt

现代语音信号处理(Python版)教学课件第11章 说话人识别NN.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(3)DNN训练 该说话人确认网络是使用maxout激活函数的DNN的模型,包含四个隐藏层,每层256个节点,池化大小为2。前两个层不使用dropout,而最后两个层在dropout后丢弃50%。模型使用ReLU作为隐藏单元的非线性激活函数,学习率为0.001。DNN的输入是从给定帧中提取40维对数滤波器组能量特征以及其连续帧(左边30帧和右边10帧)堆叠而成。 11.5.3 Deep Speaker Deep Speaker是一个说话人嵌入系统,它是百度公司于2017年提出的说话人识别框架。它采用ResCNN和GRU架构进行实验,提取声学特征,并通过池化层将帧级输入的语音映射为说话人的话语嵌入表示,最后采用基于余弦相似度的三元损失函数对模型进行训练。 (1)ResCNN 对于深层网络来说,其网络容量相比于浅层网络要大得多,因此更加难于训练。ResNet(残差神经网络)的提出正是为了解决深层CNN结构训练困难的问题。ResNet是由许多残差块堆叠而成。 每个块包含两个分支:一个分支经过若干卷积,其中最后一个卷积层无激活函数;另一个分支不经过任何卷积。两个分支的输出直接相加,然后经过一个ReLU激活输出。残差神经网络由残差块组成,每个残差块定义为: (2)GRU GRU是LSTM网络的一种效果很好的变体,它比LSTM更简单,效果更好。相比LSTM,GRU模型中只有两个门:更新门和重置门。 图中的zt和rt分别表示更新门和重置门。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门控制前一状态有多少信息被写入到当前的候选集 上,重置门越小,前一状态的信息被写入的越少。 (3)说话人嵌入 将序列以帧的方式输入到网络中提取编码后,再将所有帧取均值以得到句子级别的特征编码: 其中,T是序列中的帧数。然后,将h送入仿射变换层,对句子级别的特征编码进行降维。随后,将嵌入结果进行长度归一化,以余弦相似度作为目标函数,两个输入xi、xj的相似度表征如下: (4)三元损失函数 三元损失最早应用于人脸识别,可以学习到较好的人脸嵌入。该损失包含三个输入,一个称为“锚”(anchor,来自特定说话者的话语),另一个为同类例子(positive,来自特定说话者的另一个话语),另一个为异类例子(negative,来自另一个说话者的话语),不断学习直到同类例子和锚的余弦相似度大于锚和异类例子之间的余弦相似度,公式表示为: (α表示最小边距) (5)预训练 三元损失的样本主要分为三种: 1)loss=0,即容易分辨; 2) ,即一定会误识别; 3) ,处在模糊区域。 为了避免陷入次优局部最小值,采用第3)类样本。选用三元损失而不是softmax损失函数的原因是:softmax最终的分类数是确定的,而三元损失可以学习到较好的嵌入信息,由于同一个人的话语在嵌入空间中是相近的,因而可以判断是否是同一个人。 11.6 研究展望 尚需进一步探索的研究课题包括: 1)基础性的课题 (1)语音中语义内容与说话人人性的分离问题。 (2)有效特征的选择与提取。 (3)说话人特征的变化和样本选择问题。 2)实用性的课题 (1)说话人识别系统设计的合理化及优化问题。 (2)语音真伪的鉴别问题。 (3)说话人识别系统的性能评价问题。 (4)可靠性和经济性。 矢量量化的基本原理是:将若干个标量数据组成一个矢量(或者是从一帧语音数据中提取的特征矢量)在多维空间给予整体量化,从而可以在信息量损失较小的情况下压缩数据量。 * * 下面我们来初步了解矢量量化的原理。刚才我们提到标量量化每次只量化一个采样。而在下面这个例子里,一次量化4个采样,即一次量化一个4维矢量。其量化过程需要用到一个码书,假设我们已经训练好一个含4个码字的码书,每个码字都是4维矢量。矢量量化过程的实质就是在码书中找到输入矢量x的最近码字,其衡量标准就是误差测度。通常人们采用平方误差测度。经过计算发现码字c0离输入矢量x最近,故我们用码字c0量化输入矢量x. 最终用码字索引0对输入矢量x进行编码。所以矢量量化过程可用式子来表示。arg表示求索引。 * 我们再来看一个图像编码的例子。这里,原始图像块是一个4灰度级的16维矢量,每个分量就是一个像素,其灰度有四个等级0最黑,1,2,3最亮。假设码书含4个16维码字,经计算我们可以发现码字y1离x最近,故用索引01进行编码。 如果M取值太小,则训练出的GMM模型不能有效的刻划说话人的特征,从而使整个系统的性能下降。如果M取值过大,则模型参数会很多,从有效的训练数据中可能得不到收敛的模型参数,且训练得到的模型参数误差会很大。 * 均值聚类算法

文档评论(0)

allen734901 + 关注
实名认证
内容提供者

知识共享

1亿VIP精品文档

相关文档