我々は問題にカルディ深研究に基づいて開発した組み込み音声認識システムのアップグレード

前の記事「どのように3つの白いを取るためには、埋め込まれた音声認識システムのカルディのに基づいて、3ヶ月でのラインである私たちはカルディベースの組み込み音声認識システムを取るために3ヶ月未満費やしました」が、従来のGMM-HMMは、私たちは、音声認識の分野でいくつかの経験を蓄積し、その後、我々は製品の形かを考えます取るこのシステムを通じて手を練習与えることであるに基づいています。音声認識は、大語彙連続音声認識(大語彙連続音声認識、大語彙連続音声認識に分けることができます ) とキーワード認識(キーワードスポッティング、KWS)。大語彙連続音声認識が強いコンピューティングパワーを必要とし、このようなプログラムは、サーバーに実装されています。キーワードを識別するために、力はオペレータのために非常に高くないKWSが長く、端末は、チップ上に実装されてもよいです。当社のチップは、主に最終製品に使用されているので、我々は、キーワードの認識を行う準備ができているので、力が非常に強くない計算。キーワードを識別するためのいくつかのアプリケーションシナリオに分割することができます。まず、オーディオの文書が必要なドキュメントを見つけるすぐにオーディオコンテンツを検索するキーワード。第二に、それを動作させる、端末機器を起こすために使用される音声認識ウェイクアップ単語、(目を覚ますしない場合は、デバイスがスリープモードになっています)。端末装置がコマンドワードを受信した後に第三に、コマンドワードの認識は、音声コマンドは、シーンを制御するために、対応する動作を行います。例えば、ユーザは、エアコンを入れて「オープンエア」を話すスマートホームのシナリオは、オープン後に同定されます。いくつかの議論の後、我々は、そのようなので、上の「オープンエア」、「近い空気」として、スマートホームに与えられたシナリオであること、中国のコマンドワード認識を行うことを決めた、といくつかのコマンドワードを定義します。舞台裏で他が何をした場合は、単に変更を必要としないモデルのコードセクションを再教育するためのコマンドワードを変更します。

 

システムが以前のGMM-HMMに基づいており、それが出てきた、我々はニューラルネットワーク(ディープニューラルネットワーク、DNN)の深さとやりたいです。nnet1にDNNのカルディ、nnet2、nnet3 3。カレルによって書かれたnnet1は、DNN-HMMアーキテクチャを使用して、DNNは、ここでは、MLP(多層パーセプトロン、MLP)を意味します。ダニエル、nnet2同じ用いてDNN-HMMアーキテクチャによって書かnnet2とnnet3、nnet3はまた、他のネットワークアーキテクチャを含む、CNN / RNN / LSTM等があります。私たちがnnet2使用することを決めたダウンnnet1オンラインデコーダ、nnet2とnnet3は、より多くの、オンラインのデコーダはありません。この作品は、主に二つの部分、1回のモデルの訓練に分かれているので、DNN-HMMが基づいているGMM-HMM、代替はDNN GMMを使用することですので、私たちの前の仕事にも適用することができ、第二は、関連するコードデコーダオンラインnnet2です移植。他の仕事のために忙しいモデル訓練学生のための最終責任者、モデルの訓練は私によって行われます。nnet2オンラインデコーダポート、他の学生のための責任を負うコード。消費電力が低減されるので、我々は、以前VAD(音声アクティビティ検出、音声アクティビティ検出)を加え、背面に検出された音声処理モジュールの一部のみを処理しました。

 

今回はモデルのトレーニングに着きます。それは初心者ですので、モデルをトレーニングする方法を学習し、新しい要件に基づいて新しいモデルを訓練するために来ます。モデルのトレーニングの段階うち、一般的には、図学習の半月後。まず、準備コーパス、辞書と言語モデルを含むデータの準備、。コーパスのために、あなたはトレーニングセット、テストセットとクロスバリデーションセットに分割するようにして、レコードを所有することができ、購入する余裕ができます。辞書は、音素で構成されているワードを表します。(例えばnグラムカウントのsrilmなど)、プロのツールによって生成された言語モデル。そして、コーパスGET SCP / spk2utt / utt2spk他の文書を処理し、辞書を処理し、言語モデルは、FSTおよびその他のドキュメントを取得します。もう一つは、フレームごとにMFCC特徴ベクトルを得るために行う、そして最終的に対応するモデルファイル(final.mdl)のすべての段階で訓練します。メインステージは、単音トレーニング(モノ)、トライフォントレーニング(TRI1)、トレーニングのすべてのステップがステップ訓練を復号した後、アライメントの結果に基づいてLDA_MLLTトレーニング(tri2b)、SATトレーニング(tri3b)、迅速なトレーニング(tri4b)を有しています。これは、ニューラルネットワーク(DNN)の深さ、DNNの訓練だけでなく、このステップに追加する場合の対処する訓練、GMM-HMMのトレーニング以上のいくつかの手順です。私たちは、この時間は、少し異なる文言の通常のスペルと音の母音文言でthchs30、という、中国のコマンドワード、最初のセットの良好なコマンドワードを識別し、その後thchs30からこれらの言葉の言い回し音の母音を見つけ、ノートに必要ですこれらのコマンドの単語に基づいて言語モデル生成ツール。私たち自身のコーパスは、男性と女性の声があり、記録された記録を中心に、ヘルプの学生に起動されます。あなたはコーパスscpコマンドやその他の文書を扱う取得する準備ができたらこれらは、その後、辞書によると、言語モデルは、FSTおよびその他のドキュメント、およびトレーニングの各フェーズの最後に先頭を生成します。最初のトレーニング伝統的なGMM-HMM、絶えず調整パラメータ、WER良い値があるまで。設定アップダウンの結果を測定私たちの前のデモのに良いGMM-HMMモデルのトレーニングモデルI負荷の後はかなり良好でした。モデル訓練GMM-HMMがOKであることをこの番組では、次のステップでは、モデルのDNN(nnet2)の訓練を開始することです。

 

 

