(57)【特許請求の範囲】
【請求項１】
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力手段と、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算手段と、
前記評価関数における正則化項を計算する正則化計算手段と、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新手段と、
前記パラメータ更新手段による更新後の前記識別関数のパラメータを出力するパラメータ出力手段と、
を備え、
前記正則化計算手段は、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習装置。
【請求項２】
前記特徴変換行列は、入力ベクトルの要素を選択することにより次元を減らす特徴選択と、前記入力ベクトルを線形変換して次元を減らす特徴変換と、を行なう行列である、請求項１に記載のパターン学習装置。
【請求項３】
前記正則化項が、前記特徴変換行列の列ベクトルを用いたノルムの比で定義される請求項１または２に記載のパターン学習装置。
【請求項４】
前記正則化項が、前記特徴変換行列の行ベクトルを用いたノルムの比で定義される請求項１乃至３のいずれか１項に記載のパターン学習装置。
【請求項５】
分子をＬvノルムとし、分母をＬwノルムとする場合（v, wは実数）、wがvより大きいノルムの比を前記正則化項とする、請求項１乃至４のいずれか１項に記載のパターン学習装置。
【請求項６】
前記識別関数は、前記パラメータの初期値として、前記特徴変換行列と、入力ベクトルのクラス識別に用いる参照ベクトルと、を有し、
前記パラメータ更新手段は、所定の参照ベクトルに基づいて、前記特徴変換行列を変更する、請求項１乃至５のいずれか１項に記載のパターン学習装置。
【請求項７】
前記識別関数は、前記パラメータの初期値として、前記特徴変換行列と、入力ベクトルのクラス識別に用いる参照ベクトルと、を有し、
前記パラメータ更新手段は、前記参照ベクトルと前記特徴変換行列とを変更する、請求項１乃至５のいずれか１項に記載のパターン学習装置。
【請求項８】
請求項１乃至７のいずれか１項に記載のパターン学習装置を有するパターン認識装置であって、
前記識別関数のパラメータの初期値および前記パラメータ出力手段が出力した前記更新後の前記識別関数のパラメータを格納する認識辞書と、
前記初期値および前記学習用の入力ベクトルに基づいて、前記パターン学習装置に前記更新後の前記識別関数のパラメータを生成させるパラメータ生成指示手段と、
入力された認識対象の入力ベクトルに基づいて、前記更新後の前記識別関数のパラメータを用いた前記識別関数によりクラス識別を行なうクラス識別手段と、
を備えるパターン認識装置。
【請求項９】
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力ステップと、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算ステップと、
前記評価関数における正則化項を計算する正則化計算ステップと、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新ステップと、
前記パラメータ更新ステップにおいて更新後の前記識別関数のパラメータを出力するパラメータ出力ステップと、
を含み、
前記正則化計算ステップにおいては、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習方法。
【請求項１０】
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力ステップと、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算ステップと、
前記評価関数における正則化項を計算する正則化計算ステップと、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新ステップと、
前記パラメータ更新ステップにおいて更新後の前記識別関数のパラメータを出力するパラメータ出力ステップと、
をコンピュータに実行させるパターン学習プログラムであって、
前記正則化計算ステップにおいては、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン認識装置、パターン学習装置、パターン学習方法およびパターン学習プログラムに関する。
【背景技術】
【０００２】
音声や画像などのパターンをコンピュータに認識させる場合に用いるパターン識別器において、認識速度および認識精度の向上のために識別関数のパラメータを適正化するパターン学習を行なう。パターン学習として、特に、特徴選択および特徴変換の学習が行なわれる。
【０００３】
ここで、特徴選択とは、入力パターンから得られたｄ個の特徴から識別に有効な特徴を少数個選択するもので、従来から総当たり法、前向き逐次特徴選択法、および後ろ向き逐次特徴選択法などが知られている（非特許文献１、p.153）。一方、特徴変換とは、ｄ次元特徴空間を識別に有効なより低次元空間に変換する処理であり、従来から主成分分析や判別分析などが知られている（非特許文献１、p.95）。
【０００４】
また、評価関数を設定して特徴変換パラメータを更新する機械学習に基づく方法も知られている。評価関数にパラメータのＬ1ノルムを正則化項として加えた“Lasso”と呼ばれる方法では、多くのパラメータの値がゼロとなるスパースな特徴変換を行うことができる（非特許文献２）。さらに、いくつかのパラメータをグループ化してLassoを行うことで、グループごとに値をゼロとする“Group Lasso”と呼ばれる方法も提案されており（非特許文献３）、この方法を使うことで特徴選択と特徴変換との同時最適化を行うことができる。例えば、特許文献１には、ニューラルネットワークのパラメータを、Ｌ1ノルムを正則化項として加えた評価関数により収束させて適正化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０８−２０２６７４号公報
【非特許文献】
【０００６】
【非特許文献１】認識工学―パターン認識とその応用―（テレビジョン学会教科書シリーズ9），鳥脇純一郎著，コロナ社，1993．
【非特許文献２】R. Tibshirani, Regression shrinkage and selection via the lasso, J. Royal Statist. Soc. B, Vol.58, No.1, pp.267-288, 1996.
【非特許文献３】M. Yuan and Y. Lin, Model selection and estimation in regression with grouped variables, J. Royal Statist. Soc. B, Vol.68, No.1, pp.49-67, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記文献に記載の技術では、識別関数のパラメータの１つである特徴変換行列を更新するたびに各要素が際限なくゼロに近づくため、評価関数の最小解に到達できない。例えば、識別関数の損失項が特徴変換行列を定数倍しても同じ値をとるように定義されている場合には、特徴変換行列が安定して求まらないため、パターン認識精度の向上には限界がある。
【０００８】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係るパターン学習装置は、
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力手段と、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算手段と、
前記評価関数における正則化項を計算する正則化計算手段と、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新手段と、
前記パラメータ更新手段による更新後の前記識別関数のパラメータを出力するパラメータ出力手段と、
を備え、
前記正則化計算手段は、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する。
【００１０】
上記目的を達成するため、本発明に係るパターン認識装置は、
上記パターン学習装置を有するパターン認識装置であって、
前記識別関数のパラメータの初期値および前記パラメータ出力手段が出力した前記更新後の前記識別関数のパラメータを格納する認識辞書と、
前記初期値および前記学習用の入力ベクトルに基づいて、前記パターン学習装置に前記更新後の前記識別関数のパラメータを生成させるパラメータ生成指示手段と、
入力された認識対象の入力ベクトルに基づいて、前記更新後の前記識別関数のパラメータを用いた前記識別関数によりクラス識別を行なうクラス識別手段と、
を備える。
【００１１】
上記目的を達成するため、本発明に係るパターン学習方法は、
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力ステップと、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算ステップと、
前記評価関数における正則化項を計算する正則化計算ステップと、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新ステップと、
前記パラメータ更新ステップにおいて更新後の前記識別関数のパラメータを出力するパラメータ出力ステップと、
を含み、
前記正則化計算ステップにおいては、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する。
【００１２】
上記目的を達成するため、本発明に係るパターン学習プログラムは、
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力ステップと、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算ステップと、
前記評価関数における正則化項を計算する正則化計算ステップと、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新ステップと、
前記パラメータ更新ステップにおいて更新後の前記識別関数のパラメータを出力するパラメータ出力ステップと、
をコンピュータに実行させるパターン学習プログラムであって、
前記正則化計算ステップにおいては、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する。
【発明の効果】
【００１３】
本発明によれば、損失項の形によらず評価関数を最小化する解に到達させ、特徴選択と特徴変換との同時適正化を行なって、パターン認識精度を向上することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態に係るパターン学習装置の構成を示すブロック図である。
【図２】本発明の第２実施形態に係るパターン学習部を含むパターン認識装置の機能構成を示すブロック図である。
【図３】本発明の第２実施形態に係る認識辞書の構成を示す図である。
【図４】本発明の第２実施形態に係るパターン学習部の機能構成を示すブロック図である。
【図５Ａ】本発明の第２実施形態に係るパラメータ更新部の構成を示すブロック図である。
【図５Ｂ】本発明の第２実施形態に係るパラメータ更新部におけるパラメータテーブルの構成を示す図である。
【図６Ａ】前提技術における特徴選択を説明するための図である。
【図６Ｂ】前提技術における特徴選択後の特徴変換を説明するための図である。
【図６Ｃ】前提技術における特徴選択および特徴変換を行なう特徴変換行列を説明するための図である。
【図６Ｄ】前提技術におけるパターン学習部の機能構成を示すブロック図である。
【図７】本発明の第２実施形態に係るパターン学習部を含むパターン認識装置のハードウェア構成を示すブロック図である。
【図８】本発明の第２実施形態に係るパターン認識装置の処理手順を示すフローチャートである。
【図９】本発明の第２実施形態に係るパターン学習処理の手順を示すフローチャートである。
【図１０】本発明の第２実施形態に係るノルム比に基づく正則化の例を示す図である。
【図１１Ａ】本発明の第２実施形態に係るパターン学習部を含むパターン認識装置の具体的な構成を示すブロック図である。
【図１１Ｂ】本発明の第２実施形態に係るパターン学習部の具体的な構成を示すブロック図である。
【図１２Ａ】本発明の第２実施形態に係るパターン学習部を含むパターン認識装置の具体的な処理手順を示すフローチャートである。
【図１２Ｂ】本発明の第２実施形態に係るパターン学習処理の具体的な手順を示すフローチャートである。
【図１３】本発明の第３実施形態に係る正則化計算部の構成を示す図である。
【図１４】本発明の第３実施形態に係るパターン学習処理の手順を示すフローチャートである。
【図１５】本発明の第４実施形態に係る認識辞書の構成を示す図である。
【図１６】本発明の第４実施形態に係るパターン学習処理の手順を示すフローチャートである。
【図１７】本発明の第５実施形態に係るパターン学習部を含むパターン認識装置の機能構成を示すブロック図である。
【図１８】本発明の第５実施形態に係るパターン認識装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。なお、本明細書で使用する「特徴変換行列」は認識対象パターンを表わす入力ベクトルの次元数を特徴選択と特徴変換とをまとめて行ない認識精度次元数を減らすための行列である。
［第１実施形態］
本発明の第１実施形態としてのパターン学習装置１００について、図１を用いて説明する。パターン学習装置１００は、パターン認識に用いる識別関数のパラメータを更新する装置である。
【００１６】
図１に示すように、パターン学習装置１００は、初期値入力部１０１と、損失計算部１０２と、正則化計算部１０３と、パラメータ更新部１０４と、パラメータ出力部１０５と、を含む。初期値入力部１０１は、パターン認識に用いる識別関数のパラメータの初期値を入力する。損失計算部１０２は、学習用の入力ベクトルに基づいて、識別関数を評価する評価関数における認識誤りに相当する損失項を計算する。正則化計算部１０３は、評価関数における正則化項を計算する。パラメータ更新部１０４は、損失項と正則化項との総和が減少するように、識別関数のパラメータを更新する。パラメータ出力部１０５は、パラメータ更新部１０４による更新後の識別関数のパラメータを出力する。ここで、正則化計算部１０３は、識別関数の特徴変換行列を用いたノルムの比１０３ａで定義される正則化項を計算する。
【００１７】
本実施形態によれば、損失項の形によらず評価関数を最小化する解に到達させ、特徴選択と特徴変換との同時適正化を行なって、パターン認識精度を向上することができる。
【００１８】
［第２実施形態］
次に、本発明の第２実施形態に係るパターン学習部を含むパターン認識装置について説明する。本実施形態に係るパターン学習部は、評価関数の正則化項を識別関数の特徴変換行列を用いたノルムの比で定義することにより、特徴変換行列の適正化、すなわち、認識精度を向上し、かつ、特徴変換行列のスパース化を行なう。本実施形態においては、評価関数の正則化項を識別関数の特徴変換行列の列を用いたノルムの比で定義する。
【００１９】
《前提技術》
本実施形態の特徴を明瞭にするため、パターン学習の前提技術について簡単に説明する。まず、特徴選択と特徴変換とについて具体的に説明する。
【００２０】
（特徴選択）
図６Ａは、前提技術における特徴選択６１０を説明するための図である。特徴選択６１０は、ｄ次元の入力ベクトルｘの要素のうち、いくつかの要素を抜きだしたｑ次元（ｑ＜ｄ）のベクトルｚを作る処理であり、ｑ×ｄ行列Ｓで記述できる。ただし、行列Ｓの各行は１つの要素のみ“１”であり、他の要素は“０”である。
【００２１】
（特徴変換）
図６Ｂは、前提技術における特徴選択後の特徴変換６２０を説明するための図である。特徴変換６２０は、ｑ次元のベクトルｚをさらに低次元のｐ次元（ｐ＜ｑ）に線形変換する処理であり、ｐ×ｑ行列Ａで記述される。
【００２２】
（特徴変換行列）
図６Ｃは、前提技術における特徴選択および特徴変換を行なう特徴変換行列６３０を説明するための図である。図６Ｃに示すように、図６Ｂの行列Ｓと行列Ａとはまとめることができ、これを特徴変換行列Ｂと表記すると、図６Ｃに黒で示したように、いくつかの列ベクトルについては要素の値が全て“０”となっている。これは、行列Ｓのスパース性に起因しており、ベクトルｙはその列ベクトルに対応するベクトルｘの要素値の影響を受けない、つまり特徴選択によって選ばれないことを意味する。
【００２３】
この場合に、行列Ｓを求めてから行列Ａを設計すると、認識に重要な特徴が特徴選択で選ばれなかった場合は認識精度が低下する。したがって、特徴変換行列Ｂを直接、最適化することが望ましい。前提技術では、“Group Lasso”によってこれを実現している。すなわち、認識誤りに相当する損失項と特徴変換行列Ｂのパラメータからなる正則化項を合わせた評価関数の値が小さくなるように、特徴変換行列Ｂを更新する。
【００２４】
具体的には（数式１）を最小化する。
【数１】
0006409463.tif 000002
ここで、第１項は損失項、第２項は正則化項であって、Ｎはサンプル数、ｘnは入力ベクトル、loss(x)はベクトルｘに対する間違いやすさに相当する量（＝損失）、λ＞0は正則化の重みである。||θ||1はパラメータθに対するＬ1ノルムであり、（数式２）で定義される。
【００２５】
【数２】
0006409463.tif 000003
Ｌ1ノルムが小さくなるようにパラメータを更新すると、いくつかの要素については値が“０”となり、スパースな解が得られる。Group Lassoでは、いくつかの要素をまとめてパラメータθjを定義することで、グループに含まれる要素値をまとめて“０”にすることができる。例えば、行列Ｂの要素ｂijを用いて、パラメータθjを（数式３）のように定義する。
【００２６】
【数３】
0006409463.tif 000004
このようにすれば、行列Ｂのｊ番目の列ベクトルの大きさを“０”にすることができ、特徴選択として作用する。
【００２７】
（パターン学習）
図６Ｄは、前提技術におけるパターン学習部６４０の機能構成を示すブロック図である。
【００２８】
パターン学習部６４０は、初期値入力部６０１と、損失計算部６０２と、正則化計算部６０３と、評価値算出部（加算部）６０４と、パラメータ更新部６０５と、パラメータ出力部６０６と、を備える。
【００２９】
初期値入力部６０１は、特徴変換行列の初期値（および、参照ベクトル）を入力する。損失計算部６０２は、選択部６２１と、識別関数演算部６２２と、損失算出部６２３とを有し、評価関数の損失項を計算する。選択部６２１は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。識別関数演算部６２２は、特徴変換行列および参照ベクトルを使用して、学習用の入力ベクトルから最小距離の参照ベクトルに基づいて識別クラスを判別する。そして、損失算出部６２３は、識別クラスの判別の正否と間違いの程度を累積した、損失項の値を算出する。
【００３０】
正則化計算部６０３は、選択部６３１とＬ1ノルム算出部６３５とを有し、特徴変換行列の列ベクトルを用いたＬ1ノルムを計算する。選択部６３１は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。Ｌ1ノルム算出部６３５は、特徴変換行列の列ベクトルを累積したＬ1ノルムを正則化項の値として算出する。
【００３１】
評価関数値算出部（加算部）６０４は、損失項の値と正則化項の値とを加算して、評価関数の値を算出する。パラメータ更新部６０５は、終了条件を満たさなければ、評価関数の値が減るように特徴変換行列を更新して、再度、評価関数の値を算出する。パラメータ更新部６０５は、終了条件を満たせば、パラメータ出力部６０６を経由して最適化されスパース化された特徴変換行列を出力する。
【００３２】
（前提技術の課題）
ところが、上記前提技術では、識別関数のパラメータの１つである特徴変換行列を更新するたびに各要素が際限なくゼロに近づくため、評価関数の最小解に到達できない。例えば、識別関数の損失項が特徴変換行列を定数倍しても同じ値をとるように定義されている場合には、特徴変換行列が安定して求まらないため、パターン認識精度の向上には限界がある。
【００３３】
すなわち、損失項がパラメータの定数倍に対して不変ということは、パラメータθを用いて計算した損失項の値と、パラメータをｋ倍したθ’を用いて計算した損失項の値が等しいということである。その場合のＬ1ノルムは、
【００３４】
【数４】
0006409463.tif 000005
となるため、ｋが小さければ小さいほど正則化項の値は小さくなる。したがって、前提技術において、損失項と正則化項との和である評価関数値を最小化するようパラメータを更新すると、正則化項の値が定数倍小さくなっても損失項の値が変わらない。そのため、パラメータは際限なく小さくなり続ける。
【００３５】
《本実施形態における解決策》
本実施形態においては、ノルム比で正則化項を定義する。例えば、Ｌ1ノルム（数式４）とＬ2ノルム（数式５）とを用いると、
【００３６】
【数５】
0006409463.tif 000006
より、
【００３７】
【数６】
0006409463.tif 000007
となって、正則化項もパラメータの定数倍に対して不変な量になる。したがって、評価関数の最小化によってパラメータが際限なく小さくなりつづけるという現象は生じないため、安定して最小解に向かうことができる。
【００３８】
《本実施形態のパターン学習部を有するパターン認識装置》
図２は、本実施形態に係るパターン学習部２４０を含むパターン認識装置２００の機能構成を示すブロック図である。なお、本実施形態においては、パターン認識装置２００を独立した装置として説明するが、情報処理装置内にパターン認識部として組み込まれた構成でもよい。
【００３９】
パターン認識装置２００は、パラメータ初期値生成部２１０と、認識辞書２２０と、クラス識別部２３０と、パターン学習部２４０と、を備える。
【００４０】
パラメータ初期値生成部２１０は、初期値生成用の入力ベクトルに基づいて、パラメータの初期化、本実施形態の識別関数では特徴変換行列と参照ベクトルとの初期値を生成する。なお、初期値生成用の入力ベクトルは本パターン認識装置２００によってクラス識別する対象パターンに対応する典型的な入力ベクトルが望ましいが、それに限定されない。認識辞書２２０は、パターン認識装置２００で使用する、識別関数や評価関数、あるいは、初期パラメータや更新パラメータを格納する。クラス識別部２３０は、識別関数を用いて、パターン学習中は学習用入力ベクトルに基づいて、パターン認識中は認識対象パターンの入力ベクトルに基づいて、距離が最短の参照ベクトルを含むクラスへのクラス識別を行なう。クラス識別部２３０は、パターン学習中はパターン学習部２４０のクラス識別結果と損失とを通知する。一方、クラス識別部２３０は、パターン認識中はクラス識別結果を外部に出力する。
【００４１】
パターン学習部２４０は、認識辞書２２０からパラメータである特徴変換行列の初期値を取得して、クラス識別部２３０からのクラス識別結果と損失とを取得する。そして、繰り返し特徴変換行列の要素を評価関数値が小さくなるように変更し、収束した時点における特徴変換行列を求めて認識辞書２２０に保存する。
【００４２】
なお、図２においては、認識対象パターンの入力ベクトルはパターン認識装置２００の外部で生成される構成としたが、パターン認識装置２００内において取得したパターン情報（画像や音声など）から特徴抽出と量子化や正規化などを行なって入力ベクトルを生成してもよい。
【００４３】
（認識辞書）
図３は、本実施形態に係る認識辞書２２０の構成を示す図である。なお、図３には、識別関数のパラメータのみを図示し、識別関数や評価関数などは省略する。
【００４４】
認識辞書２２０には、特徴変換行列と参照ベクトルとを含むパラメータ初期値３０１と、パターン学習部２４０で最適化した特徴変換行列からなるパラメータ更新値３０２と、終了条件の正否３０３と、を記憶する。なお、終了条件は、パラメータの更新回数や更新による評価関数値の変化量などを条件とする。
【００４５】
《パターン学習部の機能構成》
図４は、本実施形態に係るパターン学習部２４０の機能構成を示すブロック図である。なお、パターン学習部２４０は、単独でも装置あるいはＩＣチップとして製造して市場に提供可能であり、独立したパターン学習装置と称してもよい。パターン学習部２４０は、パターン認識装置２００のパラメータ生成指示に基づいて、動作する。
【００４６】
図４を参照すると、パターン学習部２４０は、初期値入力部４０１と、損失計算部４０２と、正則化計算部４０３と、評価値算出部（加算部）４０４と、パラメータ更新部４０５と、パラメータ出力部４０６と、を備える。
【００４７】
初期値入力部４０１は、特徴変換行列の初期値（および、参照ベクトル）を入力する。損失計算部４０２は、選択部４２１と、識別関数演算部４２２と、損失算出部４２３とを有し、評価関数の損失項を計算する。選択部４２１は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。識別関数演算部４２２は、特徴変換行列および参照ベクトルを使用して、学習用の入力ベクトルから最小距離の参照ベクトルに基づいて識別クラスを判別する。そして、損失算出部４２３は、識別クラスの判別の正否と間違いの程度を累積した、損失項の値を算出する。
【００４８】
正則化計算部４０３は、選択部４３１と、Ｌvノルム算出部４３２と、Ｌｗノルム算出部４３３と、Ｌv／Ｌw算出部４３４とを有し、特徴変換行列の列ベクトルを用いた正則化項を計算する。選択部４３１は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。Ｌvノルム算出部４３２は、特徴変換行列の列ベクトルの長さ（ノルム）をｖ乗して累積した後に（１／ｖ）乗したＬvノルムを算出する。Ｌwノルム算出部４３３は、特徴変換行列の列ベクトルの長さ（ノルム）をｗ乗して累積した後に（１／ｗ）乗したＬwノルムを算出する（ｖ，ｗは実数、v＜w）。Ｌv／Ｌw算出部４３４は、正則化項の値として、（Ｌvノルム／Ｌwノルム）を算出する。
【００４９】
評価関数値算出部（加算部）４０４は、損失項の値と正則化項の値とを加算して、評価関数の値を算出する。パラメータ更新部４０５は、終了条件を満たさなければ、評価関数の値が減るように特徴変換行列を更新して、再度、評価関数の値を算出する。パラメータ更新部４０５は、終了条件を満たせば、パラメータ出力部４０６を経由して最適化されスパース化された特徴変換行列を出力する。
【００５０】
（パラメータ更新部）
図５Ａは、本実施形態に係るパラメータ更新部４０５の構成を示すブロック図である。なお、図５Ａは、評価関数値の変化値が閾値より小さい場合に、最適値に収束した終了条件とする構成を示す。しかしながら、終了条件がこれに限らず、更新回数を終了条件としてもよい。
【００５１】
パラメータ更新部４０５は、特徴変換行列更新部５０１と、評価関数値記憶部５０２と、評価関数変化値算出部５０３と、終了条件判定部５０４と、を有する。特徴変換行列更新部５０１は、初期値または学習中の特徴変換行列を受信して、評価関数の値が小さくなるように特徴変換行列の要素を更新する。評価関数値記憶部５０２は、更新前の評価関数値を記憶する。評価関数変化値算出部５０３は、更新前の評価関数値から更新後の評価関数値への変化値（減少値）を算出する。終了条件判定部５０４は、変化値（減少値）を閾値αと比較して、変化値（減少値）が閾値αより小さければパラメータ更新終了として、更新した特徴変換行列をパラメータ出力部４０６に送出する。一方、評価関数値の変化値（減少値）が閾値α以上の場合は、更新した特徴変換行列を損失計算部４０２および正則化計算部４０３に戻して、パターン学習処理を継続する。
【００５２】
（パラメータテーブル）
図５Ｂは、本実施形態に係るパラメータ更新部４０５におけるパラメータテーブル５１０の構成を示す図である。パラメータテーブル５１０は、パラメータ更新部４０５において学習中にデータ保持のために使用される。
【００５３】
パラメータテーブル５１０は、前の特徴変換行列５１１と、更新した特徴変換行列５１２と、前の評価関数算出値５１３と、新しい評価関数算出値５１４と、評価関数値の変化値５１５と、閾値α５１６と、終了条件正否５１７と、を記憶する。
【００５４】
《パターン認識装置のハードウェア構成》
図７は、本実施形態に係るパターン学習部２４０を含むパターン認識装置２００のハードウェア構成を示すブロック図である。なお、図７において、パターン学習部２４０に関連する要素のみを選択すれば、パターン学習装置として動作する。
【００５５】
図７で、ＣＰＵ(Central Processing Unit)７１０は演算制御用のプロセッサであり、プログラムを実行することで図２のパターン認識装置２００の機能構成部、あるいは、パターン学習部２４０の機能構成部を実現する。ＲＯＭ(Read Only Memory)７２０は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部７３０は、ネットワークを介して認識対象のパターンを受信し、認識結果を送信する。あるいは、通信制御部７３０は、識別関数や評価関数、あるいは、プログラムを取得するために使用される。なお、ＣＰＵ７１０は１つに限定されず、複数のＣＰＵであっても、あるいは画像処理用のＧＰＵ(Graphic Processin Unit)を含んでもよい。また、通信制御部７３０は、ＣＰＵ７１０とは独立したＣＰＵを有して、ＲＡＭ(Random Access Memory)７４０の領域に送受信データを書き込みあるいは読み出しするのが望ましい。また、ＲＡＭ７４０とストレージ７５０との間でデータを転送するＤＭＡＣ(Direct Memory Access Unit)を設けるのが望ましい（図示なし）。さらに、入出力インタフェース７６０は、ＣＰＵ７１０とは独立したＣＰＵを有して、ＲＡＭ７４０の領域に入出力データを書き込みあるいは読み出しするのが望ましい。したがって、ＣＰＵ７１０は、ＲＡＭ７４０にデータが受信あるいは転送されたことを認識してデータを処理する。また、ＣＰＵ７１０は、処理結果をＲＡＭ７４０に準備し、後の送信あるいは転送は通信制御部７３０やＤＭＡＣ、あるいは入出力インタフェース７６０に任せる。
【００５６】
ＲＡＭ７４０は、ＣＰＵ７１０が一時記憶のワークエリアとして使用するランダムアクセスメモリである。ＲＡＭ７４０には、本実施形態の実現に必要なデータを記憶する領域が確保されている。学習用入力ベクトル７４１は、パターン認識装置２００のパターン学習部２４０が使用する学習用のベクトルである。新しい評価関数算出値５１４は、更新中の現在パラメータ７４４に基づいて算出された評価関数値であり、損失値と正規化値とを含む。前の評価関数算出値５１３は、更新前の識別関数のパラメータに基づいて算出された評価関数値である。現在パラメータ７４４は、更新中の識別関数のパラメータであり、終了条件を満足した場合には最終の最適パラメータとなる。評価関数変化値７４５は、前の評価関数算出値５１３から評価関数算出値５１４への変化値（減少値）である。閾値７４６は、終了条件として評価関数変化値７４５と比較する値である。終了条件フラグ７４７は、評価関数変化値７４５が閾値７４６より小さい場合に終了を示し、評価関数変化値７４５が閾値７４６以上の場合に継続を示す、フラグである。なお、終了条件を回数とする場合には、更新回数と、閾値としての回数とが記憶されることになる。
【００５７】
ストレージ７５０には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。識別関数７５１は、本パターン認識装置２００が使用する、特徴変換行列と参照ベクトルとを含むクラス識別用の関数の定義である。評価関数７５２は、損失項の定義と正規化項の定義を含む関数の定義である。初期値算出アルゴリズム７５３は、識別関数７５１のパラメータである特徴変換行列と参照ベクトルとの初期値を生成するアルゴリズムである。初期値７５４は、初期値算出アルゴリズム７５３に従って生成された特徴変換行列と参照ベクトルとの初期値である。更新値７５５は、パターン学習部２４０の処理に従って更新された特徴変換行列と参照ベクトルとの更新値である。
【００５８】
ストレージ７５０には、以下のプログラムが格納される。パターン認識プログラム７５６は、本パターン認識装置２００によるパターン認識を実行するプログラムである。パターン学習モジュール７５７は、パターン学習部２４０の処理を実現するモジュールである。評価関数算出モジュール７５８は、識別関数によるパターン認識を本実施形態の評価関数を使用して評価するモジュールである。パラメータ更新モジュール７５９は、評価関数算出モジュール７５８による評価結果に応じて、パラメータ、本実施形態においては特徴変換行列を更新するモジュールである。
【００５９】
入出力インタフェース７６０は、入出力機器との入出力データをインタフェースする。入出力インタフェース７６０には、本パターン認識装置２００に認識対象あるいは学習用のパターンを入力するパターン入力部７６１と、認識結果を出力する認識結果出力部７６２と、が接続される。なお、表示部や操作部なども接続されてよいが、省略する。
【００６０】
なお、図７のＲＡＭ７４０やストレージ７５０には、パターン認識装置２００が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
【００６１】
《パターン認識装置の処理手順》
図８は、本実施形態に係るパターン認識装置２００の処理手順を示すフローチャートである。このフローチャートは、図７のＣＰＵ７１０がＲＡＭ７４０を使用しながら実行し、図２のパターン認識装置２００の機能構成部を実現する。
【００６２】
パターン認識装置２００は、ステップＳ８０１において、識別関数のパラメータである特徴変換行列および参照ベクトルの初期値を生成する。なお、特徴変換行列の初期化としては、学習用のデータを用いて評価関数が十分大きな値となるよう初期値を求めて、認識辞書２２０に保持する。パターン認識装置２００は、ステップＳ８０３において、学習用の入力ベクトルを用いて評価関数を小さくするように特徴変換行列を更新するパターン学習を行ない、最適化した特徴変換行列を認識辞書２２０に格納する。そして、パターン認識装置２００は、ステップＳ８０５において、認識辞書２２０に格納された最適化された特徴変換行列と参照ベクトルをパラメータとして用いて、識別関数に基づきパターン認識（最短距離の参照ベクトルを含むフラス識別）を実行する。
【００６３】
パターン認識装置２００は、ステップＳ８０７において、さらにパターン認識する対象パターンがあるか否かを判定する。まだ対象パターンがあれば、ステップＳ８０５のパターン認識を繰り返す。対象パターンが無くなれば、処理を終了する。
【００６４】
なお、図８においては、パターン学習処理を最初にしたのみであるが、パターン認識処理の途中で再度パターン学習処理を行なってもよい。この場合は、一定時間間隔、あるいは、認識処理回数ごとに、あるいは、パターン認識率の低下を認知した場合に、最近のパターン認識対象の入力ベクトルを使用して行なう。
【００６５】
（パターン学習処理）
図９は、本実施形態に係るパターン学習処理（Ｓ８０３）の手順を示すフローチャートである。このフローチャートは、図７のＣＰＵ７１０がＲＡＭ７４０を使用しながら実行し、図４のパターン学習部２４０の機能構成部を実現する。
【００６６】
パターン認識装置２００は、ステップＳ９０１において、識別関数のパラメータである特徴変換行列および参照ベクトルの初期値を認識辞書２２０から取得する。ここで、初期値としては、評価関数の値が十分大きな値が設定される。パターン認識装置２００は、ステップＳ９０３において、パターン認識対象に対応して識別関数のパラメータを適正化する学習用の入力ベクトルを取得する。学習用の入力ベクトルは外部から提供されても、認識辞書２２０にパターン認識対象に対応して格納されていてもよい。
【００６７】
パターン認識装置２００は、ステップＳ９０５において、学習用の入力ベクトルを用いて識別関数を計算してクラス識別処理をし、損失を累積して認識誤りに相当する評価関数の損失項の値を算出する。パターン認識装置２００は、ステップＳ９０７において、特徴変換行列の列要素によるノルムの比で定義される正則化項の値を算出する。パターン認識装置２００は、ステップＳ９０９において、損失項の値と正則化項の値との総和から評価関数の値を求める。
【００６８】
パターン認識装置２００は、ステップＳ９１１において、初期値あるいは以前の評価関数の値と、ステップＳ９０９で算出した新たな評価関数の値を比較する。初期値あるいは以前の評価関数の値より新たな評価関数の値が小さく、かつ、本例では閾値αよりも小さくなっていれば、ステップＳ９１３に進む。パターン認識装置２００は、ステップＳ９１３において、新たな評価関数の値を認識辞書２２０に比較基準として保持すると共に、評価関数の値がさらに小さくなるように特徴変換行列を更新して、ステップＳ９０５に戻る。初期値あるいは以前の評価関数の値より新たな評価関数の値が小さくない、または、閾値αよりも小さくなっていなければ、ステップＳ９１５に進む。パターン認識装置２００は、ステップＳ９１５において、現在の収束した更新パラメータを認識辞書２２０に出力し、パターン学習部２４０の処理を終了する。
【００６９】
なお、ステップＳ９１１の終了条件は、更新回数としてもよい。あるいは、他の終了条件を設定してもよい。
【００７０】
《ノルム比に基づく正則化の効果》
図１０は、本実施形態に係るノルム比に基づく正則化の例を示す図である。図１０に基づいて、本実施形態において、正則化項をノルム比により定義する効果を説明する。なお、識別関数の損失項が特徴変換行列を定数倍しても同じ値をとるように定義されている場合に、ノルム比により定義された正則化項も変化しないので、安定して最小解に向かうことは、先に説明した。図１０においては、ノルム比により定義された正則化項による、さらなる効果を説明する。図１０においては、ノルムの要素が２の場合の例を示すが、要素が２個より多い場合も同様の効果を奏するものである。
【００７１】
図１０において、ＸＹ平面に示したのはノルム比の等高線であり、Ｚ軸がノルム比の値を示している。ノルム比はＸ軸上あるいはＹ軸上の場合に最小値“１”をとるので、図に丸と矢印で示したように、どこからスタートしたとしてもノルム比を最小化させていくと、ＸとＹとのいずれかが“０”になる。
【００７２】
図１０のように、ノルム比が||θ||1／||θ||2の場合に、次の範囲の値となる。ＸとＹとが等しい、あるいは、ＸとＹとの差が各値に比較して非常に小さい場合、ノルム比は最大で２／２1/2＝２1/2≒１．４となる。一方、ＸとＹのいずれかが“０”になる、あるいは、“０”に近くなると、ノルム比は１／１1/2＝１となる。すなわち、１．４≧ノルム比≧１の間で、ＸとＹのいずれかが“０”に近付くとノルム比は“１”に向かって減少していき、ＸとＹのいずれかが“０”になった時点で、“１”に収束する。
【００７３】
したがって、識別関数のパラメータの１つである特徴変換行列の更新は、本実施形態においては、１要素を残して他の要素が“０”になれば、それ以降、ノルム比は小さくならないので、際限なく全要素を“０”にすることはない。一方、ノルム比が||θ||2／||θ||1の場合、１≧ノルム比＞０．７（≒２1/2／２＝１／２1/2）の間となり、ＸとＹのいずれかが“０”に近付くとノルム比は“１”に向かって上昇する。このように、ノルム比の要素の値が“０”になることでスパース化されるには、ノルム比の分子をＬvノルム、分母をＬwノルムとすると、v＜wであるのが望ましい。なお、本実施形態においては、評価関数の最小化が学習の基準になっており、この場合はv＜wでないとスパース化できないが、逆に、評価関数の最大化が学習の基準になっている場合は、v＞wでないとスパース化できなくなる。
【００７４】
《具体的な構成》
次に、具体的なパターン認識およびパターン学習の構成および動作を説明する。ここで、学習用データであるｄ次元の入力ベクトルを{ｘn,ｔn|n = 1,…,Ｎ}、パターン識別器として用いるｄ次元の参照ベクトルを{ｙk|k = 1,…,Ｋ}と表記する。ｘnはｎ番目のサンプル、ｔnはｘnの正解クラス、Ｎはサンプル数、Ｋはクラス数である。
【００７５】
クラスωkの識別関数を、次式（数式７）と定義する。
【数７】
0006409463.tif 000008
ここで、Ｂは(ｐ×ｄ)の特徴変換行列であり、入力ｘはｄk(x)（入力ベクトルと参照ベクトルとの２乗距離）が最小となるクラスに属するものと判定される。
【００７６】
評価関数を、次式（数式８）で定義する。
【数８】
0006409463.tif 000009
第１項は損失項、第２項は正則化項であり、λ＞0は正則化項の重みである。
【００７７】
入力ｘnに対する損失は、次式（数式９）で定義する。
【数９】
0006409463.tif 000010
ここで、“１( )”は( )内が真なら“１”、偽なら“０”を返す指示関数、f( )は単調増加関数、ｒkj( )は次式（数式１０-１）で定義される間違いやすさを表す量である。なお、ｒkj( )は、特徴変換行列の定数倍によっても変化しない量であり、例えば（数式１０-２）や（数式１０-３）などであってもよい。
【００７８】
【数１０】
0006409463.tif 000011
||θ||1と||θ||2とは、それぞれパラメータθに対するＬ1ノルムとＬ2ノルムとであり、特徴変換行列の要素ｂijを用いて次式（数式１１および数式１２）のように定義する。
【００７９】
【数１１】
0006409463.tif 000012
【００８０】
【数１２】
0006409463.tif 000013
まず初期化として、クラスごとの入力ベクトルの平均を所定の参照ベクトルとして設定し、特徴変換行列については、主成分分析で得られる固有ベクトルφiを、固有値の大きい順にｐ個選んでＢ＝(φ1,…,φp)Tと設定する。
【００８１】
そして、（数式８）に示した評価関数の値を計算し、それの値が減少するように特徴変換行列を更新する。例えば、最急降下法に従えば、特徴変換行列の全ての要素について、次式（数式１３）と更新する。
【００８２】
【数１３】
0006409463.tif 000014
特徴変換行列の全ての要素を更新した後、評価関数を計算しなおす処理を繰り返す。終了条件は、事前に繰り返し回数を決めておいてもよいし、評価関数の変化がある値以下になった時点で処理を終了しても構わない。
【００８３】
以下、上記具体的な定義を、パターン認識装置２００およびパターン学習部２４０に適用した場合の構成および動作を簡単に説明する。なお、参照番号やステップ番号は、図２および図４の機能構成図の参照番号、図８および図９のフローチャートのステップ番号と同じとし、上記具体的な定義を挿入する。
【００８４】
（パターン認識装置の具体例）
図１１Ａは、本実施形態に係るパターン学習部２４０を含むパターン認識装置２００の具体的な構成を示すブロック図である。
【００８５】
パラメータ初期値生成部２１０は、初期化として、クラスごとの入力ベクトルの平均を参照ベクトルｙkとして設定し、特徴変換行列については、主成分分析で得られる固有ベクトルφiを、固有値の大きい順にｐ個選んでＢ0＝(φ1,…,φp)Tと設定する。
【００８６】
認識辞書２２０は、初期値として、Ｂ0とｙkとを保持し、パターン学習により特徴変換行列Ｂ0を更新して、最適なパターン認識が可能な値に収束した特徴変換行列Ｂzを格納する。
【００８７】
クラス識別部２３０は、識別関数（数式７）を用いて、パターン学習中は学習用入力ベクトルに基づいて、パターン認識中は認識対象パターンの入力ベクトルに基づいて、距離が最短の参照ベクトルを含むクラスへのクラス識別を行ない、パターン学習部２４０のクラス識別結果と損失とを通知する。一方、パターン認識中はクラス識別結果を外部に出力する。
【００８８】
パターン学習部２４０は、認識辞書２２０からパラメータである特徴変換行列の初期値Ｂ0を取得して、クラス識別部２３０からのクラス識別結果と損失とを取得する。そして、繰り返し特徴変換行列の要素を評価関数（数式８）の値が小さくなるように変更し（数式１３参照）、収束した時点における特徴変換行列を求めて認識辞書２２０に保存する。
【００８９】
（パターン学習部の具体例））
図１１Ｂは、本実施形態に係るパターン学習部２４０の具体的な構成を示すブロック図である。
【００９０】
初期値入力部４０１は、特徴変換行列および参照ベクトルの初期値（Ｂ0、ｙk）を入力する。損失計算部４０２において、選択部４２１は、特徴変換行列の初期値入力Ｂ0と更新中の特徴変換行列の入力とを選択する。識別関数演算部４２２は、特徴変換行列および参照ベクトルを使用して、学習用の入力ベクトルから識別関数（数式７）を演算して最小距離の参照ベクトルに基づいて識別クラスを判別する。そして、損失算出部４２３は、識別クラスの判別の正否と間違いの程度を累積した、損失項（数式９参照）の値を算出する。
【００９１】
正則化計算部４０３において、選択部４３１は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。Ｌ1ノルム算出部４３２は、（数式１１）に従ってＬ1ノルムを算出する。Ｌ2ノルム算出部４３３は、（数式１２）に従ってＬ2ノルムを算出する。Ｌ1／Ｌ2算出部４３４は、正則化項の値としてノルム比（数式６参照）を算出する。
【００９２】
評価関数値算出部（加算部）４０４は、損失項の値と正則化項の値とを加算して、評価関数（数式８）の値を算出する。パラメータ更新部４０５は、終了条件を満たさなければ、評価関数の値が減るように特徴変換行列を更新して（数式１３参照）、再度、評価関数の値を算出する。パラメータ更新部４０５は、終了条件を満たせば、パラメータ出力部４０６を経由して最適化されスパース化された特徴変換行列Ｂzを出力する。
【００９３】
（パターン認識装置の処理手順）
図１２Ａは、本実施形態に係るパターン学習部２４０を含むパターン認識装置２００の具体的な処理手順を示すフローチャートである。
【００９４】
パターン認識装置２００は、ステップＳ８０１において、特徴変換行列および参照ベクトルの初期値（Ｂ0、ｙk）を生成して、認識辞書２２０に保持する。ステップＳ８０３において、学習用の入力ベクトルを用いて評価関数（数式８）を小さくするように特徴変換行列を更新するパターン学習を行ない、最適化した特徴変換行列Ｂzを認識辞書２２０に格納する。そして、ステップＳ８０５において、認識辞書２２０に格納された最適化された特徴変換行列Ｂzと参照ベクトルｙkとをパラメータとして用いて、識別関数（数式７）に基づきパターン認識（最短距離の参照ベクトルに基づくクラス識別）を実行する。
【００９５】
パターン認識装置２００は、ステップＳ８０７において、さらにパターン認識する対象パターンがあるか否かを判定する。まだ対象パターンがあれば、ステップＳ８０５のパターン認識を繰り返す。対象パターンが無くなれば、処理を終了する。
【００９６】
（パターン学習処理）
図１２Ｂは、本実施形態に係るパターン学習処理（Ｓ８０３）の具体的な手順を示すフローチャートである。
【００９７】
パターン認識装置２００は、ステップＳ９０１において、特徴変換行列および参照ベクトルの初期値（Ｂ0、ｙk）を認識辞書２２０から取得する。ステップＳ９０３において、学習用の入力ベクトル（ｘ1、ｘ2、…、ｘN）を取得する。ステップＳ９０５において、入力ベクトル（ｘ1、ｘ2、…、ｘN）を用いて識別関数（数式７）を計算してクラス識別処理をし、損失を累積して認識誤りに相当する評価関数の損失項（数式８の右辺第１項）の値を算出する。ステップＳ９０７において、特徴変換行列の列要素によるノルムの比で定義される正則化項（数式８の右辺第２項）の値を算出する。ステップＳ９０９において、損失項の値と正則化項の値との総和から評価関数（数式８）の値を求める。
【００９８】
パターン認識装置２００は、ステップＳ９１１において、初期値あるいは以前の評価関数の値Ｌiと、ステップＳ９０９で算出した新たな評価関数の値Ｌi+1を比較する。初期値あるいは以前の評価関数の値Ｌiより新たな評価関数の値Ｌi+1が小さく、かつ、本例では閾値αよりも小さくなっていれば、ステップＳ９１３に進む。ステップＳ９１３において、新たな評価関数の値を認識辞書２２０に比較基準として保持すると共に、評価関数の値がさらに小さくなるように特徴変換行列を更新して（数式１３参照）、ステップＳ９０５に戻る。初期値あるいは以前の評価関数の値より新たな評価関数の値が小さくない、または、閾値αよりも小さくなっていなければ、ステップＳ９１５において、現在の収束した特徴変換行列Ｂzを認識辞書２２０に出力し、パターン学習部２４０の処理を終了する。
【００９９】
なお、ステップＳ９１１の終了条件は、更新回数としてもよい。あるいは、他の終了条件を設定してもよい。
【０１００】
本実施形態によれば、損失項の形によらず評価関数を最小化する解に到達させ、特徴選択と特徴変換との同時適正化を行なって、パターン認識精度を向上することができる。
【０１０１】
すなわち、本実施形態においては、特徴変換行列の列ベクトルをGroup Lassoによってスパース化するため、特徴選択と特徴変換行列を同時に最適化でき、認識精度がより向上する。特に、損失項が特徴変換行列の定数倍に対して不変であっても、正則化項をノルム比で定義することにより、評価関数を最小化する解に到達でき、特徴選択と特徴変換の同時最適化が行える。
【０１０２】
本実施形態のパターン認識装置およびパターン学習部は、認識誤りに相当する量として計算される損失項と、辞書の要素値で定義されるノルム比で計算される正則化項の和が減るように特徴変換行列を更新するよう動作する。このような構成を採用し、特徴選択と特徴変換を同時最適化することにより、認識精度を改善することができる。
【０１０３】
［第３実施形態］
次に、本発明の第３実施形態に係るパターン学習部を含むパターン認識装置について説明する。本実施形態に係るパターン学習部を含むパターン認識装置は、上記第２実施形態と比べると、特徴変換行列の列ベクトルおよび行ベクトルをGroup Lassoによってスパース化する点で異なる。すなわち、本実施形態の正則化項は、列ベクトルを要素とするノルム比と、行ベクトルを要素とするノルム比とを含む。その他の構成および動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１０４】
本実施形態においては、第２実施形態と同じ識別関数を用い、評価関数を次式（数式１４）で定義する。
【数１４】
0006409463.tif 000015
第１項は損失項、第２項および第３項は正則化項であり、λ＞0およびη＞0は正則化項の重みである。第１項に含まれる入力ｘnに対する損失には、前出の（数式９）を用い、第２項には（数式１１）および（数式１２）を用いる。
【０１０５】
第３項は、次式（数式１５および数式１６）のように定義する。
【数１５】
0006409463.tif 000016
【０１０６】
【数１６】
0006409463.tif 000017
【０１０７】
本実施形態においても、第２実施形態と同様に、初期化として、クラスごとの入力ベクトルの平均を参照ベクトルｙkとして設定し、特徴変換行列については、主成分分析で得られる固有ベクトルφiを、固有値の大きい順にｐ個選んでＢ=(φ1,…,φp)Tと設定する。しかし、本実施形態においては、（数式１４）に示した評価関数の値を計算し、それの値が減少するように特徴変換行列を最急降下法などで更新した後、評価関数を計算しなおす処理を繰り返す。終了条件は、事前に繰り返し回数を決めておいてもよいし、評価関数の変化がある値以下になった時点で処理を終了しても構わない。
【０１０８】
《パターン学習部の正則化計算部》
図１３は、本実施形態に係る正則化計算部１３０３の構成を示す図である。なお、図１３において、図４の正則化計算部４０３と同様の機能構成部には同じ参照番号を付して、説明を省略する。
【０１０９】
行のＬvノルム算出部１３３２は、特徴変換行列の行ベクトルの長さ（ノルム）をｖ乗して累積した後に（１／ｖ）乗したＬvノルムを算出する。行のＬwノルム算出部１３３３は、特徴変換行列の行ベクトルの長さ（ノルム）をｗ乗して累積した後に（１／ｗ）乗したＬwノルムを算出する（v＜w）。行のＬv／Ｌw算出部１３３４は、第３項の正則化項の値として、行の（Ｌvノルム／Ｌwノルム）を算出する。正則化項生成部（加算部）１３３５は、列の（Ｌvノルム／Ｌwノルム）と行の（Ｌvノルム／Ｌwノルム）とを加算して、正則化項の値とする（数式１４参照）。なお、列の（Ｌvノルム／Ｌwノルム）と行の（Ｌvノルム／Ｌwノルム）とを、評価関数値算出部（加算部）４０４において損失項と加算してもよい。
【０１１０】
（パターン学習処理）
図１４は、本実施形態に係るパターン学習処理（Ｓ１４０３）の手順を示すフローチャートである。本実施形態においては、図１４の手順により図９の手順を代替する。このフローチャートは、図７のＣＰＵ７１０がＲＡＭ７４０を使用しながら実行し、パターン学習部の機能構成部を実現する。なお、図１４において、図９と同様のステップには同じステップ番号を付して、説明を省略する。
【０１１１】
パターン認識装置２００は、ステップＳ１４０７において、損失項として、｛λ（||θ||1/||θ||2）＋η（||ξ||1/||ξ||2）｝を算出する。
【０１１２】
本実施形態によれば、特徴変換行列の列ベクトルだけでなく行ベクトルもGroup Lassoによってスパース化する。そのため、特徴選択と特徴変換行列の最適化だけでなく、変換後のベクトル次元数も最適化できるため、よりコンパクトな特徴変換行列を作ることができる。これにより、認識精度の向上ばかりでなく、認識処理の高速化も行える。
【０１１３】
［第４実施形態］
次に、本発明の第４実施形態に係るパターン学習部を含むパターン認識装置について説明する。本実施形態に係るパターン学習部を含むパターン認識装置は、上記第２実施形態および第３実施形態と比べると、本実施形態の評価関数を用いて特徴変換行列と共に参照ベクトルも最適化する点で異なる。その他の構成および動作は、第２実施形態または第３実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１１４】
（認識辞書）
図１５は、本実施形態に係る認識辞書１５２０の構成を示す図である。なお、図１５において、図３と同様の構成要素には同じ参照番号を付して、説明を省略する。また、図１５には、識別関数のパラメータのみを図示し、識別関数や評価関数などは省略する。
【０１１５】
認識辞書１５２０には、パターン学習部２４０で最適化した特徴変換行列と参照ベクトルからなるパラメータ更新値１５０２を記憶する。
【０１１６】
（パターン学習処理）
図１６は、本実施形態に係るパターン学習処理（Ｓ１６０３）の手順を示すフローチャートである。本実施形態においては、図１６の手順により図９の手順を代替する。このフローチャートは、図７のＣＰＵ７１０がＲＡＭ７４０を使用しながら実行し、パターン学習部の機能構成部を実現する。なお、図１６において、図９と同様のステップには同じステップ番号を付して、説明を省略する。
【０１１７】
パターン認識装置２００は、ステップＳ９１１において、特徴変換行列Ｂの最適値に収束すると、ステップＳ１６１５において、特徴変換行列Ｂの最適値に収束した時点の評価関数値を記憶する。パターン認識装置２００は、ステップＳ１６１７において、参照ベクトルｙkを更新する。なお、参照ベクトルｙkの更新は、損失項を小さくする方向であることが望ましい。パターン認識装置２００は、ステップＳ１６１９において、参照ベクトルの最適値を取得したか否かを判定する。ステップＳ１６１９においては、例えば、参照ベクトルを更新した後に、特徴変換行列Ｂを最適値に収束した時点の評価関数の値の中で最小の値に収束した参照ベクトルを選択する。参照ベクトルの最適値を取得したなら、パターン認識装置２００は、ステップＳ１６２３において、その時に特徴変換行列Ｂの最適値と参照ベクトルｙkの最適値とを認識辞書２２０に格納する。
【０１１８】
一方、参照ベクトルの最適値を取得していないなら、パターン認識装置２００は、ステップＳ１６２１において、特徴変換行列を初期化する。そして、パターン認識装置２００は、ステップＳ９０５に戻り、特徴変換行列Ｂの最適値を探す。なお、ステップＳ１６２１における特徴変換行列の初期化は必須ではなく、現在の特徴変換行列の値を用いてステップＳＳ９０５に戻ってもよい。
【０１１９】
本実施形態によれば、特徴変換行列の最適値に加えて、参照ベクトルの最適化が実現され、認識精度のより一層の向上が達成できる。
【０１２０】
［第５実施形態］
次に、本発明の第５実施形態に係るパターン学習部を含むパターン認識装置について説明する。本実施形態に係るパターン学習部を含むパターン認識装置は、上記第２実施形態乃至第４実施形態と比べると、パターン認識装置においてパターン学習部とは別途に参照ベクトルの初期化において最適化する点で異なる。その他の構成および動作は、第２実施形態、第３実施形態または第４実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１２１】
《パターン認識装置の機能構成》
図１７は、本実施形態に係るパターン学習部２４０を含むパターン認識装置１７００の機能構成を示すブロック図である。なお、図１７において、図２と同様の機能構成部には同じ参照番号を付して、説明を省略する。
【０１２２】
参照ベクトル更新部１７５０は、パラメータ初期値生成部２１０において生成された参照ベクトルｙkを、最適な位置に更新する。かかる参照ベクトルｙkの更新方向は、初期値生成用の入力ベクトルや、学習用入力ベクトルを用いて、本実施形態の識別関数および評価関数に基づいて行なってもよいし、既存の参照ベクトルｙkの最適化によって実行してもよい。
【０１２３】
本実施形態においては、特徴変換行列の最適化に使用する参照ベクトルを、クラスごとの入力ベクトルの平均を参照ベクトルｙkとして設定した後に、参照ベクトル更新部１７５０において参照ベクトルｙkを最適な位置に更新するので、認識精度のより一層の向上が達成できる。
【０１２４】
《パターン認識装置の処理手順》
図１８は、本実施形態に係るパターン認識装置１７００の処理手順を示すフローチャートである。このフローチャートは、図７のＣＰＵ７１０がＲＡＭ７４０を使用しながら実行し、図１８のパターン認識装置１７００の機能構成部を実現する。なお、図１８において、図８と同様のステップには同じステップ番号を付して、説明を省略する。
【０１２５】
パターン認識装置１７００は、ステップＳ１８０２において、ステップＳ８０１で生成された参照ベクトルを最適な位置に更新する処理を行なって、認識辞書２２０に保持する。
【０１２６】
本実施形態によれば、最適化された参照ベクトルに基づいて特徴変換行列の最適値を行なうので、認識精度のより一層の向上が達成できる。
【０１２７】
［他の実施形態］
本発明の活用例として、画像中に含まれる対象物を自動検出する検出装置や、検出装置をコンピュータに実現するためのプログラムなどの用途が挙げられる。
【０１２８】
なお、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【０１２９】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現するパターン認識プログラムやパターン学習プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるＷＷＷ(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体（non-transitory computer readable medium）は本発明の範疇に含まれる。
【０１３０】
［実施形態の他の表現］
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力手段と、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算手段と、
前記評価関数における正則化項を計算する正則化計算手段と、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新手段と、
前記パラメータ更新手段による更新後の前記識別関数のパラメータを出力するパラメータ出力手段と、
を備え、
前記正則化計算手段は、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習装置。
（付記２）
前記特徴変換行列は、入力ベクトルの要素を選択することにより次元を減らす特徴選択と、前記入力ベクトルを線形変換して次元を減らす特徴変換と、を行なう行列である、付記１に記載のパターン学習装置。
（付記３）
前記正則化項が、前記特徴変換行列の列ベクトルを用いたノルムの比で定義される付記１または２に記載のパターン学習装置。
（付記４）
前記正則化項が、前記特徴変換行列の行ベクトルを用いたノルムの比で定義される付記１乃至３のいずれか１項に記載のパターン学習装置。
（付記５）
分子をＬvノルムとし、分母をＬwノルムとする場合（v, wは実数）、wがvより大きいノルムの比を前記正則化項とする、付記１乃至４のいずれか１項に記載のパターン学習装置。
（付記６）
前記正則化項は、分子をＬ1ノルムとし、分母をＬ2ノルムとする、ノルムの比を用いる、付記５に記載のパターン学習装置。
（付記７）
前記識別関数は、前記パラメータの初期値として、前記特徴変換行列と、入力ベクトルのクラス識別に用いる参照ベクトルと、を有し、
前記パラメータ更新手段は、所定の参照ベクトルに基づいて、前記特徴変換行列を変更する、付記１乃至６のいずれか１項に記載のパターン学習装置。
（付記８）
前記識別関数は、前記パラメータの初期値として、前記特徴変換行列と、入力ベクトルのクラス識別に用いる参照ベクトルと、を有し、
前記パラメータ更新手段は、前記参照ベクトルと前記特徴変換行列とを変更する、付記１乃至６のいずれか１項に記載のパターン学習装置。
（付記９）
前記損失項は、前記特徴変換行列を定数倍しても同じ値をとるように、分子と分母とに前記特徴変換行列を含む間違いやすさを表わす量の関数として定義される、付記１乃至８のいずれか１項に記載のパターン学習装置。
（付記１０）
前記識別関数のパラメータの初期値を生成する初期値生成手段を、さらに備え、
前記初期値生成手段は、クラスごとの入力ベクトルの平均を参照ベクトルとして設定し、主成分分析で得られる固有ベクトルφiを固有値の大きい順にｐ個選んで特徴変換行列Ｂ=(φ1,…,φp)Tと設定する、付記１乃至９のいずれか１項に記載のパターン学習装置。
（付記１１）
付記１乃至１０のいずれか１項に記載のパターン学習装置を有するパターン認識装置であって、
前記識別関数のパラメータの初期値および前記パラメータ出力手段が出力した前記更新後の前記識別関数のパラメータを格納する認識辞書と、
前記初期値および前記学習用の入力ベクトルに基づいて、前記パターン学習装置に前記更新後の前記識別関数のパラメータを生成させるパラメータ生成指示手段と、
入力された認識対象の入力ベクトルに基づいて、前記更新後の前記識別関数のパラメータを用いた前記識別関数によりクラス識別を行なうクラス識別手段と、
を備えるパターン認識装置。
（付記１２）
前記パラメータ生成指示手段は、前記識別関数のパラメータとして前記特徴変換行列を更新させ、
前記識別関数のパラメータである参照ベクトルを更新させる参照ベクトル更新手段を、さらに備える付記１１に記載のパターン認識装置。
（付記１３）
前記識別関数のパラメータの初期値を生成する初期値生成手段を、さらに備え、
前記初期値生成手段は、クラスごとの入力ベクトルの平均を参照ベクトルとして設定し、主成分分析で得られる固有ベクトルφiを固有値の大きい順にｐ個選んで特徴変換行列Ｂ=(φ1,…,φp)Tと設定する、付記１１または１２に記載のパターン認識装置。
（付記１４）
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力ステップと、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算ステップと、
前記評価関数における正則化項を計算する正則化計算ステップと、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新ステップと、
前記パラメータ更新ステップにおいて更新後の前記識別関数のパラメータを出力するパラメータ出力ステップと、
を含み、
前記正則化計算ステップにおいては、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習方法。
（付記１５）
前記識別関数のパラメータの初期値を生成する初期値生成ステップを、さらに含み、
前記初期値生成ステップにおいては、クラスごとの入力ベクトルの平均を参照ベクトルとして設定し、主成分分析で得られる固有ベクトルφiを固有値の大きい順にｐ個選んで特徴変換行列Ｂ=(φ1,…,φp)Tと設定する、付記１４に記載のパターン学習方法。
（付記１６）
付記１４または１５のパターン学習方法を含むパターン認識方法であって、
前記初期値および前記学習用の入力ベクトルに基づいて、前記パターン学習方法により前記更新後の前記識別関数のパラメータを生成させるパラメータ生成指示ステップと、
入力された認識対象の入力ベクトルに基づいて、前記更新後の前記識別関数のパラメータを用いた前記識別関数によりクラス識別を行なうクラス識別ステップと、
を含むパターン認識方法。
（付記１７）
前記パラメータ生成指示ステップにおいては、前記識別関数のパラメータとして前記特徴変換行列を更新させ、
前記識別関数のパラメータである参照ベクトルを更新させる参照ベクトル更新ステップを、さらに含む付記１６に記載のパターン認識方法。
（付記１８）
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力ステップと、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算ステップと、
前記評価関数における正則化項を計算する正則化計算ステップと、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新ステップと、
前記パラメータ更新ステップにおいて更新後の前記識別関数のパラメータを出力するパラメータ出力ステップと、
をコンピュータに実行させるパターン学習プログラムであって、
前記正則化計算ステップにおいては、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習プログラム。
（付記１９）
前記識別関数のパラメータの初期値を生成する初期値生成ステップを、さらに含み、
前記初期値生成ステップにおいては、クラスごとの入力ベクトルの平均を参照ベクトルとして設定し、主成分分析で得られる固有ベクトルφiを固有値の大きい順にｐ個選んで特徴変換行列Ｂ=(φ1,…,φp)Tと設定する、付記１８に記載のパターン学習プログラム。
（付記２０）
付記１８または１９のパターン学習プログラムを含むパターン認識プログラムであって、
前記初期値および前記学習用の入力ベクトルに基づいて前記パターン学習プログラムを実行させ、前記更新後の前記識別関数のパラメータを生成させるパラメータ生成指示ステップと、
入力された認識対象の入力ベクトルに基づいて、前記更新後の前記識別関数のパラメータを用いた前記識別関数によりクラス識別を行なうクラス識別ステップと、
をコンピュータに実行させるパターン認識プログラム。
（付記２１）
前記パラメータ生成指示ステップにおいては、前記識別関数のパラメータとして前記特徴変換行列を更新させ、
前記識別関数のパラメータである参照ベクトルを更新させる参照ベクトル更新ステップを、さらにコンピュータに実行させる付記２０に記載のパターン認識プログラム。
【図１】
0006409463.tif 000018
【図２】
0006409463.tif 000019
【図３】
0006409463.tif 000020
【図４】
0006409463.tif 000021
【図５Ａ】
0006409463.tif 000022
【図５Ｂ】
0006409463.tif 000023
【図６Ａ】
0006409463.tif 000024
【図６Ｂ】
0006409463.tif 000025
【図６Ｃ】
0006409463.tif 000026
【図６Ｄ】
0006409463.tif 000027
【図７】
0006409463.tif 000028
【図８】
0006409463.tif 000029
【図９】
0006409463.tif 000030
【図１０】
0006409463.tif 000031
【図１１Ａ】
0006409463.tif 000032
【図１１Ｂ】
0006409463.tif 000033
【図１２Ａ】
0006409463.tif 000034
【図１２Ｂ】
0006409463.tif 000035
【図１３】
0006409463.tif 000036
【図１４】
0006409463.tif 000037
【図１５】
0006409463.tif 000038
【図１６】
0006409463.tif 000039
【図１７】
0006409463.tif 000040
【図１８】
0006409463.tif 000041