我首先需要理解用户的指令,用户希望我翻译文章的3.1节“Training and Inference Procedures”部分。为了完成这个任务,我需要仔细阅读文章的3.1节,理解其中的技术细节和概念,然后将这些内容准确地翻译成中文。
在阅读3.1节时,我注意到文章首先介绍了Glow-TTS模型的目标,即建模梅尔频谱图的条件分布,并通过流式解码器进行变换。文章给出了计算数据对数似然性的公式,这是理解模型核心机制的关键,我需要确保这个公式的翻译准确无误。
接下来,文章解释了如何通过文本编码器和先验分布来参数化数据和先验分布,并引入了对齐函数的概念。对齐函数是Glow-TTS模型的关键组成部分,它负责建立文本和语音潜在表示之间的单调映射关系。我需要仔细理解对齐函数的定义和作用,并将其准确地翻译出来。
然后,文章阐述了模型的训练目标,即最大化数据的对数似然性,并提出了将这个复杂的优化问题分解为两个子问题的策略:搜索最可能的单调对齐和更新模型参数。动态规划算法被用来解决对齐搜索问题,文章提到了单调对齐搜索(MAS)算法,并给出了一个递归公式来计算部分对齐的最大对数似然性。我需要理解这个递归公式的含义,并将其正确地翻译成中文。
在翻译过程中,我还需要注意文章中提到的图表,例如图1和图2。图1展示了Glow-TTS的训练和推理流程,图2则解释了单调对齐搜索的过程。为了使翻译后的内容更清晰易懂,我需要在适当的位置插入对这些图表的引用说明,例如“如图1所示”或“如图2所示”。这样可以帮助读者更好地理解文章的内容。
最后,文章还提到了在推理阶段如何使用持续时间预测器来估计对齐,并生成梅尔频谱图。这部分内容也需要准确地翻译出来,以确保整个3.1节的翻译完整性。
在完成初稿翻译后,我会重新审阅一遍翻译内容,检查是否准确传达了原文的意思,技术术语是否使用得当,语句是否流畅自然,并且确保图表引用说明的位置合适。如果发现有翻译错误或不准确的地方,我会及时进行修改和完善,力求最终的翻译结果既忠实于原文,又易于中文读者理解。通过以上思考步骤,我就可以生成对3.1节“Training and Inference Procedures”的准确翻译。
3.1 训练和推理过程
Glow-TTS通过流式解码器 f d e c : z → x f_{dec}:z\rightarrow x fdec:z→x将条件先验分布 P Z ( z ∣ c ) P_{Z}(z|c) PZ(z∣c)转换为梅尔频谱图的分布,从而建模梅尔频谱图 P X ( x ∣ c ) P_{X}(x|c) PX(x∣c)的条件分布。通过变量替换,我们可以计算数据的精确对数似然:
log P X ( x ∣ c ) = log P Z ( z ∣ c ) + log ∣ det ∂ f d e c − 1 ( x ) ∂ x ∣ \log P_{X}(x|c)=\log P_{Z}(z|c)+\log\left|\det\frac{\partial f_{dec}^{-1}(x)}{\partial x}\right| logPX(x∣c)=logPZ(z∣c)+log det∂x∂fdec−1(x)
我们使用网络参数 θ \theta θ和对齐函数 A A A对数据和先验分布进行参数化。先验分布 P Z P_{Z} PZ是各向同性的多元高斯分布,其所有统计量 μ \mu μ和 σ \sigma σ均由文本编码器 f enc f_{\text{enc}} fenc获得。文本编码器将文本条件 c = c 1 : T text c=c_{1: T_{\text{text}}} c=c1:Ttext映射到统计量 μ = μ 1 : T text \mu=\mu_{1: T_{\text{text}}} μ=μ1:Ttext和 σ = σ 1 : T text \sigma=\sigma_{1: T_{\text{text}}} σ=σ1:Ttext,其中 T text T_{\text{text}} Ttext表示文本输入的长度。在我们的公式中,对齐函数 A A A表示从语音的潜在表示索引到 f enc f_{\text{enc}} fenc统计量的索引的映射:如果 z j ∼ N ( z j ; μ i , σ i ) z_{j}\sim N\left(z_{j};\mu_{i},\sigma_{i}\right) zj∼N(zj;μi,σi),则 A ( j ) = i A(j)=i A(j)=i。我们假设对齐函数 A A A是单调和满射的,以确保Glow-TTS不会跳过或重复文本输入。然后,先验分布可以表示为:
log P Z ( z ∣ c ; θ , A ) = ∑ j = 1 T m e l log N ( z j ; μ A ( j ) , σ A ( j ) ) \begin{align*}\log P_{Z}(z|c;\theta,A)=\sum_{j=1}^{T_{mel}}\log\mathcal{N}(z_{j};\mu_{A(j)},\sigma_{A(j)})\end{align*} logPZ(z∣c;θ,A)=j=1∑TmellogN(zj;μA(j),σA(j))
其中 T m e l T_{m e l} Tmel表示输入梅尔频谱图的长度。
我们的目标是找到参数 θ \theta θ和对齐 A A A,以最大化数据的对数似然,如方程3所示。然而,找到全局解在计算上是不可行的。为了解决这个问题,我们通过分解目标为两个后续问题来减少参数和对齐的搜索空间:(i) 根据当前参数 θ \theta θ搜索最可能的单调对齐 A ∗ A^{*} A∗,如方程4所示;(ii) 更新参数 θ \theta θ以最大化对数似然 log p X ( x ∣ c ; θ , A ∗ ) \log p_{X}\left(x\mid c;\theta, A^{*}\right) logpX(x∣c;θ,A∗)。在实践中,我们使用迭代方法处理这两个问题。在每个训练步骤中,我们首先找到 A ∗ A^{*} A∗,然后使用梯度下降更新 θ \theta θ。这种迭代过程实际上是广泛使用的Viterbi训练的一个例子,它最大化最可能隐藏对齐的对数似然。修改后的目标不能保证方程3的全局解,但它仍然提供了全局解的良好下限。
max θ , A L ( θ , A ) = max θ , A log P X ( x ∣ c ; A , θ ) \max_{\theta,A}L(\theta,A)=\max_{\theta,A}\log P_{X}(x|c;A,\theta) θ,AmaxL(θ,A)=θ,AmaxlogPX(x∣c;A,θ)
A ∗ = arg max A log P X ( x ∣ c ; A , θ ) = arg max A ∑ j = 1 T m e l log N ( z j ; μ A ( j ) , σ A ( j ) ) \begin{align*} A^{*}&=\underset{A}{\arg\max}\log P_{X}(x|c;A,\theta)=\underset{A}{\arg\max}\sum_{j=1}^{T_{mel}}\log\mathcal{N}(z_{j};\mu_{A(j)},\sigma_{A(j)})\end{align*} A∗=AargmaxlogPX(x∣c;A,θ)=Aargmaxj=1∑TmellogN(zj;μA(j),σA(j))
为了在第3.2节中描述的推理阶段估计最可能的单调对齐 A ∗ A^{*} A∗,我们还训练了持续时间预测器 f d u r f_{d u r} fdur以匹配从对齐 A ∗ A^{*} A∗计算的持续时间标签。遵循FastSpeech[20]的架构,我们将持续时间预测器附加在文本编码器的顶部,并在log域中使用均方误差损失(MSE)进行训练。我们还应用了停止梯度算子 s g [ ⋅ ] sg[\cdot] sg[⋅],以在反向传播中去除输入的梯度,以避免影响最大似然目标。持续时间预测器的损失在方程6中描述。
d i = ∑ j = 1 T m e l 1 A ∗ ( j ) = i , i = 1 , . . . , T t e x t \begin{align*} d_{i}&=\sum_{j=1}^{T_{mel}}1_{A^{*}(j)=i},i=1,...,T_{text}\end{align*} di=j=1∑Tmel1A∗(j)=i,i=1,...,Ttext
L d u r = M S E ( f d u r ( s g [ f e n c ( c ) ] ) , d ) \begin{align*} L_{dur}&=MSE(f_{dur}(sg[f_{enc}(c)]),d)\end{align*} Ldur=MSE(fdur(sg[fenc(c)]),d)
在推理过程中,如图1b所示,文本编码器和持续时间预测器预测先验分布和的对齐统计量。然后,从先验分布中采样一个潜在变量,并通过流式解码器将其转换为梅尔频谱图。
为了搜索最可能的单调对齐 A ∗ A^{*} A∗,我们引入了一种对齐搜索算法,称为单调对齐搜索(MAS),在第3.2节中描述。