私はすぐにモデルトレーニングnnet2を行くが、DNNの下で基礎を学ぶに行きませんでした(以前に研究簡単な、いくつかは忘れてしまったではなく、深い理解することは役に立たないされている)、勾配降下とネットワークに焦点を当てどのようにパラメータを更新するには、二つのブログに書いた:「マシンは、法律の勾配降下原理を学習し、C言語の線形回帰の問題を解決するためにそれを使用する」&「CD-DNN-HMMネットワークパラメータ更新式カルディは、手書き文字を派生さを」その後、我々はどのようにトレーニングnnet2モデルを参照してください。最初のビューに関連するコンテンツのトレーニングnnet2のカルディ公式サイト、一般的にデバッグの記録に基づいて、私たち自身のコーパスを理解し始めます。nnet2トレーニングスクリプトより混沌、(nnet4a / nnet4b / nnet4c / nnet4dの複数のバージョンが存在する / nnet5c / nnet5d) 次のスクリプトが。私は、よく知っているために、各曲を渡すために始めました。オンライン調査ではビットを検索し、カルディ著者ダニエルPoveyは、より良いpノルムのパフォーマンスをどうするフォーラム隠された層の活性化関数で語りました。我々は(推奨nnet4dを使用することを決めた活性化機能を使用することです- NORM pは訓練を継続します)。いくつかのパラメータチューニング後WERは、比較的良好なモデルとなっています。

 

 

私はDNNモデルを訓練している間、生徒たちは私たちのプラットフォーム移行、私のような以前のルーチンのコードに関連nnet2オンラインデコーダへのコードの移行を担当しています。一方カルディもコードonline2-WAV-nnet2-latgen-速く参照(アプリケーションを提供します。WAVファイルへのcc)は、オンラインデコーダのnnet2を行います。このモデルでは、まず私たちは私たち自身のリファレンス・プラットフォームで試運転までのリファレンスバックがあり、何ら問題はありませんチューンモデルの訓練にしてこのアプリケーションそれショーでは、問題ありません通常のコードをカルディ(調達アプリケーションを介して置きますA)。我々は、実行中のアプリケーションにモデルを入れると、「機能の寸法は113であるが、ネットワークは40見込ん」と報告し、障害を。調査ダウンカルディは、請求項13 MFCC寸法のアプリケーションを発見、およびi-ベクトル(寸法100)の機能を有しており、113件の寸法まで加えます。私は訓練を受けたnnet2モデルは、13次元のMFCC + 26次元デルタ+ 1次元ピッチ(訓練されたGMM-HMM、認識率をよりよくモデル高いDNNと整列さを用いて復号するDNN-HMMアラインメント結果)tri3bに基づいています40の寸法の合計は、モデル入力は40次元です。議論の複雑さを軽減するために、我々はを取り除くために、アプリケーションでのiベクトル関数を置くことを決めた、と私は、モデルベース(13次元MFCC)再トレーニングnnet2モデルの単音。与えられていないアプリケーションを実行するための新しいモデルが、低認識率に基づきます。私たちは時々、無方向は、まだいくつかの試みが低い認識率を作りました。その後、我々は、治療過程で私のトレーニングプロセスとアプリケーションを比較するために始めた、私はノーアプリケーションコードでCMVNトレーニング(以前はGMM-HMMのトレーニングが行う)、およびプロセスフローを発見しました。このように、コードプラスCMVN処理は、認識率が大幅に改善され、アプリケーションを実行するために行きます。我々はこの問題が解決されたことを知っているので、私たちは私の心のように下部に、安堵とため息をつきました。また、音声がアプリケーションと非常によく似たWAVファイルを読み込み、音声を送信するためにモジュールの背面にそれを置く来たVAD移植ののWebRTCに他の学生にも助けながら、メカニズムは、アプリケーションは、当社のプラットフォームに移植しましたので、それらに対処するためのメカニズムは非常に似ています。二、三日は、VAD、前処理(ANS、AGC)とnnet2オンラインを備え置くと より良いFBIデコーダシステム。それをテストし、訓練を受けた人は80%よりも認識率の大きいに訓練されずに90%以上のコマンド単語認識率を、と言います。しかし、深刻な問題があり、単語のセットは、外部(アウト・オブ・ボキャブラリ、OOVは、コマンドワードワード以外である)、すなわち、単語の外側セットは知識のセット内拒否しない、単語(命令語)として識別されます。

 

 

