修复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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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