论文部分内容阅读
在序列信号处理相关的问题中,研究给定一个序列如何生成另一个序列是一个重要问题。本论文将这类问题统称为序列映射问题,如机器翻译,语音识别等都属于这类问题。传统的方法在解决这类问题时都大致将问题分解为人工设计特征、序列之间的对齐、外部的语言学知识等子问题,进而针对性地建模加以解决。随着深度学习的发展,这些子问题对应的模型如翻译模型、声学模型、语言模型等都从神经网络的强大建模能力中获益。虽然深度学习可以更好地解决这些子问题,但是传统方法的“分而治之”的解决思路也带来了很多问题,例如复杂的系统搭建和部署、各个子模块无法联合优化导致的误差累积等。因此,完全不同于传统思路的端到端的方法在最近日益得到人们的重视,其中编码-解码模型就是新的能够将输入序列直接转换为输出序列的端到端模型。编码-解码模型很快在机器翻译、语音识别等问题中都得到了很好的应用,并且能够提供与传统系统相当甚至更优的性能。尽管如此,编码-解码模型仍然存在诸如训练效率低下、不支持实时识别等问题。同时新的更适合具体任务的编码-解码模型结构也值得探索。因此,本论文对基于编码-解码模型的序列映射问题进行研究,提出了几种新的编码-解码模型结构,并在机器翻译和语音识别这两个具体任务中进行验证和探讨。首先,常用的编码-解码模型主要使用循环神经网络作为基本模块,这会在编码和解码模块中引入序列内的时序依赖,导致模型的计算并行度降低,影响模型的训练效率。针对这一点,本文提出了一种基于前馈序列记忆网络的编码-解码模型架构。在新模型中,前馈网络消除了计算过程中序列内的时序依赖,记忆模块提供的序列上下文的记忆则保证了整个编码-解码模型的正常运行。通过本文提出的方法,编码-解码模型在机器翻译任务中在保证性能的前提下将训练效率提升约2倍。其次,编码-解码模型中的注意力机制要求模型在接收到整个输入序列之后才能进行解码输出,这对于有实时性要求的任务如语音交互等是不能接受的。针对这一点,本文提出了高斯预测注意力机制和语音片段边界检测注意力机制,让模型能够进行实时语音识别。第一种注意力机制假定每个解码时刻的注意力向量是一个高斯窗,高斯窗的均值和方差分别描述了注意力的位置和聚集程度。因此模型通过预测高斯窗的方差和相对前一个输出时刻的均值增量,即可得到沿时序单调移动的注意力向量,获得实时识别的效果。第二种注意力机制利用语音由若干长短不一、前后相连的片段组成的特点,通过引入语音片段边界检测模块,将实时语音识别的过程分解为两个交替进行的步骤:语音片段边界检测;利用软注意力机制从边界确定的片段中收集信息产生识别输出。该模型能够获得与目前最优实时识别模型相当的识别效果。同时本文使用强化学习来训练边界检测模块,也验证了强化学习对于语音识别这一实际任务的有效性。最后,编码-解码模型的注意力机制对于语音单调对齐的特点利用不足,已有的端到端模型没有充分体现语音的短时平稳特性,模型可解释性不足。针对这一点,本论文提出了新的结合序列状态建模的编码-解码模型。该模型模仿传统方法中的隐马尔科夫模型,直接对发射概率和跳转概率进行建模,构建了所有可能的输入语音和输出文本的对齐路径,并且强制每一帧都与实际的符号对应。作为与已有端到端模型框架都不同的新模型,该模型能够获得与其他模型大致可比的识别性能,同时提供了明确的逐帧对齐信息,具有更好的可解释性。