研究深度神经网络,特别是LSTM,我决定遵循此链接中提出的想法:为LSTM二元分类构建语音数据集以构建分类器。
我有一个基于音频的,其中提取MFCC的功能,其中每个数组是13x56每个单词的音素。训练数据如下所示:
X = [[phon1fram[1][1], phon1fram[1][2],..., phon1fram[1][56]],
[phon1fram[2][1], phon1fram[2][2],..., phon1fram[2][56]], ....
[phon1fram[15][1], phon1fram[15][2], ..., phon1fram[15][56] ] ]
...
...
[[phon5fram[1][1], phon5fram[1][2],..., phon5fram[1][56]], ... ,
[phon5fram[15][1], phon5fram[15][2], ..., phon5fram[15][56]] ]
在字母中,哪个肯定是第一帧标签会说成"中介",只有最后一帧实际上代表音素?
Y = [[0, 0, ..., 0], #intermediary
[0, 0, ..., 0], ... , #intermediary
[1, 0, ..., 0]] # is one phoneme
[[0, 0, ..., 0], ... #intermediary
[0, 1, ..., 0] # other phoneme
这真的正确吗?在第一次测试中,我执行了所有预期的网点,倾向于将这个"中间人"标记为最普遍。可以使用任何其他方法吗?
我正在做同样的任务。我正在使用 http://keras.io/layers/recurrent/来完成任务。使用带有 theano 后端的 keras 来完成此任务。您可以按照以下步骤操作:
- 将 Mfcc 值存储在 TXT 文件中。
- 读取 TXT 文件并将所有值存储到 Numpy 数组中。
- 将此 numpy 数组传递给神经网络的输入。
- 在馈送输入之前应用填充
您可以使用超参数(batch_size,优化器,损失函数,顺序大小)来评估结果。