Coursera 笔记

Module 03 · Sequence Models & Attention Mechanism

Trigger Word Detection触发词检测

Coursera ↗

在深度学习和序列模型的学习过程中,触发词检测系统(Trigger Word Detection System)是一个非常有趣且实用的应用。随着语音识别技术的发展,越来越多的设备可以通过你的声音来激活,称为触发词检测系统。


什么是触发词检测系统?

触发词检测系统的工作原理非常简单,它能识别出某个特定的词汇(触发词),并在检测到该词时启动设备。

触发词检测的常见应用

  • Amazon Echo:唤醒词为 Alexa
  • Baidu DuerOS:唤醒词为 xiaodunihao
  • Apple Siri:唤醒词为 Hey Siri
  • Google Home:唤醒词为 Okay Google

例如,当你在客厅说出 "Alexa, what time is it?",Amazon Echo 就会被激活并响应你的语音查询。只要检测到特定的唤醒词,设备便会激活执行指令。


如何构建一个触发词检测系统?

尽管触发词检测算法的研究还在不断发展,尚未达成广泛共识,但我们可以通过一个简单的示例来构建触发词检测系统。

步骤概述

  1. 音频输入与特征提取:
  • 首先,我们将一个音频片段作为输入,通常会计算音频的频谱图(Spectrogram)特征。
  • 音频特征可以表示为:x_1, x_2, x_3 等。
  1. 通过RNN处理音频特征:
  • 这些特征会传入**循环神经网络(RNN)**中进行处理。
  1. 目标标签的定义:
  • 如果音频片段中某个时刻刚好是触发词被说出的时刻(如**"Alexa"**),那么我们就将该时刻及之后的目标标签设置为 1,而在此之前的目标标签设置为 0。
  • 例如:当触发词(如**"Alexa"**)说出后,目标标签设置为 1,在此之前设置为 0。


训练数据的标签平衡问题

这种标签标注方案虽然可以正常工作,但有一个小小的缺点:它会导致训练集中的标签不平衡,0的数量远远多于1,因为触发词通常出现的频率较低。

解决方案

一种可行的解决方案是:

  • “黑客”方式(hack)
    不仅在触发词后面的一个时间步设置为1,还可以将一段时间内的多个时间步都设置为1,直到恢复为0。
    这样可以稍微平衡标签0和标签1的比例,避免训练集过于偏向标签0。

触发词检测系统的训练示意图

时间步 音频特征输入 标签 (Y)
t1 x1 0
t2 x2 0
t3 x3 1
t4 x4 1
t5 x5 0

在上述表格中,假设 t3 和 t4 是触发词(如**"Alexa"**)出现的时刻,那么目标标签在 t3 和 t4 处都被设置为 1,而在其他时刻则为 0。


训练与实践

通过这个训练方案,你可以开始实现一个简单的触发词检测系统。这个过程是深度学习的经典应用之一,通过调整标签的设置和训练策略,你可以训练出一个能够有效识别触发词的模型。


课程回顾与总结

在本课程中,你学习了多个深度学习与序列模型的核心概念:

  • RNN(循环神经网络),包括GRU和LSTM
  • 词嵌入(Word Embeddings),以及如何学习词的表示
  • 注意力机制(Attention Model),并学会如何处理音频数据

这些概念和技术不仅为构建触发词检测系统奠定了基础,也能帮助你深入理解深度学习在语音识别中的应用。

🎉 接下来的挑战:

在本周的编程练习中,我希望你能动手实现并实践这些想法,构建一个有效的触发词检测系统。