自动语音识别:全面指南
自动语音识别(ASR)是将口语单词转换为书面文本的技术过程。自20世纪50年代早期贝尔实验室推出能够识别部分语音的早期系统Audrey以来,ASR就一直与机器学习紧密相连。最近,现代人工智能技术——如深度学习和基于Transformer的架构——彻底改变了这一领域,使得像OpenAI的Whisper这样的强大模型即使在嘈杂的现实环境中也能提供高度准确的转录。
ASR工作原理探索
自动语音识别看似简单——音频输入,文本输出——但其背后是日益复杂的机器学习系统。我们从传统具有离散组件的流水线发展到现代的、基于Transformer的端到端架构。
什么是自动语音识别?
Demir:ASR的基本功能可以用一句话解释:它用于将口语单词翻译成文本。
当我们说话时,会产生包含多层频率的声波。在ASR中,我们将这些音频信息作为输入,并将其转换为机器学习模型理解的数字序列。这些数字随后可以转换为所需的结果,即文本。
Pedori:如果你听过外语,它听起来不像包含单独的单词——对你来说只是一堵不间断的声音墙。现代ASR系统经过训练,能够从这堵声波墙(以波形文件的形式)中推断出单词。
Demir:另一个非常重要的一点是,自动语音识别的目标不是理解人类语音本身的意图。目标只是转换数据,或者换句话说,将语音转换为文本。要以任何其他方式使用这些数据,需要将与ASR模型集成的专用独立系统。
关键ASR概念和特性
| 术语 | 定义 | 重要性 |
|---|---|---|
| 降噪 | 使用信号处理或学习的噪声抑制技术来过滤背景声音 | 通过在转录开始前增强音频清晰度,提高ASR在真实环境中的性能 |
| 声学模型 | 在传统系统中,此组件将音频映射到语音单位(如音素)。在端到端模型(如Whisper)中,此过程在神经网络内隐式学习 | 对于准确的声学到文本转换至关重要。传统和现代系统在实现方式上有所不同 |
| 语言模型 | 基于语法和语义预测可能的单词序列。在端到端ASR中,这直接集成到模型架构中 | 确保最终转录连贯且语法准确 |
| 说话人日志 | 按说话人分段和标记音频的任务(例如"说话人1"、“说话人2”) | 对于涉及多个说话人的会议、访谈和对话至关重要 |
| 延迟 | 说话和接收转录文本之间的时间延迟 | 对于实时应用如实时字幕、语音助手或自动客户支持很重要 |
| 词错误率(WER) | 错误转录的单词百分比(例如插入、删除、替换) | 最常用于评估ASR转录准确性的指标 |
| 句子错误率(SER) | 包含至少一个转录错误的句子百分比 | 对于评估叙事或对话转录的可用性很有价值 |
| 实时因子(RTFx) | 模型相对于实时的处理速度 | 用于基准测试模型效率并确定是否适合流式或边缘设备部署的关键指标 |
语音识别与ASR有何不同?
Pedori:“语音识别"是一个相当模糊的术语。它通常用于表示"说话人识别”,或通过将特定声音与特定人匹配来验证当前谁在说话。
我们还有语音检测,它能够判断某个特定的声音是否在说话。想象一种情况,你有一个包含几个说话人的录音,但与你项目相关的人只说了5%的时间。在这种情况下,你首先会在整个录音上运行语音检测(通常比ASR更经济),然后使用ASR专注于你需要调查的音频部分;在这个例子中,就是相关人所说的对话片段。
语音识别在音频转录中的主要应用称为"日志记录"。假设我们有一个名为John的说话人。在分析录音时,日志记录从其他声音中识别并隔离John的声音,根据任何给定时刻谁在说话将音频分段。
大多数情况下,语音识别和ASR在处理口音的方式上有所不同。在ASR中,为了理解单词,你通常希望忽略口音。然而,在语音识别中,口音是一个巨大的资产:说话人的口音越重,他们就越容易被识别。
一个警告:语音识别在分析语音时可以是一个经济有效的有价值工具,但它有局限性。目前,借助AI克隆声音变得越来越容易。在隐私敏感的环境中,你可能应该谨慎使用语音识别。例如,避免使用语音识别作为官方身份验证的方法。
Demir:可能出现的另一个限制是当你的录音包含多人在嘈杂或非正式环境中的声音时。在这种情况下,语音识别可能会更加困难。例如,与我们正在进行的对话相比,某人在专业工作室环境中录制电子书的数据就不是干净数据的典型例子。这个问题也存在于ASR系统中。然而,如果我们谈论的是语音检测,唤醒词或简单的语音命令——如"Hey Siri"——即使在嘈杂的声学环境中,软件也更容易掌握。
ML模型如何融入ASR过程?
Demir:如果我们愿意,我们可以大致将语音识别的历史分为两个阶段:深度学习出现之前和之后。在深度学习之前,研究人员的任务是识别语音中的正确特征。有三个步骤:预处理数据、构建统计模型和后处理模型的输出。
在预处理阶段,从声波中提取特征,并基于手工制作的规则转换为数字。预处理完成后,你可以将生成的数字拟合到隐马尔可夫模型中,该模型将尝试预测每个单词。但这里的技巧是:在深度学习之前,我们不尝试预测单词本身。我们尝试预测音素——单词的发音方式。以单词"five"为例:这是一个单词,但它的发音类似于"F-AY-V"。系统会预测这些音素,并尝试将它们转换为正确的单词。
在混合系统中,三个相应的子模型负责这三个步骤。声学模型寻找并尝试预测音素。发音模型获取音素并预测它们应该匹配哪些单词。最后,语言模型——通常是n-gram模型——通过将文本分组为块来确保文本是统计匹配的,从而进行另一个预测。例如,“a bear in the woods"很可能是正确的单词分组,而短语"a bare in the woods"在统计上不太可能。
哪些AI驱动的自动语音识别工具有用?
Demir:在ASR工具方面,OpenAI的Whisper模型因其可靠性而广受认可。这个单一模型能够准确转录各种语音模式和口音,即使在嘈杂的环境中也是如此。Hugging Face是一家对机器学习贡献巨大的公司和开源社区,提供了各种用于语音识别的开源机器学习模型,其中之一是Distil-Whisper。这个模型是用深度神经网络实现的高质量系统的杰出例子。Distil-Whisper基于Whisper模型,尽管轻量得多,但仍保持强大的性能。对于使用较小数据集的开发人员来说,这是一个很好的选择。
Pedori:Hugging Face有超过16,000个处理某种自动语音识别的模型。而Whisper本身可以实时、本地运行,甚至作为API运行。你甚至可以在WebAssembly中运行Whisper。
ASR已经从实现非常棘手的系统演变为更简单的东西——更像光学字符识别(OCR)。我不想说这很容易,但开发人员现在可以期望至少95%的精度,除非音频非常嘈杂或说话人有很重的口音。除非你的资源严重受限,否则大多数ASR需求都可以通过深度学习有效解决。当前基于Transformer的模型正在主导行业。
工作原理:混合ASR模型从音频中提取特征,使用深度神经网络预测音素概率,然后将它们解码为最可能的单词。
然而,在深度学习时代,这个过程是"端到端"的:我们在一端输入声波,在另一端接收单词——技术上说是"令牌”。在像Whisper这样的端到端模型中,不再进行特征提取。我们只是从声学分析中获取波形,将其馈送给模型,并期望模型从数据本身提取声学特征,然后基于这些结果进行预测。
工作原理:OpenAI的Whisper将音频转换为频谱图,然后使用编码器块处理它,并使用注意力——一种聚焦相关输入数据的方法——来预测下一个令牌,从各种任务中学习。
Pedori:对于端到端模型,一切都好像发生在一个魔法盒子里,这个盒子通过被馈送大量训练数据来训练;在Whisper的情况下,是680,000小时的音频。首先,使用声学处理将音频数据转换为对数梅尔频谱图——一种表示音频频率随时间变化的图表。这对开发人员来说是最难的部分——其他一切都发生在神经网络内部。在其核心,它是一个具有不同注意力块的Transformer模型。
大多数人只是将模型用作黑盒子,你可以向它传递音频,知道在另一端会收到单词。它通常表现得很好,然而,作为一个黑盒子,当它表现不佳时,纠正系统可能会有点困难,需要额外的调整,这可能很耗时。
如今你工作中偏好哪些AI算法用于ASR?
Pedori:OpenAI的Whisper和Nvidia的NeMo都是基于Transformer的模型,是市场上最受欢迎的工具之一。这种类型的算法彻底改变了这一领域,使自然语言处理更加灵活。过去,用于ASR的深度学习技术涉及长短期记忆(LSTM)循环神经网络以及卷积神经网络(CNN)。这些表现不错,然而,Transformer是最先进的。它们非常容易并行化,因此你可以馈送它们大量数据,它们将无缝扩展。
顶级ASR模型比较
| 模型 | 提供商 | 关键优势 |
|---|---|---|
| Whisper | OpenAI | 最广泛采用的开源ASR模型。Whisper对噪声和口音具有鲁棒性,提供多语言功能,甚至处理翻译。它仍然是研究和生产使用的基准 |
| Distil-Whisper | Hugging Face | Whisper的轻量级、更快变体,保留了其大部分准确性。这些模型在效率重要的生产管道中广泛使用 |
| NeMo Canary/Parakeet | NVIDIA | 准确性和速度方面的基准测试领导者。Canary擅长一般转录,而Parakeet变体针对实时流式传输和大规模部署进行了优化 |
| Granite Speech | IBM | IBM的Watsonx基础模型家族的一部分。Granite Speech为企业就绪,具有强大的准确性和高效的生产环境扩展 |
| Phi-4-Multimodal | Microsoft | 研究驱动的多模态基础模型。展示了将ASR集成到更广泛的AI系统中,该系统可以跨文本、图像和语音进行推理 |
| Kyutai STT | Kyutai | 来自新兴实验室的高性能开放模型。显示出有竞争力的准确性和效率,表明ASR创新不再局限于最大的科技公司 |
Demir:这就是我们在此对话中主要关注Whisper的重要原因。当然,它不是唯一可用的Transformer。Whisper的不同之处在于它处理大量不完美的、弱监督数据的方式;对于Whisper,680,000小时相当于78年的口语语音,所有这些数据一次性馈送到系统中。一旦模型训练完成,你可以通过加载预训练权重和微调网络来提高其准确性。微调是根据你想要看到的结果行为进一步训练模型的过程——例如,你可以定制模型以增强某个行业内术语的精度,或针对特定语言进行优化。
高性能自动语音识别系统的关键特性是什么?
Pedori:给定特定的ASR系统,我们可以调整的主要"旋钮"是词错误率(WER)以及模型的大小和速度。通常,较大的模型比较小的模型慢。这对于每个机器学习系统几乎都是一样的。很少有一个系统既准确、便宜又快速;你通常可以实现其中两个品质,但很少能同时实现三个。
你可以决定是在本地运行ASR系统还是通过API运行,然后为该配置获得最佳的WER。或者你可以预先为应用程序定义WER,然后尝试获得最适合工作的模型。有时,你可能不得不瞄准"足够好",因为找到最佳方法需要大量的工程时间。
AI的最新进展如何影响这些关键特性?
Pedori:基于Transformer的模型提供了相当"智能"且对背景噪声更具弹性的预训练块,但它们更难控制且可定制性较差。总的来说,AI使得实现ASR变得容易得多,因为像Whisper和NeMo这样的模型开箱即用效果很好。到目前为止,它们可以在便携设备上实现几乎实时的准确转录,具体取决于所需的WER和语音中是否存在口音。
当前用例和ASR技术的未来
现在让我们讨论自动语音识别在各个领域的当前和未来应用,以及必须克服的挑战和伦理考虑。这些挑战包括口音和方言偏见、转录准确性的人口统计差异,以及日益增长的隐私问题,特别是随着ASR工具越来越多地部署在医疗等敏感领域。但首先,我们将考虑ASR的变革潜力和实际用例。
哪些行业正在被ASR革命化?
Pedori:ASR使得通过语音与设备和服务交互变得容易得多——不像过去那些断断续续的体验,那时必须给出语音音频信号来指示系统执行一步,然后跟随第二个信号告诉它执行另一步。ASR通常将音频开放给大多数自然语言处理技术。从用户或客户体验的角度来看,这意味着你可以将语音识别功能集成到工作流中,获取医生访问的转录记录,或轻松将语音邮件转换为文本消息。
基于音频的自动转录正变得极其普遍——想想法律转录和文档、在线课程、媒体和娱乐中的内容创作以及客户服务,仅举几例。但ASR远不止是转录工具。语音助手正成为我们日常生活的一部分,安全技术通过集成语音生物识别进行认证正在进步。自动语音识别还通过为残疾人提供字幕和语音用户界面来支持可访问性。
人类通常喜欢通过使用声音进行交互。与大型语言模型一起,我们现在可以很好地理解用户的声音。
开发人员在自动语音识别技术中面临哪些当前挑战和伦理考虑,以及如何解决它们?
Pedori:如果基本的端到端系统为你的用例开箱即用,你可以在几天甚至几小时内为客户组装一些东西。但是当端到端系统不足并且你必须调整它时,就需要花几个月时间收集数据和进行训练运行。这主要是因为模型相当大。这个难题的一个解决方案是"知识蒸馏",这是一种移除你不需要的模型部分而不损失性能的方法,也称为师生训练。
Demir:在蒸馏过程中,一个新的、更小的网络(“学生"模型)尝试从原始的、更复杂的模型(“教师”)中学习。这允许一个更灵活的模式,直接从原始模式中收集信息,并在不损失性能的情况下使过程更经济。在某种程度上,这类似于研究人员花数年时间学习特定主题,然后在几小时内向课堂上的学生传授所学知识。学生模型使用从教师模型收集的预测进行训练。这些训练数据或"知识"教导学生模型以类似于教师模型的方式行为。我们通过将相同的音频输入和输出交给两个模型,然后测量它们之间的性能差异来优化学生模型。
Pedori:另一个技术挑战是口音独立性。当Whisper发布时,我做的第一件事就是制作一个Telegram机器人,转录长音频消息,因为我更喜欢文本形式的消息而不是听它们。问题是,机器人的性能在很大程度上取决于发送者是以英语为母语还是作为第二语言说话。对于以英语为母语的人,转录是完美的。当是我或我的国际朋友说话时,机器人变得有点"富有想象力”。
你对这个领域的哪些发展最兴奋?
Demir:我很高兴看到具有类似性能指标的更小ASR模型。看到像一兆字节模型这样的东西会令人兴奋。正如我们提到的,我们已经通过蒸馏在"压缩"模型。因此,通过将大量知识逐步压缩到网络中的几个权重中,看看我们能走多远将是惊人的。
Pedori:我也期待更好的日志记录——更好的说话人归属——因为这是我一些项目中的障碍。但我愿望清单上最大的事情是拥有一个可以进行在线学习的ASR系统:例如,一个可以自学理解特定口音的系统。不过,我看不出这会用当前的架构实现,因为训练和推理——模型应用训练期间所学内容的步骤——阶段是非常分开的。
Demir:机器学习的世界似乎非常不可预测。我们现在在谈论Transformer,但当我2010年开始攻读博士学位时,这种架构甚至不存在。世界正在快速变化和适应,因此很难预测什么样的新的令人兴奋的架构可能出现在地平线上。
本文中呈现的技术内容由Nabeel Raza审核。
理解基础知识
什么是自动语音识别?
自动语音识别(ASR)指的是用于将口语单词翻译成文本的技术和工具。当我们说话时产生的声波包含频率层,ASR将这些频率作为数据分析,最终将它们转换为文本。
自动语音识别如何与AI一起工作?
在AI之前,自动语音识别包括数据预处理、构建统计模型和后处理模型的输出。有了AI,过程变成端到端。用大量音频数据训练的模型可以区分声音,将声波转换为文本输出。
ASR与语音转文本相同吗?
ASR和语音转文本是用于描述处理口语的计算机科学子领域的类似术语。ASR指的是与将口语单词转换为文本相关的过程,而语音转文本是包含此技术应用和功能的更通用术语。
ASR和NLP之间有什么区别?
虽然ASR和自然语言处理(NLP)都处理语言,但它们完成不同的任务。ASR的目标是将口语转换为文本,而NLP专注于处理文本以探索其含义和组成部分。
ASR的缺点是什么?
自动语音识别系统可能难以处理口音和方言偏见,在嘈杂或非正式环境中性能下降。当在医疗或法律等敏感领域使用时,它们还会引起隐私问题,并且它们的黑盒性质使得定制和调试变得困难。开发人员经常在准确性、速度和资源需求之间面临权衡。