Python DeepSpeech未能学习波斯语

Python DeepSpeech未能学习波斯语,python,tensorflow,speech-recognition,farsi,mozilla-deepspeech,Python,Tensorflow,Speech Recognition,Farsi,Mozilla Deepspeech,我正在使用一个使用KenLM生成的语言模型从零开始训练DeepSpeech(没有检查点),如its中所述。该数据集是波斯语的通用语音数据集 我的配置如下: 批量大小=2(由于cuda OOM) 学习率=0.0001 神经元数量=2048 纪元数=50 列车组尺寸=7500 测试和开发集大小=5000 第1层至第5层的辍学率=0.2(也试验了0.4,结果相同) 在整个训练过程中,训练和val损失会减少,但经过几个时期后,val损失不再减少。列车损失约为18列,val损失约为40列 在流程结束时,预

我正在使用一个使用KenLM生成的语言模型从零开始训练DeepSpeech(没有检查点),如its中所述。该数据集是波斯语的通用语音数据集

我的配置如下:

  • 批量大小=2(由于cuda OOM)
  • 学习率=0.0001
  • 神经元数量=2048
  • 纪元数=50
  • 列车组尺寸=7500
  • 测试和开发集大小=5000
  • 第1层至第5层的辍学率=0.2(也试验了0.4,结果相同)
  • 在整个训练过程中,训练和val损失会减少,但经过几个时期后,val损失不再减少。列车损失约为18列,val损失约为40列


    在流程结束时,预测都是空字符串。有什么想法可以改进模型吗?

    也许你需要降低学习率或使用学习率调度程序。

    普通语音中的波斯数据集大约有280小时的验证音频,因此这应该足以创建一个比你报告的更准确的模型

    这里有帮助的是了解模型的CER和WER数据是什么?能够看到这些表明最佳的行动方案是声学模型的超参数,还是KenLM语言模型。区别在于

    您还可能需要在波斯数据集上执行迁移学习。我假设波斯数据集是用Alefbā-ye Fārsi编写的。这意味着您需要删除字母表层,以便从中学习(使用拉丁语脚本)

    关于如何进行迁移学习的更多信息是,但本质上,您需要做两件事:

    • 使用
      --drop_source_layers 3
      标志删除源层,以允许从另一个字母表进行转移学习
    • 使用
      --load\u checkpoint\u dir deepspeech data/deepspeech-0.9.3-checkpoint
      标志指定从何处加载检查点,并从中执行转移学习

    这是一个问题而不是答案。可以作为评论。