(57)【特許請求の範囲】
【請求項１】
認識処理に使用されるモデルに含まれるＮ（Ｎ≧１）個の共分散行列の構成要素を学習するモデル学習装置であって、
前記構成要素は、Ｋ（１≦Ｋ≦Ｎ）個の回転行列を含み、
入力された前記Ｎ個の共分散行列の各々を変換してＮ個の対数共分散ベクトルを得る変換部と、
前記Ｎ個の対数共分散ベクトルの各々を、前記Ｎ個の共分散行列から得られる前記Ｋ個の回転行列のうち最も近い回転行列に割り当てる割当部と、
割り当てられたＫ’（１≦Ｋ’≦Ｋ）個の回転行列の各々について、当該回転行列に割り当てられた前記対数共分散ベクトルを特定し、特定した前記対数共分散ベクトルに基づいて当該回転行列を更新する更新部と、
前記Ｎ個の対数共分散ベクトルの各々を、更新されたＫ’個の回転行列及び更新されなかったＫ−Ｋ’個の回転行列のうち最も近い回転行列に射影する射影部と、
を備えるモデル学習装置。
【請求項２】
前記変換部は、前記Ｎ個の共分散行列の各々を変換してＮ個の対数共分散行列を得、前記Ｎ個の対数共分散行列の各々を変換して前記Ｎ個の対数共分散ベクトルを得る請求項１に記載のモデル学習装置。
【請求項３】
前記構成要素は、Ｎ個のインデックス、及びＮ個の対角行列を更に含み、
前記射影部は、前記Ｎ個の対数共分散ベクトルの各々を射影する回転行列のインデックスである前記Ｎ個のインデックスを取得するとともに、前記Ｎ個の共分散行列から得られる前記Ｎ個の対角行列を前記射影に基づいて更新する請求項１又は２に記載のモデル学習装置。
【請求項４】
前記割当部は、前記Ｎ個の対数共分散ベクトルの各々から前記Ｋ個の回転行列各々へ正射影して最も近い回転行列を特定し、
前記射影部は、前記Ｎ個の対数共分散ベクトルの各々を、前記Ｋ’個の回転行列及び前記Ｋ−Ｋ’個の回転行列のうち最も近い回転行列に正射影し、当該正射影の結果を用いて前記Ｎ個の対角行列を更新する請求項３に記載のモデル学習装置。
【請求項５】
前記更新部は、割り当てられた前記Ｋ’個の回転行列の各々について、当該回転行列に割り当てられた前記対数共分散ベクトルを特定し、特定した前記対数共分散ベクトルを当該回転行列へ正射影した距離の二乗の和が減少するように、当該回転行列を更新する請求項４に記載のモデル学習装置。
【請求項６】
前記モデルは、Ｎ個のガウス分布を含み、
前記Ｎ個のガウス分布は、それぞれ、平均ベクトル、及び前記共分散行列を含み、
Ｔ（Ｔ≧１）個の特徴ベクトル、並びに前記Ｎ個のガウス分布それぞれを構成する前記平均ベクトル及び前記共分散行列を用いて、特徴ベクトル毎に当該特徴ベクトルが各ガウス分布を占有する占有確率を計算する占有確率計算部と、
前記Ｔ個の特徴ベクトル及び前記Ｔ×Ｎ個の占有確率を用いて、前記Ｎ個のガウス分布を計算し、前記Ｎ個の平均ベクトル及び前記Ｎ個の共分散行列を更新するガウス分布計算部と、を更に備え、
前記変換部は、更新された前記Ｎ個の共分散行列の各々を変換して前記Ｎ個の対数共分散ベクトルを得る請求項１〜５のいずれか１つに記載のモデル学習装置。
【請求項７】
認識処理に使用されるモデルに含まれるＮ（Ｎ≧１）個の共分散行列の構成要素を学習するモデル学習方法であって、
前記構成要素は、Ｋ（１≦Ｋ≦Ｎ）個の回転行列を含み、
変換部が、入力された前記Ｎ個の共分散行列の各々を変換してＮ個の対数共分散ベクトルを得る変換ステップと、
割当部が、前記Ｎ個の対数共分散ベクトルの各々を、前記Ｎ個の共分散行列から得られる前記Ｋ個の回転行列のうち最も近い回転行列に割り当てる割当ステップと、
更新部が、割り当てられたＫ’（１≦Ｋ’≦Ｋ）個の回転行列の各々について、当該回転行列に割り当てられた前記対数共分散ベクトルを特定し、特定した前記対数共分散ベクトルに基づいて当該回転行列を更新する更新ステップと、
射影部が、前記Ｎ個の対数共分散ベクトルの各々を、更新されたＫ’個の回転行列及び更新されなかったＫ−Ｋ’個の回転行列のうち最も近い回転行列に射影する射影ステップと、
を含むモデル学習方法。
【請求項８】
認識処理に使用されるモデルに含まれるＮ（Ｎ≧１）個の共分散行列の構成要素を学習するプログラムであって、
前記構成要素は、Ｋ（１≦Ｋ≦Ｎ）個の回転行列を含み、
入力された前記Ｎ個の共分散行列の各々を変換してＮ個の対数共分散ベクトルを得る変換ステップと、
前記Ｎ個の対数共分散ベクトルの各々を、前記Ｎ個の共分散行列から得られる前記Ｋ個の回転行列のうち最も近い回転行列に割り当てる割当ステップと、
割り当てられたＫ’（１≦Ｋ’≦Ｋ）個の回転行列の各々について、当該回転行列に割り当てられた前記対数共分散ベクトルを特定し、特定した前記対数共分散ベクトルに基づいて当該回転行列を更新する更新ステップと、
前記Ｎ個の対数共分散ベクトルの各々を、更新されたＫ’個の回転行列及び更新されなかったＫ−Ｋ’個の回転行列のうち最も近い回転行列に射影する射影ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、モデル学習装置、モデル学習方法、及びプログラムに関する。
【背景技術】
【０００２】
音声認識の音響モデルなどに使用されるガウス分布は、平均ベクトルと共分散行列とを含む。共分散行列をそのままの形、即ち、全共分散行列（full  covariance  matrices）の形で尤度評価に用いると演算量が膨大になるため、対角共分散行列（diagonal  covariance  matrices）を用いる方法がある。しかし、対角共分散行列では、変数間の相関を表現できないため、音声認識の精度の低下を招いてしまうおそれがある。
【０００３】
尤度評価の演算量を削減する別の方法として、セミタイド共分散行列（semi-tied  covariance  matrices）を用いる方法がある。セミタイド共分散行列は、共分散行列を固有値分解して得られる対角行列（固有値を対角成分に持つ行列）及び回転行列（固有ベクトルからなる行列）のうち、回転行列を共有したものである。つまり、セミタイド共分散行列を用いる場合、音響モデルを構成する各ガウス分布は、平均ベクトル、対角行列、及び回転行列のクラスを含む。そして、回転行列のクラス毎に代表となる回転行列を記憶しておくので、各ガウス分布は、自身の回転行列のクラスに対応する回転行列を参照する。これにより、尤度評価の演算量を削減しつつ、音声認識の精度の低下を抑えた音声認識を実現することが可能となる。
【０００４】
ここで、セミタイド共分散行列を用いる方法において、ガウス分布をいずれのクラスに割り当てるかを決定する方法として、ガウス分布が属するトライフォンの中心音素がいずれの音素であるかによって当該ガウス分布がいずれのクラスに属するかを決定する方法が知られている。この方法では、各音素について当該音素を中心音素とするトライフォンが特定され、特定されたトライフォンに含まれる全てのガウス分布で１つのクラスが形成され、クラスの代表の回転行列が共有される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｍ．Ｇａｌｅｓ，“Ｓｅｍｉ−Ｔｉｅｄ  Ｃｏｖａｒｉａｎｃｅ  Ｍａｔｒｉｃｅｓ  ｆｏｒ  Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｐｅｅｃｈ  ａｎｄ  Ａｕｄｉｏ  Ｐｒｏｃｅｓｓｉｎｇ，Ｖｏｌ．７，Ｎｏ．３，Ｍａｙ  １９９９．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した方法は、共分散行列を再現する上で最適でない。このため、再現後の共分散行列を用いたモデルでは、再現前の共分散行列を用いたモデルと比べ、認識性能が低下してしまうおそれがある。
【０００７】
本発明が解決しようとする課題は、演算量を削減しつつ、認識性能を向上させることを可能とするモデル学習装置、モデル学習方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
実施形態の認識処理に使用されるモデルに含まれるＮ（Ｎ≧１）個の共分散行列の構成要素を学習するモデル学習装置は、変換部と、割当部と、更新部と、射影部と、を備える。
構成要素は、Ｋ（１≦Ｋ≦Ｎ）個の回転行列を含む。変換部は、入力されたＮ個の共分散行列の各々を変換してＮ個の対数共分散ベクトルを得る。割当部は、前記Ｎ個の対数共分散ベクトルの各々を、前記Ｎ個の共分散行列から得られるＫ個の回転行列のうち最も近い回転行列に割り当てる。更新部は、割り当てられたＫ’（１≦Ｋ’≦Ｋ）個の回転行列の各々について、当該回転行列に割り当てられた前記対数共分散ベクトルを特定し、特定した前記対数共分散ベクトルに基づいて当該回転行列を更新する。射影部は、前記Ｎ個の対数共分散ベクトルの各々を、更新されたＫ’個の回転行列及び更新されなかったＫ−Ｋ’個の回転行列のうち最も近い回転行列に射影する。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態のモデル学習装置の例を示す構成図。
【図２】第１実施形態の共分散行列の例を示す図。
【図３】第１実施形態の対数共分散ベクトルの例を示す図。
【図４】対数共分散ベクトルの空間と部分空間との関係の例を示す図。
【図５】部分空間の例を示す図。
【図６】部分空間の例を示す図。
【図７】第１実施形態の割当部の割り当て結果の例を示す図。
【図８】第１実施形態の射影部の射影により共分散行列の各軸のスケーリングが調整される様子の例を示す図。
【図９】第１実施形態の射影部の射影の例を対数共分散ベクトルの空間で示す図。
【図１０】第１実施形態の射影部の射影結果の例を特徴ベクトルの空間で示す図。
【図１１】第１実施形態のモデル学習装置の処理例を示すフローチャート。
【図１２】第１実施形態との比較例を示す図。
【図１３】第１実施形態との比較例を示す図。
【図１４】第１実施形態との比較例を示す図。
【図１５】第１実施形態との比較例を示す図。
【図１６】第２実施形態のモデル学習装置の例を示す構成図。
【図１７】第２実施形態のモデル学習装置の処理例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【００１１】
（第１実施形態）
第１実施形態では、音声認識や文字認識などの各種認識に用いるモデルに使用されるガウス分布に含まれる共分散行列を学習する例について説明する。
【００１２】
図１は、第１実施形態のモデル学習装置１００の一例を示す構成図である。モデル学習装置１００は、図１に示すように、変換部１０２と、ベクトル記憶部１０４と、回転行列記憶部１０６と、初期化部１０８と、割当部１１０と、インデックス記憶部１１２と、更新部１１４と、射影部１１６と、を備える。
【００１３】
変換部１０２、初期化部１０８、割当部１１０、更新部１１４、及び射影部１１６は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現できる。ベクトル記憶部１０４、回転行列記憶部１０６、及びインデックス記憶部１１２は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、ＲＡＭ（Random  Access  Memory）、メモリカードなどの磁気的、光学的、又は電気的に記憶可能な記憶装置の少なくともいずれかにより実現できる。
【００１４】
変換部１０２には、モデル学習装置１００の外部からＮ（Ｎ≧１）個の共分散行列Σ（詳細には、共分散行列｛Σ１，…，ΣＮ｝）が入力される。共分散行列Σは、ｎ（ｎ≧２）行ｎ列であるものとする。そして変換部１０２は、入力されたＮ個の共分散行列Σの各々を、対数共分散ベクトルξ（詳細には、対数共分散ベクトル｛ξ１，…，ξＮ｝）に変換する。具体的には、変換部１０２は、入力されたＮ個の共分散行列Σの各々を、対数共分散行列Ｓ（詳細には、対数共分散行列｛Ｓ１，…，ＳＮ｝）に変換し、更に、ｎ（ｎ＋１）／２次元の対数共分散ベクトルξ（詳細には、対数共分散ベクトル｛ξ１，…，ξＮ｝）に変換する。
【００１５】
詳細に説明すると、まず、変換部１０２は、共分散行列Σを対数関数で対数共分散行列Ｓ（＝ｌｏｇ（Σ））に変換する。例えば、変換部１０２は、共分散行列Σを、数式（１）に示すように、固有ベクトルからなる回転行列Ｕと固有値からなる対角行列Ｄとに固有値分解するとすると、対数関数の級数展開により、対数共分散行列Ｓを数式（２）に示すように計算する。
【００１６】
【数１】
0005612014.tif 000002
【００１７】
【数２】
0005612014.tif 000003
【００１８】
ここで、Ｔは、転置を示す。また、共分散行列Σの固有値をλ１，…，λｎとおくと、ｌｏｇ（Ｄ）は、数式（３）で表される。
【００１９】
【数３】
0005612014.tif 000004
【００２０】
次に、変換部１０２は、行列ベクトル変換により、対数共分散行列Ｓを、数式（４）に示すように、対数共分散ベクトルξに変換する。
【００２１】
【数４】
0005612014.tif 000005
【００２２】
ここで、行列ベクトル変換関数ｖｅｃ（）は、ｎ行ｎ列の行列をｎ（ｎ＋１）／２次元のベクトルに変換する関数であり、例えば、ｐ（ｐ＝１…ｎ）行ｑ（ｑ＝１…ｎ）列の要素がｘｐｑであるｎ行ｎ列の行列Ｘを、数式（５）に示すように変換する。
【００２３】
【数５】
0005612014.tif 000006
【００２４】
変換部１０２は、以上のようにして、Ｎ個の共分散行列Σをそれぞれ対数共分散ベクトルξに変換し、ベクトル記憶部１０４へ記憶（保存）する。
【００２５】
図２は、第１実施形態の変換部１０２に入力されるＮ個の共分散行列Σの一例を示す図である。図２に示す例では、Ｎ＝８となっており、共分散行列１２０〜１２７は、それぞれバラバラな回転行列を有している。なお、図２に示す例では、共分散行列１２０〜１２７は、２行２列の行列であり、２次元（ｎ＝２）の特徴ベクトル空間で表されている。
【００２６】
図３は、第１実施形態の変換部１０２により変換されたＮ個の対数共分散ベクトルξの一例を示す図である。図３に示す例では、変換部１０２により図２の共分散行列１２０〜１２７から変換されたＮ（Ｎ＝８）個の対数共分散ベクトルξが、対数共分散ベクトルξの空間にプロットされている。ｎ＝２の場合、実際の対数共分散ベクトルξの空間は３次元（ｎ（ｎ＋１）／２次元）となるが、図３では模式的に２次元で表している。
【００２７】
図１に戻り、ベクトル記憶部１０４は、変換部１０２により変換されたＮ個の対数共分散ベクトルξ（詳細には、対数共分散ベクトル｛ξ１，…，ξＮ｝）を記憶する。
【００２８】
回転行列記憶部１０６は、Ｋ（１≦Ｋ≦Ｎ）個の回転行列Ｕ（詳細には、回転行列｛Ｕ１，…，ＵＫ｝）を記憶する。回転行列Ｕは、ｎ行ｎ列であるものとする。ここで、回転行列Ｕのｎ本の列ベクトルをｕ１，…，ｕｎとおき、回転行列Ｕを、数式（６）に示すように記載するものとする。更に、ｎ本の列ベクトル各々に対して、数式（７）に示すように、ｎ（ｎ＋１）／２次元のベクトルを定義するものとする。
【００２９】
【数６】
0005612014.tif 000007
【００３０】
【数７】
0005612014.tif 000008
【００３１】
但し、ｖｅｃ（）は、前述の行列ベクトル変換関数であり、ｄ＝１…ｎである。
【００３２】
これにより、ｎ（ｎ＋１）／２次元の対数共分散ベクトルξの空間に、ａ１，…，ａｎで張られるｎ次元の部分空間（以下、「回転行列Ｕで規定される部分空間」と称する場合がある）を定義することができる。
【００３３】
ここで、対数共分散ベクトルξは、対数共分散ベクトルξの空間においては回転行列Ｕで規定される部分空間上の全ての点において、共分散行列Σの回転行列が同一、即ち、回転行列Ｕになるという特別な性質を有する。
【００３４】
図４は、対数共分散ベクトルξの空間と部分空間との関係の一例を示す図である。前述したように、特徴ベクトルが２次元の場合、共分散行列Σは２行２列となり、対数共分散ベクトルξは３次元となる。この場合、回転行列Ｕで規定される部分空間は２次元となる。図４に示す例では、３次元の対数共分散ベクトルξの空間に、２次元の部分空間１３０が回転角θ＝１５°の回転行列Ｕで規定されるとともに、２次元の部分空間１４０が回転角θ＝５０°の回転行列Ｕで規定されている。なお，２行２列（ｎ＝２）の回転行列Ｕの値は、回転角によって決定される。
【００３５】
図５は、部分空間１３０の一例を示す図である。部分空間１３０では、第１軸（ｘ軸）は、共分散行列Σの第１軸方向のスケーリングを表し、第２軸（ｙ軸）は、共分散行列Σの第２軸方向のスケーリングを表す。より詳細には、第１軸の座標はｌｏｇ（λ１）となり、第２軸の座標はｌｏｇ（λ２）となる。λ１は、対角行列Ｄの１行１列成分、即ち、第１軸方向の分散の値であり、λ２は、対角行列Ｄの２行２列成分、即ち、第２軸方向の分散の値である。なお、対角行列Ｄは、前述したように、共分散行列Σを固有値分解することにより回転行列Ｕとともに得られる。
【００３６】
図５に示す例では、部分空間１３０上の全ての共分散行列Σの回転角がθ＝１５°となっており、部分空間１３０上の全ての共分散行列Σの回転行列が同一となっている。また、第１軸の右側にいくほど、共分散行列Σの第１軸のスケーリング（分散）が大きくなり、第１軸の左側にいくほど、共分散行列Σの第１軸のスケーリングが小さくなる。また、第２軸の上側にいくほど、共分散行列Σの第２軸のスケーリング（分散）が大きくなり、第２軸の下側にいくほど、共分散行列Σの第２軸のスケーリングが小さくなる。
【００３７】
図６は、部分空間１４０の一例を示す図である。第１軸及び第２軸の説明、並びに第１軸及び第２軸のスケーリングの変化は、図５と同様であるため、説明を省略する。図６に示す例では、部分空間１４０上の全ての共分散行列Σの回転角がθ＝５０°となっており、部分空間１４０上の全ての共分散行列Σの回転行列が同一となっている。
【００３８】
このような、対数共分散ベクトルξの空間においては回転行列Ｕで規定される部分空間上の全ての点において、共分散行列Σの回転行列Ｕが同一になるという対数共分散ベクトルξの特別な性質は、数式（８）で導かれる。
【００３９】
【数８】
0005612014.tif 000009
【００４０】
つまり、対数共分散行列ｌｏｇ（Σ）は、ｕｄｕｄＴの線形結合として表され、かつ当該線形結合の係数がｌｏｇ（λｄ）になるという等式から、対数共分散ベクトルξの特別な性質が導かれる。
【００４１】
図１に戻り、初期化部１０８は、回転行列記憶部１０６に記憶されているＫ個の回転行列Ｕ（詳細には、回転行列｛Ｕ１，…，ＵＫ｝）を初期化する。第１実施形態では、初期化部１０８は、モデル学習装置１００の外部から入力されたＮ個の共分散行列Σを固有値分解して得られるＮ個の回転行列Ｕの中からＫ個の回転行列Ｕを無作為に選択し、選択したＫ個の回転行列Ｕを初期値として回転行列記憶部１０６に記憶（保存）する。
【００４２】
なお初期化部１０８は、変換部１０２により得られたＮ個の回転行列Ｕの中からＫ個の回転行列Ｕを選択してもよいし、Ｎ個の共分散行列Σを自身で固有値分解して得たＮ個の回転行列Ｕの中からＫ個の回転行列Ｕを選択してもよい。
【００４３】
割当部１１０は、ベクトル記憶部１０４に記憶されているＮ個の対数共分散ベクトルξ（詳細には、対数共分散ベクトル｛ξ１，…，ξＮ｝）の各々を、回転行列記憶部１０６に記憶されているＫ個の回転行列Ｕ（詳細には、回転行列｛Ｕ１，…，ＵＫ｝）のうち最も近い回転行列に割り当てる。これにより、回転行列記憶部１０６に記憶されているＫ個の回転行列ＵのうちＫ’（１≦Ｋ’≦Ｋ）個の回転行列Ｕが割り当てられる。具体的には、割当部１１０は、回転行列記憶部１０６に記憶されているＫ個の回転行列Ｕで規定されるＫ個の部分空間を生成し、ベクトル記憶部１０４に記憶されているＮ個の対数共分散ベクトルξの各々を最も近い部分空間に割り当てる。そして割当部１１０は、Ｎ個の対数共分散ベクトルξ（詳細には、対数共分散ベクトル｛ξ１，…，ξＮ｝）の各々に割り当てた部分空間のインデックスｒ（詳細には、インデックス｛ｒ１，…，ｒＮ｝）をインデックス記憶部１１２に記憶（保存）する。なお、ｒは、１≦ｒ≦Ｋである。
【００４４】
図７は、第１実施形態の割当部１１０の割り当て結果の一例を示す図である。図７に示す例では、図３に示す対数共分散ベクトルξの空間におけるＮ（Ｎ＝８）個の対数共分散ベクトルξにＫ（Ｋ＝２）個の部分空間を割り当てた結果を示している。Ｋ個の部分空間は、回転角θ＝１９°である２次元の部分空間１５０と回転角θ＝６２°である２次元の部分空間１６０とである。なお、図７では、対数共分散ベクトルξの空間は実際には３次元であるが２次元で表し、部分空間は実際には２次元であるが１次元（直線）で表している。
【００４５】
第１実施形態では、割当部１１０は、対数共分散ベクトルξの空間におけるＮ個の対数共分散ベクトルξの各々と部分空間とのユークリッド距離を計測し、対数共分散ベクトルξの各々を最も近い部分空間に割り当てるものとするが、これに限定されるものではない。ユークリッド距離の計測には、周知の方法を用いればよい。
【００４６】
例えば、ｎ次元の部分空間が基底ベクトルｖ１，…，ｖｎで張られる場合に行列Ｖ＝（ｖ１，…，ｖｎ）とおくと、射影行列Ｐ＝ＶＶＴが定義でき、ベクトルｘから当該部分空間への正射影（垂線の足）は、ｘ⊥＝Ｐｘによって計算できるので、部分空間までの距離（垂線の長さ）は、｜｜ｘ−Ｐｘ｜｜で求められる。つまり、割当部１１０は、Ｎ個の対数共分散ベクトルξの各々からＫ個の回転行列各々へ正射影して（垂線を降ろして）最も近い回転行列を特定する。
【００４７】
対数共分散ベクトルの空間におけるユークリッド距離により共分散行列間の距離を測ることの妥当性は、例えば、Ａｒｓｉｇｎｙ，  Ｆｉｌｌａｒｄ，  Ｐｅｎｎｅｃ，  ａｎｄ  Ａｙａｃｈｅ，  “Ｌｏｇ−Ｅｕｃｌｉｄｅａｎ  ｍａｔｒｉｃｓ  ｆｏｒ  ｆａｓｔ  ａｎｄ  ｓｉｍｐｌｅ  ｃａｌｃｕｌｕｓ  ｏｎ  ｄｉｆｆｕｓｉｏｎ  ｔｅｎｓｏｒｓ，”  Ｍａｇｎｅｔｉｃ  Ｒｅｓｏｎｎａｎｃｅ  ｉｎ  Ｍｅｄｉｃｉｎｅｓ，  ５６：４１１−４２１，  ２００６．で論じられている。
【００４８】
図１に戻り、インデックス記憶部１１２は、Ｎ個のインデックスｒ（詳細には、インデックス｛ｒ１，…，ｒＮ｝）を記憶する。例えば、インデックス記憶部１１２は、第ｉ（ｉ＝１…Ｎ）番目の対数共分散ベクトルξｉが、第ｋ（ｋ＝１…Ｋ）番目の回転行列Ｕｋで規定される部分空間に割り当てられている場合、第ｉ番目のインデックスｒｉの値としてｋを記憶する。
【００４９】
更新部１１４は、割当部１１０により割り当てられたＫ’個の回転行列Ｕの各々について、当該回転行列Ｕに割り当てられた対数共分散ベクトルξを特定し、特定した対数共分散ベクトルξに基づいて（詳細には、特定した対数共分散ベクトルξを当該回転行列Ｕへ正射影した距離の二乗の和が減少するように）回転行列Ｕを更新する。具体的には、更新部１１４は、回転行列記憶部１０６に記憶されているＫ’個の回転行列Ｕの各々について、インデックス記憶部１１２に記憶されているＮ個のインデックスｒ（詳細には、インデックス｛ｒ１，…，ｒＮ｝）に基づいて当該回転行列Ｕで規定される部分空間に割り当てられた対数共分散ベクトルξを特定する。なお、特定する対数共分散ベクトルξは、単数の場合もあれば複数の場合もある。そして更新部１１４は、特定した対数共分散ベクトルξをベクトル記憶部１０４から読み出し、読み出した対数共分散ベクトルξから当該部分空間までの距離の二乗の和が減少するように、当該回転行列Ｕを更新する。
【００５０】
以下、第ｋ番目の回転行列Ｕｋを例に取り、具体的な更新方法について説明する。
【００５１】
まず、更新部１１４は、インデックス記憶部１１２に記憶されているインデックスｒに基づいて、回転行列Ｕｋで規定される部分空間に割り当てられた対数共分散ベクトル｛ξｉ｜ｒｉ＝ｋ｝を特定し、特定した対数共分散ベクトル｛ξｉ｜ｒｉ＝ｋ｝をベクトル記憶部１０４から読み出す。
【００５２】
次に、更新部１１４は、対数共分散ベクトル｛ξｉ｜ｒｉ＝ｋ｝から回転行列Ｕｋで規定される部分空間までの距離の二乗の和Ｊ（Ｕｋ）（数式（９）参照）の値が減少するように、回転行列Ｕｋを更新する。
【００５３】
【数９】
0005612014.tif 000010
【００５４】
但し、ベクトルξｉ，⊥は、対数共分散ベクトルξｉから回転行列Ｕｋで規定される部分空間へと垂線を降ろしたときの足（perpendicular  foot）を示す。
【００５５】
なお、目的関数Ｊ（Ｕ）の値を減少させるように回転行列Ｕを更新する方法としては、例えば、Ｅｄｅｌｍａｎ，  Ａｒｉａｓ，  ａｎｄ  Ｓｍｉｔｈ，  “Ｔｈｅ  ｇｅｏｍｅｔｒｙ  ｏｆ  ａｌｇｏｒｉｔｈｍｓ  ｗｉｔｈ  ｏｒｔｈｏｇｏｎａｌｉｔｙ  ｃｏｎｓｔｒａｉｎｔｓ，”  ＳＩＡＭ  Ｊ．  Ｍａｔｒｉｘ  Ａｎａｌ．  Ａｐｐｌ．，  Ｖｏｌ．  ２０，  Ｎｏ．  ２，  ｐｐ．  ３０３−３５３，  １９９８．に開示されている方法などを用いることができる。
【００５６】
具体的に説明すると、まず、更新部１１４は、数式（１０）に示すように、目的関数Ｊ（Ｕ）の微分係数Ｆを計算する。
【００５７】
【数１０】
0005612014.tif 000011
【００５８】
次に、更新部１１４は、数式（１１）〜（１３）を用いて、回転行列Ｕを回転行列Ｕ’に更新する。
【００５９】
【数１１】
0005612014.tif 000012
【００６０】
【数１２】
0005612014.tif 000013
【００６１】
【数１３】
0005612014.tif 000014
【００６２】
但し、ｅｘｐ（）は、行列の指数関数を示す。また、εは、ごく小さな正の実数であればよく、演算量や演算精度などとの関係で適切な値に決定すればよい。
【００６３】
更新部１１４は、数式（１０）に示す微分係数Ｆの計算と数式（１１）〜（１３）に示す回転行列Ｕの更新とを交互に繰り返し実行することにより、目的関数Ｊ（Ｕ）の値を減少させることができる。
【００６４】
なお、第１実施形態のモデル学習装置１００では、割当部１１０の処理と更新部１１４の処理とを交互に繰り返し実行することにより、Ｋ個の部分空間をＮ個の対数共分散ベクトルへ当てはめる。繰り返し回数は、予め定めておいてもよいし、所定条件を満たすまでとしてもよい。
【００６５】
射影部１１６は、Ｎ個の対数共分散ベクトルξの各々を、更新されたＫ’個の回転行列Ｕ’及び更新されなかったＫ−Ｋ’個の回転行列Ｕのうち最も近い回転行列に射影（詳細には、正射影）する。また射影部１１６は、Ｎ個の対数共分散ベクトルξの各々を射影する回転行列Ｕのインデックスｒを取得するとともに、Ｎ個の対角行列Ｄを射影に基づいて（詳細には、正射影の結果を用いて）更新する。
【００６６】
具体的に説明すると、射影部１１６は、まず、割当部１１０と同じ手順で割り当てを行う。具体的には、射影部１１６は、回転行列記憶部１０６に記憶されている更新されたＫ’個の回転行列Ｕ’及び更新されなかったＫ−Ｋ’個の回転行列Ｕで規定されるＫ個の部分空間を生成する。そして射影部１１６は、ベクトル記憶部１０４に記憶されているＮ個の対数共分散ベクトルξ（詳細には、対数共分散ベクトル｛ξ１，…，ξＮ｝）の各々を最も近い部分空間に割り当て、割り当てた部分空間のインデックスｒ（詳細には、インデックス｛ｒ１，…，ｒＮ｝）を求める。そして射影部１１６は、各対数共分散ベクトルξｉから回転行列Ｕ’ｒｉで規定される部分空間に垂線を降ろし、当該垂線の足ξｉ，⊥を求める。
【００６７】
次に、射影部１１６は、求めた垂線の足ξｉ，⊥を数式（１４）で表す場合の係数ｌｉ，ｄ（詳細には、ｌｉ，１，…，ｌｉ，ｎ）を求め、求めた係数ｌｉ，ｄの指数をとった値を対角成分にもつ対角行列Ｄｉ（数式（１５）参照）を求める。
【００６８】
【数１４】
0005612014.tif 000015
【００６９】
【数１５】
0005612014.tif 000016
【００７０】
これにより、対角行列Ｄ（共分散行列Σの各軸のスケーリング）が適切に調整される。
【００７１】
図８は、第１実施形態の射影部１１６による射影により共分散行列Σの各軸のスケーリングが調整される様子の一例を示す図である。図８では、射影部１１６は、回転角θ＝０°である部分空間１６５における共分散行列の集合から、共分散行列１６６を表す点Ａに最も距離が近いもの、即ち、垂線の足（点Ｅ）を選択している。このため、共分散行列１６６が共分散行列１６７に変化し、各軸のスケーリングが変化している。このように対数共分散ベクトルξと更新後の部分空間（回転行列）との距離を測ることで、対数共分散ベクトルξをより適切な部分空間（回転行列）に割り当てることが可能となる。
【００７２】
そして射影部１１６は、以上のようにして求めたインデックスｒ（詳細には、インデックス｛ｒ１，…，ｒＮ｝）及び対角行列Ｄ（詳細には、対角行列｛Ｄ１，…，ＤＮ｝）を出力する。
【００７３】
図９は、第１実施形態の射影部１１６による射影の一例を対数共分散ベクトルξの空間で示す図である。図９に示す例では、射影部１１６は、図７に示す対数共分散ベクトルξの空間におけるＮ（Ｎ＝８）個の対数共分散ベクトルξの各々を、Ｋ（Ｋ＝２）個の部分空間のうち最も近い部分空間に射影している。Ｋ個の部分空間は、図７同様、回転角θ＝１９°である２次元の部分空間１５０と回転角θ＝６２°である２次元の部分空間１６０とであるが、これらの部分空間は、更新部１１４による更新後のものである。この射影により、例えば、回転角θ＝９°であった共分散行列１２３（図２参照）が回転角θ＝１９°の共分散行列１７３に置き換えられ、回転角θ＝７７°であった共分散行列１２７（図２参照）が回転角θ＝６２°の共分散行列１７７に置き換えられている。また、この射影により、図８で説明したように、対角行列Ｄの値も変化する。
【００７４】
モデル学習装置１００は、回転行列記憶部１０６に記憶されている更新されたＫ’個の回転行列Ｕ’及び更新されなかったＫ−Ｋ’個の回転行列Ｕ、並びに射影部１１６により出力されたインデックスｒ（詳細には、インデックス｛ｒ１，…，ｒＮ｝）及び対角行列Ｄ（詳細には、対角行列｛Ｄ１，…，ＤＮ｝）を出力する。
【００７５】
そして、モデル学習装置１００が出力した回転行列、インデックスｒ、及び対角行列Ｄを用いると、Ｎ個の共分散行列Σのうち第ｉ番目の共分散行列Σｉを、数式（１６）に示すように近似することができる。つまり、共分散行列Σを固有値分解したときの回転行列Ｕを量子化することができる。
【００７６】
【数１６】
0005612014.tif 000017
【００７７】
図１０は、第１実施形態の射影部１１６による射影結果の一例を特徴ベクトルの空間で示す図である。つまり、Ｎ個の対数共分散ベクトルξの各々を上述した変換の逆変換で共分散行列Σに戻した結果を示している。図１０に示す例では、共分散行列１２０、１２３、１２４（図２参照）が回転角θ＝１９°の共分散行列１７０、１７３、１７４に置き換えられ、共分散行列１２１、１２２、１２５、１２６、１２７（図２参照）が回転角θ＝６２°の共分散行列１７１、１７２、１７５、１７６、１７７に置き換えられている。つまり、共分散行列１７０〜１７７の回転角はθ＝１９°又は６２°のいずれかにそろえられている。
【００７８】
このように、第１実施形態では、共分散行列が置き換えられることにより、共分散行列の回転行列がそろえられ（共有化され）、セミタイド共分散行列に変換されるので、セミタイド共分散行列を用いた場合の尤度評価を低演算量で実行することが可能となり、高速な尤度演算が可能となる。また、置き換えられた共分散行列は、置き換え前の共分散行列（モデル学習装置１００に入力された共分散行列）をよく近似しているため、オリジナルの尤度を高精度に近似した値を演算することが可能となる。
【００７９】
図１１は、第１実施形態のモデル学習装置１００で実行される処理の一例を示すフローチャートである。
【００８０】
まず、変換部１０２は、入力されたＮ個の共分散行列Σの各々を対数共分散ベクトルξに変換し、ベクトル記憶部１０４へ記憶する（ステップＳ１００）。
【００８１】
続いて、初期化部１０８は、入力されたＮ個の共分散行列Σを固有値分解して得られるＮ個の回転行列Ｕの中からＫ個の回転行列Ｕを無作為に選択し、選択したＫ個の回転行列Ｕを初期値として回転行列記憶部１０６に記憶し、回転行列Ｕを初期化する（ステップＳ１０２）。
【００８２】
続いて、割当部１１０は、回転行列記憶部１０６に記憶されているＫ個の回転行列Ｕで規定されるＫ個の部分空間を生成し、ベクトル記憶部１０４に記憶されているＮ個の対数共分散ベクトルξの各々を最も近い部分空間に割り当て、割り当てた部分空間のインデックスｒをインデックス記憶部１１２に記憶する（ステップＳ１０４）。
【００８３】
続いて、更新部１１４は、回転行列記憶部１０６に記憶されているＫ’個の回転行列Ｕの各々について、インデックス記憶部１１２に記憶されているＮ個のインデックスｒに基づいて当該回転行列Ｕで規定される部分空間に割り当てられた対数共分散ベクトルξを特定し、特定した対数共分散ベクトルξから当該部分空間までの距離の二乗の和が減少するように、当該回転行列Ｕを更新する（ステップＳ１０６）。
【００８４】
割当部１１０及び更新部１１４は、繰り返し回数などの終了条件を満たすまでステップＳ１０４、Ｓ１０６の処理を繰り返す（ステップＳ１０８でＮｏ）。
【００８５】
そして、終了条件を満たすと（ステップＳ１０８でＹｅｓ）、射影部１１６は、回転行列記憶部１０６に記憶されている更新されたＫ’個の回転行列Ｕ’及び更新されなかったＫ−Ｋ’個の回転行列Ｕで規定されるＫ個の部分空間を生成し、対数共分散ベクトルξの各々を最も近い部分空間へ射影するとともに対角行列を求め、Ｎ個のインデックスｒ及びＮ個の対角行列Ｄを出力する（ステップＳ１１０）。
【００８６】
最後に、モデル学習装置１００は、回転行列記憶部１０６に記憶されている更新されたＫ’個の回転行列Ｕ’及び更新されなかったＫ−Ｋ’個の回転行列Ｕ、並びに射影部１１６により出力されたインデックスｒ及び対角行列Ｄを出力する。
【００８７】
以上のように第１実施形態によれば、Ｋ個の部分空間をＮ個の対数共分散ベクトルに割り当てることによって、Ｎ個の共分散行列の回転行列をＫ個にそろえられ（共有化され）、セミタイド共分散行列に変換されるので、セミタイド共分散行列を用いた場合の尤度評価を低演算量で実行することが可能となり、高速な尤度演算が可能となる。
【００８８】
また、第１実施形態によれば、各共分散行列がいずれの回転行列を使うかを指定するクラス（インデックス）を対数共分散ベクトルに基づいて決定するため、元の共分散行列を高精度に再現でき、元の共分散行列の尤度を高精度に近似した値を演算することが可能となり、認識性能を向上させることが可能となる。
【００８９】
また、第１実施形態では、対数共分散ベクトルの各々を部分空間に割り当てる際に、対数共分散ベクトルから部分空間に垂線を降ろすことにより、最も近い部分空間を特定し、特定した部分空間に対数共分散ベクトルを割り当てる。このため第１実施形態によれば、回転行列の値の変更だけでなく対角行列（各軸のスケーリング）の値の変更も考慮して回転行列のクラスを選択するので、より適切な回転行列のクラスを選択することができる。これにより、元の共分散行列の再現性が更に高まり、認識性能を更に向上させることが可能となる。
【００９０】
ここで、第１実施形態のクラスの決定方法の優位性を、前述したＭ．Ｇａｌｅｓの文献に記載されている最尤基準でガウス分布をいずれのクラスに割り当てるかを決定する方法と比較して説明する。
【００９１】
図１２〜１５は、第１実施形態との比較例を示す図であり、最尤基準でクラス割り当てを決定する従来の決定方法の問題点の説明図である。
【００９２】
まず、共分散行列の第１軸方向の分散（λ１）が７．６２（つまり、標準偏差が７．６）、共分散行列の第２軸方向の分散（λ２）が４．０２であるとともに、Ｋ（Ｋ＝２）個の回転行列があり、一方は回転角θ＝０°であり、他方は回転角θ＝３０°であるという状況を考える。このような場合、最尤基準でクラス割り当てを決定する従来の決定方法では、与えられた特徴ベクトルセット１８０（ガウス分布）に対する尤度が高くなるような回転行列を選択する。
【００９３】
図１２は、回転行列の回転角θが０°となる共分散行列１８１を示しており、第１軸方向の分散（λ１）が７．６２、第２軸方向の分散（λ２）が４．０２、回転角θが０°となっている。図１３は、回転行列の回転角θが３０°となる共分散行列１８２を示しており、第１軸方向の分散（λ１）が７．６２、第２軸方向の分散（λ２）が４．０２、回転角θが３０°となっている。
【００９４】
図１２と図１３とを比べると、共分散行列１８１の方が特徴ベクトルセット１８０に対する尤度が高くなるため、最尤基準でクラス割り当てを決定する従来の決定方法では、特徴ベクトルセット１８０（ガウス分布）は、回転角θ＝０°の回転行列のクラスに割り当てられる。
【００９５】
しかしながら、図１４に示すように、回転行列の回転角θが３０°であるが、第１軸方向の分散及び第２軸方向の分散を適切に調整した共分散行列１８３（第１軸方向の分散（λ１）が７．８２、第２軸方向の分散（λ２）が２．０２）の方が、特徴ベクトルセット１８０によりよくフィットする（尤度が高くなる）ことが分かる。
【００９６】
従って、この状況では、特徴ベクトルセット１８０（ガウス分布）を、回転角θ＝３０°の回転行列のクラスに割り当てる方がより適切であることがわかる。
【００９７】
最尤基準でクラス割り当てを決定する従来の決定方法では、対角行列（各軸の分散）を固定したまま、回転行列を取り換えて、尤度が最大になる回転行列を選択するため、上述のような状況では、適切なクラスを選択することができない。
【００９８】
更に、最尤基準でクラス割り当てを決定する従来の決定方法の問題点を、図１５に示す対数共分散ベクトルの空間で説明する。図１５に示す例では、対数共分散ベクトルξの空間に、部分空間１９０（部分空間＃１）が回転角θ＝０°の回転行列で規定されるとともに、部分空間１９１（部分空間＃２）が回転角θ＝３０°の回転行列で規定されている。
【００９９】
点Ａは、与えられた特徴ベクトルセット１８０の共分散行列を変換した対数共分散ベクトルを表す。ここで、最尤基準でクラス割り当てを決定する従来の決定方法では、共分散行列の第１軸方向の分散（λ１）が７．６２、共分散行列の第２軸方向の分散（λ２）が４．０２に固定されているということになるが、これは、部分空間内での座標値が（ｌｏｇ（７．６２），ｌｏｇ（４．０２））に固定されることを意味する。
【０１００】
このように座標値が固定されている状況では、点Ａから部分空間１９０における座標値が（ｌｏｇ（７．６２），ｌｏｇ（４．０２））となる点Ｂまでの距離である距離ＡＢと、点Ａから部分空間１９１における座標値が（ｌｏｇ（７．６２），ｌｏｇ（４．０２））となる点Ｃまでの距離である距離ＡＣとを、比較することにより、対数共分散ベクトルを部分空間に割り当てる。なお、距離ＡＢや距離ＡＣまでの距離は、概ね尤度と反比例するものと考えることができる。ここでは、図１５に示すように、距離ＡＢ＜距離ＡＣであるため、最尤基準でクラス割り当てを決定する従来の決定方法では、対数共分散ベクトル（点Ａ）は、部分空間１９０に割り当てられることになる。
【０１０１】
しかし、座標値を調整することが可能ならば、部分空間１９１への点Ａの垂線の足である点Ｄが存在することになり、図１５に示すように、距離ＡＢ＞距離ＡＤとなるため、対数共分散ベクトル（点Ａ）を部分空間１９１に割り当てることがより適切となる。
【０１０２】
最尤基準でクラス割り当てを決定する従来の決定方法では、対角行列（各軸の分散）である座標値を固定したまま距離を比較することになるため、上述のような状況では、対数共分散ベクトルを適切な部分空間に割り当てることができず、適切なクラスを選択することができない。
【０１０３】
これに対し、第１実施形態の方法では、対数共分散ベクトルから部分空間までの距離を計算する際に、対数共分散ベクトルから部分空間に垂線を降ろして距離を計算する。このため第１実施形態によれば、回転行列の値の変更だけでなく対角行列（各軸のスケーリング）の値の変更も考慮して回転行列のクラスを選択するので、上述のような問題は発生せず、より適切な回転行列のクラスを選択することができる。
【０１０４】
なお第１実施形態のモデル学習装置１００で学習した共分散行列（モデル）は、音声認識に用いる音響モデルや文字認識に用いるモデルとして使用することができる。音響モデルとしては、例えば、混合ガウス分布を出力分布とする隠れマルコフモデルなどが挙げられる。
【０１０５】
（第２実施形態）
第２実施形態では、音響モデルを学習する例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【０１０６】
図１６は、第２実施形態のモデル学習装置２００の一例を示す構成図である。モデル学習装置２００は、図１６に示すように、共分散行列記憶部２０４及び平均ベクトル記憶部２０６を含む音響モデル記憶部２０２と、特徴ベクトル記憶部２０８と、占有確率計算部２１０と、占有確率記憶部２１２と、ガウス分布計算部２１４と、学習部２１６とを、備える。なお、学習部２１６は、第１実施形態のモデル学習装置１００に相当する。
【０１０７】
音響モデル記憶部２０２（共分散行列記憶部２０４及び平均ベクトル記憶部２０６）、特徴ベクトル記憶部２０８、及び占有確率記憶部２１２は、例えば、ＨＤＤ、ＳＳＤ、ＲＡＭ、メモリカードなどの磁気的、光学的、又は電気的に記憶可能な記憶装置の少なくともいずれかにより実現できる。占有確率計算部２１０及びガウス分布計算部２１４は、例えば、ＣＰＵなどの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現できる。
【０１０８】
音響モデル記憶部２０２は、混合ガウス分布を出力分布とする隠れマルコフモデルによって表される音響モデルを記憶する。第２実施形態では、音響モデルをＭ（Ｍ≧１）個のガウス分布で表し、各ガウス分布は、平均ベクトルμ及び共分散行列Σを有するものとする。
【０１０９】
共分散行列記憶部２０４は、Ｍ個の共分散行列Σ（詳細には、共分散行列｛Σ１，…，ΣＭ｝）を記憶し、平均ベクトル記憶部２０６は、Ｍ個の平均ベクトルμ（詳細には、平均ベクトル｛μ１，…，μＭ｝）を記憶する。
【０１１０】
特徴ベクトル記憶部２０８は、特徴ベクトルｏ（ｔ）を記憶する。ここで、ｔ＝１…Ｔ（Ｔ≧１）とする。
【０１１１】
占有確率計算部２１０は、特徴ベクトル記憶部２０８から第ｔ番目の特徴ベクトルｏ（ｔ）を取得するとともに、音響モデル記憶部２０２から第ｍ（ｍ＝１…Ｍ）番目のガウス分布（平均ベクトルμｍ及び共分散行列Σｍ）を取得し、取得した特徴ベクトルｏ（ｔ）が、取得したガウス分布を占有する占有確率γｍ（ｔ）を計算する。そして占有確率計算部２１０は、計算した占有確率γｍ（ｔ）を占有確率記憶部２１２に記憶する。占有確率計算部２１０は、例えば、フォワードバックワードアルゴリズムにより占有確率γｍ（ｔ）を計算する。
【０１１２】
フォワードバックワードアルゴリズムは公知技術であり、例えば、Ｒａｂｉｎｅｒ，  “Ａ  Ｔｕｔｏｒｉａｌ  ｏｎ  Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌｓ  ａｎｄ  Ｓｅｌｅｃｔｅｄ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｉｎ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇｎｉｔｉｏｎ，”  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ，  Ｖｏｌ．７７，  Ｎｏ．２，  ｐｐ．２５７−２８６，  Ｆｅｂｒｕａｒｙ  １９８９．に開示されている。
【０１１３】
占有確率記憶部２１２は、占有確率γｍ（ｔ）を記憶する。
【０１１４】
ガウス分布計算部２１４は、特徴ベクトル記憶部２０８から第ｔ番目の特徴ベクトルｏ（ｔ）を取得するとともに、占有確率記憶部２１２から占有確率γｍ（ｔ）を取得し、各ガウス分布（平均ベクトルμ及び共分散行列Σ）を計算し、音響モデル記憶部２０２の音響モデルを更新する。ガウス分布計算部２１４は、例えば、数式（１７）を用いて、第ｍ番目の平均ベクトルμｍを計算し、数式（１８）を用いて、第ｍ番目の共分散行列Σｍを計算する。なお、ガウス分布計算部２１４は、混合ガウス分布を用いる場合には、混合係数もあわせて更新する。
【０１１５】
【数１７】
0005612014.tif 000018
【０１１６】
【数１８】
0005612014.tif 000019
【０１１７】
ガウス分布の計算も公知技術であり、例えば、前述したＲａｂｉｎｅｒの文献に記載されている。
【０１１８】
学習部２１６は、第１実施形態で説明した方法で共分散行列Σを学習する。具体的には、学習部２１６は、共分散行列記憶部２０４からＭ個の共分散行列Σを取得し、第１実施形態で説明した方法で学習して、Ｋ個の回転行列Ｕ’、Ｍ個のインデックスｒ、及びＭ個の対角行列Ｄを得る。そして学習部２１６は、Ｋ個の回転行列Ｕ’、Ｍ個のインデックスｒ、及びＭ個の対角行列Ｄで共分散行列記憶部２０４のＭ個の共分散行列Σを更新する。学習部２１６は、例えば、数式（１９）を用いて、第ｍ番目の共分散行列Σｍを更新する。
【０１１９】
【数１９】
0005612014.tif 000020
【０１２０】
図１７は、第２実施形態のモデル学習装置２００で実行される処理の一例を示すフローチャートである。
【０１２１】
まず、占有確率計算部２１０は、Ｔ個の特徴ベクトルｏ（ｔ）及びＭ個のガウス分布（Ｍ個の平均ベクトルμ及びＭ個の共分散行列Σ）を用いて、特徴ベクトルｏ（ｔ）毎に当該特徴ベクトルｏ（ｔ）がＭ個のガウス分布の各々を占有する占有確率γｍ（ｔ）を計算する（ステップＳ２００）。
【０１２２】
続いて、ガウス分布計算部２１４は、Ｔ個の特徴ベクトル及びＴ×Ｍ個の占有確率を用いて、Ｍ個のガウス分布を計算し、Ｍ個の平均ベクトルμ及びＭ個の共分散行列Σを更新する（ステップＳ２０２）。
【０１２３】
続いて、学習部２１６は、全ての共分散行列Σを学習する（ステップＳ２０４）。
【０１２４】
占有確率計算部２１０、ガウス分布計算部２１４、及び学習部２１６は、繰り返し回数などの終了条件を満たすまでステップＳ２００〜Ｓ２０４の処理を繰り返す（ステップＳ２０６でＮｏ）。なお、ステップＳ２００〜Ｓ２０４の処理を繰り返す間、学習部２１６は、回転行列を共有化しないため、ガウス分布計算部２１４は、全ての共分散行列Σを独立に計算する。
【０１２５】
そして、終了条件を満たすと（ステップＳ２０６でＹｅｓ）、学習部２１６は、共分散行列記憶部２０４において、学習により得た回転行列のインデックス（クラス）に従い、回転行列を共有化する（ステップＳ２０８）。つまり、学習部２１６は、共分散行列をセミタイド共分散行列に変換する。
【０１２６】
最後に、モデル学習装置２００は、音響モデル記憶部２０２に記憶されている音響モデル（共分散行列及び平均ベクトル）を出力する。
【０１２７】
以上のように第２実施形態によれば、音響モデルを用いた尤度評価を低演算量で実行することが可能となり、高速な尤度演算が可能となるとともに、音声認識性能を向上させることが可能となる。
【０１２８】
（ハードウェア構成）
上記各実施形態のモデル学習装置は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）などの記憶装置と、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）などの外部記憶装置と、ディスプレイなどの表示装置と、マウスやキーボードなどの入力装置と、通信Ｉ／Ｆとを、備えており、通常のコンピュータを利用したハードウェア構成で実現できる。
【０１２９】
上記各実施形態のモデル学習装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０１３０】
また、上記各実施形態のモデル学習装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態のモデル学習装置を、インターネット等のネットワーク経由で提供または配布するようにしてもよい。
【０１３１】
また、上記各実施形態のモデル学習装置で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０１３２】
上記各実施形態のモデル学習装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、制御装置が外部記憶装置からプログラムを記憶装置上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【０１３３】
以上説明したとおり、上記各実施形態によれば、演算量を削減しつつ、認識性能を向上させることを可能とする。
【０１３４】
なお本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【０１３５】
例えば、上記各実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【符号の説明】
【０１３６】
１００、２００  モデル学習装置
１０２  変換部
１０４  ベクトル記憶部
１０６  回転行列記憶部
１０８  初期化部
１１０  割当部
１１２  インデックス記憶部
１１４  更新部
１１６  射影部
２０２  音響モデル記憶部
２０４  共分散行列記憶部
２０６  平均ベクトル記憶部
２０８  特徴ベクトル記憶部
２１０  占有確率計算部
２１２  占有確率記憶部
２１４  ガウス分布計算部
２１６  学習部
【図１】
0005612014.tif 000021
【図２】
0005612014.tif 000022
【図３】
0005612014.tif 000023
【図４】
0005612014.tif 000024
【図５】
0005612014.tif 000025
【図６】
0005612014.tif 000026
【図７】
0005612014.tif 000027
【図８】
0005612014.tif 000028
【図９】
0005612014.tif 000029
【図１０】
0005612014.tif 000030
【図１１】
0005612014.tif 000031
【図１２】
0005612014.tif 000032
【図１３】
0005612014.tif 000033
【図１４】
0005612014.tif 000034
【図１５】
0005612014.tif 000035
【図１６】
0005612014.tif 000036
【図１７】
0005612014.tif 000037