自回归模型是一类主要的声学模型,它们在文本到语音(TTS)系统中负责从输入文本生成中间表示,例如梅尔频谱图。这些模型一次生成输出序列的一步,其中每个输出预测都依赖于先前生成的输出。这种顺序生成过程通常带来高质量结果,能够捕捉语音中细致的时间依赖性。自回归声学模型中两个重要类型是 Tacotron 和基于 Transformer 的 TTS 系统。TTS 中的自回归原理核心来说,自回归声学模型在给定输入文本序列 $X = (x_1, x_2, ..., x_N)$ 的情况下,预测声学特征帧序列 $Y = (y_1, y_2, ..., y_T)$。"自回归" 的属性意味着整个序列的概率可以分解为条件概率的乘积:$$P(Y|X) = \prod_{t=1}^{T} P(y_t | y_{<t}, C(X))$$这里,$y_t$ 是时间步 $t$ 的声学特征向量(例如,一个梅尔频谱帧),$y_{<t} = (y_1, ..., y_{t-1})$ 表示所有先前生成的帧,而 $C(X)$ 是从整个输入文本序列 $X$ 得出的上下文向量,通常由编码器和注意力机制提供。模型生成 $y_1$,然后使用 $y_1$ 帮助生成 $y_2$,以此类推,直到满足特殊停止条件。这种一步一步的生成使得模型能够保持生成音频信号的内部一致性,有助于输出的自然度。然而,这种顺序依赖性本质上限制了推理速度,因为生成第 $t$ 帧需要先计算出第 $(t-1)$ 帧。Tacotron 和 Tacotron 2Tacotron 模型,特别是其改进版本 Tacotron 2,代表了一种使用自回归生成实现 TTS 的里程碑式端到端架构。它直接将输入字符或音素序列映射到梅尔频谱图,无需旧的参数化系统中存在的复杂中间语言特征或时长模型。架构概述A典型的 Tacotron 2 模型包含几个主要组成部分:编码器: 处理输入文本序列。它通常从一个嵌入层开始,将输入字符或音素转换为稠密向量。这些嵌入随后被送入堆叠的卷积层,然后是双向长短期记忆网络 (BiLSTM)。BiLSTM 以正向和反向处理序列,为每个输入元素创建捕捉整个输入文本上下文信息的隐藏状态。注意力机制: 连接编码器输出到解码器。在每个解码器时间步 $t$,注意力机制根据先前的解码器状态计算编码器输出上的对齐权重。这使得解码器在生成当前声学帧时能够集中于输入文本的相关部分。Tacotron 2 使用一种位置敏感注意力机制,它结合了先前步骤的累积注意力权重,帮助保证注意力在输入序列中一致向前移动,并减少跳词或重复词等对齐错误。解码器: 一个自回归循环神经网络(通常是 LSTM 或 GRU 堆栈)。在每个步骤 $t$,它接收注意力上下文向量(编码器输出的加权和)和先前生成的梅尔频谱帧 $y_{t-1}$ 作为输入。然后,它预测当前梅尔频谱帧 $y_t$ 并更新其内部状态。停止令牌预测: 除了预测梅尔频谱帧,解码器还预测生成应该在当前步骤停止的概率。这通常通过一个线性层后接 Sigmoid 激活来完成,并作为二元分类任务进行训练。当此概率超过预设阈值时,生成停止。后处理网络 (Post-Net)(可选但常见): 应用于生成的梅尔频谱序列的一堆卷积层。它作为一个残差改进模块,通过预测一个添加到解码器输出频谱图的校正项来提高最终输出的质量。digraph G { rankdir=LR; node [shape=box, style=filled, fontname="Arial", margin=0.2]; edge [fontname="Arial"]; subgraph cluster_encoder { label = "编码器"; bgcolor="#a5d8ff"; node [fillcolor="#d0bfff"]; txt [label="输入文本/音素"]; emb [label="嵌入"]; enc_cnn [label="CNN 层"]; enc_bilstm [label="双向LSTM"]; enc_out [label="编码器输出", shape=cylinder, fillcolor="#748ffc"]; txt -> emb -> enc_cnn -> enc_bilstm -> enc_out; } subgraph cluster_decoder { label = "解码器"; bgcolor="#b2f2bb"; node [fillcolor="#d8f5a2"]; dec_lstm [label="自回归 LSTM"]; dec_linear [label="线性投影"]; mel_out [label="梅尔频谱帧 (yt)", shape=cylinder, fillcolor="#69db7c"]; stop_pred [label="停止令牌预测", fillcolor="#96f2d7"]; postnet [label="后处理网络 (CNNs)", fillcolor="#c0eb75"]; final_mel [label="最终梅尔频谱图", shape=cylinder, fillcolor="#69db7c"]; attn_ctx -> dec_lstm; prev_mel -> dec_lstm; dec_lstm -> dec_linear -> mel_out; dec_lstm -> stop_pred; mel_out -> postnet -> final_mel; // Autoregressive connection representation edge [style=dashed, color="#adb5bd"]; mel_out -> prev_mel [label="y(t-1)", constraint=false]; } attn [label="注意力\n机制", shape=ellipse, style=filled, fillcolor="#99e9f2"]; prev_mel [label="前一帧 y(t-1)", shape=cds, style=filled, fillcolor="#ced4da", fixedsize=true, width=1.5, height=0.5]; attn_ctx [label="注意力上下文", shape=cds, style=filled, fillcolor="#74c0fc", fixedsize=true, width=1.5, height=0.5]; enc_out -> attn [label="编码器输出"]; dec_lstm -> attn [label="解码器状态", style=dotted]; attn -> attn_ctx; // Initial input to decoder start_token [label="起始令牌", shape=point, style=invis]; start_token -> prev_mel [style=dashed, color="#adb5bd"]; }基于注意力的自回归声学模型(如 Tacotron 2)的简化架构。文本经过编码,注意力将编码器输出与解码器步骤对齐,解码器顺序生成梅尔频谱帧,并使用前一帧作为下一帧的输入。训练与特点Tacotron 模型使用 (文本,音频) 对数据集进行端到端训练。音频被转换为梅尔频谱图,作为解码器的真实目标。常用的损失函数是预测和目标梅尔频谱图之间的均方误差 (MSE) 或 L1 损失,对所有帧求和。停止令牌预测使用额外的二元交叉熵损失。在训练过程中,通常采用一种称为“教师强制”的技术。与其将模型自身预测的前一帧作为输入馈给解码器,不如提供真实的前一帧。这通过防止错误积累来稳定训练,尤其是在早期阶段。然而,这在训练和推理之间引入了不匹配(称为曝光偏差),因为在推理时,模型必须依赖其自身可能不完美的预测。Tacotron 2 设定了 TTS 质量的高标准,能够为许多说话人和领域生成与人类录音几乎无法区分的语音。其主要缺点仍然是其自回归特性所决定的缓慢的顺序推理过程。Transformer TTS受 Transformer 架构在自然语言处理以及随后的 ASR 中成功的启发,研究人员将其应用于 TTS。Transformer TTS 模型用多头自注意力和前馈层替换了编码器和解码器中的循环层(LSTMs/GRUs)。架构概述编码器: 功能上类似于 Tacotron 的编码器,它将输入文本序列映射到一系列上下文表示。它由堆叠的 Transformer 块组成。每个块包含一个多头自注意力层(允许每个输入令牌关注所有其他输入令牌),然后是位置前馈网络。位置编码被添加到输入嵌入中,以向模型提供关于输入令牌顺序的信息,因为自注意力机制本身是置换不变的。解码器: 也由堆叠的 Transformer 块组成,但经过修改以保证自回归行为。每个解码器块包含:一个掩码多头自注意力层:这关注先前生成的声学帧。掩码保证帧 $t$ 的预测只能依赖于帧 $1$ 到 $t-1$,保持因果关系。一个多头交叉注意力层:这关注编码器输出,类似于 Tacotron 中的注意力机制,使解码器能够结合来自输入文本的信息。位置前馈网络。 与编码器一样,解码器也为输入声学帧使用位置编码。最终解码器层的输出通常通过一个线性层来预测梅尔频谱帧,并另一个线性层来预测停止令牌概率。后处理网络 (Post-Net): 通常包含,类似于 Tacotron 2,以改进输出频谱图。与 Tacotron 的比较并行化: 虽然推理仍然是顺序的,但 Transformer 的非循环特性允许在训练期间进行显著更多的并行计算,与 RNNs 相比,这可能在合适的硬件(如 GPU/TPU)上带来更快的训练时间。长距离依赖: 自注意力机制理论上能比 RNN 更有效地建模长距离依赖,因为任意两个位置之间的路径长度是常数 ($O(1)$),而不是依赖序列长度 ($O(N)$)。这对于生成具有与整体句子结构相关联的复杂韵律模式的语音可能是有利的。训练稳定性: 与基于 RNN 的模型相比,为 TTS 训练 Transformer 有时需要更细致的超参数调整(例如,学习率调度如 Noam 衰减、预热步数)。注意力收敛,特别是对于长序列,也可能是需要关注的地方。常见考量输入表示: Tacotron 和 Transformer TTS 都可以使用字符或音素。音素通常带来更好的发音准确性,尤其对于词汇表外的单词,但需要一个外部字素到音素 (G2P) 转换步骤。基于字符的模型隐式学习发音,但可能难以处理同形异义词或复杂名称。输出目标: 梅尔频谱图是标准的中间表示。与高度复杂的原始音频波形相比,它们在感知上相关、更平滑,且更容易通过 L1/L2 损失进行预测。这些梅尔频谱图随后被传递给一个单独的神经声码器(第五章介绍),以合成最终波形。注意力对齐: 在推理过程中可视化注意力权重是一种常用诊断技术。表现良好的注意力机制应显示大致对角线的对齐,这表明模型在生成输出语音帧时正按顺序处理输入文本。失败通常表现为跳跃的、非单调的对齐,导致重复或跳过单词。Tacotron 和 Transformer TTS 等自回归模型代表着在直接从文本生成自然语音方面的一项重要进步。它们捕捉详细声学变化的能力是以顺序推理为代价的。这一局限性促使了非自回归模型的发展,我们将在下一节中进行分析。