百度发布Deep Speaker:声纹识别的端对端系统
jopen 8年前
<p style="text-align: center;"><a href="/misc/goto?guid=4958995864924822568" title="百度"><img alt="百度发布Deep Speaker:声纹识别的端对端系统" src="https://simg.open-open.com/show/7abba56fc3fadb3d9ec53a10fbba04e0.jpg" /></a></p> <p>日前,百度美研院宣布了其在声纹识别上所取得的突破性成果。研究表明:利用深度学习的方法比传统的i-vector 方法在识别准确率上获得了显著的提高。</p> <p>声纹识别算法寻求从音频中识别说话者的身份。两个常见的识别任务是确认(说话者是不是他宣称的那个人)和说话者身份识别(在一群未知的说话者中确认声音的来源)。</p> <p>该项技术已经有了各种应用。例如,声纹可以用来登录设备。说话者确认也可以作为金融交易的额外安全措施。此外,类似于智能家居助手之类的共享设备也可以利用这项技术来提供个性化的服务。</p> <p>最近使用神经网络来进行声纹识别的论文已经改进了传统的i-vector 方法(参考 Interspeech 教程的原始论文或者幻灯片)。i-vector 方法认为说话内容可以被分为两个部分,一个部分依赖于说话者和信道可变性,另一个部分依赖于其它的相关因素。i-vector 声纹识别是一个多步过程,其涉及到使用不同说话者的数据来估计一个通用的背景模型(通常是高斯混合模型),收集充分的统计数据,提取i-vector,最后使用一个分类器来进行识别任务。</p> <p>一些论文用神经网络代替了i-vector 流水线的方法。其它研究者要么训练了一个文本相关(使用者必须说同样的话)的端对端语者识别系统,要么训练了文本独立(这个模型与说话内容不相关)的端对端语者识别系统。我们介绍 Deep Speaker:一个端对端的神经声纹识别系统,它在文本相关和文本独立的场景下都取得了良好的效果。这意味这个系统可以被训练来识别谁在说话,无论是当你对你的家庭助手说“wake”或者你在会议中发言。</p> <p>Deep Speaker 由深度神经网络层组成,从音频中提取特征,基于余弦相似性的时间池和三元组损失(triplet loss)。百度美研院探究了 ResNet 激活的卷积模型和现有模型在提取声学特征上的效果。</p> <p style="text-align:center"><img alt="百度发布Deep Speaker:声纹识别的端对端系统" src="https://simg.open-open.com/show/da646db01b8a1f08367de3d0c1b6dd73.jpg" /></p> <p>说明:在这里百度美研院使用了人脸识别中采用的三元组损失。在训练过程中,他们选择了一个说话者的话语,然后计算一个嵌入(标记为“Anchor”)。再产生两个嵌入,一个来自相同的演讲者(标记为“Positive”),一个来自于不同的演讲者(标记为“Negative”)。在训练过程中,其目标是让 Anchor 与 positive 嵌入之间的余弦相似度高于 Anchor 与 negative 嵌入之间的余弦相似度。</p> <p>百度美研院展示了 Deep Speaker 在三个不同数据集上的有效性,包括文本相关和文本独立的任务。其中之一的 UIDs 数据集包括大约 250000 名说话者,是知识文献中最大的数据集。实验结果表明:Deep Speaker 要明显优于基于 DNN 的i-vector 方法。例如,在一个文本独立的数据集中随机挑选出 100 个演讲者,Deep Speaker 在说话者身份确认任务上的错误率是 1.83%,正确率是 92.58%。相比于基于 DNN 的i-vector 方法,它降低了 50% 的错误率,提高了 60% 的正确率。</p> <p style="text-align:center"><img alt="百度发布Deep Speaker:声纹识别的端对端系统" src="https://simg.open-open.com/show/c027f46202fbb038abd10019f9dff4e4.jpg" /></p> <p>说明:在实验中百度美研院所使用的数据集是 UIDs,XiaoDu,和 Mandarin。UIDs 和 XiaoDu 是普通话数据集,Mturk 是英语数据集。UIDs 和 Mturk 是文本独立的数据集,XiaoDu 是文本相关的数据集,其基于百度的唤醒字(wake word)。为了在不同大小的训练集上做实验,他们用了全部的 UIDs 数据集(250,000)和它的一个子集(50,000)。在评估阶段,他们选择了一个 Anchor,然后再从测试部分随机地选择 1 个 Anchor positive 样本和 99 个 Anchor negatives 样本。</p> <p>团队还发现 Deep Speaker 学习到了与语言无关的特征。当在普通话语境下训练时,Deep Speaker 却能在英文确认和识别的任务上达到 5.57% 的错误率和 88% 的正确率。此外,先用普通话再用英文训练可相比于只用英文训练,提高了英文识别的准确率。这些结果都显示出尽管不同的语言听起来非常不同,深度语者却学习到了跨语言的声音特征。这些结果与 Deep Speech 2 的结果类似,同样的架构都可以用来辨认不同语言的声纹识别。</p> <p>来自: <a href="/misc/goto?guid=4959007876834898184" id="link_source2">网易科技</a></p>