首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何基于迁移学习快速识别出讲话的人是谁?

译者|郝毅

编辑|Debra

AI 前线导读:UBC Luanch Pad 提出了一种基于迁移学习的讲话人识别方法,该方法旨在多人对话场景中区分出不同讲话者的音频信息。目前在简单场景下已经取得了较为理想的结果,但是在复杂情况下仍然需要改进。作者同时发布了他们的讲话人识别应用库,可以直接通过 Python 接口使用。

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

讲话者识别是指在复杂的语音环境下,根据讲话者身份不同,将音频分离并给予标注信息。该技术在许多智能硬件领域有广泛的应用,例如 Google Home 需要检测是谁在说话 (而不是判断讲话的内容,这是两个不同的问题)。讲话者识别是一个开放性的问题,但是通过使用现代深度学习技术得到了快速的发展。在 UBC Luanch Pad 团队这一年,我们 (UBC Launch Pad 团队,本文以第一人称进行编译) 建立了一个用于讲述人识别的库,这个库使用 Python 语言编写,我们叫它 Minutes。

研究目标

讲话者识别的难点主要有两个。如果你无法控制数据采集过程中的环境影响,讲话者识别系统必须能够处理音频样本中的大量变化。此外,算法模型需要通过一小段的训练样本来预测分类结果 (即讲话者),因为对于一个新类 (一个新的讲话者) 来说,获得大量的样本是比较困难的。而典型的预测模型在训练过程中,对于每一类目标都需要使用上千个样本进行训练,但是 Google Home 的要求是能够通过少量的样本达到同样的分辨能力。迁移学习是一种能够达到这种目标的关键技术。假设一个公司会议的场景,每个与会者都使用客户端预采集了少量的语音,整个会议内容会被记录并上传到服务器。在服务器端,这些对话使用训练好的模型被分为不同讲话者的记录然后被转录成文本。对于服务器系统,要解决的主要问题便是快速、经济的生成新的模型,该模型要求能预测新添加得类别,并且不需要重新学习语音识别相关的内容。

我们的数据集

得益于音频转录的快速发展,目前已经有一些大型的公开数据集可以使用。LibriSpeech ASR Corpus 是一个英语演讲的的大型数据集。在这项工作中,我们简单地将音频文件以一秒 (采样率 48000Hz) 为间隔进行分解,并用发言者的 ID 标记每个音频段,这样就得到了我们的训练样本。这个间隔时间是一个超参数,我们称之为每次观测的样本 (samples per observation)。下面是 10 个这样的观测值串联在一起的可视化效果。

通过分割数据库,我们将每个观测值转换为声谱图。由于图像识别是机器学习领域发展最为迅速的一个方向,因此使用声谱图为利用卷积神经网络 (CNN) 和其他大量先进技术提供了机会。

迁移学习

搭建一个神经网络非常容易,它可以很好地预测服从训练集分布的的数据。比如下面这个使用 Keras 库的例子,经过 15-25 个 epoch 后它在 5 个类上可以达到 97% 的验证准确率。当然,该模型在训练结束后同样不能对从未见过的类别进行预测。

现在,我们来介绍一下迁移学习,这是一种在一个新数据集上使用生成的基础模型继续训练的技术 (该方法可以加速后续模型的训练过程 )。由于硬件资源的限制和训练集数据的大小,生成一个比上述模型更复杂的模型会耗费更多的时间。我们的目标是最大程度地复用基本模型,Keras 框架可以轻松地实现这个功能——只需要固定某些层地参数,然后改变最后一层地大小就可以使用少量地数据进行训练。

基本模型的可复用程度与基本模型利用率 (model utilization) 相关,你可以通过输出 Keras 模型摘要来统计这个值。

增加利用率会直接影响到随后生成迁移模型的代价,因为更多的参数需要在训练时被优化。

需要注意的是,利用率越高,我们就能更快地将模型训练到 85% 以上的准确率,在利用率为 4%、21%、47% 时。分别需要 15、10、5 个 epoch。图像识别 CNN 的最后一般是有很多参数的密集层,重新训练这些参数会严重降低利用率。我们发现了一些简单的技巧可以有效地减缓这些影响:

更早的使用 pooling 层来减少后面参数矩阵的大小。

添加额外的卷积层以降低下游数据的维度。

使用迁移学习的方法,我们可以预测新类,并且可以显著地减少训练模型所需地时间。

在 YouTube 上的准确率

我们收集了 YouTube 上的对话并对其进行整理、标记,得到了一个真实场景下的有监督数据集。使用上述的迁移学习方法,我们能在包含 3-4 个讲话者的对话场景中达到 60% 的准确率,例如 SciShow。我们对这一现象解释是:其一可能是由于真实场景下的对话音频会比 LibriVox 数据集更为复杂,其二可能是因为 YouTube 的时间戳标记不准确。目前,在二分类问题或相对简单的情况下,例如两个讲话者的通话情况中,迁移学习的结果是比较理想的。而且。简单的数据增强技术可能会使模型更加健壮地应对音频清晰度的变化。

下一步工作

针对讲话者分离任务,我们发布了 Minutes。我们希望通过尽可能多地重用基本模型来提高讲话者识别的学习速度。请留意 Minutes 的 Python 库和我们 Facebook 主页上的数据集。

查看英文原文:

https://medium.com/@ubclaunchpad/speaker-diarisation-using-transfer-learning-47ca1a1226f4

AI前线

紧跟前沿的AI技术社群

┏(^0^)┛欢迎点赞和分享,明天见!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180512G0RXQU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券