文章目录[+]
Siri 是由苹果公司开发的智能语音助手。2011 年 10 月,Siri 以系统内置应用的方式随 iPhone 4s 一起发布,并被逐步集成到苹果的全线产品之中。Siri 支持自然语言的输入与输出,可以通过与用户的语言交互实现朗读短信、介绍餐厅、询问天气、设置闹钟等简单功能,它还能不断学习新的声音和语调,并提供对话式的应答。今天,我就结合苹果公司关于 Siri 的介绍简单谈谈人工智能中的语音处理。Siri 的语音处理包括语音识别和语音合成两部分。语音识别(speech recognition)的作用是听懂用户的话,语音合成(speech synthesis)的作用则是生成 Siri 自己的回答。目前在苹果公司公开的技术博客 Apple Machine Learning Journal 上,主要给出的是语音合成的技术方案,但这些方案对语音识别也有启发。
在很多游戏和软件中,语音提示都是由声优提前录制而成,但以 Siri 为代表的实时语音助手们必须采用语音合成技术。业界主流的语音合成方法有两种:单元选择和参数合成。当具备足够数量的高品质录音时,单元选择方法能够合成出自然的高质量语音。相比之下,参数合成方法得到的结果虽然更加流利且容易识别,其整体质量却有所不及,因而适用于语料库较小的情景。
将两者结合起来就得到了混合单元选择模式:其基本思路仍然是单元选择的思路,在预测需要选择的单元时则采用参数方法,Siri 正是采用了这种模式。要实现高质量的语音合成,足够的录音语料是必备的基础。但这些语料不可能覆盖所有的表达,因而需要将其划分为音素和半音素等更微小的基本单元,再根据由输入语音转换成的文本将基本单元重组,合成全新的语音。
当然,这样的重组绝非易事:在自然语言中,每个音素的选择既依赖于相邻音素,也取决于整体语句的音韵。单元选择方法完成的正是基本单元重组的任务:既要与输入的文本对应,又要生成符合语句内容的音调与音韵,同时还不能出现明显的打喯儿与中断。Siri 的语音合成系统包括文本分析、音韵生成、单元选择、波形串联四个模块,前两个环节对应前端的文本处理,后两个环节则对应后端的信号处理。
文本分析模块既要对输入文本进行标音,也要提取其音韵特征,包括将非规范的数字和缩略语进行转换,从而生成单词标音,解析语法、重音和分句等信息。这些信息将被提供给音韵生成模块,用于确定输出语音的音调和音长等声学特征。基于这些特征,单元选择模块执行搜索,选择出最优的单元序列。这些序列最后由波形串联模块拼接为连续无间断的语音,作为输出呈现给手机用户。在音韵生成过程中,机器学习通常被用于确定文本与语音之间的关系,并根据文本背后的语义特征来预测输出语音的特征。比如说如果文本是个疑问句,那么输出的语音就应该以升调结尾,文本中的感情色彩也会影响语音特征的选择。
理想的音韵模型可以由机器学习训练得到:输入是数字化的语言特征,其中包括音素的一致性、音素的前后关系、音节 / 单词 / 短语级别的位置特点等内容;输出则是经过数字化的声音特征,包括频谱特性、基波频率、音素持续时间等内容。经过训练,机器学习的算法就能完成从语言特征到声音特征的映射,生成的声音特征被用于指导单元选择过程,至关重要的指导因素就是合适的音调和音长。在后端,录制的语音流数据首先要根据语音识别声学模型进行分段,在这个过程中,输入的语音序列需要与从语音信号中提取出的声学特征进行对准。分割后的语音段则被用来生成语音单元数据库,这个数据库还可以根据每个单元的语境和声学特征进行增强。将从前端获得的声音特征代入到语音单元数据库中,就可以使用维特比算法(Viterbi algorithm)搜索用于语音合成的最佳路径。
对于每个目标半音素,维特比算法都可以搜索出一个最优单元序列来合成它,评价最优性的指标包括两条:目标成本和拼接成本。目标成本用于评价目标声音特征和每个单元的声音特征的区别;拼接成本则用于评价相邻单元之间的声学差异。维特比搜索的目的就是找到一条使目标成本和拼接成本的加权和最小的单元路径。当最优的单元序列确定后,每个单元的波形便由波形串联模块拼接在一起,形成输出语音。
Siri 的独特之处在于将深度学习应用在了混合单元选择模式中:用基于深度学习的一体化模型代替传统的隐马尔可夫模型指导最优单元序列的搜索,以自动并准确地预测数据库中单元的目标损失和拼接损失。Siri 使用的技术是深度混合密度网络(Mixture Density Network),这是传统的深度神经网络和高斯混合模型(Gaussian Mixture Model)的组合。
深度神经网络用于对输入特征和输出特征之间复杂而非线性的数量关系进行建模,通常使用反向传播方式来调整网络的权重参数,实现神经网络的训练;高斯混合模型用于在给定一组高斯分布的输入条件下,对输出的概率分布进行建模,通常使用期望最大化算法进行训练。深度混合密度网络结合了两者的优点。其输入是二进制序列,虽然是离散变量,它们却包含一些连续变化的特征,这些特征包括很多信息。其中既有当前音素与其前后各 2 个音素(共 5 个)之间的多元音素信息,也有从音节到单词到短语再到句子级别的信息,以及额外的重读和强调特征。
其输出则是包含基波频率、梅尔倒谱系数、单元持续时间等一系列声音特征。除此之外,输出还包括每个特征的方差值,这些方差表示了上下文的相关权重。将语音合成的过程倒转过来,就是语音识别的近似过程。语音识别能够将语音信号转换成对应的文本信息,其系统通常包含预处理、特征提取、声学模型,语言模型和字典解码等几个模块。
预处理模块通常用来滤除语音中的低频噪声,并对语音加以分段。特征提取模块将语音信号从时域变换到频域,在频域上提取语音的特征参数。接下来,声学模型将语音特征映射为不同的音素,语言模型将音素映射为可能的词组,字典解码则根据语言习惯,选择最可能的词组序列作为输出。在传统的语音识别中,特征选择过程通常使用梅尔倒谱系数(Mel Frequency Cepstral Coefficient)作为特征。梅尔倒谱系数能够对信号进行降维,将声音的基波信息提取到倒谱域的高频部分,声道信息提取到倒谱域的低频部分。
声学模型采用的是高斯混合模型和隐马尔可夫模型(Hidden Markov Model)的组合,隐马尔可夫模型可以通过隐藏节点的引入解决特征序列到多个语音基本单元之间的对应关系,也使用期望最大化算法加以训练。语言模型可以根据语言的统计特性建立,统计语言模型假定当前词的概率只与之前若干个词相关,因而可以用于估计特定词语出现在给定上下文中的概率。
随着神经网络和深度学习的发展,相关的技术也被应用在声学建模之中。包括卷积神经网络、循环神经网络和长短期记忆网络在内的主流神经网络模型都已经得到使用,并取得了不错的效果。与隐马尔可夫模型相比,神经网络的优点在于不依赖对特征统计特性的任何假设,但其缺点则是对时间上的依赖关系的建模能力较差,因而缺乏处理连续识别任务的能力。值得一提的是,Siri 在声学模型的训练中用到了迁移学习技术,通过跨带宽和跨语言的初始化来提升神经网络的声学模型。
目前,Siri 的应用范围覆盖了所有的主流语言,而苹果的研究表明:不同语言、不同带宽语音数据的神经网络训练可以在同样的框架下进行,其基础是神经网络中特征变换的泛化特性,这使得特征变换的方法不依赖于具体的语言。因此,经过宽带语音信号预训练的神经网络可以直接用于蓝牙语音信号的训练;经过英语预训练的神经网络也可以直接用于汉语的训练。这种迁移学习技术大大提升了 Siri 在小数据集下的表现。
根据 2017 年 6 月 17 日美国《大西洋月刊》的报道,Facebook 人工智能实验室设计的两个聊天机器人在谈判的训练中,发展出了一种全新的、只有它们自己能够理解的语言。这一爆炸性的消息一时间引得各路媒体蜂拥而至,煞有介事地讨论着人工智能如何颠覆人类对语言的理解,进而联想到人工智能会不会进化为热映新片《异形:契约》中戴维的角色,人类的命运仿佛又被推上了风口浪尖。
可事实真的像媒体描述的那样耸人听闻吗?如果在网上搜索这些内容,你会发现那就像两个孩子之间的咿呀学语,根本没有任何语义可言——也确实是人类无法理解的语言。于是,本来是一次模型训练的失误,愣是被唯恐天下不乱的媒体解读为世界末日的启示录,让人哭笑不得。言归正传,人工智能的一个基本挑战就是赋予机器使用自然语言与人交流的能力。虽然这一目标在科幻电影中早已实现,但在现实生活中依然任重而道远。所有对话系统的祖师爷是诞生于 1966 年的 Eliza,它由麻省理工学院的人工智能专家约瑟夫·魏岑鲍姆设计。有些出人意料的是,她扮演的角色是心理咨询师,并在这个角色上获得了相当程度的认可。Eliza 根据人工设计的脚本与人类交流,她并不理解对话内容,只是通过模式匹配搜索合适的回复。
设计者魏岑鲍姆将 Eliza 的基本技术问题总结为以下五个:重要词语的识别,最小语境范围的判定,恰当的转化选择,适当回复的生成和结束对话的能力。这个提纲为前赴后继的对话系统研究者们指明了研究方向。如果说 Eliza 代表了对话系统的 1.0 版对话机器人,那么以 Siri、Cortana 和 Google Now 为代表的语音助手就代表了对话系统的 2.0 版,也就是智能个人助理。它们的作用是提供各种被动性和主动性的帮助,以辅助用户在多个垂直领域完成任务。
还是以 Siri 为例。Siri 的系统运行环境被称为“活跃本体”。在这里,执行系统调用所有系统数据、词典、模型和程序,对用户输入进行解析,从而理解用户意图并调用外部服务。解析的过程由执行系统完成,它包含语言解释器、会话流控制器和任务控制器三个部分。语言解释器对文本形式的用户输入进行解析,会话流控制器根据语言解释器的解析结果生成会话,协同任务控制器确定 Siri 的输出。随着社交网络的发展,作为对话系统 3.0 版的社交聊天机器人正在走向成熟,它们可以满足用户对于沟通、情感及社会归属感的感性需求。这一领域的一个大玩家是互联网的新晋巨头 Facebook。自 2015 年起,Facebook 开展了大量针对对话系统的研究。而在 2017 年的国际学习表征会议(International Conference on Learning Representations)上,Facebook 也系统地展示了在对话系统上的研究成果。
Facebook 的一个研究方向是通过端到端方式自行训练对话系统的可能性。诸如语音助手之类的传统对话系统都是目标导向的,即对话的目的是在有限的轮次内解决某些问题。为达到这一目的,语音助手采用的是空位填充的方式,每个空位代表着对话涉及内容的一个特征量。对于餐厅预订的对话系统来说,其空位就会包括餐厅位置、价格区间、菜式类型等内容。但这样的对话系统不仅需要大量的人为训练,而且只适用于特定问题,难以推广到其他应用场景之下。不同任务定义的特征量是不同的,餐厅预订的对话系统显然不能实现推荐电影的功能。
相比之下,基于神经网络的端到端对话系统不需要人为介入,而是从对话本身中进行学习。所有元素都是从过往的对话过程中训练产生的,这就无需对对话的内容做出任何先验假设。这种方式由于无需人为干预,训练出来的对话系统也具备更强的通用性。端到端对话系统采用的模型是记忆网络。相对于普通神经网络,记忆网络的优势在于能够实现长期记忆,对话中的每一句话都被存储到记忆模块中,保证了信息不在压缩的过程中被丢失。正因为如此,记忆网络能够实现基于过往对话内容的学习,通过迭代读取已有对话的内容并结合短期的上下文语义来决定输出。
Facebook 对对话系统的期望远非实现预定餐厅这么简单,他们的愿景是实现具备通用人工智能水平的语音助手,既可以自由聊天又能够根据目标实现知识库调用。其研究一方面通过记忆网络的引入避免了大量的人工干预,解决了通用对话的方法论问题;另一方面提出了将一个对话任务分解为若干子任务的方法,简化了技术实现和定量评价的难度,给通用对话研究开辟了一个崭新的方向。在 Facebook 看来,对话系统中人为干预的作用是纠正机器所犯的错误,并让机器不会被同一块石头绊倒两次。在大多数研究依然聚焦在对固定数据集中的标签数据进行学习时,Facebook 独辟蹊径,提出了通过与人类对话者的线上互动实现学习的想法。其研究的对话系统既能根据负反馈对模型进行调整,也能根据正反馈对模型进行加强,这对在通用环境中使用有监督模型训练出的聊天机器人尤其重要。
在与对话伙伴的实时互动中,对机器人对话内容的反馈被纳入深度学习的整体框架中。对话是在问答任务的背景下进行的,机器人必须以简短的故事或一组事实来回答对话伙伴的一系列问题。在这个过程中,反馈的形式包括两种:一种是在常规的深度学习中使用的明确的数字类型回复,另一种是在人类对话中更加常见的文本式反馈。在处理反馈的过程中,如何以最小的反馈量实现对机器人的高效训练,机器人如何利用不同类型的反馈信号,在实时学习中如何避免收敛性差与不稳定性等都是需要解决的问题。
在论文中,聊天机器人使用的仍然是基于记忆网络的端到端模型,并采用深度学习进行训练。训练的结果表明,在考虑学习算法中不稳定性问题的前提下,线上的实时训练和迭代训练都能够得到较好的效果。在机器人已有初始固定数据集训练基础的前提下,与人类实时或半实时的互动学习能够有效提升机器人的表现,这样的学习过程甚至可以无限地持续下去,这是不是意味着学无止境的道理对人工智能同样适用呢?Facebook 的研究重新审视了监督在对话系统训练中的作用。监督的目的不是纠正某个单独语句的错误,而是从策略上动态改善对话表现。与人类对话伙伴实时互动,在某种程度上讲可以说是对机器思维方式的训练。互动的引入突破了暴力搜索的传统方法,让聊天机器人基于推理而非寻找实现对话内容的选取,这也给通用人工智能带来了一丝微弱的曙光。
当人类遇到难以回答的问题时可以选择提问,聊天机器人却只能要么选择猜测,要么调用外部的搜索引擎,这显然达不到良好的学习效果。在互动中,聊天机器人不仅要回答问题,更要提出问题,并从提问中进行学习。智能的聊天机器人应该能够在线上或线下的强化学习中通过提问得到提升。机器人的提问可以细化为三个场景:当机器人不能理解对话伙伴的表述时,需要进行问题澄清;当机器人在对已有知识库的推理中遇到麻烦时,需要进行知识运用;当机器人的已有知识库不完整时,则需要进行知识获取。
不同场景下机器人提问的方式也不相同:在问题澄清中,机器人会要求同伴确认问题或重新表述问题;在知识运用中,机器人会请求相关的知识或询问问题是否与某个特定的知识有关;在知识获取中,机器人则会直接要求对话同伴给出答案。相对于特定的提问任务,在提问互动中更重要的是机器人学习在什么时机提问以及提问什么内容。在现实中,机器人的提问消耗的通常是人类的耐心,一个十万个为什么一样的聊天机器人肯定会被迅速弃用。因此,机器人对何时提问和提问什么要有一定的判断力,而这种判断力可以通过强化学习来建模和训练。实验的结果表明,理想的提问策略是机器人首先学习对话任务,再根据基于提问成本的问答策略和自身回答问题的能力来学习改善自己的性能。
接下来,我将分享人工智能---机器翻译
发表评论