您当前的位置是:  首页 > 资讯 > 文章精选 >
 首页 > 资讯 > 文章精选 >

为什么深度学习是语音识别的最佳方法

2022-02-11 09:12:24   作者:   来源:CTI论坛   评论:0  点击:


  CTI论坛(ctiforum.com) (编译/老秦):自动语音识别并不新鲜。它起源于冷战时期的狭隘军事研究,随后在Marvin Minsky等人的领导和 DARPA 资助的研究推动下于1960 年代、70 年代和 80 年代获得继续发展。然而,直到 1990 年代,研究人员才看到真正的进展,这要归功于华尔街日报语音数据集等政府资助的项目。即便如此,这些大约 30 小时音频的小型数据集在研究环境中也只能产生大约 30-50% 的准确度。
  语音技术的持续发展带来了我们今天都熟悉的各种改进和消费者用例--Alexa、Siri、告诉自动银行系统你需要一个 PIN 等等。但如果你曾经使用过任何在这些语音识别工具,您知道它们远非完美。
  这是因为他们依赖于一种老式的语音识别方式,这种方式可以追溯到 1960 年代的那些原始实验。在这篇博文中,我们将介绍进行语音识别的老式方法--因为它是当今大多数公司仍在使用的方法--然后说明为什么采用这种新方法,它依赖于端到端深度学习来处理语音,要优越得多。
  传统方法:声学模型、发音模型和语言模型--天哪!
  口语中最小的声音单位称为音素。例如,"cat"有三个音素:一个初始的"k"音、一个像"apple"中的中间元音"a"和一个结尾的"t"音。
  在进行 ASR 的传统方法中,您首先要识别录音中的音素,然后尝试将音素块组合成可能的单词。接下来,您寻找这些可能的单词如何组合在一起以产生语法意义。最后,您将所有这些可能性分解为一个"成绩单"。该系统的组件称为声学模型、发音模型和带有波束搜索的语言模型。
  • 声学模型采用音频信号的表示形式(通常以波形或频谱图的形式)并尝试在整个录制过程中在 10-80 毫秒的时间框窗口内猜测音素概率分布函数。本质上,输出是一个巨大的可能音素网格,作为时间的函数,而不是简单的音素转录。
  • 然后,发音模型将音素格作为其输入,并尝试猜测时间窗口上的单词概率分布函数。这一步的输出是一个巨大的可能单词的网格,作为时间的函数。
  • 然后将语言模型与束搜索结合使用。该模型将单词 lattice 作为其输入,并削减它认为不太可能的所有可能性,直到它到达最终转录。此外,它使用束搜索:在每个时间步长,搜索都会丢弃低于其截止值(称为束宽度)的所有可能性,再也不会被看到或想到。
  尽管这种构建语音识别模型的旧方法对人类来说是直观的,并且在某种程度上受到语言学家对语言的看法的推动,但它对计算机来说是非常有损的。在这个过程的每一步,您的模型都必须做出简化的假设,以适应内存中的计算或在宇宙的生命周期内完成--不是开玩笑。如果模型考虑了所有可能性,那么模型返回结果的组合和排列太多了。
  这就是为什么,例如,语言模型部分通常是非常有限的三元语言模型。 trigram 中的 tri- 表示"三个",表示模型仅回顾两个单词以查看当前单词在上下文中是否有意义。那可能只有半个句子--或者更少!
  这些简化非常猖獗,并导致在流程的每个步骤中优化子问题的性能受限的流水线方法,而不是可以同时优化整个问题域的端到端方法。传统方法产生了三个主要问题。
  传统方法的问题
  传统语音识别方法存在三大问题:速度慢、不准确、易碎。缓慢使其昂贵且耗时。不准确性使传统方法无效且使用起来令人沮丧,尤其是对于需要高度准确性的企业和领域,例如健康和法律领域。脆弱性使工程师不敢更改任何代码,因为担心纸牌屋会倒塌。
  速度慢
  传统方法很慢,因为它们依赖于未优化的启发式方法,这些方法使计算和内存资源效率低下。这些方法每个 CPU 核心只能处理大约 0.5-2 个流。在提供结果时,这可能会导致很长的周转时间--通常如此之长,以至于某些应用程序,如实时聊天机器人,根本无法使用这些方法。
  不准确
  传统方法是不准确的,因为模型缺乏表现力和容量。表现力是衡量系统在保持准确性的同时可以建模的世界的复杂程度。容量是衡量模型可以保留多少知识的类似指标。从这个意义上说,传统系统是肤浅的。他们没有希望将所有事情都做得非常好,因此他们要么覆盖大部分领域而取得微薄的成功,要么覆盖狭窄的领域并取得一些成功。
  不灵活
  传统方法很脆弱,因为系统极其复杂且不灵活。一个由 20 名工程师组成的团队每年仅可以建立一个才刚刚开始获得足够性能的系统。所以,他们只能依赖它,并希望最好。试图修改系统只会以失败告终,因为问题的表面区域已经让团队承受不了。这就是为什么传统的语音识别提供商只提供一种模型(可能是两个或三个,但肯定不是成百上千)并且拒绝为他们的客户定制。旧的九头蛇方法成本太高(切掉一个问题头,三个重新长出来)。
  最好的方法:语音识别的端到端深度学习
  好消息是,如果您正在寻找语音识别解决方案,它不必是这样的!尽管大多数供应商仍在使用旧的做事方式,但还有一种快速、准确和灵活的替代方案--端到端深度学习 (E2EDL) 模型。
  快速
  端到端模型可以更好地优化运行时执行。具体来说,深度学习使用与显卡 (GPU) 上实现的相同的数学运算集(张量数学)。这意味着 E2EDL 模型是最快的可用实现。另一方面,传统的语音堆栈由多个子问题组成(用于优化的表面积较小),无法使用加速计算资源(因此将它们强制到通用 CPU 上)。
  GPU 上的 E2EDL 实现了每个 GPU 超过 300 个流,这意味着结果可以更快地返回给客户,以至于他们经常感到惊讶和高兴。Deepgram的客户经常认为他们一定做错了什么,但不是,就是这么快。
  准确
  E2EDL 模型具有更大的容量并享有压缩效率,允许网络的所有部分作为一个有机体进行内聚学习。因此,这些模型可以同时优化整个问题空间--从输入音频特征一直到脚本制作。结果是一个专家模型可以实现更高的准确性,并且在训练时继续变得更好,而不会"达到顶峰"。
  灵活
  在Deepgram,我们的 E2EDL 方法使我们能够以低成本达到前所未有的语音识别精度水平。基于 E2EDL 的自动转录系统显着缩短了训练和部署新模型所需的时间。与旧的混合系统相比,E2EDL 模型还继续通过对新数据的训练无限期地改进,后者在过去几千小时的数据训练中看到收益递减。这些收益递减限制了混合系统的准确性提高。 E2EDL 系统并非如此。
  用于语音识别的 E2EDL 方法的缺点是构建托管在 GPU 上的真正数据驱动的 E2EDL 系统的复杂性。但是,一旦系统建成,它就稳定、高效、快速、准确。然而,建造它是一项巨大的努力。想一想:建造火箭将卫星送入轨道。这是一项高度复杂的工作,需要专业知识、聪明人、时间、机会成本和资本风险--但一旦系统得到完善,它就可以可靠地执行非常有价值的工作。
  过去,像 Nuance、谷歌和亚马逊这样的公司没有选择采用 E2EDL 方法,因为他们在开始时没有专业知识,现在他们陷入了历史的束缚--回溯也是昂贵的。
  结论
  如您所见,E2EDL 是语音识别的最佳选择,而旧的方法太脆弱并且沉没成本太高而无法有效利用这些新资源。性能和灵活性的差异是惊人的。例如,Deepgram的技术可以在单个 GPU 上同时支持 300 个音频流,而老式解决方案提供的每个 CPU 核心只有 1-2 个流。
  而且,由于Deepgram使用 E2EDL,因此可以轻松且廉价地修改或重新利用模型。新的分类器、新颖的架构和额外的问题域可以用最少的劳动力引入,因为相同的训练和推理过程仍然适用。事实上,经过训练的模型通常可以重新应用于新任务--一个称为迁移学习的过程--允许全新的模型或分类器从以前的训练中受益,甚至可以跨越不同的问题域!
  Deepgram可以利用其 E2EDL 模型在自定义模型、新架构和高级分析之间进行大规模扩展。与传统方法相比,传统方法需要对多个不相关的组件进行广泛的、侵入性的检修,从而导致工程师任务雪崩。与 10 名工程师和 1,600 个工作小时的重构不同,Deepgram可以在短短 4 个工作小时内完成与 1 名工程师相同的灵活性壮举--这一切都归功于使用 E2EDL 解决方案。
  这可能足以说明为什么 E2EDL 系统是语音识别的最佳选择。如果您仍然不相信我,请获取您的免费 API 并尝试使用Deepgram。您将看到设置语音识别管道并为您的业务获得有影响力的结果是多么快速和容易。
  声明:版权所有 非合作媒体谢绝转载
  作者:SAM ZEGAS
  原文网址:https://deepgram.com/blog/deep-learning-speech-recognition/
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题

CTI论坛会员企业