説明

パターン分類装置の学習装置及びそのためのコンピュータプログラム

【課題】ベイズ誤り推定と直結した損失関数を用い,高い認識率が得られるようなパターン分類装置のための学習装置を提供する.
【解決手段】学習装置42は,学習パターン集合を記憶する記憶装置64と,各クラスに対し定義される判別関数を,学習パターンにより学習する学習装置66とを含む.判別関数は,入力パターンと,複数個のプロトタイプとの間のカーネル演算の線形和により表される.カーネルは,入力パターンの空間より高次元の空間に入力パターンを変換する特徴変換を定めたときに,変換後の入力パターンと,変換後のプロトタイプとの間の内積により定義され,プロトタイプ相互間でのカーネル演算により構成されるグラム行列が正定値行列となる.学習装置は,高次元空間において学習パターンと係数ベクトル集合との関数として定義される平均分類誤り数損失が最小となるよう係数ベクトルを調整する.

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,何らかの物理的な量の測定値からなるベクトルパターンが,所定の複数クラスのいずれに属するかを判別するパターン認識装置に関し,特に,学習データに基づいてそのようなパターン分類装置の学習を行なう学習装置に関する.
【背景技術】
【0002】
高い認識率を実現できるパターン認識技術として最小分類誤り(Minimum Classification Error:MCE)学習法及びサポートベクターマシーン(Support Vector Machine:SVM)法が広く用いられている.前者の初期の例は例えば非特許文献1に記載されており,可変長パターンをも含む多様なパターンに対するベイズ誤り推定を直接的に追求する.これに対し,後者は例えば非特許文献2に記載されており,カーネルに付随する高次元空間における線形判別関数の幾何マージン(分類決定境界と学習パターンとの間の距離)を最大化し学習耐性の向上を目指す.
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】B.−H.Juang及びS.カタギリ,「最小分類誤り基準識別学習法」,IEEE シグナル・プロセッシング・トランザクションズ,第40巻第12号,3043ページ〜3054ページ,1992年(B.-H. Juang and S. Katagiri, “Discriminative learning for minimum error classification,” IEEE Trans. Signal Processing, vol.40, no.12, pp.3043-3054, Dec. 1992.)
【非特許文献2】J.Wang,X.Wu,C.Zhang,「K−平均クラスタリングを用いた実時間ビジネス知能システムのためのサポートベクターマシーン」,ビジネス知能及びデータマイニング国際ジャーナル,第1巻第1号,54ページ〜64ページ,2005年(J. Wang, X. Wu, and C. Zhang, “Support vector machines based on K-means clustering for real-time business intelligence systems,” International Journal of Business Intelligence and Data Mining, vol.1, no.1, pp. 54-64, 2005.)
【発明の概要】
【発明が解決しようとする課題】
【0004】
SVM法は損失関数最小化がベイズ誤り推定に対し直接的でなく,有限個の学習パターンの場合での分類誤り確率の最小化が十分ではない.一方,従来のMCE法は損失関数がベイズ誤り推定と直結しているが,一般の実施例において,カーネルを用いた高次元空間への写像に基づく精緻な分類決定境界の形成を考慮しておらず,やはり十分な認識率が得られていない.
【0005】
それゆえに本発明の目的は,ベイズ誤り推定と直結した損失関数を用い,従来のものより高い認識率が得られるようにパターン分類装置の学習を行なうことができる学習装置を提供することである.
【課題を解決するための手段】
【0006】
本発明の第1の局面によれば,パターン分類装置の学習装置は,複数個のクラスのいずれかに入力パターンを分類するための学習装置である.この学習装置は,所定の物理量の観測データから得られるベクトルと,当該ベクトルが属するクラスのラベルとからなる学習パターンを要素とする学習パターン集合を記憶するための記憶手段と,複数個のクラスに対しそれぞれ定義される,入力パターンが当該クラスに属する度合いを測る判別関数を,記憶手段に記憶された学習パターン集合に含まれる学習パターンを学習データとして学習するための学習手段とを含む.判別関数は,入力パターンと,複数個のクラスにそれぞれ対応する,学習パターン集合から得られる複数個のプロトタイプとの間のカーネル演算の線形和により表される関数である.複数個のプロトタイプはプロトタイプ集合を形成する.カーネル演算は,入力パターンの空間より高次元の空間に入力パターンを変換する特徴変換を定めたときに,当該特徴変換による変換後の入力パターンと,当該特徴変換による変換後のプロトタイプとの間の内積により定義され,かつ,当該カーネル演算は,プロトタイプ集合内に含まれるプロトタイプ相互間でのカーネル演算により構成されるグラム行列が,どんな個数のどんなプロトタイプに対しても常に正定値行列となるカーネル演算である.複数個のクラスの各々に対して,線形和の各プロトタイプに対応するカーネルの係数は係数ベクトルを形成する.これら複数個のクラスの各々に対して形成される係数ベクトルは係数ベクトル集合を形成する.学習手段は,高次元の空間において,学習パターンと係数ベクトル集合との関数として定義される平均分類誤り数損失が最小となるように係数ベクトル集合に含まれる係数ベクトルを調整する.
【0007】
好ましくは,観測データであるベクトルをクラスタリングすることにより,複数個のプロトタイプを算出するためのクラスタリング手段をさらに含む.
【0008】
より好ましくは,学習手段は,係数ベクトル集合に含まれる係数ベクトルの各々を所定の初期化方法により初期化するための初期化手段と,学習パターン集合に含まれる学習パターンから1個を抽出するための学習パターン抽出手段と,学習パターン抽出手段により学習パターンが抽出されたことに応答して,係数ベクトル集合に含まれる係数ベクトルを,平均分類誤り数損失が最小となるように調整するための係数ベクトル調整手段と,学習パターン抽出手段による学習パターンの抽出と,係数ベクトル調整手段による係数ベクトルの調整とを,学習パターン集合内の全学習パターンが学習パターン抽出手段により抽出されるまで,繰返し実行させるための第1の繰返し制御手段とを含む.
【0009】
さらに好ましくは,学習手段はさらに,第1の繰返し制御手段による繰返しが終了するごとに,学習パターン集合内の学習パターンの並びをシャッフルするためのシャッフル手段と,シャッフル手段によるシャッフルが完了したことに応答して,第1の繰返し制御手段による繰返しを再開させるための第2の繰返し制御手段と,第2の繰返し制御手段による繰返しが所定の回数だけ完了したときに,第2の繰返し制御手段による繰返しを停止させるための停止手段とを含む.
【0010】
学習装置はさらに,初期化手段により得られた係数ベクトルの成分のうち,絶対値が所定のしきい値より小さな成分をゼロに固定するための手段を含んでもよい.
【0011】
好ましくは,プロトタイプ集合は学習パターン集合であり,初期化手段は,学習パターン集合に含まれる学習パターンを複数個のクラスに分類するための,学習パターンに対する所定の変換後のベクトルの線形和の係数ベクトルを,多クラスサポートベクターマシーンの学習により最適化するためのSVM学習手段と,SVM学習手段により学習パターン集合に対して最適化された係数ベクトルを,線形和の各プロトタイプに対応するカーネルの係数からなる係数ベクトルの初期値として設定するための初期値設定手段とを含む.
【0012】
より好ましくは,初期化手段はさらに,SVM学習手段により最適化された係数ベクトルに対応する学習パターンのうち,係数ベクトルが零ベクトルと所定の値以上異なるサポートベクトルのみをプロトタイプとして選択し,判別関数を構成するためのプロトタイプ選択手段を含む.
【0013】
さらに好ましくは,初期化手段は,学習パターン集合及びプロトタイプ集合とに適合するように予め学習がされていた混合ガウスモデル又は動径基底関数の係数ベクトルを,係数ベクトル集合の初期値として設定するための手段を含む.
【0014】
学習手段は,係数ベクトル集合に含まれる係数ベクトルの各々を所定の初期化方法により初期化するための初期化手段と,学習パターン集合に含まれる学習パターンから1個を抽出するための学習パターン抽出手段と,学習パターン抽出手段により学習パターンが抽出されたことに応答して,係数ベクトル集合に含まれる係数ベクトルと,プロトタイプ集合に含まれるプロトタイプとを,平均分類誤り数損失が最小となるように調整するためのパラメータ調整手段と,学習パターン抽出手段による学習パターンの抽出と,パラメータ調整手段による係数ベクトル及びプロトタイプの調整とを,学習パターン集合内の全学習パターンが学習パターン抽出手段により抽出されるまで,繰返し実行させるための第1の繰返し制御手段とを含んでもよい.
【0015】
好ましくは,学習手段はさらに,第1の繰返し制御手段による繰返しが終了するごとに,学習パターン集合内の学習パターンの並びをシャッフルするためのシャッフル手段と,シャッフル手段によるシャッフルが完了したことに応答して,第1の繰返し制御手段による繰返しを再開させるための第2の繰返し制御手段と,第2の繰返し制御手段による繰返しが所定の回数だけ完了したときに,第2の繰返し制御手段による繰返しを停止させるための停止手段とを含む.
【0016】
本発明の第2の局面に係るコンピュータプログラムは,コンピュータを,複数個のクラスのいずれかに入力パターンを分類するためのパターン分類装置の学習装置として機能させる.当該コンピュータプログラムは,コンピュータを,所定の物理量の観測データから得られるベクトルと,当該ベクトルが属するクラスのラベルとからなる学習パターンを要素とする学習パターン集合を記憶するための記憶手段と,複数個のクラスに対しそれぞれ定義される,入力パターンが当該クラスに属する度合いを測る判別関数を,記憶手段に記憶された学習パターン集合に含まれる学習パターンを学習データとして学習するための学習手段として機能させる.判別関数は,入力パターンと,複数個のクラスにそれぞれ対応する,学習パターン集合から得られる複数個のプロトタイプとの間のカーネル演算の線形和により表される関数である.複数個のプロトタイプはプロトタイプ集合を形成する.当該カーネル演算は,入力パターンの空間より高次元の空間に入力パターンを変換する特徴変換を定めたときに,当該特徴変換による変換後の入力パターンと,当該特徴変換による変換後のプロトタイプとの間の内積により定義され,かつ,当該カーネル演算は,プロトタイプ集合内に含まれるプロトタイプ相互間でのカーネル演算により構成されるグラム行列が,どんな個数のどんなプロトタイプに対しても常に正定値行列となるカーネル演算である.複数個のクラスの各々に対して,線形和の各プロトタイプに対応するカーネルの係数は係数ベクトルを形成する.複数個のクラスの各々に対して形成される係数ベクトルは係数ベクトル集合を形成する.学習手段は,高次元の空間において,学習パターンと係数ベクトル集合との関数として定義される平均分類誤り数損失が最小となるように係数ベクトル集合に含まれる係数ベクトルを調整する.
【0017】
以上のように本発明によれば,公知技術である大幾何マージンMCE学習法を,カーネルの線形和の形式を持つ判別関数の線形和係数パラメータに対して適用する.これにより,カーネルを用いて精緻な分類決定境界を形成することが可能となるだけでなく,分類誤り最小化と未知パターンに対する耐性向上とを共に直接的に目指す学習法が定型化される.結果的に,本発明により,パターンの分布構造が複雑である場合においても,学習パターン以外の未知パターンに対する高い認識率が得られる.
【図面の簡単な説明】
【0018】
【図1】パターン認識装置による分類の概略を模式的に示す図である.
【図2】N次元特徴空間Bにおける幾何マージンと高次元空間Hにおける幾何マージンとの関係を模式的に示す図である.
【図3】本発明の第1の実施の形態に係る話者判別システムの構成を示す模式的ブロック図である.
【図4】第1の実施の形態に係る判別関数学習装置を実現するコンピュータプログラムの制御構造を示すフローチャートである.
【図5】図4に示すフローチャートのうち,M次係数ベクトルτの適応的学習処理を実現するコンピュータプログラムの制御構造を示すフローチャートである.
【図6】第2の実施の形態に係る判別関数学習装置を実現するコンピュータプログラムの制御構造を示すフローチャートである.
【図7】図6に示すフローチャートのうち,係数ベクトルαの適応的学習処理を実現するコンピュータプログラムの制御構造を示すフローチャートである.
【図8】第3の実施の形態に係る判別関数学習装置を実現するコンピュータプログラムの制御構造を示すフローチャートである.
【図9】図8に示すフローチャートのうち,係数ベクトルτとプロトタイプベクトルpmの適応的学習処理を実現するコンピュータプログラムの制御構造を示すフローチャートである.
【図10】本願発明の実施の形態を実現するコンピュータシステムの正面図である.
【図11】図10に示すコンピュータシステムのブロック図である.
【発明を実施するための形態】
【0019】
以下の説明及び図面では,同一の部品には同一の参照番号を付してある.したがって,それらについての詳細な説明は繰返さない.
【0020】
《第1の実施の形態》
[1 分類器構造]
図1を参照して,入力パターン(観測値)ベクトルx∈Χ(図1に示す全入力パターン空間20)をJ個のクラス(類)C1,C2,…,CJ(図1におけるクラス22,24,…,26及び28)のいずれか一つに割当てる分類問題を考える.以下の説明では,説明を簡略にするために,入力パターンベクトルを単に「入力パターン」と呼び,同様の考えで「学習パターンベクトル」を「学習パターン」と呼ぶ.
【0021】
本実施の形態では,入力パターンxがクラスCjに帰属する度合いを測る判別関数gj(x;Λ)として次式の関数を用いる.
【0022】
【数1】

