【问题标题】:How to feed variable-length of speech feature to RNN(LSTM) for Speech Recognition?如何将可变长度的语音特征输入 RNN(LSTM)进行语音识别?
【发布时间】:2020-01-11 18:22:47
【问题描述】:

我正在尝试构建一个语音识别系统,它是一个序列到序列的模型。但是我对如何将提取的特征(维度为 40 的 fbank)提供给 LSTM 感到困惑。据我发现,有不同的方法可以将数据作为输入提供给 LSTM。但是,我怀疑要完全理解它们。如果有人告诉我在以下情况下我是否正确,我将不胜感激。

案例 1: 在方便的格式 [Batch_Size, Time_Step, Feature_Dim],如果我选择 [1, None, 40] ,每个序列(话语)的长度可以变化吗?如果是这样,在这种情况下,我不需要填充每个序列,对吗?

案例 2: 如果所有输入序列都填充到相同的长度,Batch_Size 可以是任何值,如 64、128 等?

最后再问一个问题,我注意到每个Batch中的Time_Step应该是一样的吗?

如果有人能帮助我摆脱疑惑或给我一些建议,我将非常感激。

【问题讨论】:

    标签: python speech-recognition lstm recurrent-neural-network speech-to-text


    【解决方案1】:

    这取决于您的系统是如何构建的,是端到端培训还是您使用了 MFCC 等手工工程功能?还有一点需要注意的是,RNN 的主要用途是具有可变长度的输入。

    【讨论】:

    • 是的,它是一个端到端的 ASR,我们提取了 fbank 特征(每帧 40 个暗淡)而不是 MFCC,但它们大部分是相同的。你的意思是我不需要做填充?
    • 您需要为所有音频文件定义一个固定大小的向量(在这种情况下,您需要在输入输入之前应用填充)
    • 对于第二种情况,如果您填充了输入,您可以将批量大小设置为不同的值。如果您觉得我的回答有帮助,请将其标记为正确答案。
    猜你喜欢
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    相关资源
    最近更新 更多