【文献】
笠井航,他3名,オンラインプロトタイプ生成による大規模データに対する高速SVM構築法,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,2009年 6月 1日,第J92-D巻, 第6号,pp.784-792
【文献】
渡辺秀行,他6名,判別関数の一般形に対する幾何マージンの導出とその制御を伴う最小分類誤り学習,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2009年 8月24日,第109巻,第182号,pp.1-6
【文献】
浦田穣司,他2名,Kohonen mapによる音韻認識に及ぼす情報フィードバックの効果,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1991年10月24日,第91巻,第287号,pp.29-36
(58)【調査した分野】(Int.Cl.,DB名)
前記観測データであるベクトルをクラスタリングすることにより,前記複数個のプロトタイプを算出するためのクラスタリング手段をさらに含む,請求項1に記載のパターン分類装置の学習装置.
前記学習装置はさらに,前記初期化手段により得られた係数ベクトルの成分のうち,絶対値が所定のしきい値より小さな成分をゼロに固定するための手段を含む,請求項3に記載のパターン分類装置の学習装置.
前記初期化手段はさらに,前記SVM学習手段により最適化された係数ベクトルに対応する学習パターンのうち,係数ベクトルが零ベクトルと所定の値以上異なるサポートベクトルのみをプロトタイプとして選択し,前記判別関数を構成するためのプロトタイプ選択手段を含む,請求項6に記載のパターン分類の学習装置.
前記初期化手段は,前記学習パターン集合及び前記プロトタイプ集合とに適合するように予め学習がされていた混合ガウスモデル又は動径基底関数の係数ベクトルを,前記係数ベクトル集合の初期値として設定するための手段を含む,請求項3に記載のパターン分類の学習装置.
コンピュータを,複数個のクラスのいずれかに入力パターンを分類するためのパターン分類装置の学習装置として機能させるコンピュータプログラムであって,当該コンピュータプログラムは,コンピュータを,
所定の物理量の観測データから得られるベクトルと,当該ベクトルが属するクラスのラベルとからなる学習パターンを要素とする学習パターン集合を記憶するための記憶手段と,
前記複数個のクラスに対しそれぞれ定義される,入力パターンが当該クラスに属する度合いを測る判別関数を,前記記憶手段に記憶された学習パターン集合に含まれる学習パターンを学習データとして学習するための学習手段として機能させ,
前記判別関数は,入力パターンと,前記複数個のクラスにそれぞれ対応する,前記学習パターン集合から得られる複数個のプロトタイプとの間のカーネル演算の線形和により表される関数であり,
前記複数個のプロトタイプはプロトタイプ集合を形成し,
当該カーネル演算は,入力パターンの空間より高次元の空間に入力パターンを変換する特徴変換を定めたときに,当該特徴変換による変換後の入力パターンと,当該特徴変換による変換後のプロトタイプとの間の内積により定義され,かつ,当該カーネル演算は,前記プロトタイプ集合内に含まれるプロトタイプ相互間でのカーネル演算により構成されるグラム行列が,どんな個数のどんなプロトタイプに対しても常に正定値行列となるカーネル演算であり,
前記複数個のクラスの各々に対して,前記線形和の各プロトタイプに対応するカーネルの係数は係数ベクトルを形成し,
前記複数個のクラスの各々に対して形成される係数ベクトルは係数ベクトル集合を形成し,
前記学習手段は,前記高次元の空間において,前記学習パターンと前記係数ベクトル集合との関数として定義される平均分類誤り数損失が最小となるように前記係数ベクトル集合に含まれる係数ベクトルを調整する,コンピュータプログラム.
【発明を実施するための形態】
【0019】
以下の説明及び図面では,同一の部品には同一の参照番号を付してある.したがって,それらについての詳細な説明は繰返さない.
【0020】
《第1の実施の形態》
[1 分類器構造]
図1を参照して,入力パターン(観測値)ベクトルx∈Χ(
図1に示す全入力パターン空間20)をJ個のクラス(類)C
1,C
2,…,C
J(
図1におけるクラス22,24,…,26及び28)のいずれか一つに割当てる分類問題を考える.以下の説明では,説明を簡略にするために,入力パターンベクトルを単に「入力パターン」と呼び,同様の考えで「学習パターンベクトル」を「学習パターン」と呼ぶ.
【0021】
本実施の形態では,入力パターンxがクラスC
jに帰属する度合いを測る判別関数g
j(x;Λ)として次式の関数を用いる.
【0023】
ここで{p
m}
M m=1は,N個の学習パターン集合{x
n}
Nn=1から計算されるプロトタイプの集合である(Mはプロトタイプの総数).例えば,これらは学習パターン{x
n}
Nn=1をクラスタリングして得られる,各クラスタの代表ベクトルである.クラスタリングの手法は問わない.なおプロトタイプ集合{p
m}
Mm=1は学習パターン集合{x
n}
Nn=1そのものでもよい(この場合はM=N).τ
m,jは学習によって調整される実数パラメータである.Λは分類器の学習パラメータ集合であり,今の場合はΛ={τ
m,j}
Mm=1Jj=1である.2つの学習パターンx,x´∈Χに対し,K(x,x´)は,入力パターン空間Χから非常に高い次元(しばしば無限次元)の空間(ここでは空間Hとする)への特徴変換φ(・)を適当に定めたときの,2つの特徴変換されたパターンベクトルφ(x),φ(x´)の内積を表し,カーネルとよばれる.カーネルK(・,・)としては様々なものが存在するが,ここでは,M個のプロトタイプで構成される次式のグラム行列
【0024】
【数2】
が,M及び{p
m}
Mm=1がどんな値であったとしても常に正定値となるものであれば,その種類を問わない.そのようなカーネルを正定値カーネルという.実際,多くのカーネルがこの正定値の条件を満たす.例えば次式のガウシアンカーネルがこの条件を満たし,実際に広く用いられている.
【0025】
【数3】
そして,分類器は次式の分類決定則に従って分類を行なうものとする.
【0026】
【数4】
[2 カーネル線形和型の判別関数に対する大幾何マージン最小分類誤り学習]
(2.1 特徴空間における大幾何マージン最小分類誤り学習の概略)
式(1)は,次式のようにM次ベクトルの内積形式で書き表すことができる.
【0027】
【数5】
ここで上付き「
T」は行列及びベクトルの転置を表す.ベクトルk(x)が学習パターンxをM次元特徴空間上に写像した特徴ベクトルであるとみなせば,g
j(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次元特徴ベクトルであるとみなせば,上式は,判別関数g
j(x;Λ)がM次元特徴空間B上でのベクトルα
jを係数ベクトルとした線形判別関数であることを示している.ただし本実施の形態では,式(9)の関係により,係数ベクトル集合{α
j}
Jj=1の最適化を係数ベクトル集合{τ
j}
Jj=1の調整を介して行なう.
【0032】
判別関数の集合{g
j(x;Λ)}
Jj=1により分類決定境界が定まるが,この境界はパターン空間Xのみならず特徴空間Bにおいても形成される.
図2を参照して,ここでは特徴空間Bにおいて形成される分類決定境界Γを考える.式(10)のベクトル変換β(・)により分類決定境界Γ付近に写され,しかも上記判別関数により正しく分類される学習パターンを1つ考え,これをx
oとする.ベクトルβ(x
o)と境界Γとの(特徴空間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】
ここでC
yは学習パターンx
oの属する正しいクラス,C
iは学習パターンx
oに対するbest-incorrectクラス(最大の判別関数値を与える不正解のクラス)である.ユークリッド距離rは(空間Bにおける)幾何マージンとよばれる.この値が大きくなるように判別関数を学習すれば,空間Bにおいて,境界付近の正分類の学習パターンβ(x
o)の近くに現れるであろう,同じクラスに属する未知パターンを正しく分類することができ,学習耐性が向上する[上記Watanabeらによる.].
【0034】
なお,上式(12)は係数ベクトルα
y,α
iを含むため,このままではグラム行列Kのコレスキー分解の計算及び下三角行列の逆行列計算が必要となる.プロトタイプ数Mが大きい場合,このことは数値的不安定性をもたらす(特に学習パターン集合をプロトタイプ集合と考える場合はこの問題が深刻となる).そこで本発明では,式(9)(10)を式(12)に代入することにより,幾何マージンrを係数ベクトル集合{τ
j}
Jj=1の関数形式として次式により書き直し,これを学習に用いる.
【0035】
【数10】
すなわち上式は,係数ベクトル集合{τ
j}
Jj=1を調整パラメータとした空間B上の幾何マージンであり,しかもこの式の利用によりグラム行列Kのコレスキー分解の計算及び下三角行列の逆行列計算が不要となる.
そこで,各学習パターンxに対して,幾何マージンrの符号を反転させた
【0036】
【数11】
を定める.D
y(x;Λ)は,正値ならば誤分類,負値ならば正分類に対応し,最小分類誤り(MCE)学習における誤分類測度の一種と考えることができる.そしてその絶対値は,分類決定境界からのユークリッド距離を表す.このD
y(x;Λ)を幾何マージン型誤分類測度と呼ぶことにする.
【0037】
続いて,幾何マージン型誤分類測度D
y(x;Λ)に対する平滑化分類誤り数損失を次式で定める.
【0039】
式(15)はD
y(x;Λ)に関して単調増加のロジスティックシグモイド関数であり,パラメータζが大きくなるにつれてシグモイド関数の傾きが大きく(急に)なる.ζ→∞の極限において,D
y(x;Λ)は,D
y(x;Λ)>0すなわち誤分類の場合に値1を,D
y(x;Λ)<0すなわち正分類の場合に値0をとる.すなわち,平滑化分類誤り数損失は,誤分類カウントと直接的に結びついているだけでなく,学習パラメータ集合Λに関して微分可能である.更に,式(15)の値を小さくするような学習パラメータ集合Λの調整は,分類誤り数を減少させるのみならず,D
y(x;Λ)を負の方向に増大させるため,正分類された学習パターンの(空間Bにおける)幾何マージンが増大し,未知のパターンに対する耐性を向上させることができる.
【0040】
学習では,N個の学習パターンからなる学習パターン集合Ω
N={(x
n,y
n)}
Nn=1(y
nは学習パターンx
nの属する正しいクラスの指標)から構成される次式の経験的平均損失を最小にする学習パラメータ集合Λを求める.
【0041】
【数13】
損失L(Λ)の最小化に関して,最急降下法等のバッチ的手法だけではなく,学習パターン集合Ω
Nから1個の学習パターン(x
n,y
n)を抽出する度に学習パラメータ集合Λを調整する適応的な学習方法も広く用いられている.その方法における学習パラメータ集合Λの調整機構は次式で与えられる(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)
プロトタイプ集合{p
m}
Mm=1を用意する.プロトタイプ集合は予め準備しておくこともできるが,本実施の形態では,学習パターン集合{x
n}
Nn=1をクラスタリングすることによりプロトタイプ集合を求める.
3.(ステップ114及び116)
各クラスC
jに対して,M次係数ベクトルτ
(0)jを初期化する(j=1,2,…,J).
4.(ステップ118)
係数ベクトルτの適応的学習を通じた繰返回数を示す繰返制御変数tをt=0に初期化する.同様に,全学習パターンを用いた繰返しの数を示すエポック回数を示す変数eの上限値Eを設定する.
5.(ステップ120)
係数ベクトルτについての適応的学習を行なう.この詳細については
図5を参照して後述する.ステップ120の処理の結果,各クラスC
j(j=1,2,…,J)の各々について,判別関数g
j(x)を構成するために必要な係数ベクトルτ
j(j=1,2,…,J)を得ることができる.
6.(ステップ122及び124)
ステップ120の処理により最終的に得られた係数ベクトルτ
j(j=1,2,…,J)から,次式に従ってクラスC
j(j=1,2,…,J)の判別関数を構成する.
【0049】
7.(ステップ126)
ステップ122及び124の処理で得られた各クラスの判別関数g
j(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個の学習パターン(x
n,y
n)を取り出す.
(b)(サブステップ172)
式(7)に従い,M次ベクトルk(x
n)を構成する.
(c)(サブステップ174及び176)
各クラスC
j(j=1,2,…,J)に対して,判別関数値g
jを以下の式に従い計算する(j=1,2,…,J).
【0050】
【数16】
(d)(サブステップ178)
学習パターンx
nに対するbest−incorrectクラスC
inを次式にしたがって求める.
【0051】
【数17】
(e)(サブステップ180)
初期のMCE学習定式化における関数マージン型誤分類測度d
ynを次式にしたがって計算する.
【0052】
【数18】
(f)(サブステップ182)
幾何マージン型誤分類測度値D
ynを次式に従って計算する.
【0053】
【数19】
(g)(サブステップ184)
次式に従って係数ベクトルτ
jを更新する(j=1,2,…,J).
【0055】
(h)(サブステップ186)
t=t+1と更新して,対象となっている学習パターンに対する処理を終了する.
以上のような制御構造を有するコンピュータプログラムをコンピュータで実行させることにより,第1の実施の形態に係る判別関数の学習が完了する.
【0056】
(2.3 初期化(ステップ116))
本実施の形態では,上記コンピュータプログラムのステップ114及び116における初期化手法として,公知の多クラスサポートベクターマシーン(以下「MSVM」と略記)を採用する.他手法も可能であり,それらについては変形例として後述する.
【0057】
再び
図2を参照して,MSVMでは,カーネルを定義する際にも現れる,非常に高い次元の空間34(これを空間Hとする.)への特徴変換φ(・)を導入し,空間Hにおける線形判別関数を扱う.この線形判別関数は次式で与えられる.
【0058】
【数21】
MSVMにおける学習対象は,非常に高い次元の係数ベクトル集合{w
j}
Jj=1である.その学習は,次式の制約条件付き最適化問題の解を与える係数ベクトル集合{w
j}
Jj=1を探索することで行なわれる.
【0059】
【数22】
ここで1(p)は命題pが真なら1,偽なら0を返す指示関数である.目的関数の第1項
【0060】
【数23】
は線形判別関数の係数ベクトルの大きさを制約する働きを持ち,この項の最小化は,空間Hにおける幾何マージン(式(18)の判別関数により定まる空間Hでの分類決定境界Γ‘(
図2を参照)と,それに最も近い学習パターンとの,空間Hにおけるユークリッド距離r’)の最大化を目指すものである.また目的関数の第2項におけるξ
nはスラック変数とよばれる.上式の制約式は,「学習パターンx
nの所属しているクラスC
ynの判別関数値は,クラスC
yn以外のクラスの判別関数値+(1−ξ
n)よりも大きい」ということを表している.この制約は,正解クラスC
ynに対応する判別関数値を,その他のクラスに対応する判別関数値より1以上大きくすることによってマージンをかせぐ効果をもたらしている.ただし,スラック変数ξ
nの値分だけはマージンが小さくなることを許容しており,目的関数の第2項の最小化により,この許容量を最小化しようとしている.更に,幾何マージン最大化のための係数ノルム最小化と上記スラック変数の最小化との2つの目的を達成するべく,両目的関数のハイパーパラメータβによる重み付け和により,MSVMの目的関数が構成されている.
【0061】
上記の制約条件付き最適化問題はラグランジュ乗数法によって解くことができ,結果的にN個のJ次元ベクトル集合{
〜τ
n}
Nn=1に関する次式の凸最適化問題を解くことに帰着する.(この式中の「
〜」は,数式イメージでは「τ」の直上に記載されている.)
【0063】
【数25】
である.式(6)の係数ベクトルτ
jがプロトタイプ番号mについて並べたM次ベクトルであったのに対し,上式の係数ベクトル
〜τ
nはクラス番号jについて並べたJ次ベクトルである.また式(20)の「1
yn」はy
n成分のみ1で他の成分が0のJ次ベクトル,太字の「1」は全ての成分が1のJ次ベクトルである.そして,所望の係数ベクトルw
jは次式で与えられる.
【0064】
【数26】
更にこれを式(18)に代入して,判別関数が次に示す式で与えられることとなる(定数倍β
―1は分類決定に無関係のため省略可).
【0065】
【数27】
この判別関数(式(23))は,プロトタイプ集合{p
m}
Mm=1={x
n}
Nn=1(M=N)としたときの式(1)の判別関数と同じである.よって,プロトタイプ集合を学習パターン集合そのものとした場合に,MSVMで計算される係数ベクトル集合{τ
n,j}
Nn=1Jj=1を2.2で開示したアルゴリズムのステップ114及び116における初期化に用いることができる.
【0066】
本実施の形態において,上述のMSVMをそのまま初期化として採用する場合,プロトタイプ集合を学習パターン集合そのものとする必要がある.したがって,特に学習パターンの総数が非常に多い場合,本実施の形態におけるMCE学習を非常に高い次元で行なわなければならず,計算量の爆発と数値的不安定性をもたらす.この高次元化の問題を回避するために,(1)上記のMSVMで得られたサポートパターンのみをプロトタイプとする方法,及び(2)プロトタイプ集合を学習パターン集合としたMSVM法,のいずれかを適用することも可能である.以下,これら変形例についてその詳細を説明する.
【0067】
〈変形例1〉
2.3.1 サポートパターンのみをプロトタイプとする方法
前記したMSVMでは,式(20)の凸最適化問題を解いて得られる係数ベクトル集合{
〜τ
n}
Nn=1に含まれる係数ベクトルが,いくつかの(しばしば多くの)nに対して零ベクトル(又は零ベクトルに近いベクトル)となる.これは対応する学習パターンx
nが分類境界から遠く離れた正解クラスの領域に存在していることを意味しており,そのような学習パターンは分類境界の形成に対して貢献度が低いと考えられる.零ベクトルに近くない
〜τ
nに対応する学習パターンx
nはサポートパターン又はサポートベクターとよばれる.よって,すべてのサポートパターンの集合をプロトタイプ集合{p
m}
Mm=1として,式(1)の判別関数を構成してもよい.この場合,Mはサポートパターンの総数となる.具体的には,係数ベクトルのノルムの絶対値があるしきい値以上となる学習パターンのみを用いればよい.
【0068】
〈変形例2〉
2.3.2 プロトタイプ集合を学習パターン集合としたMSVM法
この初期化手法の実装には,まず学習パターン集合{x
n}
Nn=1を所属クラス毎にクラスタリングしてプロトタイプ集合{p
m}
Mm=1を得て(クラス毎のクラスタリングであるため各p
mにはその所属するクラス番号y
mが付与されている.),そして式(19),(20),(22)及び(23)において,{x
n}
Nn=1を{p
m}
Mm=1に,{y
n}
Nn=1を{y
m}
Mm=1に,NをMに,それぞれ置き換えるだけで良い.こうして得られる判別関数である式(23)が本実施の形態で採用する式(1)と同型となる.クラスタリングの手法は問わないが,例えばK−means法を用いる場合の手法は非特許文献2で提案されている(ただし非特許文献2は2クラス分類を対象としたSVMを扱っている).
【0069】
(2.4 本実施の形態の効果に対する理論的考察)
本実施の形態で採用する判別関数である式(1)は,前記MSVMの定式化と同じように,高次元空間Hへの特徴変換写像φ(・)を使って次式のような空間H上の線形判別関数の形式で書き表すこともできる.
【0070】
【数28】
特に,w
j(τ
j)が空間Hに写されたプロトタイプ集合{φ(p
m)}
Mm=1の線形結合であり,その結合係数が式(6)の係数ベクトルτ
jの成分で,したがってw
j(τ
j)の値が係数ベクトルτ
jにより定まることに注意するべきである.式(25)より,2つのクラスC
iとC
j(i≠j)に関して次式がなりたつことがわかる.
【0071】
【数29】
ここでM次係数ベクトルτ
j及びM次行列Kはそれぞれ式(6)及び式(2)で与えられている.そして2.1で述べたような境界付近の正分類学習パターンx
oをとり,この正解クラスとbest-incorrectクラスとをそれぞれC
y及びC
iとする.式(26)がなりたつことと,判別関数g
j(x;Λ)が式(5)と式(24)との2通りに書けることにより,以下の等式がなりたつことがわかる.
【0073】
2.1で議論したように,上式(27)の左辺はM次元空間Bにおける幾何マージンを表す.2.1での議論と同様の議論を高次元空間Hにおける線形判別関数である式(24)に当てはめることにより,式(27)の右辺が空間Hにおける幾何マージンを表していることもわかる.すなわち式(27)は,高々有限次元の空間Bにおける幾何マージンと非常に高い次元の(しばしば無限次元の)特徴空間Hにおける幾何マージンとが一致することを示している.その結果,有限次元である係数ベクトル集合{τ
j}
Jj=1を調整する本実施の形態の大幾何マージンMCE学習が,カーネルに付随する非常に高い次元の特徴空間における大幾何マージンMCE学習にもなっていることが保証されている.
【0074】
式(27)の右辺からわかるように,2クラス対の係数ベクトルの差のノルム||w
y−w
I||を小さくすることが,高次元空間Hにおける幾何マージンの増大化に対応する.ところが,MSVMの学習目的関数である式(19)は,差ではなく係数ベクトルそのもののノルム||w
j||の2乗総和Σ
Jj=1||w
j||
2の最小化を目指している.この総和を小さくしても,各クラスに関する係数ベクトル個々のノルムが小さくなる保証はない.更にまた,本来目指すべき各クラス対の係数ベクトル差のノルムが小さくなることも保証されない.つまりMSVMにおける幾何マージン増大化は不十分であることがわかる.これに対し本実施の形態は,式(27)の関係から,高々有限次元の係数ベクトルτ
jの調整によって空間Hにおける幾何マージンを直接的に増大させることができる.またMSVMは,式(19)において,学習パターンx
nに対する損失であるスラック変数ξ
nが分類誤り数を直接的に表しておらず,学習パラメータ最適化が分類誤り最小化の最終目的に対して直接的ではない.しかし本実施の形態ではMCE学習を用いており,学習パラメータ最適化が分類誤り最小化の最終目的に対して直接的である.
【0075】
すなわち,本実施の形態においては,カーネルを用いているため判別関数がMSVMと同様の高い表現能力を有している.しかも有限次元パラメータの調節を介して,分類誤り率の最小化とカーネルに付随する高次元空間における幾何マージンの増大化とが共に実現可能である.言い換えれば,本実施の形態により,複雑な分類タスクにおいて,未知パターンに対する高い認識率が実現できる.
【0076】
[3 さらなる変形例]
(3.1 混合ガウスモデル及び動径基底関数ネットワークによる初期化)
カーネルとして式(3)のガウス関数を用いた場合,上記実施の形態における判別関数である式(1)は,パラメータの集合{τ
m,j}
Mm=1Jj=1とプロトタイプ集合{p
m}
Mm=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,j}
Mm=1Jj=1の中の係数ベクトルのいくつかが(しばしば多くが)0(又は0に近い値)となる.本実施の形態では,
図4及び
図5に示すコンピュータプログラムにおいて,そのようなパラメータを0に固定するような修正を施してもよい.
【0079】
(3.3 係数ベクトル集合{α
j}
Jj=1の調整)
2.2.2において開示したアルゴリズムは,係数ベクトル集合{τ
j}
Jj=1の調整による式(13)の幾何マージンの増大化を行なう.しかし,本発明はそのような実施の形態には限定されない.例えば,係数ベクトル集合{α
j}
Jj=1の調整による式(12)の増大化を行なってもよい.その際に大幾何マージンMCE学習で用いられる誤分類測度は
【0080】
【数31】
であり,学習のためのコンピュータプログラムは次に説明する第2の実施の形態のような制御構造を持つものとなる.
【0081】
(3.4 プロトタイプの調整)
2.2.2において開示した制御構造を持つコンピュータプログラムは,式(1)の判別関数におけるパラメータの集合{τ
m,j}
Mm=1Jj=1のみを調整する.しかし,本発明はそのような実施の形態には限定されない.例えば,この係数のみならず,プロトタイプ集合{p
m}
Mm=1をも大幾何マージンMCE学習法に基づいて調整しても良い.こうすることで,幾何マージン増大化及び分類誤り確率最小化の目的に対して最適なプロトタイプを自動的に学習することが可能となり,分類器の分類精度が更に向上する.
【0082】
プロトタイプをも調整するアルゴリズムは,
図4及び
図5に示したプロトタイプ集合{p
m}
Mm=1,k(x
n)及びグラム行列Kをそれぞれ繰返し番号tの添字のついたプロトタイプ集合{p
(t)m}
Mm=1,k
(t)(x
n),及びグラム行列K
(t)に置き換え,更に
図5のサブステップ184においてプロトタイプに関する更新式を付け加えるだけで良い.ここで,k
(t)(x)及びK
(t)は,それぞれ式(7)及び式(2)において,p
m=p
(t)m(m=1,…,M)としたものである.例えば式(3)のガウシアンカーネルを用いた場合の学習アルゴリズムを採用したものが,後述の第3の実施の形態である.
【0083】
[第2の実施の形態]
図6を参照して,この発明の第2の実施の形態を実現するためのコンピュータプログラムは以下のような制御構造を有する.
1.(ステップ110)
正定値カーネルK(・,・)を用意する.
2.(ステップ112)
プロトタイプ集合{p
m}
Mm=1を用意する.必要ならば,学習パターン集合{x
n}
Nn=1をクラスタリングすることによりプロトタイプ集合を求める.
3.(ステップ210)
式(2)に従ってグラム行列Kを構成し,更に式(8)のコレスキー分解を行ない,下三角行列Lを得る.
4.(ステップ114及び116)
各クラスC
jに対して,M次係数ベクトルτ
(0)jを初期化する(j=1,…,J).
5.(ステップ212及び214)
各クラスC
jに対して,M次係数ベクトルα
(0)jをα
(0)j=L
Tτ
(0)jにより計算する(j=1,…,J).
6.(ステップ118)
繰返番号を表す変数tを0に設定する.またエポック回数eの上限値Eを設定する.
7.(ステップ220)
e=0,1,…,Eに対して,係数ベクトルαの適応的学習処理を実行する.この処理の詳細については
図7を参照して後述する.
8.(ステップ222及び224)
最終的に得られた係数ベクトルα
jから,次式に従ってクラスC
jの判別関数g
j(x;Λ)を構成する(j=1,…,J).
【0084】
【数32】
ただしβ(x)は連立1次方程式:Lβ=k(x)のβについての解である.
【0085】
9.(ステップ126)
このようにして各クラスC
jに関する判別関数g
j(x)が得られたら,それらを所定の記憶装置に記憶して処理を終了する.
図7を参照して.
図6のステップ220で行なわれるα
jに関する適応的学習処理を実現するプログラムは,以下のような制御構造を持つ.
この処理は,e=0,1,…,Eに対して以下の処理252を実行するステップ250を含む.
処理252は,学習パターン集合{x
n}
Nn=1の全ての要素に対して以下の処理262を実行するステップ260と,ステップ260の処理が完了した後,学習パターン集合Ω
N内の学習パターンの並び順をシャッフルするステップ264とを含む.
処理262は,以下のサブステップを含む.
(a)(サブステップ170)
学習パターン集合Ω
Nから,1個の学習パターン{x
n,y
n}を取り出す.
(b)(サブステップ172)
式(7)に従い,M次ベクトルk(x
n)を構成する.
(c)(サブステップ270)
連立1次方程式:Lβ=k(x
n)をβについて解き,解β
nを得る.
(d)(サブステップ272及び274)
各クラスC
jに対して,判別関数値g
jをg
j={α
(t)j}
Tβ
nにしたがい計算する(j=1,…,J).
(e)(サブステップ178)
学習パターンx
nに対するbest-incorrectクラスC
inをg
in=max
Jj,j≠yng
jに従って求める.
(f)(サブステップ180)
d
yn=−g
yn+g
inを計算する.
(g)(サブステップ182)
幾何マージン型誤分類測度値を次式に従って計算する.
【0086】
【数33】
(h)(サブステップ276)
次式に従って係数ベクトルα
jを更新し(j=1,…,J),その後変数tの値を1インクリメントする.
【0088】
《第3の実施の形態》
例えば式(3)のガウシアンカーネルを用いた場合の学習アルゴリズムは,ここに説明する第3の実施の形態のアルゴリズムとなる.以下,
図8及び
図9を参照してこのアルゴリズムを実現するコンピュータプログラムの制御構造について説明する.
1.(ステップ110)
式(3)のガウシアンカーネルK(・,・)を用意する.
2.(ステップ112)
プロトタイプ集合{p
(0)m}
Mm=1を用意する.必要ならば,学習パターン集合{x
n}
Nn=1をクラスタリングすることによりプロトタイプ集合を求める.
3.(ステップ114及び116)
各クラスC
jに対して,M次係数ベクトルτ
(0)jを初期化する(j=1,…,J).
4.(ステップ118)
繰返番号を表す変数tを0に設定する.またエポック回数eの上限値Eを設定する.
5.(ステップ300)
e=0,1,…,Eに対して,係数ベクトルτとp
mの適応的学習処理を実行する.この処理の詳細については
図9を参照して後述する.
6.(ステップ302及び304)
最終的に得られた係数ベクトル集合{τ
j}
Jj=1及びプロトタイプ集合{p
m}
Mm=1から,次式に従ってクラスC
jの判別関数g
j(x)を構成する(j=1,…,J).
【0090】
9.(ステップ126)
このようにして各クラスC
jに関する判別関数g
j(x)が得られたら,それらを所定の記憶装置に記憶して処理を終了する.
【0091】
図9を参照して,
図8のステップ300で行なわれる係数ベクトルτとp
mの適応的学習処理を実現するプログラムは,以下のような制御構造を持つ.
この処理は,e=0,1,…,Eに対して以下の処理312を実行するステップ310を含む.
処理312は,学習パターン集合{x
n}
Nn=1の全ての要素に対して以下の処理322を実行するステップ320と,ステップ320の処理が完了した後,学習パターン集合Ω
N内の学習パターンの並び順をシャッフルするステップ324とを含む.
処理322は,以下のサブステップを含む.
(a)(サブステップ170)
学習パターン集合Ω
Nから,1個の学習パターン{x
n,y
n}を取り出す.
(b)(サブステップ330)
式(7)に従い,M次ベクトルk
(t)(x
n)を構成する.
(c)(サブステップ332及び334)
各クラスC
jに対して,判別関数値g
jをg
j={τ
(t)j}
Tk
(t)(x
n)にしたがい計算する(j=1,…,J).
(d)(サブステップ178)
学習パターンx
nに対するbest-incorrectクラスC
inをg
in=max
Jj,j≠yng
jにより求める.
(e)(サブステップ180)
d
yn=−g
yn+g
inを計算する.
(f)(サブステップ336)
幾何マージン型誤分類測度値を次式に従って計算する.
【0092】
【数36】
(g)(サブステップ338)
次式に従って係数ベクトル集合{τ
j}
Jj=1及びプロトタイプ集合{p
m}
Mm=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】
今回開示された実施の形態は単に例示であって,本発明が上記した実施の形態のみに制限されるわけではない.本発明の範囲は,発明の詳細な説明の記載を参酌した上で,特許請求の範囲の各請求項によって示され,そこに記載された文言と均等の意味及び範囲内での全ての変更を含む.