语音识别速度主要与以下因素有关:
在语音识别的发展历程中,早期的方法涉及大量预处理、高斯混合模型和隐式马尔科夫模型,而现在几乎完全被神经网络替代。1970 年代 DARPA 赞助的比赛中,基于统计的方法战胜了基于人类知识的方法,这导致自然语言处理领域向依赖统计和计算的方向转变。深度学习的兴起进一步提升了语音识别系统的性能,减少了对人类知识的依赖,加大了对计算资源的利用。
让我们来看看这场转变中的具体领域的例子。我们会发现,在过去几年,对于这些领域,我们放弃了尝试通过显式写代码的方式去解决复杂问题,取而代之的,是转向了软件2.0。图像识别:图像识别之前常常是由特征工程组成的,只是在最后加入一点点机器学习(比如:SVM)。之后,通过使用更大的数据集(比如ImageNet)和在卷积神经网络结构空间中进行搜索,我们发现了更强大的视觉特征。最近,我们甚至不再相信自己手写的网络结构,而开始用[类似的方法](https://arxiv.org/abs/1703.01041)[搜索](https://arxiv.org/abs/1703.01041)(最优网络结构)。语音识别:以前的语音识别工作,涉及到大量的预处理工作、高斯混合模型和隐式马尔科夫模型,但是现在,几乎只需要神经网络。还有一句与之非常相关的搞笑名言,是1985年Fred Jelinek所说:“每当我开除一个语言学家,我的语音识别系统的性能就会提高一点”。语音合成:历史上,语音合成一直采用各种拼接技术,但是现在,SOTA(State Of The Art)类型的大型卷积网络(比如[WaveNet](https://deepmind.com/blog/wavenet-launches-google-assistant/))可以直接产生原始音频信号输出。
但有些行业正在改变,Machine Learning是主体。当我们放弃通过编写明确的代码来解决复杂问题时,这个到2.0技术栈的转变就发生了,在过去几年中,很多领域都在突飞猛进。语音识别曾经涉及大量的预处理、高斯混合模型和隐式Markov模型,但今天几乎完全被神经网络替代了。早在1985年,知名信息论和语言识别专家Fred Jelinek就有一句经常被引用的段子:“每当我解雇一个语言学家,我们的语音识别系统的性能就会得到提高”。配图12:图解软件2.0的代表应用除了大家熟悉的图像语音识别、语音合成、机器翻译、游戏挑战之外,AI在很多传统系统也看到了早期的转型迹象。例如The Case for Learned Index Structures用神经网络取代了数据管理系统的核心组件,在速度上比B-Trees缓存优化达快70%,同时节省了一个数量级的内存。
在语音识别领域,1970年代由DARPA赞助的一场早期比赛就是一个例子。参赛者包括使用了大量人类知识(如对单词、音素、人类声道的理解)的特殊方法,而另一边则是更依赖统计和大量计算的新方法,基于隐马尔可夫模型(HMMs)。最终,基于统计的方法战胜了基于人类知识的方法。这导致了自然语言处理领域的一次重大转变,随着时间的推移,统计和计算开始成为该领域的主导。深度学习在语音识别中的兴起是这一趋势的最新体现。深度学习方法更少依赖人类知识,使用更多的计算资源,并通过在大型训练集上的学习,极大地提升了语音识别系统的性能。与游戏领域相似,研究人员总是试图创建一个按照他们自己的思维方式工作的系统,但这种尝试最终证明是逆向而行,不仅浪费了大量的研究时间,而且在大量计算资源可用并找到有效利用方法的情况下,这种尝试显得更是多余。计算机视觉领域也经历了相似的发展模式。早期的方法试图通过搜索边缘、广义圆柱体或SIFT特征来处理视觉问题。但在今天,这些方法都被淘汰了。现代的深度学习神经网络仅使用卷积和某些类型的不变性概念,取得了更好的表现。