【0023】
ここで{pmM m=1は,N個の学習パターン集合{xnNn=1から計算されるプロトタイプの集合である(Mはプロトタイプの総数).例えば,これらは学習パターン{xnNn=1をクラスタリングして得られる,各クラスタの代表ベクトルである.クラスタリングの手法は問わない.なおプロトタイプ集合{pmMm=1は学習パターン集合{xnNn=1そのものでもよい(この場合はM=N).τm,jは学習によって調整される実数パラメータである.Λは分類器の学習パラメータ集合であり,今の場合はΛ={τm,jMm=1Jj=1である.2つの学習パターンx,x´∈Χに対し,K(x,x´)は,入力パターン空間Χから非常に高い次元(しばしば無限次元)の空間(ここでは空間Hとする)への特徴変換φ(・)を適当に定めたときの,2つの特徴変換されたパターンベクトルφ(x),φ(x´)の内積を表し,カーネルとよばれる.カーネルK(・,・)としては様々なものが存在するが,ここでは,M個のプロトタイプで構成される次式のグラム行列
【0024】
【数2】

が,M及び{pmMm=1がどんな値であったとしても常に正定値となるものであれば,その種類を問わない.そのようなカーネルを正定値カーネルという.実際,多くのカーネルがこの正定値の条件を満たす.例えば次式のガウシアンカーネルがこの条件を満たし,実際に広く用いられている.
【0025】
【数3】

そして,分類器は次式の分類決定則に従って分類を行なうものとする.
【0026】
【数4】

[2 カーネル線形和型の判別関数に対する大幾何マージン最小分類誤り学習]
(2.1 特徴空間における大幾何マージン最小分類誤り学習の概略)
式(1)は,次式のようにM次ベクトルの内積形式で書き表すことができる.
【0027】
【数5】

ここで上付き「」は行列及びベクトルの転置を表す.ベクトルk(x)が学習パターンxをM次元特徴空間上に写像した特徴ベクトルであるとみなせば,gj(x;Λ)はその特徴空間上でのベクトルτjを係数ベクトルとした線形判別関数と考えることができる.
【0028】
更に,後述する高次元空間Hにおける学習と対応させるため,ベクトルk(x)に対して線形変換を施すことを考える.まず式(2)のグラム行列K(ここでは正定値であると仮定)のコレスキー分解(G.H. Golub and C. F. Van Loan, Matrix Computations 2nd Ed., The Johns Hopkins University Press, 1989.)を考える.
【0029】
【数6】

ここで行列Lは対角成分が正の下三角行列である.そしてこの下三角行列を用いて,M次係数ベクトルτj及びM次特徴ベクトルk(x)を次式により変換する.
【0030】
【数7】

これにより,判別関数は次式で書き直される.
【0031】
【数8】

図2を参照して,入力パターン空間30からの,ベクトル変換β(・)=L-1k(・)による写像先であるM次元空間32をここではM次元空間Bと表す.そして,ベクトルk(x)に代えてベクトルβ(x)をM次元特徴ベクトルであるとみなせば,上式は,判別関数gj(x;Λ)がM次元特徴空間B上でのベクトルαjを係数ベクトルとした線形判別関数であることを示している.ただし本実施の形態では,式(9)の関係により,係数ベクトル集合{αjJj=1の最適化を係数ベクトル集合{τjJj=1の調整を介して行なう.
【0032】
判別関数の集合{gj(x;Λ)}Jj=1により分類決定境界が定まるが,この境界はパターン空間Xのみならず特徴空間Bにおいても形成される.図2を参照して,ここでは特徴空間Bにおいて形成される分類決定境界Γを考える.式(10)のベクトル変換β(・)により分類決定境界Γ付近に写され,しかも上記判別関数により正しく分類される学習パターンを1つ考え,これをxoとする.ベクトルβ(xo)と境界Γとの(特徴空間Bにおける)ユークリッド距離rは,文献(H. Watanabe, S. Katagiri, K. Yamada, E. McDermott, A. Nakamura, S. Watanabe, and M. Ohsaki, “Minimum error classification with geometric margin control,” in Proc. IEEE ICASSP, pp. 2170-2173, Mar. 2010.)を参考にして,次式で与えられる.
【0033】
【数9】

ここでCyは学習パターンxの属する正しいクラス,Ciは学習パターンxに対するbest-incorrectクラス(最大の判別関数値を与える不正解のクラス)である.ユークリッド距離rは(空間Bにおける)幾何マージンとよばれる.この値が大きくなるように判別関数を学習すれば,空間Bにおいて,境界付近の正分類の学習パターンβ(xo)の近くに現れるであろう,同じクラスに属する未知パターンを正しく分類することができ,学習耐性が向上する[上記Watanabeらによる.].
【0034】
なお,上式(12)は係数ベクトルαy,αiを含むため,このままではグラム行列Kのコレスキー分解の計算及び下三角行列の逆行列計算が必要となる.プロトタイプ数Mが大きい場合,このことは数値的不安定性をもたらす(特に学習パターン集合をプロトタイプ集合と考える場合はこの問題が深刻となる).そこで本発明では,式(9)(10)を式(12)に代入することにより,幾何マージンrを係数ベクトル集合{τjJj=1の関数形式として次式により書き直し,これを学習に用いる.
【0035】
【数10】

すなわち上式は,係数ベクトル集合{τjJj=1を調整パラメータとした空間B上の幾何マージンであり,しかもこの式の利用によりグラム行列Kのコレスキー分解の計算及び下三角行列の逆行列計算が不要となる.
そこで,各学習パターンxに対して,幾何マージンrの符号を反転させた
【0036】
【数11】

を定める.Dy(x;Λ)は,正値ならば誤分類,負値ならば正分類に対応し,最小分類誤り(MCE)学習における誤分類測度の一種と考えることができる.そしてその絶対値は,分類決定境界からのユークリッド距離を表す.このDy(x;Λ)を幾何マージン型誤分類測度と呼ぶことにする.
【0037】
続いて,幾何マージン型誤分類測度Dy(x;Λ)に対する平滑化分類誤り数損失を次式で定める.
【0038】
【数12】

【0039】
式(15)はDy(x;Λ)に関して単調増加のロジスティックシグモイド関数であり,パラメータζが大きくなるにつれてシグモイド関数の傾きが大きく(急に)なる.ζ→∞の極限において,Dy(x;Λ)は,Dy(x;Λ)>0すなわち誤分類の場合に値1を,Dy(x;Λ)<0すなわち正分類の場合に値0をとる.すなわち,平滑化分類誤り数損失は,誤分類カウントと直接的に結びついているだけでなく,学習パラメータ集合Λに関して微分可能である.更に,式(15)の値を小さくするような学習パラメータ集合Λの調整は,分類誤り数を減少させるのみならず,Dy(x;Λ)を負の方向に増大させるため,正分類された学習パターンの(空間Bにおける)幾何マージンが増大し,未知のパターンに対する耐性を向上させることができる.
【0040】
学習では,N個の学習パターンからなる学習パターン集合ΩN={(xn,yn)}n=1(ynは学習パターンxnの属する正しいクラスの指標)から構成される次式の経験的平均損失を最小にする学習パラメータ集合Λを求める.
【0041】
【数13】

損失L(Λ)の最小化に関して,最急降下法等のバッチ的手法だけではなく,学習パターン集合ΩNから1個の学習パターン(xn,yn)を抽出する度に学習パラメータ集合Λを調整する適応的な学習方法も広く用いられている.その方法における学習パラメータ集合Λの調整機構は次式で与えられる(tは繰返し番号).
【0042】
【数14】

本実施の形態では,この適応的学習方法を採用することとする.
【0043】
(2.2 システム構成及び判別関数の学習の計算手順)
2.2.1 システム構成
図3を参照して,本実施の形態に係るシステム40は,入力音声46が,予め知られている複数の話者のうちの誰かを識別するためのものである.このシステム40は,話者識別のための判別関数を以下に説明する手順にしたがって学習する判別関数学習装置42と,判別関数学習装置42により学習された判別関数を何らかの形で話者判別装置48に伝達する判別関数伝達媒体44と,判別関数伝達媒体44により伝達された判別関数を用い,入力音声46の話者識別を行ない,話者判別結果50を出力する話者判別装置48とを含む.一般的に,判別関数学習装置42と話者判別装置48とは別々の装置である.すなわち,判別関数学習装置42で学習された判別関数は,ハードディスク,半導体メモリ等の記憶媒体,通信媒体を介して話者判別装置48に配布される.したがって話者判別装置48は判別関数学習装置42と同じ場所にあることは必ずしも想定されていない.
【0044】
判別関数学習装置42は,学習のための発話データを記憶する第1の記憶装置60と,第1の記憶装置60に記憶された発話データから所定の特徴量ベクトルを抽出し,話者判別のための学習パターンとして出力する特徴量抽出部62と,特徴量抽出部62により抽出された学習パターン集合を記憶する第2の記憶装置64と,第2の記憶装置64に記憶された学習パターン集合を学習のためのサンプルデータとして,後述する手順にしたがって話者の判別関数を学習し判別関数伝達媒体44に与えるための学習装置66とを含む.
【0045】
一方,話者判別装置48は,判別関数伝達媒体44により伝達された話者別の判別関数を記憶する判別関数記憶部80と,判別関数学習装置42の特徴量抽出部62と同じ手法により入力音声46から所定の特徴量ベクトルを抽出するための特徴量抽出部82と,特徴量抽出部82により抽出された特徴量ベクトルに判別関数記憶部80に記憶された判別関数を適用し,複数の話者のうち1人を入力音声46の話者として判別し,話者判別結果50を出力する話者判別部84とを含む.
【0046】
後述するように,判別関数学習装置42及び話者判別装置48はいずれも記憶装置及び判別関数伝達媒体44とのデータ交換機能を備えたコンピュータハードウェア,及びそのコンピュータハードウェア上で実行されるコンピュータソフトウェアにより実現される.本明細書では,以下,判別関数学習装置42を実現するためのコンピュータプログラムの制御構造について説明する.
【0047】
2.2.2 計算手順
図4及び図5を参照して,本実施の形態に係る学習を実現するためのプログラムは,以下の各ステップを有する.
1.(ステップ110)
正定値カーネルK(・,・)を用意する.
2.(ステップ112)
プロトタイプ集合{pmMm=1を用意する.プロトタイプ集合は予め準備しておくこともできるが,本実施の形態では,学習パターン集合{xnn=1をクラスタリングすることによりプロトタイプ集合を求める.
3.(ステップ114及び116)
各クラスCjに対して,M次係数ベクトルτ(0)jを初期化する(j=1,2,…,J).
4.(ステップ118)
係数ベクトルτの適応的学習を通じた繰返回数を示す繰返制御変数tをt=0に初期化する.同様に,全学習パターンを用いた繰返しの数を示すエポック回数を示す変数eの上限値Eを設定する.
5.(ステップ120)
係数ベクトルτについての適応的学習を行なう.この詳細については図5を参照して後述する.ステップ120の処理の結果,各クラスCj(j=1,2,…,J)の各々について,判別関数gj(x)を構成するために必要な係数ベクトルτj(j=1,2,…,J)を得ることができる.
6.(ステップ122及び124)
ステップ120の処理により最終的に得られた係数ベクトルτj(j=1,2,…,J)から,次式に従ってクラスCj(j=1,2,…,J)の判別関数を構成する.
【0048】
【数15】

【0049】
7.(ステップ126)
ステップ122及び124の処理で得られた各クラスの判別関数gj(x)(j=1,2,…,J)を所定の記憶装置に記憶して処理を終了する.
図5を参照して,図4に示すステップ120の係数ベクトルτの適応的学習処理は以下のステップを含む.
すなわち,係数ベクトルτの適応的学習処理では,エポック変数e=0,1,…,Eに対して以下の処理152を繰返す(ステップ150).
処理152は,全学習パターンに対して以下の処理162を繰返すステップ160と,ステップ160の処理が終了したのち,学習パターン集合ΩNにおける学習パターンの並び順をシャッフルするステップ164とを含む.
処理162は以下のサブステップを含む.
(a)(サブステップ170)
学習パターン集合ΩNから,1個の学習パターン(xn,yn)を取り出す.
(b)(サブステップ172)
式(7)に従い,M次ベクトルk(xn)を構成する.
(c)(サブステップ174及び176)
各クラスCj(j=1,2,…,J)に対して,判別関数値gjを以下の式に従い計算する(j=1,2,…,J).
【0050】
【数16】

(d)(サブステップ178)
学習パターンxnに対するbest−incorrectクラスCinを次式にしたがって求める.
【0051】
【数17】

(e)(サブステップ180)
初期のMCE学習定式化における関数マージン型誤分類測度dynを次式にしたがって計算する.
【0052】
【数18】

(f)(サブステップ182)
幾何マージン型誤分類測度値Dynを次式に従って計算する.
【0053】
【数19】

(g)(サブステップ184)
次式に従って係数ベクトルτjを更新する(j=1,2,…,J).
【0054】
【数20】

【0055】
(h)(サブステップ186)
t=t+1と更新して,対象となっている学習パターンに対する処理を終了する.
以上のような制御構造を有するコンピュータプログラムをコンピュータで実行させることにより,第1の実施の形態に係る判別関数の学習が完了する.
【0056】
(2.3 初期化(ステップ116))
本実施の形態では,上記コンピュータプログラムのステップ114及び116における初期化手法として,公知の多クラスサポートベクターマシーン(以下「MSVM」と略記)を採用する.他手法も可能であり,それらについては変形例として後述する.
【0057】
再び図2を参照して,MSVMでは,カーネルを定義する際にも現れる,非常に高い次元の空間34(これを空間Hとする.)への特徴変換φ(・)を導入し,空間Hにおける線形判別関数を扱う.この線形判別関数は次式で与えられる.
【0058】
【数21】

MSVMにおける学習対象は,非常に高い次元の係数ベクトル集合{wjJj=1である.その学習は,次式の制約条件付き最適化問題の解を与える係数ベクトル集合{wjJj=1を探索することで行なわれる.
【0059】
【数22】

ここで1(p)は命題pが真なら1,偽なら0を返す指示関数である.目的関数の第1項
【0060】
【数23】

は線形判別関数の係数ベクトルの大きさを制約する働きを持ち,この項の最小化は,空間Hにおける幾何マージン(式(18)の判別関数により定まる空間Hでの分類決定境界Γ‘(図2を参照)と,それに最も近い学習パターンとの,空間Hにおけるユークリッド距離r’)の最大化を目指すものである.また目的関数の第2項におけるξnはスラック変数とよばれる.上式の制約式は,「学習パターンxnの所属しているクラスCynの判別関数値は,クラスCyn以外のクラスの判別関数値+(1−ξn)よりも大きい」ということを表している.この制約は,正解クラスCynに対応する判別関数値を,その他のクラスに対応する判別関数値より1以上大きくすることによってマージンをかせぐ効果をもたらしている.ただし,スラック変数ξnの値分だけはマージンが小さくなることを許容しており,目的関数の第2項の最小化により,この許容量を最小化しようとしている.更に,幾何マージン最大化のための係数ノルム最小化と上記スラック変数の最小化との2つの目的を達成するべく,両目的関数のハイパーパラメータβによる重み付け和により,MSVMの目的関数が構成されている.
【0061】
上記の制約条件付き最適化問題はラグランジュ乗数法によって解くことができ,結果的にN個のJ次元ベクトル集合{τnn=1に関する次式の凸最適化問題を解くことに帰着する.(この式中の「」は,数式イメージでは「τ」の直上に記載されている.)
【0062】
【数24】

なおここでτn
【0063】
【数25】

である.式(6)の係数ベクトルτjがプロトタイプ番号mについて並べたM次ベクトルであったのに対し,上式の係数ベクトルτnはクラス番号jについて並べたJ次ベクトルである.また式(20)の「1yn」はyn成分のみ1で他の成分が0のJ次ベクトル,太字の「1」は全ての成分が1のJ次ベクトルである.そして,所望の係数ベクトルwjは次式で与えられる.
【0064】
【数26】

更にこれを式(18)に代入して,判別関数が次に示す式で与えられることとなる(定数倍β―1は分類決定に無関係のため省略可).
【0065】
【数27】

この判別関数(式(23))は,プロトタイプ集合{pmMm=1={xnn=1(M=N)としたときの式(1)の判別関数と同じである.よって,プロトタイプ集合を学習パターン集合そのものとした場合に,MSVMで計算される係数ベクトル集合{τn,jn=1Jj=1を2.2で開示したアルゴリズムのステップ114及び116における初期化に用いることができる.
【0066】
本実施の形態において,上述のMSVMをそのまま初期化として採用する場合,プロトタイプ集合を学習パターン集合そのものとする必要がある.したがって,特に学習パターンの総数が非常に多い場合,本実施の形態におけるMCE学習を非常に高い次元で行なわなければならず,計算量の爆発と数値的不安定性をもたらす.この高次元化の問題を回避するために,(1)上記のMSVMで得られたサポートパターンのみをプロトタイプとする方法,及び(2)プロトタイプ集合を学習パターン集合としたMSVM法,のいずれかを適用することも可能である.以下,これら変形例についてその詳細を説明する.
【0067】
〈変形例1〉
2.3.1 サポートパターンのみをプロトタイプとする方法
前記したMSVMでは,式(20)の凸最適化問題を解いて得られる係数ベクトル集合{τnn=1に含まれる係数ベクトルが,いくつかの(しばしば多くの)nに対して零ベクトル(又は零ベクトルに近いベクトル)となる.これは対応する学習パターンxnが分類境界から遠く離れた正解クラスの領域に存在していることを意味しており,そのような学習パターンは分類境界の形成に対して貢献度が低いと考えられる.零ベクトルに近くないτnに対応する学習パターンxnはサポートパターン又はサポートベクターとよばれる.よって,すべてのサポートパターンの集合をプロトタイプ集合{pmMm=1として,式(1)の判別関数を構成してもよい.この場合,Mはサポートパターンの総数となる.具体的には,係数ベクトルのノルムの絶対値があるしきい値以上となる学習パターンのみを用いればよい.
【0068】
〈変形例2〉
2.3.2 プロトタイプ集合を学習パターン集合としたMSVM法
この初期化手法の実装には,まず学習パターン集合{xnn=1を所属クラス毎にクラスタリングしてプロトタイプ集合{pmMm=1を得て(クラス毎のクラスタリングであるため各pmにはその所属するクラス番号ymが付与されている.),そして式(19),(20),(22)及び(23)において,{xnn=1を{pmMm=1に,{ynn=1を{ymMm=1に,NをMに,それぞれ置き換えるだけで良い.こうして得られる判別関数である式(23)が本実施の形態で採用する式(1)と同型となる.クラスタリングの手法は問わないが,例えばK−means法を用いる場合の手法は非特許文献2で提案されている(ただし非特許文献2は2クラス分類を対象としたSVMを扱っている).
【0069】
(2.4 本実施の形態の効果に対する理論的考察)
本実施の形態で採用する判別関数である式(1)は,前記MSVMの定式化と同じように,高次元空間Hへの特徴変換写像φ(・)を使って次式のような空間H上の線形判別関数の形式で書き表すこともできる.
【0070】
【数28】

特に,wjj)が空間Hに写されたプロトタイプ集合{φ(pm)}Mm=1の線形結合であり,その結合係数が式(6)の係数ベクトルτjの成分で,したがってwjj)の値が係数ベクトルτjにより定まることに注意するべきである.式(25)より,2つのクラスCiとCj(i≠j)に関して次式がなりたつことがわかる.
【0071】
【数29】

ここでM次係数ベクトルτj及びM次行列Kはそれぞれ式(6)及び式(2)で与えられている.そして2.1で述べたような境界付近の正分類学習パターンxをとり,この正解クラスとbest-incorrectクラスとをそれぞれCy及びCiとする.式(26)がなりたつことと,判別関数gj(x;Λ)が式(5)と式(24)との2通りに書けることにより,以下の等式がなりたつことがわかる.
【0072】
【数30】

【0073】
2.1で議論したように,上式(27)の左辺はM次元空間Bにおける幾何マージンを表す.2.1での議論と同様の議論を高次元空間Hにおける線形判別関数である式(24)に当てはめることにより,式(27)の右辺が空間Hにおける幾何マージンを表していることもわかる.すなわち式(27)は,高々有限次元の空間Bにおける幾何マージンと非常に高い次元の(しばしば無限次元の)特徴空間Hにおける幾何マージンとが一致することを示している.その結果,有限次元である係数ベクトル集合{τjJj=1を調整する本実施の形態の大幾何マージンMCE学習が,カーネルに付随する非常に高い次元の特徴空間における大幾何マージンMCE学習にもなっていることが保証されている.
【0074】
式(27)の右辺からわかるように,2クラス対の係数ベクトルの差のノルム||wy−wI||を小さくすることが,高次元空間Hにおける幾何マージンの増大化に対応する.ところが,MSVMの学習目的関数である式(19)は,差ではなく係数ベクトルそのもののノルム||wj||の2乗総和ΣJj=1||wj||2の最小化を目指している.この総和を小さくしても,各クラスに関する係数ベクトル個々のノルムが小さくなる保証はない.更にまた,本来目指すべき各クラス対の係数ベクトル差のノルムが小さくなることも保証されない.つまりMSVMにおける幾何マージン増大化は不十分であることがわかる.これに対し本実施の形態は,式(27)の関係から,高々有限次元の係数ベクトルτjの調整によって空間Hにおける幾何マージンを直接的に増大させることができる.またMSVMは,式(19)において,学習パターンxnに対する損失であるスラック変数ξnが分類誤り数を直接的に表しておらず,学習パラメータ最適化が分類誤り最小化の最終目的に対して直接的ではない.しかし本実施の形態ではMCE学習を用いており,学習パラメータ最適化が分類誤り最小化の最終目的に対して直接的である.
【0075】
すなわち,本実施の形態においては,カーネルを用いているため判別関数がMSVMと同様の高い表現能力を有している.しかも有限次元パラメータの調節を介して,分類誤り率の最小化とカーネルに付随する高次元空間における幾何マージンの増大化とが共に実現可能である.言い換えれば,本実施の形態により,複雑な分類タスクにおいて,未知パターンに対する高い認識率が実現できる.
【0076】
[3 さらなる変形例]
(3.1 混合ガウスモデル及び動径基底関数ネットワークによる初期化)
カーネルとして式(3)のガウス関数を用いた場合,上記実施の形態における判別関数である式(1)は,パラメータの集合{τm,jMm=1Jj=1とプロトタイプ集合{pmMm=1とを適当に定めることにより,混合ガウスモデル(Gaussian Mixture Model:GMM)又は動径基底関数(Radial Basic Function:RBF)ネットワーク(C. M. Bishop(元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇監訳),パターン認識と機械学習,シュプリンガー・ジャパン,東京,2007.)と同じ形をしていることがわかる.従来,GMMに関しては,最尤推定法又は初期のMCE学習法によりパラメータ推定が行なわれていた.RBFネットワークに関しては,最小2乗法又は初期のMCE学習法により学習がなされていた.
【0077】
そこで,これらの既学習のGMM又はRBFネットワークを,2.2.2において開示したアルゴリズムのサブステップ114及び116における初期化として採用してもよい.こうすることにより,これらの古くから馴染み深い分類器モデルに対して,高次元空間における幾何マージン増大化の概念が導入され,複雑なパターン分布に対する分類精度の向上が実現される.
【0078】
(3.2 値が0であるパラメータの固定)
2.2.2において開示したアルゴリズムのステップ114及び116における初期化において,係数の集合{τ(0)m,jMm=1Jj=1の中の係数ベクトルのいくつかが(しばしば多くが)0(又は0に近い値)となる.本実施の形態では,図4及び図5に示すコンピュータプログラムにおいて,そのようなパラメータを0に固定するような修正を施してもよい.
【0079】
(3.3 係数ベクトル集合{αjJj=1の調整)
2.2.2において開示したアルゴリズムは,係数ベクトル集合{τjJj=1の調整による式(13)の幾何マージンの増大化を行なう.しかし,本発明はそのような実施の形態には限定されない.例えば,係数ベクトル集合{αjJj=1の調整による式(12)の増大化を行なってもよい.その際に大幾何マージンMCE学習で用いられる誤分類測度は
【0080】
【数31】

であり,学習のためのコンピュータプログラムは次に説明する第2の実施の形態のような制御構造を持つものとなる.
【0081】
(3.4 プロトタイプの調整)
2.2.2において開示した制御構造を持つコンピュータプログラムは,式(1)の判別関数におけるパラメータの集合{τm,jMm=1Jj=1のみを調整する.しかし,本発明はそのような実施の形態には限定されない.例えば,この係数のみならず,プロトタイプ集合{pmMm=1をも大幾何マージンMCE学習法に基づいて調整しても良い.こうすることで,幾何マージン増大化及び分類誤り確率最小化の目的に対して最適なプロトタイプを自動的に学習することが可能となり,分類器の分類精度が更に向上する.
【0082】
プロトタイプをも調整するアルゴリズムは,図4及び図5に示したプロトタイプ集合{pmMm=1,k(xn)及びグラム行列Kをそれぞれ繰返し番号tの添字のついたプロトタイプ集合{p(t)mMm=1,k(t)(xn),及びグラム行列K(t)に置き換え,更に図5のサブステップ184においてプロトタイプに関する更新式を付け加えるだけで良い.ここで,k(t)(x)及びK(t)は,それぞれ式(7)及び式(2)において,pm=p(t)m(m=1,…,M)としたものである.例えば式(3)のガウシアンカーネルを用いた場合の学習アルゴリズムを採用したものが,後述の第3の実施の形態である.
【0083】
[第2の実施の形態]
図6を参照して,この発明の第2の実施の形態を実現するためのコンピュータプログラムは以下のような制御構造を有する.
1.(ステップ110)
正定値カーネルK(・,・)を用意する.
2.(ステップ112)
プロトタイプ集合{pmMm=1を用意する.必要ならば,学習パターン集合{xnNn=1をクラスタリングすることによりプロトタイプ集合を求める.
3.(ステップ210)
式(2)に従ってグラム行列Kを構成し,更に式(8)のコレスキー分解を行ない,下三角行列Lを得る.
4.(ステップ114及び116)
各クラスCjに対して,M次係数ベクトルτ(0)jを初期化する(j=1,…,J).
5.(ステップ212及び214)
各クラスCjに対して,M次係数ベクトルα(0)jをα(0)j=LTτ(0)jにより計算する(j=1,…,J).
6.(ステップ118)
繰返番号を表す変数tを0に設定する.またエポック回数eの上限値Eを設定する.
7.(ステップ220)
e=0,1,…,Eに対して,係数ベクトルαの適応的学習処理を実行する.この処理の詳細については図7を参照して後述する.
8.(ステップ222及び224)
最終的に得られた係数ベクトルαjから,次式に従ってクラスCjの判別関数gj(x;Λ)を構成する(j=1,…,J).
【0084】
【数32】

ただしβ(x)は連立1次方程式:Lβ=k(x)のβについての解である.
【0085】
9.(ステップ126)
このようにして各クラスCjに関する判別関数gj(x)が得られたら,それらを所定の記憶装置に記憶して処理を終了する.
図7を参照して.図6のステップ220で行なわれるαjに関する適応的学習処理を実現するプログラムは,以下のような制御構造を持つ.
この処理は,e=0,1,…,Eに対して以下の処理252を実行するステップ250を含む.
処理252は,学習パターン集合{xnNn=1の全ての要素に対して以下の処理262を実行するステップ260と,ステップ260の処理が完了した後,学習パターン集合ΩN内の学習パターンの並び順をシャッフルするステップ264とを含む.
処理262は,以下のサブステップを含む.
(a)(サブステップ170)
学習パターン集合ΩNから,1個の学習パターン{xn,yn}を取り出す.
(b)(サブステップ172)
式(7)に従い,M次ベクトルk(xn)を構成する.
(c)(サブステップ270)
連立1次方程式:Lβ=k(xn)をβについて解き,解βnを得る.
(d)(サブステップ272及び274)
各クラスCjに対して,判別関数値gjをgj={α(t)jTβnにしたがい計算する(j=1,…,J).
(e)(サブステップ178)
学習パターンxnに対するbest-incorrectクラスCinをgin=maxJj,j≠ynjに従って求める.
(f)(サブステップ180)
yn=−gyn+ginを計算する.
(g)(サブステップ182)
幾何マージン型誤分類測度値を次式に従って計算する.
【0086】
【数33】

(h)(サブステップ276)
次式に従って係数ベクトルαjを更新し(j=1,…,J),その後変数tの値を1インクリメントする.
【0087】
【数34】

【0088】
《第3の実施の形態》
例えば式(3)のガウシアンカーネルを用いた場合の学習アルゴリズムは,ここに説明する第3の実施の形態のアルゴリズムとなる.以下,図8及び図9を参照してこのアルゴリズムを実現するコンピュータプログラムの制御構造について説明する.
1.(ステップ110)
式(3)のガウシアンカーネルK(・,・)を用意する.
2.(ステップ112)
プロトタイプ集合{p(0)mMm=1を用意する.必要ならば,学習パターン集合{xnNn=1をクラスタリングすることによりプロトタイプ集合を求める.
3.(ステップ114及び116)
各クラスCjに対して,M次係数ベクトルτ(0)jを初期化する(j=1,…,J).
4.(ステップ118)
繰返番号を表す変数tを0に設定する.またエポック回数eの上限値Eを設定する.
5.(ステップ300)
e=0,1,…,Eに対して,係数ベクトルτとpmの適応的学習処理を実行する.この処理の詳細については図9を参照して後述する.
6.(ステップ302及び304)
最終的に得られた係数ベクトル集合{τjJj=1及びプロトタイプ集合{pmMm=1から,次式に従ってクラスCjの判別関数gj(x)を構成する(j=1,…,J).
【0089】
【数35】

【0090】
9.(ステップ126)
このようにして各クラスCjに関する判別関数gj(x)が得られたら,それらを所定の記憶装置に記憶して処理を終了する.
【0091】
図9を参照して,図8のステップ300で行なわれる係数ベクトルτとpmの適応的学習処理を実現するプログラムは,以下のような制御構造を持つ.
この処理は,e=0,1,…,Eに対して以下の処理312を実行するステップ310を含む.
処理312は,学習パターン集合{xnNn=1の全ての要素に対して以下の処理322を実行するステップ320と,ステップ320の処理が完了した後,学習パターン集合ΩN内の学習パターンの並び順をシャッフルするステップ324とを含む.
処理322は,以下のサブステップを含む.
(a)(サブステップ170)
学習パターン集合ΩNから,1個の学習パターン{xn,yn}を取り出す.
(b)(サブステップ330)
式(7)に従い,M次ベクトルk(t)(xn)を構成する.
(c)(サブステップ332及び334)
各クラスCjに対して,判別関数値gjをgj={τ(t)jT(t)(xn)にしたがい計算する(j=1,…,J).
(d)(サブステップ178)
学習パターンxnに対するbest-incorrectクラスCinをgin=maxJj,j≠ynjにより求める.
(e)(サブステップ180)
yn=−gyn+ginを計算する.
(f)(サブステップ336)
幾何マージン型誤分類測度値を次式に従って計算する.
【0092】
【数36】

(g)(サブステップ338)
次式に従って係数ベクトル集合{τjJj=1及びプロトタイプ集合{pmMm=1を更新する(j=1,…,J).
【0093】
【数37】

(h)(サブステップ186)
変数tの値を1インクリメントする.
【0094】
以上に説明した本発明の実施の形態に係る学習装置は,カーネル関数を用いる分類器及び確率モデルを適用する分類器の汎用性をそのまま受け継ぐものである.したがって上記したような学習装置は,実施の形態で説明したような話者判別装置のみならず,入力パターンを予め定められた複数のクラスの1つに割当てるような任意のパターン認識器に応用可能である.より具体的な例として,パターンとクラス・プロトタイプとの距離尺度に基づいて判別関数を計算する文字認識装置,隠れマルコフモデルを用いてパターンのクラス帰属確率を計算しそれを判別関数とする音声認識装置等が挙げられる.
【0095】
[コンピュータによる実現]
上述の実施の形態は,コンピュータシステムと,コンピュータシステム上で動作するコンピュータプログラムとによって実現されうる.図10はこの実施の形態で用いられるコンピュータシステム530の外観を示し,図11はコンピュータシステム530のブロック図である.ここに示すコンピュータシステム530は単なる例示であって,他の構成も利用可能である.
【0096】
図10を参照して,コンピュータシステム530は,コンピュータ540と,全てコンピュータ540に接続された,モニタ542,キーボード546,マウス548,スピーカ572及びマイクロフォン570とを含む.さらに,コンピュータ540は,DVD(Digital Versatile Disc)ドライブ550と,半導体メモリドライブ552とを含む.
【0097】
図11を参照して,コンピュータ540はさらに,DVDドライブ550と半導体メモリドライブ552とに接続されたバス566と,全てバス566に接続された,CPU(Central Processing Unit:中央処理装置)556,コンピュータ540のブートアッププログラム等を記憶するROM(Read−Only Memory:読出し専用メモリ)558,CPU556の作業領域を提供するとともにCPU556によって実行されるプログラムの記憶領域を提供するRAM(Random Access Memory:ランダムアクセスメモリ)560,並びに学習パターン集合及び判別関数を記憶するハードディスクドライブ(HDD)554とを含む.
【0098】
上述の実施の形態のシステムを実現するソフトウェアは,DVD562又は半導体メモリ564等の記憶媒体に記録されるオブジェクトコード又はスクリプトの形で配布され,DVDドライブ550又は半導体メモリドライブ552等の読出装置によってコンピュータ540に与えられ,HDD554に記憶されてもよい.CPU556がプログラムを実行するときは,プログラムはHDD554から読出され,RAM560に記憶される.RA560の,CPU556内の図示しないプログラムカウンタによって指示されるアドレスから命令がフェッチされ,その命令が実行される.CPU556は処理すべきデータをハードディスクドライブ554又はRAM560等から読出し,処理結果をまたハードディスクドライブ554又はRAM560等に記憶する.
【0099】
コンピュータシステム530の一般的動作は周知であるので,詳細な説明はここでは行なわない.
【0100】
ソフトウェア配布の方法については,これを記憶媒体に固定することは必ずしも必要でない.例えば,ソフトウェアはネットワークに接続された別のコンピュータから配布されてもよい.ソフトウェアの一部をハードディスクドライブ554に記憶させ,ソフトウェアの残りの部分をネットワークを介してハードディスクに取込み,実行時に統合してもよい.
【0101】
典型的には,現代のコンピュータはコンピュータのオペレーティングシステム(OS)によって提供される一般的な機能を利用し,所望の目的にしたがって制御されたやり方で機能を実行する.さらに,サードパーティによって提供されるコンピュータプログラムツールキット又はツールボックスは基本的なものだけでなく,学習アルゴリズムの単位を構成する機能(例えばクラスタリングツール,MSVM学習ツール等の数値処理プログラムキット)を提供する洗練されたプログラムもある.したがって,OS又はサードパーティによって提供されうる一般的な機能を含まず,単にこうした単位となる機能の実行順序の組合せを指示するのみのプログラムも,そのプログラムが全体として所望の目的を達成するのであれば,この発明の範囲に含まれる.
【0102】
以上のように,本発明によれば,公知技術である大幾何マージンMCE学習法を,カーネルの線形和の形式を持つ判別関数の線形和係数パラメータに対して適用する.これにより,カーネルを用いて精緻な分類決定境界を形成することが可能となる.それだけでなく,分類誤り最小化と未知パターンに対する耐性向上とを共に直接的に目指す学習法が定型化される.結果的に,本発明により,パターンの分布構造が複雑である場合においても,学習パターン以外の未知パターンに対する高い認識率が得られる.
【0103】
今回開示された実施の形態は単に例示であって,本発明が上記した実施の形態のみに制限されるわけではない.本発明の範囲は,発明の詳細な説明の記載を参酌した上で,特許請求の範囲の各請求項によって示され,そこに記載された文言と均等の意味及び範囲内での全ての変更を含む.
【符号の説明】
【0104】
20,30 入力パターン空間
22,24,26,28 クラス
32 写像先のM次元空間
34 非常に高い次元の空間
40 話者識別のためのシステム
42 判別関数学習装置
44 判別関数伝達媒体
46 入力音声
48 話者判別装置
50 話者判別結果
60 学習発話データを記憶する第1の記憶装置
62,82 特徴量抽出部
64 第2の記憶装置
66 学習装置
80 判別関数記憶部
84 話者判別部

【特許請求の範囲】
【請求項1】
複数個のクラスのいずれかに入力パターンを分類するためのパターン分類装置の学習装置であって,
所定の物理量の観測データから得られるベクトルと,当該ベクトルが属するクラスのラベルとからなる学習パターンを要素とする学習パターン集合を記憶するための記憶手段と,
前記複数個のクラスに対しそれぞれ定義される,入力パターンが当該クラスに属する度合いを測る判別関数を,前記記憶手段に記憶された学習パターン集合に含まれる学習パターンを学習データとして学習するための学習手段とを含み,
前記判別関数は,入力パターンと,前記複数個のクラスにそれぞれ対応する,前記学習パターン集合から得られる複数個のプロトタイプとの間のカーネル演算の線形和により表される関数であり,
前記複数個のプロトタイプはプロトタイプ集合を形成し,
当該カーネル演算は,入力パターンの空間より高次元の空間に入力パターンを変換する特徴変換を定めたときに,当該特徴変換による変換後の入力パターンと,当該特徴変換による変換後のプロトタイプとの間の内積により定義され,かつ,当該カーネル演算は,前記プロトタイプ集合内に含まれるプロトタイプ相互間でのカーネル演算により構成されるグラム行列が,どんな個数のどんなプロトタイプに対しても常に正定値行列となるカーネル演算であり,
前記複数個のクラスの各々に対して,前記線形和の各プロトタイプに対応するカーネルの係数は係数ベクトルを形成し,
前記複数個のクラスの各々に対して形成される係数ベクトルは係数ベクトル集合を形成し,
前記学習手段は,前記高次元の空間において,前記学習パターンと前記係数ベクトル集合との関数として定義される平均分類誤り数損失が最小となるように前記係数ベクトル集合に含まれる係数ベクトルを調整する,パターン分類装置の学習装置.
【請求項2】
前記観測データであるベクトルをクラスタリングすることにより,前記複数個のプロトタイプを算出するためのクラスタリング手段をさらに含む,請求項1に記載のパターン分類装置の学習装置.
【請求項3】
前記学習手段は,
前記係数ベクトル集合に含まれる係数ベクトルの各々を所定の初期化方法により初期化するための初期化手段と,
前記学習パターン集合に含まれる学習パターンから1個を抽出するための学習パターン抽出手段と,
前記学習パターン抽出手段により学習パターンが抽出されたことに応答して,前記係数ベクトル集合に含まれる係数ベクトルを,前記平均分類誤り数損失が最小となるように調整するための係数ベクトル調整手段と,
前記学習パターン抽出手段による学習パターンの抽出と,前記係数ベクトル調整手段による係数ベクトルの調整とを,前記学習パターン集合内の全学習パターンが前記学習パターン抽出手段により抽出されるまで,繰返し実行させるための第1の繰返し制御手段とを含む,請求項1に記載のパターン分類装置の学習装置.
【請求項4】
前記学習手段はさらに,
前記第1の繰返し制御手段による繰返しが終了するごとに,前記学習パターン集合内の学習パターンの並びをシャッフルするためのシャッフル手段と,
前記シャッフル手段によるシャッフルが完了したことに応答して,前記第1の繰返し制御手段による繰返しを再開させるための第2の繰返し制御手段と,
前記第2の繰返し制御手段による繰返しが所定の回数だけ完了したときに,前記第2の繰返し制御手段による繰返しを停止させるための停止手段とを含む,請求項3に記載のパターン分類装置の学習装置.
【請求項5】
前記学習装置はさらに,前記初期化手段により得られた係数ベクトルの成分のうち,絶対値が所定のしきい値より小さな成分をゼロに固定するための手段を含む,請求項3に記載のパターン分類装置の学習装置.
【請求項6】
前記プロトタイプ集合は前記学習パターン集合であり,
前記初期化手段は,
前記学習パターン集合に含まれる学習パターンを前記複数個のクラスに分類するための,学習パターンに対する所定の変換後のベクトルの線形和の係数ベクトルを,多クラスサポートベクターマシーンの学習により最適化するためのSVM学習手段と,
前記SVM学習手段により前記学習パターン集合に対して最適化された係数ベクトルを,前記線形和の各プロトタイプに対応するカーネルの係数からなる係数ベクトルの初期値として設定するための初期値設定手段とを含む,請求項3に記載のパターン分類装置の学習装置.
【請求項7】
前記初期化手段はさらに,前記SVM学習手段により最適化された係数ベクトルに対応する学習パターンのうち,係数ベクトルが零ベクトルと所定の値以上異なるサポートベクトルのみをプロトタイプとして選択し,前記判別関数を構成するためのプロトタイプ選択手段を含む,請求項6に記載のパターン分類の学習装置.
【請求項8】
前記初期化手段は,前記学習パターン集合及び前記プロトタイプ集合とに適合するように予め学習がされていた混合ガウスモデル又は動径基底関数の係数ベクトルを,前記係数ベクトル集合の初期値として設定するための手段を含む,請求項3に記載のパターン分類の学習装置.
【請求項9】
前記学習手段は,
前記係数ベクトル集合に含まれる係数ベクトルの各々を所定の初期化方法により初期化するための初期化手段と,
前記学習パターン集合に含まれる学習パターンから1個を抽出するための学習パターン抽出手段と,
前記学習パターン抽出手段により学習パターンが抽出されたことに応答して,前記係数ベクトル集合に含まれる係数ベクトルと,前記プロトタイプ集合に含まれるプロトタイプとを,前記平均分類誤り数損失が最小となるように調整するためのパラメータ調整手段と,
前記学習パターン抽出手段による学習パターンの抽出と,前記パラメータ調整手段による係数ベクトル及びプロトタイプの調整とを,前記学習パターン集合内の全学習パターンが前記学習パターン抽出手段により抽出されるまで,繰返し実行させるための第1の繰返し制御手段とを含む,請求項1に記載のパターン分類装置の学習装置.
【請求項10】
前記学習手段はさらに,
前記第1の繰返し制御手段による繰返しが終了するごとに,前記学習パターン集合内の学習パターンの並びをシャッフルするためのシャッフル手段と,
前記シャッフル手段によるシャッフルが完了したことに応答して,前記第1の繰返し制御手段による繰返しを再開させるための第2の繰返し制御手段と,
前記第2の繰返し制御手段による繰返しが所定の回数だけ完了したときに,前記第2の繰返し制御手段による繰返しを停止させるための停止手段とを含む,請求項9に記載のパターン分類装置の学習装置.
【請求項11】
コンピュータを,複数個のクラスのいずれかに入力パターンを分類するためのパターン分類装置の学習装置として機能させるコンピュータプログラムであって,当該コンピュータプログラムは,コンピュータを,
所定の物理量の観測データから得られるベクトルと,当該ベクトルが属するクラスのラベルとからなる学習パターンを要素とする学習パターン集合を記憶するための記憶手段と,
前記複数個のクラスに対しそれぞれ定義される,入力パターンが当該クラスに属する度合いを測る判別関数を,前記記憶手段に記憶された学習パターン集合に含まれる学習パターンを学習データとして学習するための学習手段として機能させ,
前記判別関数は,入力パターンと,前記複数個のクラスにそれぞれ対応する,前記学習パターン集合から得られる複数個のプロトタイプとの間のカーネル演算の線形和により表される関数であり,
前記複数個のプロトタイプはプロトタイプ集合を形成し,
当該カーネル演算は,入力パターンの空間より高次元の空間に入力パターンを変換する特徴変換を定めたときに,当該特徴変換による変換後の入力パターンと,当該特徴変換による変換後のプロトタイプとの間の内積により定義され,かつ,当該カーネル演算は,前記プロトタイプ集合内に含まれるプロトタイプ相互間でのカーネル演算により構成されるグラム行列が,どんな個数のどんなプロトタイプに対しても常に正定値行列となるカーネル演算であり,
前記複数個のクラスの各々に対して,前記線形和の各プロトタイプに対応するカーネルの係数は係数ベクトルを形成し,
前記複数個のクラスの各々に対して形成される係数ベクトルは係数ベクトル集合を形成し,
前記学習手段は,前記高次元の空間において,前記学習パターンと前記係数ベクトル集合との関数として定義される平均分類誤り数損失が最小となるように前記係数ベクトル集合に含まれる係数ベクトルを調整する,コンピュータプログラム.

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate