提前锁票 InfoQ 最具价值感的视频栏目 | InfoQ 大咖说 了解详情
写点什么

谷歌开源监督式说话人分类算法,准确率高达 92.4%

2018 年 11 月 13 日

谷歌开源监督式说话人分类算法,准确率高达92.4%

AI 前线导读: 说话人分类,即从包含多个说话人声音的音频流中,单独将每个人的音频划分到同一类别下的过程,是语音识别系统的重要部分。通过解决“谁在何时说话”的问题,说话人分类可以应用于许多重要场景,例如理解医疗对话、视频字幕等。


然而,使用监督学习方法训练这些系统具有很大的挑战性。与标准监督分类任务不同,一个强大的分类模型需要能够让新加入的,训练中没有的语音片段产生相关性。重要的是,这限制了线上和离线分类系统的质量。在线系统通常受到的影响更大,因为它们需要实时地分类结果。


更多干货内容请关注微信公众号“AI 前线”(ID:ai-front)



(线上流式音频输入说话人分类。底部轴的不同颜色表示不同的说话人。)


《完全监督说话人分类》一文中,我们描述了一种新模型,能以更有效的方式使用监督式说话人标签。这里的“完全”意味着说话人分类系统中的所有组成部分,包括说话人数量预估,都进行了监督式训练,以便它们可以从可用的标记数据增加中受益。在 NIST SRE 2000 CALLHOME 基准测试中,我们的分类错误率(DER)低至 7.6%,而之前基于聚类的方法错误率为 8.8%,深度神经网络嵌入方法的错误率为 9.9%。


此外,我们的方法基于在线解码实现了较低的错误率,特别适用于实时应用场景。我们开源了本文提到的核心算法,以加速此方向的更多研究。


聚类算法 VS 交织状 RNN

现代说话人分类系统通常基于聚类算法,例如 k 均值或谱聚类。由于这些聚类方法是无监督的,因此无法充分利用数据中可用的监督式说话者标签。此外,在线聚类算法通常在具有流式音频输入的实时说话人分类应用中效果欠佳。我们的模型和常见聚类算法的关键区别在于,我们使用地方法,所有说话人嵌入都是通过参数共享递归神经网络(RNN)建模的,并使用交织在时间域的不同的 RNN 状态区分不同的说话者。


为了解其工作原理,请参见以下示例,其中有四种可能的说话人:蓝色、黄色、粉红色和绿色。这是一个任意的数字,实际上可能还有更多,我们使用了中国餐馆流程(一个典型的 Dirichlet 过程混合模型 )来处理未知数量的说话人。每个说话人以其自己的 RNN 实例(在所有说话人之间共享的公共初始状态)开始,并且在给定来自该说话人的新嵌入的情况下保持更新 RNN 状态。在下面的示例中,蓝色说话人不断更新其 RNN 状态,直到另一个说话人黄色进入。如果蓝色稍后再次说话,它将继续更新其 RNN 状态。(这只是下图中语音段 y7 的可能性之一。如果新的说话人绿色进入,它将以新的 RNN 实例开始。)



(模型的生成过程。颜色表示说话人片段的标签。)


将说话人表示为 RNN 状态使我们能够学习使用 RNN 参数在不同说话人和话语之间共享的高水平知识,这保证了更多标记数据能发挥更大的作用。相比之下,常见的聚类算法几乎总是独立地处理单个发音,因此很难从大量标记数据中受益。


如此,通过时间标记的说话人标签(即知道谁在何时说话),我们可以用标准的随机梯度下降算法训练模型。经过训练的模型可以对系统未听到过的说话人进行分类。此外,在线解码也使其更适用于对延迟敏感的应用程序。


未来计划

尽管该系统使得分类性能大大提高,但我们目前仍在探索许多令人兴奋的方向。首先,我们正在改进此模型,让它可以轻松地集成上下文信息进行离线解码。这可能会进一步降低 DER,并且对延迟不敏感的应用程序更有用。其次,我们计划直接模拟声学特征而不是使用 d 向量。通过这种方法,我们能够以端到端的方式训练整个说话人分类系统。


论文链接:https://arxiv.org/abs/1810.04719


开源算法地址:https://github.com/google/uis-rnn


原文链接:https://ai.googleblog.com/


2018 年 11 月 13 日 19:441028
用户头像

发布了 42 篇内容, 共 10.3 次阅读, 收获喜欢 51 次。

关注

评论

发布
暂无评论
发现更多内容

这 10 行比较字符串相等的代码给我整懵逼了,不信你也来看看

石头

性能优化 信息安全

如何更好的使用Gson

Jackey

Java Gson

Websocket直播间聊天室教程 - GoEasy快速实现聊天室

GoEasy消息推送

直播 websocket 即时通讯 聊天室 弹幕

ARTS-WEEK3

一周思进

ARTS 打卡计划

小师妹学JVM之:JVM的架构和执行过程

程序那些事

Java JVM 「Java 25周年」 小师妹 性能调优

软件开发:软件设计的基本原则

迷失的月亮

极客大学架构师训练营

认识依赖倒置原则(DIP)

极客大学架构师训练营 第二周作业

重学 Java 设计模式:实战享元模式「基于Redis秒杀,提供活动与库存信息查询场景」

小傅哥

设计模式 小傅哥 重构 代码坏味道 代码优化

week2 学习总结

不在调上

编程的本质

Karl

作业

飞雪

架构师训练营——Week2作业

Shawn

架构师训练营作业(二)

Glowry

极客大学架构师训练营

依赖倒置原则以及week2 作业

不在调上

极客大学架构师训练营

思维模型 - 组合式创新

石云升

思维模型 组合式创新 拆解组合

极客时间架构师训练营 - week2 - 作业1

jjn0703

极客大学架构师训练营

架构师训练营第二周总结

一剑

一文讲透SpringMVC

知春秋

spring springmvc Servlet

Flink on Zeppelin (1)入门篇

章剑锋_Jeff

大数据 flink 流计算 Zeppelin

面试官:线程池如何按照core、max、queue的执行循序去执行?(内附详细解析)

一枝花算不算浪漫

jdk源码 线程池 Java 面试

作为CEO你比员工厉害吗?

Neco.W

创业 创业者 CEO

「架构师训练营」学习笔记:第 2 周

Amy

极客大学架构师训练营 作业

每周 ARTS 第 33 期

落英坠露

ARTS 打卡计划

极客时间架构师训练营 - week2 - 作业2

jjn0703

极客大学架构师训练营

学习总结-编程本质与架构设计原则

飞雪

ARTS-WEEK2

Allen

架构师训练营第2周作业

风吹

漫画 | 啊哈,给我一碗孟婆汤

码农神说

程序员 测试 互联网人 设计师

架构师训练营-命题作业2

水边

极客大学架构师训练营

为什么你的简历石沉大海,offer 了无音讯?

非著名程序员

程序员 程序人生 提升认知 简历优化 简历

架构师训练营第二周作业

一剑

打造 VUCA 时代的 10 倍速 IT 团队

打造 VUCA 时代的 10 倍速 IT 团队

谷歌开源监督式说话人分类算法,准确率高达92.4%-InfoQ