(57)【要約】【課題】  音声認識方法及び装置を提供する。【解決手段】  一実施形態に係る音声認識装置は、複数のフレームに分割された音声シーケンスを取得し、前記音声シーケンス内の同じ発音の持続時間を予測し、前記持続時間に対応するフレームに対する発音予測をスキップして前記音声シーケンスの発音を判断する。【選択図】      図１
2019079038.tif 000002
【特許請求の範囲】
【請求項１】
複数のフレームに分割された音声シーケンスを取得するステップと、
前記音声シーケンス内の同じ発音の持続時間を予測し、前記持続時間に対応するフレームに対する発音予測をスキップして前記音声シーケンスの発音を判断するステップと、
を含む音声認識方法。
【請求項２】
前記持続時間は、発音予測をスキップするフレーム数に応じた長さを有する、請求項１に記載の音声認識方法。
【請求項３】
前記発音を判断するステップは、
音響モデルを用いて前記フレームのうち第１フレームの第１発音を予測するステップと、
前記音響モデルを用いて前記第１発音の第１持続時間を予測するステップと、
前記第１持続時間に対応する少なくとも１つの第２フレームに対する発音予測をスキップするステップと、
を含む、請求項１又は２に記載の音声認識方法。
【請求項４】
前記発音を判断するステップは、前記第２フレームの発音が前記第１発音であると判断するステップをさらに含む、請求項３に記載の音声認識方法。
【請求項５】
前記発音を判断するステップは、前記第２フレームの次のフレームの第２発音及び前記第２発音の持続時間を予測するステップをさらに含む、請求項３に記載の音声認識方法。
【請求項６】
前記音響モデルはニューラルネットワークを含み、
前記ニューラルネットワークの出力レイヤは、ラベルレイヤ及びスキップレイヤを含み、
前記ラベルレイヤは、入力されたフレームの発音を予測するためのレイヤであり、
前記スキップレイヤは、入力されたフレームの発音の持続時間を予測するためのレイヤである、請求項３に記載の音声認識方法。
【請求項７】
前記ラベルレイヤは全体の発音数のノードを含み、
前記スキップレイヤは、最も多くスキップできるフレーム数のノードを含む、請求項６に記載の音声認識方法。
【請求項８】
複数のフレームに分割された音声シーケンスを取得するステップと、
音響モデルを用いて前記フレームのうち第１フレームの第１発音を予測するステップと、
前記音響モデルを用いて前記第１発音の第１持続時間を予測するステップと、
前記第１持続時間に対応する少なくとも１つのフレームに対する発音予測をスキップし、前記音声シーケンスに対する音声認識を行うステップと、
を含む音声認識方法。
【請求項９】
前記第１持続時間は、発音予測をスキップするフレーム数に応じた長さを有する、請求項８に記載の音声認識方法。
【請求項１０】
前記音声認識を行うステップは、前記少なくとも１つのフレームの発音が前記第１発音であると判断するステップを含む、請求項８又は９に記載の音声認識方法。
【請求項１１】
前記音声認識を行うステップは、前記少なくとも１つのフレームの次のフレームの第２発音及び前記第２発音の持続時間を予測するステップを含む、請求項８又は９に記載の音声認識方法。
【請求項１２】
前記音響モデルはニューラルネットワークを含み、
前記ニューラルネットワークの出力レイヤは、ラベルレイヤ及びスキップレイヤを含み、
前記ラベルレイヤは、入力されたフレームの発音を予測するためのレイヤであり、
前記スキップレイヤは、入力されたフレームの発音の持続時間を予測するためのレイヤである、請求項８ないし１１のうち何れか一項に記載の音声認識方法。
【請求項１３】
請求項１ないし１２のいずれか一項に記載の音声認識方法を音声認識装置のコンピュータに実行させるコンピュータプログラム。
【請求項１４】
複数のフレームに分割された音声シーケンスを取得し、前記音声シーケンス内の同じ発音の持続時間を予測し、前記持続時間に対応するフレームに対する発音予測をスキップして前記音声シーケンスの発音を判断するプロセッサを含む音声認識装置。
【請求項１５】
前記持続時間は、発音予測をスキップするフレーム数に応じた長さを有する、請求項１４に記載の音声認識装置。
【請求項１６】
前記プロセッサは、音響モデルを用いて前記フレームのうち第１フレームの第１発音を予測し、前記音響モデルを用いて前記第１発音の第１持続時間を予測し、前記第１持続時間に対応する少なくとも１つの第２フレームに対する発音予測をスキップする、請求項１４に記載の音声認識装置。
【請求項１７】
前記プロセッサは、前記第２フレームの発音が前記第１発音であると判断する、請求項１６に記載の音声認識装置。
【請求項１８】
前記プロセッサは、前記第２フレームの次のフレームの第２発音及び前記第２発音の持続時間を予測する、請求項１６に記載の音声認識装置。
【請求項１９】
前記音響モデルはニューラルネットワークを含み、
前記ニューラルネットワークの出力レイヤは、ラベルレイヤ及びスキップレイヤを含み、
前記ラベルレイヤは、入力されたフレームの発音を予測するためのレイヤであり、
前記スキップレイヤは、入力されたフレームの発音の持続時間を予測するためのレイヤである、請求項１６に記載の音声認識装置。
【請求項２０】
前記ラベルレイヤは、全体の発音数のノードを含み、
前記スキップレイヤは、最も多くスキップできるフレーム数のノードを含む、請求項１９に記載の音声認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声を認識する方法及び装置に関する。
【背景技術】
【０００２】
音声認識システムは、音響モデル、言語モデル、及びデコーダ等を利用する。音響モデルは、音声信号がどのような発音に近いかについて情報を提供する。言語モデルは、特定文章がどれ程頻繁に使用するかに関する情報を提供する。デコーダは、音響モデルと言語モデルで提供する情報から与えられた音声がどのような文章に最も近いかを算出する。
【０００３】
音響モデルは、ニューラルネットワーク等により表現され得るが、並列算出が困難であるため、音声信号のフレーム数が大きくなるにつれて算出時間が増大するという短所がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、音声信号のフレームをスキップして算出時間を短縮することが可能な、音声を認識する方法及び装置を提供する。
【課題を解決するための手段】
【０００５】
一実施形態に係る音声認識方法は、複数のフレームに分割された音声シーケンスを取得するステップと、前記音声シーケンス内の同じ発音の持続時間を予測し、前記持続時間に対応するフレームに対する発音予測をスキップして前記音声シーケンスの発音を判断するステップとを含む。
【０００６】
一実施形態によれば、前記持続時間は、発音予測をスキップするフレーム数に応じた長さを有してもよい。
【０００７】
一実施形態によれば、前記発音を判断するステップは、音響モデルを用いて前記フレームのうち第１フレームの第１発音を予測するステップと、前記音響モデルを用いて前記第１発音の第１持続時間を予測するステップと、前記第１持続時間に対応する少なくとも１つの第２フレームに対する発音予測をスキップするステップとを含み得る。
【０００８】
一実施形態によれば、前記発音を判断するステップは、前記第２フレームの発音が前記第１発音であると判断するステップをさらに含み得る。
【０００９】
一実施形態によれば、前記発音を判断するステップは、前記第２フレームの次のフレームの第２発音及び前記第２発音の持続時間を予測するステップをさらに含み得る。
【００１０】
一実施形態によれば、前記音響モデルはニューラルネットワークを含み、前記ニューラルネットワークの出力レイヤは、ラベルレイヤ及びスキップレイヤを含み、前記ラベルレイヤは、入力されたフレームの発音を予測するためのレイヤであり、前記スキップレイヤは、入力されたフレームの発音の持続時間を予測するためのレイヤであり得る。
【００１１】
一実施形態によれば、前記ラベルレイヤは全体の発音数のノードを含み、前記スキップレイヤは、最大限にスキップできるフレーム数のノードを含み得る。
【００１２】
一実施形態に係る音声認識方法は、複数のフレームに分割された音声シーケンスを取得するステップと、音響モデルを用いて前記フレームのうち第１フレームの第１発音を予測するステップと、前記音響モデルを用いて前記第１発音の第１持続時間を予測するステップと、前記第１持続時間に対応する少なくとも１つのフレームに対する発音予測をスキップし、前記音声シーケンスに対する音声認識を行うステップとを含む。
【００１３】
一実施形態に係る音声認識のための学習方法は、複数のトレーニングフレームに分割されたトレーニング音声シーケンスを取得するステップと、音響モデルを用いて前記トレーニング音声シーケンス内の同じ発音の持続時間を予測し、前記持続時間と前記同じ発音の最適持続時間に基づいて前記音響モデルを学習させるステップとを含む。
【００１４】
一実施形態によれば、前記音響モデルを学習させるステップは、前記トレーニングフレームのうち少なくとも１つの第２トレーニングフレームに対応する少なくとも１つの第２持続時間を予測するステップと、前記第２持続時間と前記第２トレーニングフレームに対応する少なくとも１つの第２最適持続時間に基づいて、前記第２トレーニングフレームに対応する少なくとも１つの補償を生成するステップと、前記補償に基づいて音響モデルを学習させるステップとを含み得る。
【００１５】
一実施形態によれば、前記補償を生成するステップは前記第２持続時間と前記第２最適持続時間が同じであるか否かに基づいて、前記第２トレーニングフレームに対応する少なくとも１つの補償を生成するステップを含む。
【００１６】
一実施形態によれば、前記補償を生成するステップは、前記第２持続時間と前記第２最適持続時間の間の差に加重値を適用し、前記第２トレーニングフレームに対応する少なくとも１つの補償を生成するステップを含み、前記第２持続時間が前記第２最適持続時間よりも大きい場合に対応する第１加重値と前記第２持続時間が前記第２最適持続時間よりも小さい場合に対応する第２加重値がそれぞれ異なるように設定され得る。
【００１７】
一実施形態によれば、前記補償に基づいて前記音響モデルを学習させるステップは、前記音響モデルが発音の持続時間を予測するためのパラメータに対応する目的関数を取得するステップと、前記補償を前記目的関数に適用して前記パラメータを最適化するステップとを含み得る。
【００１８】
一実施形態に係る学習方法は、前記音響モデルが発音を予測するための第２パラメータに対応する第２目的関数を取得するステップと、前記目的関数及び前記第２目的関数を用いて前記パラメータ及び前記第２パラメータを最適化するステップとをさらに含み得る。
【００１９】
一実施形態に係る装置は、ハードウェアと結合して上述した方法のいずれか一項に記載の方法を実行させるために媒体に格納されたコンピュータプログラムによって制御され得る。
【発明の効果】
【００２０】
本発明によれば、音声信号のフレームをスキップして算出時間を短縮することが可能な、音声を認識する方法及び装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】一実施形態に係る音声認識方法を説明するためのフローチャートである。
【図２】一実施形態に係る音声認識方法を説明するための図である。
【図３】一実施形態に係る音声認識方法を説明するための図である。
【図４】一実施形態に係る音声認識方法を説明するための図である。
【図５】一実施形態に係る音声認識のための学習方法を説明するためのフローチャートである。
【図６】一実施形態に係る音声認識のための学習方法を説明するための図である。
【図７】一実施形態に係る音声認識システムを説明するための図である。
【図８】一実施形態に係る装置の構成の例示図である。
【発明を実施するための形態】
【００２２】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更されてもよい。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【００２３】
第１又は第２などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は１つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第１構成要素は第２構成要素と命名することができ、同様に第２構成要素は第１構成要素にも命名することができる。
【００２４】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００２５】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００２６】
実施形態は、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、テレビ、スマート家電機器、インテリジェント自動車、キオスク、ウェアラブル装置など、様々な形態の製品に具現できる。例えば、実施形態は、スマートフォン、モバイル機器、スマートホームシステムなどでユーザを認識するために適用され得る。実施形態は、ユーザ認識を介して決済サービスに適用し得る。また、実施形態は、ユーザを認識し、自動的に始動をかけるインテリジェント自動車システムなどにも適用し得る。以下、実施形態を添付の図面を参照して詳細に説明する。各図面に提示された同じ参照符号は同じ部材を示す。
【００２７】
図１は、一実施形態に係る音声認識方法を説明するためのフローチャートである。図１を参照すれば、音声認識装置は、複数のフレームに分割された音声シーケンスを取得する（Ｓ１０１）。一実施形態によれば、音声認識装置は、音声認識を行うための情報を処理する装置として、例えば、ソフトウェアモジュール、ハードウェアモジュール、又はその組合せで具現される。音声認識装置は、音声の認識に関する動作、演算、及び命令などを生成又は処理する。音声認識装置は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、テレビ、ウェアラブル装置、セキュリティーシステム、スマートホームシステムなどの様々なコンピューティング装置及び／又はシステムに搭載される。音声認識装置は、予め構築されたデータベースから音響モデルに関する情報をロードし、データベースは、音声認識装置に含まれたメモリで具現されてもよいし、音声認識装置と有線、無線、又はネットワークなどに接続可能なサーバなどの外部装置で具現されてもよい。
【００２８】
一実施形態によれば、音声認識装置は、音声シーケンスを取得する。音声認識装置は、取得された音声シーケンスを複数のフレームに分割する。音声シーケンスは音声情報を含む音声信号であって、フレーム単位に分割される。例えば、１秒の音声シーケンスは１００個のフレームに分割され、この場合に１つのフレームは１０ｍｓｅｃに該当する音声情報を含む。
【００２９】
図１を参照すれば、音声認識装置は、音声シーケンス内の同じ発音の持続時間を予測し、予測された持続時間に対応するフレームに対する発音予測をスキップして音声シーケンスの発音を判断する（Ｓ１０２）。ここで、同じ発音の持続時間は、発音予測をスキップするフレーム数に応じて表現される。
【００３０】
一実施形態によれば、音声認識装置は、音声シーケンスのうち少なくとも一部を動的にスキップして音声認識を行う。音声認識装置は、音声シーケンスをなす１つのフレームの発音及び発音持続時間を予測し、予測された発音持続時間に該当する以後フレームをスキップする。したがって、予め決定したフレーム個数がスキップされる固定スキップ方法と異なり、発音に応じてスキップされるフレーム個数が動的に決定され得る。
【００３１】
一実施形態によれば、音声認識装置は、音声信号を処理するための音響モデルを用いるが、ここで、音響モデルはニューラルネットワークとして具現される。音響モデルは、ＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、ＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、及びＲＤＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）などにより具現される。音声認識装置は、音声シーケンスに対応する発音を予測することにおいて、予め学習された音響モデルを用いて相対的に重要ではない時間ステップ（ｔｉｍｅ  ｓｔｅｐ）を動的にスキップし得る。例えば、音声認識装置は、ＲＮＮで具現された音響モデルに発音予測をスキップする対象を予測しながら、音声シーケンスに対応する発音を予測し得る。ここで、ＲＮＮは、発音予測のスキップ動作と発音予測を行うように学習されてもよい。一実施形態に係るＲＮＮは、発音を予測するためのネットワークとスキップのためのネットワークを含み、両ネットワークは、音声シーケンスに対応する音声信号内の情報を共有できる。
【００３２】
一実施形態によれば、音声認識装置は、音声シーケンスの処理において、状況に応じて動的にスキップする処理量を調整し、情報損失及び処理時間を最小化できる。ＲＮＮを用いてテキスト及び音声のようなシーケンシャルデータ（ｓｅｑｕｅｎｔｉａｌ  ｄａｔａ）の処理において、音声認識装置は、情報処理のための読み出し回数を減らして音声認識の処理速度を高め、音声シーケンス内の処理する情報量を減らして音声認識のための反応速度を高め、音声認識のためのサーバの同時接続の処理量を高めてサーバ費用を減らすことができる。
【００３３】
以下、図２〜図４を参照して音声認識方法について説明し、図５〜図６を参照して音声認識のための学習方法について説明する。図７〜図８を参照して一実施形態に係るシステム及び装置について説明する。
【００３４】
図２は、一実施形態に係る音声認識方法を説明するための図である。図２を参照すれば、音声認識装置は、ＤＮＮ、ＲＮＮ及び／又はＲＤＮＮに基づいて具現された音響モデルを用いて音声認識を行うことができる。一般的なニューラルネットワークの構造では入力及び出力がそれぞれ独立的であるが、ＲＮＮは、以前の出力が新しい出力の算出結果に影響を与えるニューラルネットワーク構造を有する。
【００３５】
一実施形態に係る音声認識装置は、音声シーケンス２０１を複数のフレームに分割し、分割されたフレームに対応する発音と発音の持続時間を予測する。音声認識装置は、音響モデルを用いて音声認識を実行し、音響モデルは、入力レイヤ（図示せず）、隠れレイヤ２０３及び出力レイヤを含み、出力レイヤは、ラベルレイヤ２０４及びスキップレイヤ２０５を含む。ラベルレイヤ２０４は、入力されたフレーム２０２の発音を予測するためのレイヤである。スキップレイヤ２０５は、入力されたフレーム２０２の発音の持続時間を予測するためのレイヤである。ラベルレイヤ２０４及びスキップレイヤ２０５は、ソフトマックスレイヤ（ｓｏｆｔｍａｘ  ｌａｙｅｒ）である。
【００３６】
一実施形態によれば、ラベルレイヤ２０４は、全体の発音数と同じ個数のノードを含む。ラベルレイヤ２０４の各ノードは、入力されたフレーム２０２が特定発音である確率を示す。スキップレイヤ２０５は、最大限にスキップできるフレーム数と同じ個数のノードを含む。例えば、スキップレイヤ２０５の最初のノードはフレームをスキップしない確率を示し、２番目のノードは１つのフレームをスキップする確率を示し、３番目のノードは２つのフレームをスキップする確率を示し、ｎ番目のノードは（ｎ−１）個のフレームをスキップする確率を示す。
【００３７】
図３は、一実施形態に係る音声認識方法を説明するための図である。音声認識装置は、音響モデルを用いたフレームの発音が何であるかを予測すると同時に、次の何個のフレームをスキップするかを予測する。その次に、音声認識装置は、スキップするフレームに対する発音確率を現在のフレームの発音確率であるとする。与えられたフレームが最初のフレームであり、音声認識装置が５個のフレームをスキップするよう決定したと仮定する。この場合、音声認識装置は、次の５個のフレームは処理することなくスキップする。その次に、音声認識装置は、７番目のフレームの発音が何であるかを予測すると同時に、次のフレームをいくつスキップするかを予測し、処理するフレームが存在しないまでこれを繰り返すことができる。
【００３８】
図３を参照すれば、音声認識装置は、複数のフレーム３０１に対応するラベル３０２を生成する。ラベルは、発音に対応する。音声認識装置は、最初のフレーム３０３の発音が「ａ」であると予測し、スキップするフレーム数が２つであると予測する。具体的に、音響モデルのラベルレイヤのノードから出力される確率値のうち、発音「ａ」に対応する確率値が最大であり、音響モデルのスキップレイヤのノードから出力される確率値のうち、スキップするフレーム数「２」に対応する確率値が最大である。音声認識装置は、２番目のフレーム３０５及び３番目のフレーム３０５を処理せず、２番目のフレーム３０５及び３番目のフレーム３０５の発音３０６が「ａ」であると判断する。その次に、音声認識装置は、４番目のフレーム３０７を処理して４番目のフレーム３０７の発音３０８が「ｂ」であると予測し、スキップするフレーム数が１つであると予測する。音声認識装置は、５番目のフレーム３０９を処理せず、５番目のフレーム３０９の発音３１０が「ｂ」であると判断し、このような過程を繰り返すことができる。
【００３９】
図４は、一実施形態に係る音声認識方法を説明するための図である。
【００４０】
上述したように、一実施形態に係る音響モデルはＲＮＮで具現される。音響モデルは隠れステートに対応する隠れレイヤと、２つの出力を生成する出力レイヤを含む。最後の隠れステートは、ソフトマックスレイヤであるラベルレイヤとスキップレイヤから生成される確率値を算出するために用いられる。
【００４１】
最初のフレームｘ１４０１〜Ｔ番目のフレームｘＴを含むＴ個のフレームｘ１：Ｔに分割された音声シーケンスが与えられた場合、音声認識装置は、最初のフレームｘ１４０１を処理して隠れステートを算出する。ラベルレイヤとスキップレイヤは、隠れステートに基づいて発音に対応する確率値とスキップするフレーム数に対応する確率値を生成し、音声認識装置は、ｘ１４０１の発音４０２とスキップするフレーム数を予測できる。音声認識装置は、スキップレイヤの出力に基づいてラベルレイヤの出力をコピーし、ｘ２４０３の発音４０４を判断する。音声認識装置は、３番目のフレームｘ３４０５の発音４０６とスキップするフレーム数を予測し、処理対象が最後のフレームｘＴに達するまで、上述した動作を繰り返すことができる。
【００４２】
図５は、一実施形態に係る音声認識のための学習方法を説明するためのフローチャートである。図５を参照すれば、音声認識のための学習装置は、複数のトレーニングフレームに分割されたトレーニング音声シーケンスを取得する（Ｓ５０１）。学習装置は、音声認識のための学習を行う装置として、例えば、ソフトウェアモジュール、ハードウェアモジュール、又はその組合せで具現される。学習装置は、学習に関連する動作、演算、及び命令などを生成又は処理する。上述した音声認識装置に関するハードウェア又はソフトウェアの具現例は学習装置にも適用され得る。
【００４３】
図５を参照すれば、学習装置は、音響モデルを用いてトレーニング音声シーケンス内の同じ発音の持続時間を予測し、予測された持続時間と同じ発音の最適持続時間に基づいて音響モデルを学習させる（Ｓ５０２）。学習装置は、予測された持続時間と最適持続時間に基づいて補償を生成し、生成された補償に基づいて音響モデルを学習させ得る。
【００４４】
一実施形態によれば、学習装置は、トレーニングフレームに対応する持続時間を予測する。学習装置は、トレーニングフレームから予測された持続時間とトレーニングフレームに対応する最適持続時間に基づいて、トレーニングフレームに対応する補償を生成し得る。学習装置は、予測された持続時間と最適持続時間が同じであるか否か、及び両方の差に加重値を適用して、トレーニングフレームに対応する補償を生成し得る。予測された持続時間が最適持続時間よりも大きい場合に対応する加重値と、予測された持続時間が最適持続時間よりも小さい場合に対応する加重値はそれぞれ相違に設定されてもよい。補償は、補償関数を用いて生成されてもよい。
【００４５】
一実施形態によれば、学習装置は、音響モデルが同じ発音の持続時間を予測するためのパラメータに対応する目的関数を取得し得る。学習装置は、生成された補償を目的関数に適用して持続時間を予測するためのパラメータを最適化する。追加的に、学習装置は、音響モデルが発音を予測するためのパラメータに対応する目的関数を取得し得る。学習装置は、持続時間を予測するためのパラメータに対応する目的関数と発音を予測するためのパラメータに対応する目的関数に補償を適用し、持続時間を予測するためのパラメータと発音を予測するためのパラメータを最適化できる。以下、図６を参照して一実施形態に係る学習方法が説明される。
【００４６】
図６は、一実施形態に係る音声認識のための学習方法を説明するための図である。図６を参照すれば、学習装置は、トレーニングフレームの最初の発音が「ａ」であると予測しながら、「ａ」の持続時間が「２」であると予測する。ここで、「２」は、発音予測をスキップするフレーム数（スキップフレーム数）である。図６に示された最適持続時間「４」、「３」、「２」、「１」、「０」、「１」、「０」、「０」、「１」、「０」、．．．と、ラベル「ａ」、「ａ」、「ａ」、「ａ」、「ａ」、「ｂ」、「ｂ」、「ｃ」、「ａ」、「ａ」、．．．は、トレーニングフレームに対応する正解値（ｇｒｏｕｎｄ  ｔｒｕｔｈ）である。図６に示された「２」、「１」、「４」、．．．は、音響モデルによって予測された持続時間である。
【００４７】
一実施形態によれば、学習装置は、トレーニングフレームから音響モデルによって予測された持続時間「２」と、トレーニングフレームに対応する最適持続時間「４」に基づいてトレーニングフレームに対応する補償を生成し得る。上述したように、学習装置は、補償を目的関数に適用して音響モデルのパラメータを最適化できる。
【００４８】
一実施形態に係る音響モデルは、発音を予測するために用いられるパラメータθｌとスキップフレーム数を予測するために用いられるパラメータθｓによって定義される。学習装置は、θｌとθｓを最適化して音響モデルを学習させ得る。学習装置は、θｌに対するクロスエントロピー（Ｃｒｏｓｓ  Ｅｎｔｒｏｐｙ）目的関数Ｊ１（θｌ）を定義する。Ｊ１（θｌ）は微分可能で、学習装置は、逆伝播アルゴリズムにＪ１（θｌ）を最小化するためのθｌを求めることができる。
【００４９】
一実施形態によれば、学習装置は、θｓを求めるために強化学習（Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ）方式を用いる。θｓに対する補償関数が定義され、学習装置は、補償関数を最大化するθｓをポリシーグラジエント（Ｐｏｌｉｃｙ  Ｇｒａｄｉｅｎｔ）方式を用いて求めることができる。以下、最適化のためのθｓを求める方法について説明される。
【００５０】
音響モデルがＴ個のフレームに分割された音声シーケンスｘ１：Ｔを処理しながらスキップしたフレーム数の順序列をｓ１：Ｎとしよう。ｘ１：Ｔはトレーニング音声シーケンスであり、ｓ１：Ｎはスキップフレーム数である。図６において、ｓ１：Ｎは「２」、「１」、「４」、．．．の情報を含む。音響モデルがスキップフレーム数をｉ番目に予測するとき使用された最後の隠れレイヤをｈｉとしよう。図６において、「２」を予測するとき使用された最後の隠れレイヤはｈ１であり、「１」を予測するとき使用された最後の隠れレイヤはｈ２であり、「４」を予測するとき使用された最後の隠れレイヤはｈ３である。音響モデルは、多項分布（Ｍｕｌｔｉｎｏｍｉａｌ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）であるp(si|hi;θs)から標本を抽出してスキップフレーム数ｓｉを予測する。ｓｉはｉ番目に予測されたスキップフレーム数を示す。ｐはｓｉに対応する確率値である。音響モデルのスキップレイヤはp(si|hi;θs)を出力する。
【００５１】
与えられた音声シーケンスｘ１：Ｔに対する正解発音をｙ１：Ｔとし、最大限にスキップできるフレーム数をＭとし、スキップフレーム数をｉ番目に予測するとき使用されたフレームの番号をｊと仮定する。一実施形態によれば、学習装置は、認識正確度の損失なしに最大限に多くのフレームをスキップするために、ある発音が持続される場合、該当発音の最初のフレームの他には全てスキップするよう音響モデルを学習させ得る。音響モデルが現在ｊ番目のフレームを処理している最中であり、ｉ番目のスキップフレーム数を予測しようとする場合において、ｊ番目のフレームに対応する発音をｙｊと仮定する。発音ｙｊがｊ番目のフレームから開始して持続される長さをＤ（ｙｊ）と仮定する。この場合、最大限にスキップできるフレーム数がＭであるため、ｉ番目の予測スキップフレーム数に対応する目標スキップフレーム数si*は数式（１）のように表現される。
【００５２】
【数１】
2019079038.tif 000003
一実施形態によれば、学習装置は、音響モデルが目標スキップフレーム数だけスキップフレーム数を予測した場合、フレーム数の予測に０の補償を与える。そうでなければ、学習装置は、予測されたスキップフレーム数と最適なスキップフレーム数との間の差に基づいてフレーム数の予測に補償を与える。ｉ番目の予測スキップフレーム数に対応する補償関数ｒｉは数式（２）のとおりである。
【００５３】
【数２】
2019079038.tif 000004
上述したように、ｓｉはｉ番目に予測されたスキップフレーム数であり、si*はｉ番目の予測に対応する目標スキップフレーム数である。
【００５４】
音響モデルが予測を間違う程多いペナルティを音響モデルの学習に付与するため、正確なフレーム数の予測に対応する補償は０に設定され、間違ったフレーム数の予測に対応する補償は負数（不利益）として設定される。音響モデルが間違ったフレーム数の予測をどれ程多くするかに応じて、音響モデルの学習にペナルティが付与されることから、上述した補償関数に基づいて音響モデルが学習されれば、音響モデルは間違ったフレーム数の予測を減少するよう学習される。
【００５５】
θｓを最適化するために使用する目的関数Ｊ２（θｓ）は数式（３）のように定義される。
【００５６】
【数３】
2019079038.tif 000005
すなわち、目的関数Ｊ２（θｓ）は最初のスキップフレーム数の予測からＮ番目のスキップフレーム数の予測に対応する期待値補償を示す。γは割引要素（ｄｉｓｃｏｕｎｔ  ｆａｃｔｏｒ）である。Ｎはスキップフレーム数が予測されたフレーム数である。
【００５７】
一実施形態によれば、学習装置は、数式（３）に係る期待補償を最大化するよう音響モデルを学習させることができる。
【００５８】
スキップフレーム数を予測するための確率値ｐ（ｓ１：Ｎ；θｓ）は数式（４）のように定義される。
【００５９】
【数４】
2019079038.tif 000006
数式（３）に係る目的関数を最適化するために学習装置は、ＲＥＩＮＦＯＲＣＥアルゴリズムを用いて目的関数の近似微分式を数式（５）のように求めることができる。
【００６０】
【数５】
2019079038.tif 000007
Ｒｉは数式（６）のように表現される。
【００６１】
【数６】
2019079038.tif 000008
学習装置は、スキップフレーム数の予測による補償を用いてＪ２（θｓ）の近似微分式を算出する。目的関数の微分式においてＲｉが示されるが、Ｒｉは現在のスキップフレーム数の予測のみならず、以後のスキップフレーム数の予測まで考慮する補償値である。現在のスキップフレーム数の予測から以後のスキップフレーム数の予測が離れるほど小さく考慮されるため、Ｒｉでγ（割引要素）が適用されている。グラジエントディセント（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）を用いてパラメータθｓが学習されるとき、目的関数の微分式（ここで、Ｒｉが登場）が用いられるため、現在のスキップフレーム数の予測に対する学習時に以後のスキップフレーム数の予測が割引要素により反映される。学習装置は、Ｊ２（θｓ）の近似微分式の分布を減らすための様々な方式を活用することができる。
【００６２】
学習装置は、音響モデルを学習させるために数式（７）の目的関数を使用する。
【００６３】
【数７】
2019079038.tif 000009
一実施形態に係る補償関数は、音声認識の正確度を保持しながら音声シーケンスのフレームを最大限に多くスキップするように定義される。音声認識方式のアプリケーションによっては、音声認識の正確度の方が認識速度よりも重要な場合がある一方、認識速度の方が正確度よりも重要な場合もある。音声認識の正確度と認識速度との間にはトレードオフのような相関関係がある。即ち、認識速度を高めるために音声シーケンスのフレームを数多くスキップすれば、音声信号の変化をモデリングし難くなり、音声認識の正確度は低下する。音声認識の正確度を高めるために音声シーケンスのフレームを数少なくスキップすれば、正確度は高まる一方、認識速度は遅くなる。
【００６４】
一実施形態によれば、学習装置は、音声認識の正確度と認識速度のいずれかを重要視するかを考慮して音響モデルを学習させ得る。上述した補償関数は、音響モデルが最適なスキップフレーム数だけフレームをスキップした場合、スキップフレーム数の予測に０の補償を与える。そうでない場合、補償関数は、最適なスキップフレーム数と予測されたスキップフレーム数との差が大きくなるほど、スキップフレーム数の予測により多くの不利益（又はペナルティ）を与える。一実施形態に係る学習装置は、補償関数を変形して音響モデルがフレームをどれ程多くスキップするかを調整できる。一実施形態によれば、学習装置は、速度加重値ｗを導入する。音響モデルが最適なスキップフレーム数に比べてスキップフレーム数を小さく予測した場合と、大きく予測した場合の加重値をそれぞれ相違に付与した補償関数ri’は数式（８）のように定義される。
【００６５】
【数８】
2019079038.tif 000010
si*＜siである場合は音響モデルが最適のスキップフレーム数よりもスキップフレーム数を大きく予測した場合であるため、学習装置は、スキップフレーム数の予測に上述したように不利益を与える。si*＞siである場合は、音響モデルが最適のスキップフレーム数よりもスキップフレーム数を小さく予測した場合であるため、学習装置は、スキップフレーム数を大きく予測した場合よりもどれ程多くの不利益を与えるかを示す速度加重値を不利益に乗算してスキップフレーム数の予測に不利益を与える。
【００６６】
学習装置は、正確度と認識速度のいずれかれに相対的な比重を高めるかを判断して速度加重値の値を決定する。もし、ｗが１．０であれば、両方の間に与えられる補償の程度は類似である。もし、ｗが１．０よりも小さければ、音響モデルが最適なスキップフレーム数よりもスキップフレーム数をさらに小さく予測した場合に与えられる不利益が小さくなることから、音響モデルは、フレームを少なくスキップすることで正確度は向上される。もし、ｗが１．０よりも大きければ、音響モデルが最適なスキップフレーム数よりもスキップフレーム数をさらに小さく予測した場合に与えられる不利益が大きくなることから、音響モデルは、フレームをさらにスキップすることで認識速度はやくなる。
【００６７】
図７は、一実施形態に係る音声認識システムを説明するための図である。図７を参照すれば、音声認識システムは、音響モデル７０３、デコーダ７０５、及び言語モデル７０６を含む。音声認識システムは、音響モデル７０３を用いて音声信号７０１に対応する音声シーケンス７０２から発音７０４を予測し、デコーダ７０５及び言語モデル７０６を用いて音声認識を行う。
【００６８】
図８は、一実施形態に係る装置の構成の例示図である。図８を参照すれば、装置８０１は、プロセッサ８０２及びメモリ８０３を含む。一実施形態に係る装置８０１は、上述した音声認識装置又は学習装置である。プロセッサ８０２は、図１ないし図７を参照して前述した少なくとも１つの装置を含んでもよいし、図１ないし図７を参照して前述した少なくとも１つの方法を行ってもよい。メモリ８０３は、上述した音声認識方法又は音声認識方法に関する情報を格納してもよいし、上述した学習方法又は学習方法に関する情報を格納し、音声認識方法又は学習方法が具現されたプログラムを格納してもよい。メモリ８０３は、揮発性メモリ又は不揮発性メモリであり得る。
【００６９】
プロセッサ８０２はプログラムを実行し、装置８０１を制御する。プロセッサ８０２によって実行されるプログラムのコードはメモリ８０３に格納される。装置８０１は、入出力装置（図示せず）を介して外部装置（例えば、パーソナルコンピュータ又はネットワーク）に接続され、データを交換できる。
【００７０】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【００７１】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【００７２】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＹＩＪＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【００７３】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されるし、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【００７４】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【図１】
2019079038.tif 000011
【図２】
2019079038.tif 000012
【図３】
2019079038.tif 000013
【図４】
2019079038.tif 000014
【図５】
2019079038.tif 000015
【図６】
2019079038.tif 000016
【図７】
2019079038.tif 000017
【図８】
2019079038.tif 000018