我々はセットを持っている理由この問題に対処するために、私は情報を確認し、現在の枠組みの中での単語、認識などのWFST出力するだけの最短経路を言うために、思考に降り、外来語として認識されていますワード内に設定。私たちのシステムは、これらの特定のキーワードを識別することができますが、特別なキーワード認識システムを備えていません。I「前の記事で、音声認識でウェイクアップ技術の研究。」キーワードの識別を達成するには、3つの方法で要約して、ターミナルチップで行うには1つのベースの大語彙連続音声認識は現実的ではありません。第二に、キーワード/フィラーの方法は、それはいくつかのゴミワードは、モデル列に(下の効果を)行く意味、特定の単語の外側セットは、外側のセットを達成するために非常に可能性の高い認識結果出力ワードとしてスパムの単語ではないと述べました拒否、実行可能なターミナルチップ。第三に、(従来の方法に対して3,1および2)は、純粋な学習の深さ。私たちのシステムで使用されるキーワード/フィラー方法を置くことを決めたので、私たちのアーキテクチャは、ニューラルネットワークの深さが、DNN-HMMですが、DNNは、従来の方法、基本的にGMMに代わるものですが、使用されています。スタートthchs30は、トレーニングコーパスにし、モデルに記録されたこれらの言葉によると、外来語(スパムワード)でセットの数百人を発見しました。試験のモデルの新世代と、ワード拒否率が大幅に向上するが、いくつかの場合には外国語又は内の単語のセットとして識別するように設定外部セット。例えば、キーワードは、このような「深い科学」として「深い技術は」、と認識される可能性があるさ「深い科学と技術。」このような状況に鑑みて、私は、関連語(共通)がセットとして認識されることはありません、このような「深い科学」、「深い科学」、「研究の深さ」というように、これらの言葉をテストするために行くように、ごみワードに入れて置きますワード内。いくつかの単語、このような「ディープ支店がされて」「深い技術」として認識されるように設定された期間内に非常によく似た発音の別の例の発音は、私はスピーカーのBaiduの小さな度を試してみました、ウェイクアップ単語「小さな度程度が小さい」など「アングル角」やスピーカーは、まだ目を覚ますだろう小さな度「のカオ・カオ度」。市場は大規模な商用製品は、この現象を持ってきた、私は何の心配がありません。それと同時に、私はまたに」多くの信頼水準(会議措置)との組み合わせで、この問題を解決することを見出した外来語の拒否を設定し、関連する論文の数、中国科学院のオートメーションの博士論文研究所の間で、音声認識の信頼をご覧ください研究と応用「の話よりよいです。私は伝統的な建築で解決するBaji外の単語リジェクション問題の世話をするために理解して、1は、キーワード/フィラーメソッドを使用することで、第二は、信頼水準を使用することです。私は現在、信頼の上に紙によると自信、オープンソース実装を達成することができないのですが、見つけることができなかったので、カルディWFSTで 解決策を見つけるために格子コード。言葉とセット以外の単語の多数の中にセットをテストすることによって、私は裁判官に、変数の数を行うために見つけることができますが、同じ信頼意志で(セット単語認識率も落ち内、不良率が増加し、外の単語を設定することが可能です問題は、この程度では制御が困難である。このコンテンツは私が)プロジェクトを実行し、音声認識のために長くないし、特にため、難しいです。認識率と除去率への取り組みの期間の後の単語内の単語のセット以外のセットはかなりのレベルを持っているが、まだいくつかの距離離れて、ビジネスから、そのような増加コーパス(私たちのように行うには多くのものがあり、現時点では、わずか数十人コーパス、異なる年齢やコーパスのないカバー数百人と男性と女性は、市販されていないではありません)、後者はますます困難になります!

 

 

 

马上就2019年过去了。回首这一年,三分之二的时间都用来做语音识别了,全是摸索着向前走,有痛苦,也有欢乐,从最初的什么都不懂到现在的懂一点。希望2020年自己在这个领域进步再大一点。

おすすめ

転載: www.cnblogs.com/talkaudiodev/p/12085248.html