2016-05-25 6 views
1

深い神経ネットワーク、特にLSTMを勉強し、私はこのリンクで提案されているアイデアに従うことにしました:Building Speech Dataset for LSTM binary classification MFCCで抽出された特徴を持つLSTMによる音声認識

私は、各配列が単語の各音素であるMFCCを抽出する機能を備えたオーディオベースを持っています。 トレーニングデータは次のようになります:レタリングで

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 

これは本当に正しいですか?最初のテストでは、期待していたすべてのアウトレットを実行して、この "仲介人"に最も一般的であるというラベルを付ける傾向がありました。それ以外の方法は使用できますか?

答えて

1

私は同じ仕事をしています。私はhttp://keras.io/layers/recurrent/を使ってタスクを実行しています。このタスクを達成するために、theanoバックエンドを使用してケラスを使用してください。次の手順を実行できます。

  1. TXTファイルにMfcc値を格納します。
  2. TXTファイルを読み取り、すべての値をNumpy配列に格納します。
  3. このnumpy配列をニューラルネットの入力に渡します。
  4. あなたは結果を評価するためのhyperparamters(BATCH_SIZE、オプティマイザ、損失関数、sequneceサイズ)で遊ぶことができ、入力

を供給する前に、パディングを適用します。

+0

可能であれば、あなたはgithubレポを共有してください、私は非常に似たようなことをしようとしています –