我一直在训练基于双向LSTM的语音识别RNN,一旦新的上下文到达,网络就会忘记旧的上下文。我不确定如何解释它的行为;似乎网络过度紧张,以至于它一次只能记住一个特定的案例。
代码链接为https://github.com/rajkumarcm15/Speech-Recognition/blob/master/MFCC_SWN_BN_Affine/train.py,其输出位于https://github.com/rajkumarcm15/Speech-Recognition/blob/master/MFCC_SWN_BN_Affine/Results.pdf。
在理解其输出模式方面需要一些帮助。
答案 0 :(得分:0)
我没有对你的输出进行过那么多的研究,但你是否考虑了辍学以减少过度拟合? e.g。
cell = GRUCell(num_neurons) # Or LSTMCell(num_neurons)
cell = DropoutWrapper(cell, output_keep_prob=dropout)
cell = MultiRNNCell([cell] * num_layers)
答案 1 :(得分:0)
其他建议(除了建议的dv3之外)你可以尝试通常帮助我:
此外,看起来您的损失仍在下降。也许更多的训练会有所帮助(同样,你只用这个时期量调整了你的学习率)。
希望这有帮助!如果其中一条建议有所作为,请告诉我。
答案 2 :(得分:0)
您是否在每个时期(例如)进行验证步骤,以检查此行为是否确实是由于过度拟合?
如果没有,你应该这样做,并检查是否有一个训练步骤,验证集的损失开始增加,训练集的损失仍然在减少。