タグ付けされた質問 「audio-recognition」

2
音認識のためのスペクトログラムによるディープラーニング
スペクトログラムを使用して音(たとえば、動物の音)を分類する可能性を検討していました。アイデアは、深い畳み込みニューラルネットワークを使用して、スペクトログラムのセグメントを認識し、1つ(または複数)のクラスラベルを出力することです。これは新しいアイデアではありません(たとえば、クジラの音の分類や音楽スタイルの認識を参照)。 私が直面している問題は、さまざまな長さのサウンドファイルがあり、したがってさまざまなサイズのスペクトログラムがあることです。これまでのところ、私が見たすべてのアプローチでは固定サイズのサウンドサンプルを使用していますが、サウンドファイルが10秒または2分の長さになる可能性があるため、これを行うことはできません。 たとえば、最初は鳥の音、最後はカエルの音(出力は "Bird、Frog"になります)。私の現在の解決策は、ニューラルネットワークに一時的なコンポーネントを追加することです(リカレントニューラルネットワークをさらに作成する)が、今のところそれを単純に保ちたいと思います。アイデア、リンク、チュートリアルなど...?

1
たたみ込み層は通常のたたみ込みネットワークとどのように異なりますか?
現在、この論文の結果を再現する作業をしています。この論文では、特徴抽出にCNNを使用する方法について説明し、RBNを使用して事前トレーニングされたDnn-hmmの音響モデルを使用しています。 セクションIIIサブセクションAは、入力データを表すことができるさまざまな方法を述べています。静的、デルタ、デルタデルタのスペクトルプロットを縦に積み重ねることにしました。 したがって、次のようになります。 その後、ネットワークはどうあるべきかを説明します。彼らは畳み込みネットワークを使用すると述べていますが、ネットワークの構造については何もありませんか?さらに、ネットワークは常に畳み込み層と呼ばれますか?通常のネットワーク畳み込みニューラルネットワーク(cnn)と比較して、違いがあると思います。 ペーパーは違いに関してこれを述べます: (セクションIIIサブセクションBから) ただし、畳み込み層は、2つの重要な点で標準の完全に接続された非表示層とは異なります。まず、各畳み込み単位は、入力のローカル領域からのみ入力を受け取ります。これは、各単位が入力のローカル領域のいくつかの特徴を表すことを意味します。第2に、畳み込み層の単位自体をいくつかの特徴マップに編成できます。同じ特徴マップ内のすべての単位は同じ重みを共有しますが、下位層の異なる場所から入力を受け取ります 私が不思議に思っていたもう1つのことは、dnn-hmm音響モデルに供給するために必要な出力パラメーターの数が実際に紙に記述されているかどうかです。フィルターの数、フィルターのサイズなど、ネットワークの一般的な詳細をデコードできないようです。

1
音素認識のためのCNN
私は現在、このドキュメントを研究しています。CNNは、ログメルフィルターバンクの視覚的表現を使用した音素認識、および制限された重み共有スキームに適用されます。 ログメルフィルターバンクの視覚化は、データを表現および正規化する方法です。彼らは私が使用してそれをプロットすることであろうと出てくる可能性が最も近いRGBの色とスペクトログラムとして可視化することをお勧めmatplotlibsカラーマップをcm.jet。それらは(紙であるため)、各フレームを[静的デルタdelta_delta]フィルターバンクエネルギーでスタックする必要があることも示唆しています。これは次のようになります。 15フレームセットの画像パッチで構成される[静的デルタdelta_detlta]入力形状は、(40,45,3)になります。 制限された重みの共有は、重みの共有を特定のフィルターバンク領域に制限することで構成されます。これは、音声が異なる周波数領域で異なって解釈されるため、通常の畳み込みが適用されるため、完全な重みの共有は機能しません。 制限された重み共有の実装は、各畳み込み層に関連付けられた重み行列の重みを制御することで構成されます。したがって、完全な入力に畳み込みを適用します。複数を使用すると、たたみ込み層から抽出された特徴マップの局所性が破壊されるため、紙はたった1つのたたみ込み層のみを適用します。それらが通常のMFCC係数ではなくフィルターバンクエネルギーを使用する理由は、DCTがフィルターバンクエネルギーの局所性を破壊するためです。 畳み込み層に関連付けられた重み行列を制御する代わりに、複数の入力を使用してCNNを実装することを選択します。したがって、各入力は(小さなフィルターバンク範囲、total_frames_with_deltas、3)で構成されます。したがって、たとえば、用紙サイズは8のフィルターサイズが適切であると述べたため、フィルターバンクの範囲を8に決定しました。したがって、各小さな画像パッチのサイズは(8、45、3)です。小さな画像パッチのそれぞれは、ストライドが1のスライディングウィンドウで抽出されます。そのため、各入力間に多くのオーバーラップがあり、各入力には独自の畳み込み層があります。 (input_3、input_3、input3、input_1、input_2、input_3 ...である必要があります) この方法を使用すると、複数の畳み込み層を使用できるようになります。これは、局所性が問題にならないためです。フィルターバンク領域内に適用されるため、これは私の理論です。 紙はそれを明示的に述べていませんが、彼らが複数のフレームで音素認識を行う理由は、いくつかの左コンテキストと右コンテキストがあるため、中央のフレームのみが予測/トレーニングされているためです。したがって、私の場合、最初の7フレームは左のコンテキストウィンドウに設定されています。中央のフレームはトレーニングされており、最後の7フレームは右のコンテキストウィンドウに設定されています。したがって、複数のフレームが与えられた場合、1つの音素だけが中央であると認識されます。 私のニューラルネットワークは現在、次のようになっています。 def model3(): #stride = 1 #dim = 40 #window_height = 8 #splits = ((40-8)+1)/1 = 33 next(test_generator()) next(train_generator(batch_size)) kernel_number = 200#int(math.ceil(splits)) list_of_input = [Input(shape = (window_height,total_frames_with_deltas,3)) for i in range(splits)] list_of_conv_output = [] list_of_conv_output_2 = [] list_of_conv_output_3 = [] …

1
入力数が柔軟なニューラルネットワーク?
入力が異なる長さのベクトルである場合、一貫した出力を提供するニューラルネットワークを作成することは可能ですか? 私は現在、さまざまな長さのオーディオファイルを多数サンプリングし、ニューラルネットワークをトレーニングして、特定の入力で必要な出力が得られる状況にあります。異なる番号の入力を行う、長さが異なるオーディオファイルのサンプルを指定して、MFCC機能を生成できる回帰ネットワークを作成しようとしています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.