(57)【要約】特に一般語彙の１以上の部分集合に含まれる単語を認識するための音声認識システムにおいてニューラルネットワーク（４）の実行を加速するための方法であり、次のステップ：すなわち、認識システムの初期化段階にて、語彙の部分集合の和集合を計算し、該和集合に含まれる単語を認識するのに必要な音響音声単位を求めるステップ；不要な音響音声単位に対応する計算出力単位に対して求心性の重み付き接続すべてを除去して、ニューラルネットワークを再コンパクト化するステップ；各瞬間に再コンパクト化されたネットワークのみを実行するステップを含む。
2005519314.tif 000002
【特許請求の範囲】
【請求項１】
音声認識システムが認識できる単語からなる一般語彙の部分集合に含まれる単語を認識するために、音声認識システムにおけるニューラルネットワーク（４）の実行を加速する方法であって、前記ニューラルネットワーク（４）が、複数のレベルに組織化された複数の計算単位を含み、その少なくとも１つの隠れレベル（１２）と１つの出力レベル（１４）の間で、前記隠れレベル（１２）の計算単位（Ｈｊ）が、重み付き接続（Ｗｉｊ）を介して前記出力レベル（１４）の計算単位（Ｎｉ）に接続され、前記出力レベル（１４）の前記計算単位（Ｎｉ）が、前記一般語彙の音響音声単位（２）に対応する前記方法において、以下のステップ、すなわち、
-  前記一般語彙の部分集合に含まれるすべての単語を認識するのに必要な音響音声単位の部分集合を求めるステップ、
-  前に求めた前記音響音声単位の部分集合に含まれない音響音声単位に対応する前記出力レベル（１４）の計算単位（Ｎｉ）に対して求心性のすべての重み付き接続（Ｗｉｊ）を、ニューラルネットワーク（４）から削除し、それにより、前記一般語彙の部分集合に含まれる単語の認識に最適化されたコンパクト化されたニューラルネットワーク（４）を得るステップ、
-  時間内の各瞬間にて、前記コンパクト化されたニューラルネットワーク（４）を実行するステップ
を含むことを特徴とする前記方法。
【請求項２】
前記音響音声単位（２）が固定単位（２ａ、２ｃ）と遷移単位（２ｂ）を含み、音響音声単位の部分集合を求める前記ステップが、前記一般語彙の部分集合に存在する固定単位（２ａ、２ｃ）と遷移単位（２ｂ）を求めることからなる、請求項１に記載の方法。
【請求項３】
前記音響音声単位（２）が固定単位（２ａ、２ｃ）と遷移単位（２ｂ）を含み、音響音声単位の部分集合を求める前記ステップが、すべての固定単位（２ａ、２ｃ）を選択し、かつ前記一般語彙の部分集合に存在する遷移単位（２ｂ）を求めることからなる、請求項１に記載の方法。
【請求項４】
前記一般語彙の部分集合が、任意の所与の瞬間にて活性な語彙の複数の部分集合の和集合である、請求項２又は３に記載の方法。
【請求項５】
ニューラルネットワーク（４）を備えた音声認識システムであって、該ニューラルネットワーク（４）は、少なくとも１つの隠れレベル（１２）と１つの出力レベル（１４）とを含んだ複数レベルに組織化された複数の計算単位を含み、前記隠れレベル（１２）の計算単位（Ｈｊ）は、前記出力レベル（１４）の計算単位（Ｎｉ）に重み付き接続（Ｗｉｊ）を介して接続され、前記出力レベル（１４）の前記計算単位（Ｎｉ）が、認識されるべき単語からなる一般語彙の音響音声単位（２）に対応する前記音声認識システムにおいて、前記一般語彙の部分集合に含まれる単語を認識するために、ニューラルネットワーク（４）の実行を加速する手段（１８、１６）を備え、前記手段（１８、１６）が、
-  前記一般語彙の部分集合に含まれるすべての単語を認識するのに必要な音響音声単位の部分集合を求める第１モジュール（１８）、
-  隠れレベル（１２）の計算単位（Ｈｊ）を出力レベル（１４）の計算単位に接続する重み付き接続（Ｗｉｊ）のうちから、前記第１モジュール（１８）により求められた音響音声単位の前記部分集合に含まれる音響音声単位に対応した計算単位（Ｎｉ）に対して求心性の重み付き接続を選択することで、前記一般語彙の部分集合に含まれる単語の認識に最適化されたコンパクト化されたニューラルネットワーク（４’）を得る第２モジュール（１６）
を備えることを特徴とする前記音声認識システム。
【請求項６】
音響音声単位（２）が固定単位（２ａ、２ｃ）と遷移単位（２ｂ）を含み、前記第１モジュール（１８）が、固定単位（２ａ、２ｃ）と前記一般語彙の部分集合内に存在する遷移単位（２ｂ）との両方を求める手段を備える、請求項５に記載のシステム。
【請求項７】
前記音響音声単位（２）が固定単位（２ａ、２ｃ）と遷移単位（２ｂ）を含み、前記第１モジュール（１８）が、すべての固定単位（２ａ、２ｃ）を選択し、かつ前記一般語彙の部分集合に存在する遷移単位（２ｂ）を求める手段を備える、請求項５に記載のシステム。
【請求項８】
前記一般語彙の部分集合が、任意の所与の瞬間にて活性な語彙の複数の部分集合の和集合である、請求項６又は７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本発明は、自動信号認識システムに係り、特に、ニューラルネットワークの実行を加速する方法及びその方法を用いる音声認識装置に関する。
【背景技術】
【０００２】
背景技術
自動音声認識プロセスは、入力としての音声信号と一連の認識された出力としての単語との間に直列に配置された次の複数のモジュールとして、概略的に記載することができる。
（１）第１の信号処理モジュール。これは、入力音声信号を取得し、それをアナログからデジタルに変換し、適当にそれをサンプリングする。
（２）第２の特徴抽出モジュール。これは、音声信号の特徴をその認識の点で良好に記述するパラメータセットを計算する。このモジュールは、例えば、スペクトル分析（ＤＦＴ）を用いた後、メル（Ｍｅｌ）バンド及び離散的な変換コサイン（メルに基づくケプストラム係数）にグループ化する。
（３）第３のモジュール。これは、一時的な整列アルゴリズムと音響パターンマッチングを用いる。例えば、ビタビ（Ｖｉｔｅｒｂｉ）アルゴリズムが一時的な整列のために用いられ、すなわち、異なる音声速度により導入された時間歪みを管理する一方、パターンマッチングでは、プロトタイプ距離、マルコフ状態の見込み又はニューラルネットワークにより生成された事後確率を用いることができる。
（４）第４の言語分析モジュール。最良の単語シーケンス（連続音声の認識の場合にのみ存在）を抽出する。例えば、単語のバイグラム（bigram）若しくはトリグラム（trigram）又は正規文法と共にモジュールを使用することができる。
【０００３】
上記モデルでは、ニューラルネットワークは、音響パターンマッチングの面に関しては第３モジュールに入り、また、音声信号の一部がアプリオリに与えられた１セットにおける音声クラスに属するか又は接頭辞付きの（prefixed）単語の１セットにおける単語全体を構成する確率を推定するのに用いられる。
【０００４】
ニューラルネットワークは、大脳皮質の構造と一定の類似性をもったアーキテクチャーを有するので、ニューラルと呼ばれる。ニューラルネットワークは、多くの単純な並列計算単位（ニューロンと称す）から作られ、これらが重み付き接続（シナプスと称す）のネットワークにより密に接続され、これが分散計算モデルを構成する。個々の単位の活動は単純であり、非線形関数により変換された相互接続からの重み付き入力を合計するものであり、このモデルの能力は、接続の構成、特にそれらのトポロジーと強度に存する。
【０００５】
解決すべき問題についてのデータが与えられる入力単位から開始して、計算は、結果を与える出力単位までネットワーク中を並列に進行する。ニューラルネットワークは、所与の活動を実行するようにはプログラミングされていないが、モデル化されるべき現実の一連の例により自動学習アルゴリズムを用いて訓練されている。
【０００６】
現在、ＭＬＰ又は多層パーセプトロンモデルは、音声へのニューラルネットワークの適用のかなりの割合を占めている。ＭＬＰモデルのニューロンは、入力を合計して接続の強度でそれを重み付けし、その値を非線形関数（ロジスティック）に送り、その出力を送出する。ニューロンは、次のレベル、すなわち入力レベル、１以上の内部レベル及び出力レベルにて組織化される。
通常、異なるレベルのニューロン間の接続は、完全であるが、同じレベルのニューロンは、相互接続されない。
【０００７】
特に音声認識ニューラルネットワークに関し、現在使用されている一つの認識モデルが、文献ＥＰ０６２３９１４に説明されている。この文献は、認識すべきパターンのオートマトンモデルに組み込まれたニューラルネットワークを実質的に記載している。各クラスは、状態のサイクルを有する左右オートマトンにより記述され、これらのクラスは、全体の単語、音素又は他の音響単位とし得る。多層パーセプトロンのニューラルネットワークは、オートマトン状態のエミッション確率を計算する。
【０００８】
しかし、ニューラルネットワークの実行は、要求される計算能力の点で非常に重いことが知られている。特に、ニューラルネットワークは、上記文献に記載のものと同様の音声認識システムを利用するが、これは、計算するための多数の接続に起因したデジタルコンピュータ上での順次実行における効率の問題を有しており（各々に対して接続の重みのための入力の積が存する）、これは音声の各秒に対して約５百万回の積及び累積と推定し得る。
【０００９】
この問題を少なくとも部分的に解決する試みが、文献ＥＰ０７３３９８２において為されており、該文献は、相関信号を処理すべくニューラルネットワークの実行を加速する方法を説明している。この方法は、入力信号はシーケンシャルであり、時間の経過とともに連続的にゆっくりと展開するので、各入力に対してすべてのニューロンの活性値すべてを再計算する必要は必ずしもなく、ネットワーク中の前の入力に対する差を伝搬するだけで十分であるという原理に基づいている。換言すれば、この操作は、時間ｔでのニューロン活性の絶対値に基づくものではなく、時間ｔ?１での活性に対する差に基づく。
したがって、ネットワークの各地点では、もしニューロンが、時間ｔ?１の活性に十分類似した活性を時間ｔにて有するならば、いかなる信号も前方へ伝搬させず、活性レベルがかなり変化したニューロンのみの活性に限定される。
【００１０】
しかし、特に、少数の音声単位だけを使用する小さい語彙の場合には、この問題は残る。実際、公知のシステムでは、ニューラルネットワークの各実行は、システムに対する明らかな計算負荷を伴って、すべての出力単位の計算が予想される。
【特許文献１】ＥＰ０６２３９１４
【特許文献２】ＥＰ０７３３９８２
【発明の開示】
【発明が解決しようとする課題】
【００１１】
発明の概要
本発明は、特に、すべての出力単位の活性が必ずしも必要でない場合、ニューラルネットワークが用いられる全体システムの機能的特徴は変えないまま、ニューラルネットワークの実行をどのようにしてスピードアップするかの問題を解決することを目的とする。
【課題を解決するための手段】
【００１２】
この目的及び他の目的は、特許請求の範囲に記載のようなニューラルネットワークの実行を加速するための方法及び装置により達成される。
【００１３】
本発明の利点は、ニューラルネットワークの単位の出力活性度すべてを余すところなく計算するのではなく、その代わりに復号化アルゴリズムの実際のニーズに従って目標とされた方法にて計算することである。
【００１４】
このように、ニューラルネットワークの出力単位のすべてが必ずしも必要でないので、縮小モードのネットワーク処理が可能となり、全体システムへの処理負荷を小さくできる。
【００１５】
図面の簡単な説明
発明のこれらの特徴及びその他の特徴は、例として与えられた非限定的な好ましい実施形態についての以下の説明及び添付図面にて明らかとなる。
図１は、ＭＬＰ又は多層パーセプトロン型ニューラルネットワークの概略図であり、
図２は、本発明により作られたニューラルネットワークを組み込んだ音声認識装置の概略図であり、
図３は、本発明に記載された方法の適用についての概略図である。
【発明を実施するための最良の形態】
【００１６】
好ましい実施態様の詳細な説明
図１では、ＭＬＰ又は多層パーセプション（Perception）型ニューラルネットワークが、複数レベルにて組織化された一般に非常に多くの計算単位すなわちニューロンを含む。これらのレベルは、入力レベル８と、出力レベル１４と、一般には隠れレベル１０及び１２として定められる２つの中間レベルとからなる。隣接したレベルのニューロンは、重み付き接続、例えば隠れレベル１２のニューロンＨｊを出力レベル１４のニューロンＮｉに結合する接続Ｗｉｊによって互いに接続され、各接続では、同じ接続に関連した重みに対するニューロンの入力値の計算が想定される。音声の各秒に対し約５百万回の積及び累積として推定し得る計算を行う多数の接続が、デジタルコンピュータ上でのニューラルネットワークの順次実行における効率の問題を浮き彫りにする。
【００１７】
音声認識の分野で適用するため、計算単位すなわちニューロンの観点から、図１に示した型のニューラルネットワークは、以下の構造を有し得る。
入力レベル：    ２７３単位（ニューロン）
第１隠れレベル：３１５単位
第２隠れレベル：３００単位
出力レベル：    ６８６単位
（合計単位：１，５７４）
また、重み付き接続数の観点から、以下の数値を有し得る。
入力レベルと第１隠れレベル間：      ７，６６５接続
第１隠れレベルと第２隠れレベル間：９４，５００接続
第２隠れレベルと出力レベル間：    ２０５，８００接続
（合計接続：３０７，９６５）
【００１８】
明らかに、約２／３の接続が、第２隠れレベルと出力レベルの間に配置される。事実上、これが、全体システムにより要求される全体の計算力に最も影響を与える接続レベルである。
【００１９】
後に詳細に説明するように、提案された解決策では、ニューラルネットワークの出力単位の活性度すべてを余すところなく計算することは想定されてなく、使用される復号化アルゴリズムの実際のニーズに従った目標とされる方法にて計算する。
【００２０】
事実上、少なくとも音声認識の分野における多くの場合、通常の従来型のシステムの場合のように出力単位の全体の代わりに、出力単位の部分集合のみを計算すれば十分である。
【００２１】
本方法及び関連の装置の基本原理をより良く理解するために、以下、本発明により作られた認識システムのモデルを図２に関し分析する。
【００２２】
実質的に、図２に示された認識モデルは、認識するパターンのオートマトンモデル２に組み込まれたニューラルネットワーク４を含む。各クラスは、左右オートマトン２ａ、２ｂ、２ｃ（状態のサイクルを有する）により記述され、これらのクラスは、全体の単語、音素又は音響単位とし得る。多層パーセプトロンのニューラルネットワーク４は、オートマトンの状態のエミッション確率を計算する。
【００２３】
入力ウインドウ又は入力レベル８は、７フレームの広さであり（各々が１０ｍｓ長）、各フレームが、３９個のパラメータ（エネルギー、１２個のケプストラム係数とそれらの第１及び第２微分）を含む。入力層における計算単位又はニューロンの総数は、実に、７ｘ３９＝２７３に等しい。入力ウインドウは、前のモジュールからの入力につきサンプリングされた一連の音声信号サンプル６に対し「実行（run）」する（信号処理など）。
【００２４】
第１隠れレベル１０は、３つの特徴抽出ブロック、すなわち、中心フレーム用の第１ブロック１０ｂと、左右の文脈用のその他２つ１０ａ及び１０ｃに分割される。各ブロックは、種々の型のパラメータ（Ｅ、Ｃｅｐ、ΔＥ、ΔＣｅｐ）を専用に考慮するサブブロックに分割される。
【００２５】
第２隠れレベル１２は、第１隠れレベル１０から抽出された特徴と１セットの自己組織化された特徴（例えば、沈黙、固定音、遷移、特定音素）との間の空間を変換する。
【００２６】
出力レベル１４は、この情報を統合し、使用される単語又は音響音声単位の状態のエミッション確率を推定する。実質的に、その出力は、様々な部分に分割され、その各々が、オートマトン２ａ、２ｂ、２ｃに対応し、このオートマトン２ａ、２ｂ、２ｃが音響音声クラスに対応する。使用される音響音声クラスは、いわゆる「固定?遷移（stationary-transition）」単位であり、これは、音素の固定部分と、音素自体の間の許容できる総ての遷移とからなる。固定単位２ａ、２ｃは、１つの状態でモデル化され、その各々がネットワーク出力単位に対応するが、遷移単位は、２つの状態、例えば図２中の単位２ｂでモデル化され、２つのネットワーク出力単位に対応する。
【００２７】
本発明の利点は、第２隠れレベル１２の計算単位を出力レベル１４の計算単位に接続する重み付き接続１３が、各場合に再定義され得、それらの接続の選択を許容する特定の選択モジュール１６を介して働くことで、それらの数が低減されることである。実際には、モジュール１６により、所与の瞬間に不使用の出力単位に対して求心性(afferent)のすべての接続を除去できるので、ネットワークの実行に必要な全体の計算力が削減される。
【００２８】
選択モジュール１６は、処理モジュール１８により制御され、処理モジュール１８は、当該所与の瞬間にシステムが認識すべき単語の部分集合に関連した認識システムからの音声情報（Ｖｏｃ．Ｉｎｆ．）入力を受け取ると、上述した方法に従ってその情報を選択モジュール１６用の特定命令に翻訳する。
【００２９】
本発明によると、認識すべき単語が、音声認識システムが認識できる単語からなる一般語彙の部分集合に含まれるとき、本方法を適用することができる。使用される単語の部分集合が小さいほど、要求される計算力の削減の点における利点は大きくなる。事実上、小さい語彙、例えば１０の数(number)にて音声認識を用いる場合、活性語彙は、音素すべてを含むわけではなく、よって、それらの復号化及び認識のために、ネットワークの出力すべてが必ずしも必要ではない。
【００３０】
ニューラルネットワーク４の実行を加速するための方法では、与えられた順序にて以下のステップの実行が想定される。
（ア）一般語彙の単語の部分集合に含まれる単語すべてを認識するのに必要な音響音声単位の部分集合を求めるステップ、
（イ）選択モジュール１６により、前に求めた音響音声単位の部分集合内には含まれない音響音声単位に対応する隠れレベル１４の計算単位（Ｎｉ）に対して求心性のすべての重み付き接続（Ｗｉｊ）を、ニューラルネットワーク４から削除し、それにより、当該語彙の部分集合内に含まれる単語の認識に最適化されたコンパクト化されたニューラルネットワーク４’を得るステップ、
（ウ）時間内の各瞬間に、もっぱら該コンパクト化されたニューラルネットワーク（４）を実行するステップ。
【００３１】
不要な接続の除去段階を図３に概略的に示す。図３は、隠れレベル１２の４つのみのニューロンＨ１．．．Ｈ４と出力レベル１４の８つのニューロンＮ１．．．Ｎ８とを有するニューラルネットワークの高度に簡素化された例を示す。従来型のニューラルネットワークでは、隠れレベル１２の各ニューロンは、出力レベル（１４）のすべてのニューロンに接続され、ニューラルネットワークの各実行時に、対応するすべての接続（Ｗｉｊ）を計算する。
【００３２】
この場合、当該語彙の部分集合のみが、図３中にて強調されている出力ニューロンＮ３及びＮ５に対応する音響音声単位の存在を必要としていると仮定すると、本発明において記載された方法により、不使用の音響音声単位に対して求心性のすべての重み付き接続を一時的に除去すること、及びニューラルネットワークの実行を限定数の接続（図３中にて強調されている接続Ｗ３１、Ｎ３２、Ｎ５１、Ｎ５２、Ｎ３３、Ｎ５３、Ｎ３４、Ｗ５４）に削減することが可能となる。
【００３３】
音響音声単位の部分集合の選択に関し、一般に、一般語彙の部分集合内の単語を構成する音素の固定単位及び遷移単位のみを含めば十分である。
【００３４】
しかし、遷移単位よりも固定単位がかなり少なく、例えばイタリア語では、２７〜３９１個であるから、いずれにしてもすべての固定単位を残し、活性語彙中に存在しないすべての遷移単位を除去するのが好ましい。
【００３５】
さらに、固定単位２ａ及び２ｃは、１つの状態でモデル化され、１つのネットワーク出力単位に対応するが、遷移単位は、２つの状態（及び２つのネットワーク出力単位）でモデル化されるので、いかなる場合でもネットワーク出力単位についての削減が非常に重要である。
【００３６】
所与の瞬間に音声認識システムにより使用される一般語彙の部分集合は、活性語彙の複数の部分集合の和集合とし得る。例えば、電話用の自動音声認識システムの場合、第１の単語の部分集合は、単純に単語「はい」及び「いいえ」から構成し得るが、一方、所与の瞬間に使用される部分集合が両方の部分集合の和集合であり得るかぎり、第２の部分集合は、０〜９の１０の数(number)から成り得る。明らかに、語彙の部分集合の選択は、各瞬間でシステムが認識できるべき単語の複雑さに依存する。
【００３７】
１５７４個の計算単位又はニューロンと３０７９６５個の重み付き接続を有する上述したニューラルネットワーク構造を参照し、かつ、１０の数（０〜９）を含んだ部分集合を考慮すると、本発明に記載の方法を適用することにより、重み付き出力接続が２６，１００に、合計の重み付き接続が１２８，２６５に削減される（初期の数の４２％）。理論上、このことにより、要求される計算力の５８％が節約される。
【００３８】
１０の数の場合、選択された音響音声単位は、２７の固定と３６の遷移（そのうち２４が２状態を有する）、すなわち、６８３の総計のうち８７の状態のみとなる。
【００３９】
この例はイタリア語についてのものであるが、言語に依存するものではなく、本方法は実に全く一般的である。
【００４０】
認識システムにおいて本方法を実施するためのアルゴリズムに関し、本方法は、以下のステップに構造化される。
１）認識の初期化段階にて、認識に必要な活性語彙の和集合を計算するステップ、
２）、常にすべての固定単位と活性語彙に含まれる遷移単位のみとを残して、ニューラルネットワークの最終レベルを再コンパクト化するステップ、
３）時間内の各瞬間にて再コンパクト化されたネットワークのみを実行するステップ。
【００４１】
１０の数を認識するタスクを有する音声認識システムにおいて上述の方法を実施することにより得られた実験結果は、必要な計算力における４１％の平均削減を与えた。逆に、予想どうり、大規模な語彙（２０００単語）において感知できるほどの差異は存在しなかった。
【図面の簡単な説明】
【００４２】
【図１】ＭＬＰ又は多層パーセプトロン型ニューラルネットワークの概略図である。
【図２】本発明により作られたニューラルネットワークを組み込んだ音声認識装置の概略図である。
【図３】本発明に記載された方法の適用についての概略図である。
【符号の説明】
【００４３】
２    オートマトンモデル
４    ニューラルネットワーク
６    音声信号サンプル
８    入力レベル（入力ウインドウ）
１０  隠れレベル
１２  隠れレベル
１４  出力レベル
１６  選択モジュール
１８  処理モジュール
【図１】
2005519314.tif 000003
【図２】
2005519314.tif 000004
【図３】
2005519314.tif 000005
【国際調査報告】
2005519314.tif 000006
2005519314.tif 000007
2005519314.tif 000008