修复seq2seq模型的错误输出

我想问一下,我们如何有效地重新训练一个已经训练好的seq2seq模型,以消除或减轻特定观察到的错误输出。我将举一个语音合成的例子,但欢迎来自不同领域的任何想法,如机器翻译和语音识别,这些领域也使用seq2seq模型。

我学习了带有注意力机制的seq2seq模型的基础知识,特别是针对语音合成,例如Tacotron-2。使用一个分布式训练良好的模型让我看到了我们的计算机使用seq2seq(端到端)模型说话是多么自然(你可以在这里听一些音频样本)。但模型仍然无法正确读取一些单词,例如,它无法正确读取“obey [əˈbā]”,而是以多种方式错误地读出,如[əˈbī]和[əˈbē]。

原因很明显,因为“obey”这个词在我们的数据集中(LJ Speech)出现的次数太少,只有225,715个单词中的三次,模型没有运气。

那么,我们如何重新训练模型来克服这个错误呢?添加包含“obey”发音的额外音频剪辑听起来不切实际,但重复使用这三个音频剪辑又有过拟合的危险。此外,我认为我们使用的是一个训练良好的模型,仅仅“继续训练”并不是一个有效的解决方案。

现在,这是seq2seq模型的一个缺点,通常很少被讨论。该模型成功地简化了传统模型的流程,例如,对于语音合成,它用一个单一的神经网络取代了声学模型和文本分析前端等。但我们完全失去了对模型的可控性。让系统以特定方式读取是不可能的。

再次,如果你在任何领域使用seq2seq模型并得到了不理想的输出,你是如何修复的?是否有数据科学的解决方案,或者可能有前沿的神经网络机制来提高seq2seq模型的可控性?

谢谢。


回答:

我在论文(Deep Voice 3)的第3.2节中找到了我自己问题的答案。因此,他们训练了基于音素的模型和基于字符的模型,主要使用音素输入,除了当单词无法转换为其音素表示时使用基于字符的模型。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注