您可以在此处找到包含结果的代码:
https://github.com/shwe87/tfm-asr/blob/master/ASR-Spanish-Bi-RNN-17062020.ipynb
我用西班牙语测试了两个简单的ASR模型:
模型1:
- Layer Normalization
- Bi-directional GRU
- Dropout
- Fully Connected layer
- Dropout
- Fully Connected layer as a classifier (classifies one of the alphabet chars)
模型2:
- Conv Layer 1
- Conv Layer 2
- Fully Connected
- Dropout
- Bidirectional GRU
- Fully connected layer as a classifier
我尝试了30个时期,因为我的GPU资源有限。 这两个模型的验证和训练损失: 模型1的表现不及预期。 模型2运作得很好,经过20个时期后,它开始过度拟合(请参见笔记本结果中的图表),并且在输出中,我实际上可以看到创建了一些词,就像标签一样。尽管过拟合,但仍无法接受培训,因为它无法预测总体结果。首先,我对这种模型很满意。
我测试了第三个复杂模型。 您可以在这里找到结果输出:
https://github.com/shwe87/tfm-asr/blob/master/ASR-DNN.ipynb
模型3:
- Layer Normalization
- RELU
- Bidirectional GRU
- Dropout
- Stack this 10 times more.
此模型的有效损失和训练损失: 我在30个纪元上对此进行了测试,但没有很好的结果,实际上,所有的预测都是空白...
这是因为这个复杂的模型需要更多的训练时间吗?
更新:
我通过在堆叠的GRU之前增加2个卷积层来修改模型,并且模型似乎有所改进。
我看到在第一个模型和第三个模型中,我应用了层归一化,两者的预测似乎都非常糟糕...。层归一化是否会使学习延迟?但是根据像这样的论文: https://www.arxiv-vanity.com/papers/1607.06450/层规范化可以加快训练速度,还有助于加快训练速度。所以,我真的很困惑。我的GPU资源有限,我不确定是否应该在不进行层归一化的情况下再尝试一次....