通过序列化,我的意思是输入的值是离散的时间间隔,并且矢量的大小也不知道之前的。 传统上,神经网络使用固定大小的并行输入神经元和固定大小的并行输出神经元。
可以在语音识别中使用序列化实现,我可以使用时间序列的波形为网络提供数据,并在输出端获取音素。
如果有人可以指出一些现有的实施情况,那将会很棒。
答案 0 :(得分:3)
作为一个结构的简单神经网络在时间尺度变形中没有不变性,这就是为什么将它应用于识别时间序列是不切实际的。为了识别时间序列,通常使用通用通信模型(HMM)。 NN可以与HMM一起用于对各个语音帧进行分类。在这样的HMM-ANN配置中,音频在帧上被分割,帧片被传递到ANN中以便计算音素概率,然后使用HMM的动态搜索来分析整个概率序列以获得最佳匹配。
HMM-ANN系统通常需要从更强大的HMM-GMM系统进行初始化,因此没有独立的HMM-ANN实现,通常它们是整个语音识别工具包的一部分。在流行的工具包中Kaldi实现了HMM-ANN甚至HMM-DNN(深度神经网络)。
还有神经网络设计用于对时间序列进行分类 - 递归神经网络,它们可以成功地用于语音分类。可以使用任何支持RNN的工具包创建示例,例如Keras。如果您想从递归神经网络开始,尝试长短期内存网络(LSTM),它们的架构可以实现更稳定的训练。用于语音识别的Keras设置在Building Speech Dataset for LSTM binary classification
中讨论答案 1 :(得分:3)
有几种类型的神经网络用于模拟序列数据;我想说这些模型中的大多数都适合称为 recurrent neural network 的等价类,它通常是任何神经网络模型,其连接图包含一个循环。通常可以利用连接图中的循环来模拟过去的某些方面"状态"网络和不同的策略 - 例如,Elman / Jordan网,Echo State Networks等 - 已经被开发出来以不同的方式利用这种状态信息。
历史上,经常性的网络很难有效地训练。由于最近在神经网络的二阶优化工具中的大量工作,以及来自深度神经网络社区的研究,已经开发了几个最近的循环网络示例,这些示例在对现实世界任务进行建模方面显示出前景。在我看来,这种网络最新的当前例子之一是Ilya Sutskever's"使用递归神经网络生成文本" (ICML 2011),其中经常性网络被用作非常紧凑的远程n-gram字符模型。 (尝试链接主页上的RNN演示,非常有趣。)
据我所知,经常性网络尚未成功应用于语音 - >音素直接建模,但Alex Graves在他最近的几篇论文中特别提到了这个任务。 (实际上,看起来他有一篇关于这个主题的2013年ICASSP论文。)