(57)【要約】【課題】識別精度を向上させる。【解決手段】パターン識別装置は、受付部と決定部と実行部と算出部と判定部とを備える。受付部は、入力パターンと入力パターンの属性情報とを受付ける。決定部は、入力パターンが属するサブクラスを少なくとも属性情報に基づいて決定する。実行部は、決定されたサブクラスに割り当てられた弱識別器を用いて、入力パターンがクラスに属するか否かを識別し、識別結果と弱識別器の信頼度を出力する。算出部は、識別結果および信頼度に基づく評価値を積算した積算値を算出する。判定部は、決定部、実行部、および、算出部による識別処理の終了条件が満たされたか否かを判定し、終了条件が満たされていない場合は、識別処理を繰り返し、終了条件が満たされた場合は、識別処理を終了し、終了したときの積算値を出力する。【選択図】図５
2014174693.tif 000002
【特許請求の範囲】
【請求項１】
複数のサブクラスに分割されるクラスに入力パターンが属するか否かを識別するパターン識別装置であって、
前記入力パターンと、前記入力パターンの属性情報と、を受付ける受付部と、
前記入力パターンが属する前記サブクラスを少なくとも前記属性情報に基づいて決定する決定部と、
決定された前記サブクラスに割り当てられた弱識別器を用いて、前記入力パターンが前記クラスに属するか否かを識別し、識別結果と前記弱識別器の信頼度を出力する実行部と、
前記識別結果および前記信頼度に基づく評価値を積算した積算値を算出する算出部と、
前記決定部、前記実行部、および、前記算出部による識別処理の終了条件が満たされたか否かを判定し、前記終了条件が満たされていない場合は、前記識別処理を繰り返し、前記終了条件が満たされた場合は、前記識別処理を終了し、終了したときの前記積算値を出力する判定部と、
を備えるパターン識別装置。
【請求項２】
前記決定部は、前記入力パターンと、前記属性情報とに基づいて、前記入力パターンが属する前記サブクラスを決定する、
請求項１に記載のパターン識別装置。
【請求項３】
音声を入力する音声入力部と、
前記音声に含まれる音素の１以上の候補を生成する候補生成部と、をさらに備え、
前記受付部は、前記候補を入力パターンとして受付け、
前記判定部は、前記積算値に基づいて前記候補が前記クラスに属するか否かを判定し、
前記判定部による判定結果に基づいて、前記候補から１の候補を選択する候補選択部と、をさらに備える、
請求項１に記載のパターン識別装置。
【請求項４】
複数のサブクラスに分割されるクラスに入力パターンが属するか否かを識別するパターン識別装置で実行されるパターン識別方法であって、
前記入力パターンと、前記入力パターンの属性情報と、を受付ける受付ステップと、
前記入力パターンが属する前記サブクラスを少なくとも前記属性情報に基づいて決定する決定ステップと、
決定された前記サブクラスに割り当てられた弱識別器を用いて、前記入力パターンが前記クラスに属するか否かを識別し、識別結果と前記弱識別器の信頼度を出力する実行ステップと、
前記識別結果および前記信頼度に基づく評価値を積算した積算値を算出する算出ステップと、
前記決定ステップ、前記実行ステップ、および、前記算出ステップによる識別処理の終了条件が満たされたか否かを判定し、前記終了条件が満たされていない場合は、前記識別処理を繰り返し、前記終了条件が満たされた場合は、前記識別処理を終了し、終了したときの前記積算値を出力する判定ステップと、
を含むパターン識別方法。
【請求項５】
複数のサブクラスに分割されるクラスに入力パターンが属するか否かを識別するパターン識別装置を、
前記入力パターンと、前記入力パターンの属性情報と、を受付ける受付部と、
前記入力パターンが属する前記サブクラスを少なくとも前記属性情報に基づいて決定する決定部と、
決定された前記サブクラスに割り当てられた弱識別器を用いて、前記入力パターンが前記クラスに属するか否かを識別し、識別結果と前記弱識別器の信頼度を出力する実行部と、
前記識別結果および前記信頼度に基づく評価値を積算した積算値を算出する算出部と、
前記決定部、前記実行部、および、前記算出部による識別処理の終了条件が満たされたか否かを判定し、前記終了条件が満たされていない場合は、前記識別処理を繰り返し、前記終了条件が満たされた場合は、前記識別処理を終了し、終了したときの前記積算値を出力する判定部と、
として機能させるためのプログラム。
【請求項６】
入力パターンの属性情報に基づいて、入力パターンをサブクラスに分割するルールを表す複数の分割ルールを記憶するルール記憶部と、
前記入力パターンと重みとを含む複数の学習データを、前記分割ルールおよび前記属性情報に基づいて複数の前記サブクラスに対応する複数のサブクラスデータに分割する分割部と、
分割された前記サブクラスデータそれぞれに対して、複数の弱識別器のうち、前記サブクラスデータに対する適合度が高い弱識別器を探索する探索部と、
探索された前記弱識別器の信頼度を算出し、複数の前記分割ルールから、前記信頼度が高い前記弱識別器に対応する前記分割ルールを選択するルール選択部と、
選択された前記分割ルールに対応する前記弱識別器の前記信頼度に基づいて前記学習データに含まれる前記重みを更新する更新部と、
を備える学習装置。
【請求項７】
学習装置で実行される学習方法であって、
前記学習装置は、入力パターンの属性情報に基づいて、入力パターンをサブクラスに分割するルールを表す複数の分割ルールを記憶するルール記憶部を備え、
前記入力パターンと重みとを含む複数の学習データを、前記分割ルールおよび前記属性情報に基づいて複数の前記サブクラスに対応する複数のサブクラスデータに分割する分割ステップと、
分割された前記サブクラスデータそれぞれに対して、複数の弱識別器のうち、前記サブクラスデータに対する適合度が高い弱識別器を探索する探索ステップと、
探索された前記弱識別器の信頼度を算出し、複数の前記分割ルールから、前記信頼度が高い前記弱識別器に対応する前記分割ルールを選択するルール選択ステップと、
選択された前記分割ルールに対応する前記弱識別器の前記信頼度に基づいて前記学習データに含まれる前記重みを更新する更新ステップと、
を含む学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、パターン識別装置、パターン識別方法、プログラム、学習装置および学習方法に関する。
【背景技術】
【０００２】
パターン識別装置として、複数の弱識別器をカスケード接続して１つの識別器を構成するＡｄａＢｏｏｓｔという手法が知られている。以下では、弱識別器を複数連結したものを１つの識別器（強識別器ともいう）として定義する。ＡｄａＢｏｏｓｔは、画像中の顔領域を識別するために有効な手法としてよく使われる。ＡｄａＢｏｏｓｔでは、正面、左向き、および、右向きのようなサブクラスによる変化に対応するために、正面用、左向き用、および、右向き用のサブクラス識別器を予め別々に用意しておき、すべてのサブクラス識別器を入力パターンに対して適用する必要がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Yoav  Freund  and  Robert  E.  Schapire,  “A  decision-theoretic  generalization  of  on-line  learning  and  an  application  to  boosting”,  EuroCOLT  ’95  Proceedings  of  the  Second  European  Conference  on  Computational  Learning  Theory  Pages  23-37
【非特許文献２】S.Z.Li,  L.  Zhu,  Z.Q.  Zhang,  et  al.,  ”Statistical  Learning  of  Multi-View  Face  Detection”,  ECCV  2002
【非特許文献３】C.Huang,  H.  Ai,  Y.  Li,  S.  Lao,  “Vector  Boosting  for  Rotation  Invariant  Multi-View  Face  Detection”,  ICCV2005,  Vol.  1,  17-21  Oct.  2005,  pp.446-453
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、最初に決定した１つのサブクラスを用いて以降の識別処理を実行するため、最初の決定ルールに性能が大きく依存し，最初の決定ルール設計が適切でない場合、識別精度が低下するという問題があった。
【課題を解決するための手段】
【０００５】
実施形態のパターン識別装置は、受付部と決定部と実行部と算出部と判定部とを備える。受付部は、入力パターンと入力パターンの属性情報とを受付ける。決定部は、入力パターンが属するサブクラスを少なくとも属性情報に基づいて決定する。実行部は、決定されたサブクラスに割り当てられた弱識別器を用いて、入力パターンがクラスに属するか否かを識別し、識別結果と弱識別器の信頼度を出力する。算出部は、識別結果および信頼度に基づく評価値を積算した積算値を算出する。判定部は、決定部、実行部、および、算出部による識別処理の終了条件が満たされたか否かを判定し、終了条件が満たされていない場合は、識別処理を繰り返し、終了条件が満たされた場合は、識別処理を終了し、終了したときの積算値を出力する。
【図面の簡単な説明】
【０００６】
【図１】音素の識別にサブクラスを考慮する例を示す図。
【図２】従来手法を適用した場合の識別処理を示す図。
【図３】実施形態の識別処理を示す図。
【図４】第１の実施形態の音声認識装置のブロック図。
【図５】識別部の詳細なブロック図。
【図６】第１の実施形態における識別処理のフローチャート。
【図７】第２の実施形態の学習装置のブロック図。
【図８】第２の実施形態における学習処理のフローチャート。
【図９】実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、この発明にかかるパターン識別装置の好適な実施形態を詳細に説明する。
【０００８】
（第１の実施形態）
従来技術の問題についてさらに説明する。ＡｄａＢｏｏｓｔを応用した手法として、最初に、粗い識別器で、顔領域を抽出し、次に正面用、左向き用、および、右向き用に学習しておいた識別器で識別をかけることによって高精度に顔領域を識別する手法が知られている。しかし、この手法は、入力パターンから推測されるサブクラスに対して適用されるものであり、予め入力パターンと共にサブクラス属性が与えられるケースについては考慮されていない。
【０００９】
図１は、音声認識における音素の識別にサブクラスを考慮する場合の例を示す図である。音素の識別では、図１のように前後の音素コンテキストによって音素の特徴が変化する。このため、音素コンテキストをサブクラスとし、このサブクラスを考慮し識別を行う。
【００１０】
図１では、“ｕ”という音素が入力パターンとして入力された場合の例が示されている。“草”を意味する日本語の音声に対応する音素列“ｋｋｕｓａ”と、“無害”を意味する日本語の音声に対応する音素列“ｍｕｇａｉ”が入力された場合とでは、音素“ｕ”の前後の音素（音素コンテキスト）によって“ｕ”の特徴が変化する。このため、音素が“ｕ”に属することを示すクラスは、複数のサブクラスＳ１、Ｓ２、Ｓ３に分割される。なお図１のクラスおよびサブクラスの分割方法は一例であり、これに限られるものではない。
【００１１】
識別対象の音素（図１の例では“ｕ”）は、音素コンテキストに応じていずれかのサブクラスに分類される。なお、以下では音素コンテキストを音素のサブクラス属性（属性情報）ともいう。図１の例では、前の音素が“ｋｋ”であることを示すサブクラス属性Ａ１、および、後の音素が“ｓｈ”であることを示すサブクラス属性Ａ２を有する場合、入力パターン（音素“ｕ”）はサブクラスＳ１に分類される。
【００１２】
音声認識システムでは、前後の音素コンテキストは、認識時に既知の情報として入力パターンに付随して与えられることが多い。前後の音素コンテキストによりサブクラスに分類し、ＡｄａＢｏｏｓｔなどの手法を適用したと仮定した場合の識別処理について図２を用いて説明する。図２は、従来手法を適用した場合の識別処理の一例を示す図である。ＡｄａＢｏｏｓｔなどを適用する場合、何らかの方法で音素コンテキストを予めクラスタリングし、サブクラスを決定した後、各サブクラスに対して独立に識別器を学習する。認識時には、付随する音素コンテキストから入力パターンの属するサブクラスを決定し、決定したサブクラスに紐付けられた識別器を適用する。
【００１３】
例えば、サブクラス１であることが決定された場合、以降の識別処理では、サブクラス１弱識別器１１〜１４を含むサブクラス１強識別器が使用される。同様に、サブクラス２であることが決定された場合、以降の識別処理では、サブクラス２弱識別器２１〜２４を含むサブクラス２強識別器が使用される。また、サブクラス３であることが決定された場合、以降の識別処理では、サブクラス３弱識別器３１〜３４を含むサブクラス３強識別器が使用される。なお、弱識別ステップの数は４に限られるものではない。
【００１４】
このように、従来の手法では、入力パターンに付随するサブクラス属性を利用するにはサブクラス毎に識別器を用意する必要があった。また１つの識別器（強識別器）ではサブクラス属性を考慮した識別を行うことができなかった。
【００１５】
第１の実施形態のパターン識別装置は、複数の弱識別器をカスケード接続して識別を行う。各弱識別器は、サブクラス群とそれぞれのサブクラスに割り当てられた識別器を持つ。本実施形態のパターン識別装置は、入力パターンに付随するサブクラス属性から、いずれのサブクラスに分類されるかを決定し、決定したサブクラスに割り当てられた弱識別器を使用する。
【００１６】
図３は、本実施形態の識別処理の一例を示す図である。図３に示すように、本実施形態では、複数の弱識別ステップごとに、サブクラス属性からサブクラスを決定する。図３では、サブクラスＸ、Ｙ、Ｚの３ステップそれぞれで、サブクラスが決定される。なお、ステップ数は３に限られるものではない。サブクラスＸ、Ｙ、Ｚが決定された後、サブクラスＸ、Ｙ、Ｚそれぞれに対応する弱識別器であるサブクラスＸ弱識別器４１、サブクラスＹ弱識別器４２、サブクラスＺ弱識別器４３が使用される。これにより、弱識別器を連結した１つの識別器（強識別器）でサブクラス属性を考慮した高精度な識別を行うことが可能となる。
【００１７】
次に、第１の実施形態のパターン識別装置を音声認識装置１００に適用した例について説明する。なお、適用可能な装置は音声認識装置に限られるものではない。例えば画像認識装置などのように、パターン識別機能を利用する装置であれば、従来から用いられているあらゆる装置に適用できる。
【００１８】
図４は、第１の実施形態の音声認識装置１００の機能構成の一例を示すブロック図である。音声認識装置１００は、音声入力部１０１と、認識処理部１１０と、出力部１０２と、記憶部１２１と、を備えている。
【００１９】
記憶部１２１は、音声認識処理で参照される各種情報を記憶する。記憶部１２１は、例えば、音素辞書および単語辞書などを記憶する。記憶部１２１は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００２０】
音声入力部１０１は、認識対象とする音声を入力する。音声入力部１０１は、例えば、音声入力用マイクなどから音声信号を入力する。
【００２１】
認識処理部１１０は、入力された音声に対して音声認識処理を実行する。認識処理部１１０は、候補生成部１１１と、識別部１１２と、候補選択部１１３と、を備えている。
【００２２】
候補生成部１１１は、入力された音声（音声信号）を受取り、音声認識処理を実行して認識結果の候補である認識候補を生成する。例えば、候補生成部１１１は、音素辞書や単語辞書を用いて、入力された音声に対して確からしい音素列候補群を生成する。候補生成部１１１による候補生成処理は、従来から利用されているＨＭＭ方式の音声認識処理と同様の方式で実現できる。
【００２３】
識別部１１２は、パターン識別装置に相当する構成部である。識別部１１２は、生成された音素列候補に含まれる各音素が、指定されたクラスに属するか否かを識別する。識別部１１２の詳細については後述する。
【００２４】
候補選択部１１３は、識別部１１２による識別結果に基づき、音素列候補から１の候補を選択する。出力部１０２は、選択された候補を音声認識結果として出力する。
【００２５】
図５は、識別部１１２の詳細な機能構成の一例を示すブロック図である。識別部１１２は、ルール記憶部５２１と、弱識別器記憶部５２２と、出力記憶部５２３と、受付部５０１と、決定部５０２と、実行部５０３と、算出部５０４と、判定部５０５と、を備えている。
【００２６】
受付部５０１、決定部５０２、実行部５０３、算出部５０４、および、判定部５０５は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００２７】
ルール記憶部５２１は、サブクラス決定ルールを記憶する。サブクラス決定ルールは、サブクラス属性に応じて入力パターンを複数のサブクラスのいずれに分類するかを決定するルールである。例えば、前の音素が“ｕ”であるか否かによって２つのサブクラスに分類するルールをサブクラス決定ルールとすることができる。サブクラス決定ルールは、弱識別器を用いる識別処理（弱識別ステップ）ごとに定められていてもよい。
【００２８】
弱識別器記憶部５２２は、事前の学習等により得られた弱識別器と、弱識別器の信頼度と、を記憶する。弱識別器は、サブクラスに紐付けられて弱識別器記憶部５２２に記憶される。
【００２９】
出力記憶部５２３は、算出部５０４の出力結果を記憶する。
【００３０】
なお、ルール記憶部５２１、弱識別器記憶部５２２、および、出力記憶部５２３の一部または全部は、図４の記憶部１２１により実現してもよい。
【００３１】
受付部５０１は、例えば候補生成部１１１から入力される、入力パターン（音素）と入力パターンの属性情報（サブクラス属性）とを受け付ける。
【００３２】
決定部５０２は、入力パターンに付随するサブクラス属性を用いて、入力パターンのサブクラスを決定する。決定部５０２は、例えば、ルール記憶部５２１に保存してあるサブクラス決定ルールとサブクラス属性とを用いて、入力パターンのサブクラスを決定する。
【００３３】
実行部５０３は、決定されたサブクラスに割り当てられた弱識別器を用いて、入力パターンがクラスに属するか否かを識別し、識別の結果（弱識別結果）と弱識別器の信頼度を出力する。例えば実行部５０３は、まず決定されたサブクラスに紐付けられた弱識別器および当該識別器の信頼度を弱識別器記憶部５２２から読み出す。実行部５０３は、読み出した弱識別器を用いて、入力パターンに対して識別を実行し、弱識別結果と、読み出した弱識別器の信頼度と、を出力する。
【００３４】
算出部５０４は、弱識別結果および信頼度に基づく評価値を積算した積算値（スコア）を算出する。積算値は、例えば出力記憶部５２３に記憶される。
【００３５】
判定部５０５は、識別処理の終了条件が満たされたか否かを判定し、終了条件が満たされていない場合は、識別処理を継続する。識別処理では、上記の決定部５０２、実行部５０３、および、算出部５０４による処理が繰り返される。終了条件が満たされた場合は、判定部５０５は、識別処理を終了し、終了したときの積算値（出力記憶部５２３に保存されている出力結果）を出力する。
【００３６】
次に、このように構成された音声認識装置１００による識別処理について図６を用いて説明する。図６は、第１の実施形態における識別処理の一例を示すフローチャートである。
【００３７】
以下では、音声波形から得られる一般的な音声特徴量ＭＦＣＣ（Mel  Frequency  Cepstral  Coefficient）１２次元を入力パターンとする。また、前後の音素コンテキストをサブクラス属性として使用する。例えば、“あ（ａ）”、“い（ｉ）”、“う（ｕ）”、“え（ｅ）”、“お（ｏ）”という音素があったとする。“うえあ（ｕｅａ）”という単語の中の”ｅ”という音素が“ｅ”であるか否かというような音素識別を行うときは、“ｅ”の前のコンテキストが“ｕ”となり、後ろのコンテキストが“ａ”となる。
【００３８】
入力パターンやサブクラス属性はこれらに限定されるものではなく、どのように抽出された入力パターンでもよいし、入力パターンを何れかのサブクラスに決定できるようなサブクラス属性であればどのようなものでもよい。
【００３９】
以下ではクラス識別問題として、入力パターンが音素“ａ”であるか否かを識別する２クラス問題を例に説明する。入力パターン“ａ”のサブクラス属性は前のコンテキストが“ｕ”、後ろのコンテキストが“ｏ”であるとする。なお、本実施形態は２クラス識別に限定されるものではなく、多クラス識別においても拡張可能である。
【００４０】
受付部５０１は、入力パターンと、当該入力パターンのサブクラス属性との入力を受付ける（ステップＳ１０１）。例えば、入力パターン“ａ”、および、サブクラス属性“ｕ”（前のコンテキスト）、“ｏ”（後ろのコンテキスト）を受付ける。
【００４１】
決定部５０２は、Ｎ（Ｎ＞０）回目の弱識別ステップそれぞれで、受付けられたサブクラス属性（前のコンテキスト“ｕ”、後ろのコンテキスト“ｏ”）に対して、Ｎ回目の弱識別ステップに対応するサブクラス決定ルールを適用する。サブクラス決定ルールとしては、例えば、前のコンテキストが音素ｐ（ｐ∈｛“ａ”、“ｉ”、“ｕ”、“ｅ”、“ｏ”｝）であるか否か、後ろのコンテキストが音素ｐであるか否かを決定するルールを適用できる。なおサブクラス決定ルールはこのようなルールに限定されるものではない。サブクラス属性を用いてサブクラスに分割し得るルールであればどのようなルールであってもよい。また、サブクラス属性と入力パターンの値とを用いてサブクラスに分割してもよい。例えば、入力パターンが特徴量ベクトルであったとすると、「特徴量ベクトルの第１成分が閾値（例えば５）以下、かつ、サブクラス属性（前のコンテキスト）が“ａ”である」などのルールを用いてもよい。
【００４２】
ここで、Ｎ回目の弱識別ステップに紐付けされているサブクラス決定ルールが、前の音素コンテキストが“ｕ”であるか否かという２つのサブクラスに分類されるルールであるとする。この場合、入力パターン“ａ”は、前が“ｕ”の音素コンテキストを持っているので、前が“ｕ”であるというサブクラスに分類（決定）される（ステップＳ１０２）。
【００４３】
実行部５０３は、決定されたサブクラス（前の音素コンテキストが“ｕ”であるというサブクラス）に紐付けられた弱識別器を弱識別器記憶部５２２から読み出す（ステップＳ１０３）。実行部５０３は、読み出した弱識別器による識別処理を実行する（ステップＳ１０４）。実行部５０３は、識別処理の結果（弱識別結果）と弱識別器の信頼度とを出力する。弱識別器による識別処理では、例えばＭＦＣＣの予め定められた次元の値が予め定められた閾値よりも大きいか否かが判定される。
【００４４】
この動作は一般的にＤｅｃｉｓｉｏｎ  Ｓｔｕｍｐと呼ばれる手法と同様である。ここで、入力パターンをｘとし、Ｎ回目の弱識別ステップの“ｕ”であるというサブクラスに紐付けられた弱識別器をｈＮ０（ｘ）とし、“ｕ”でないというサブクラスに紐付けられた弱識別器をｈＮ１（ｘ）とする。弱識別器ｈＮ０（ｘ）が、ＭＦＣＣの１次元目（ＭＦＣＣ（１））が閾値３０より大きければこの入力パターンは“ａ”であると定められているときに、弱識別器ｈＮ０（ｘ）は、以下の（１）式のように動作する。
ｉｆ  ＭＦＣＣ（１）≦３０
ｈＮ０（ｘ）＝−１
ｅｌｓｅ
ｈＮ０（ｘ）＝１
・・・（１）
【００４５】
算出部５０４は、実行部５０３によって得られた弱識別結果と弱識別器の信頼度とを用いてスコアを算出する（ステップＳ１０５）。算出部５０４は、スコアを積算し、出力記憶部５２３に保存する。このときスコアＳＮは、予め弱識別器に紐付けされている信頼度αＮ０（＞０）を用いて、以下の（２）式により算出される。
ＳＮ＝αＮ０ｈＮ０（ｘ）  ・・・（２）
【００４６】
算出部５０４は、スコアＳＮを積算してＮ回目までの積算値である積算スコアＴｓＮを、以下の（３）式により求める。なお、Ｔｓ０は０とする。
ＴｓＮ＝ＴｓＮ−１＋ＳＮ  ・・・（３）
【００４７】
判定部５０５は、識別処理の終了条件を満たすか否かを判定する（ステップＳ１０６）。例えば、判定部５０５は、Ｎが予め決められた回数まで到達したか否かを判定する。終了条件を満たさない場合（ステップＳ１０６：Ｎｏ）、ステップＳ１０２に戻り、次の弱識別ステップが繰り返される。終了条件を満たす場合（ステップＳ１０６：Ｙｅｓ）、判定部５０５は、出力記憶部５２３に保存してある積算スコア（識別結果）を出力して識別処理を終了する（ステップＳ１０７）。
【００４８】
上記例では、積算スコアＴｓＮの値が０より大きければ、結果として入力パターンは“ａ”であると識別される。また、積算スコアＴｓＮの値が０以下であれば“ａ”でないと識別される。
【００４９】
これまでは、基本的なＤｅｃｉｓｉｏｎ  ＳｔｕｍｐによるＡｄａＢｏｏｓｔと同様の手法を適用した弱識別器、および、スコア算出方法について説明した。適用可能な手法はこれに限定されるものではない。例えば、Ｒｅａｌ−ＡｄａＢｏｏｓｔ、および、Ｇｅｎｔｌｅ  Ｂｏｏｓｔなどを含む、ＡｄａＢｏｏｓｔの発展系のＢｏｏｓｔｉｎｇ手法などにも適用することが可能である。また弱識別器として入力パターンの共起性などを考慮する手法（例えば、輝度勾配方向共起ヒストグラム（CoHOG（Co-occurrence  Histograms  of  Oriented  Gradients））なども適用することができる。また全ステップがサブクラスを考慮した弱識別ステップである必要はなく、一部がサブクラスを考慮しない従来の弱識別ステップ（従来のＡｄａＢｏｏｓｔ）でもよい。
【００５０】
このように、第１の実施形態のパターン識別装置では、弱識別器毎にサブクラスを考慮した識別器を用いるため、単一の識別器で、サブクラスを使った、より高精度な識別が可能となる。
【００５１】
（第２の実施形態）
第２の実施形態では、第１の実施形態のパターン識別装置で用いる識別器を学習する学習装置について説明する。図７は、第２の実施形態の学習装置２００の機能構成例を示すブロック図である。学習装置２００は、学習データ記憶部２２１と、ルール記憶部２２２と、弱識別器記憶部２２３、２２４と、分割部２０１と、探索部２０２と、ルール選択部２０３と、更新部２０４と、判定部２０５と、を備えている。
【００５２】
学習データ記憶部２２１は、クラスラベルと入力パターンとサブクラス属性と重みとを含む学習データを記憶する。ルール記憶部２２２は、学習データを、複数のサブクラスのいずれに属するかによって複数の学習データ（以下、サブクラスデータという）へ分割する分割ルールを記憶する。分割ルールは、例えば、“前の音素コンテキストがｕであるか否か”、“後ろの音素コンテキストがｉであるか否か“などによって、学習データを２つのサブクラスデータに分割するルールである。分割ルールは、このようなルールに限定されるものではなく、学習データを複数のサブクラスデータに分割し得るルールであれば何でもよい。また、サブクラス属性と入力パターンの値とを用いて学習データをサブクラスデータに分割するルールを用いてもよい。
【００５３】
弱識別器記憶部２２３は、探索部２０２で算出された分割ルールと、探索部２０２により探索された弱識別器と、を記憶する。弱識別器記憶部２２４は、ルール選択部２０３により選択された分割ルールに対応する弱識別器を記憶する。
【００５４】
分割部２０１は、学習データ記憶部２２１に記憶されている学習データを、ルール記憶部２２２に記憶されている分割ルールによってサブクラスデータに分割する。
【００５５】
探索部２０２は、分割により得られたサブクラスデータそれぞれに対して、複数の弱識別器のうち、適合度が高い弱識別器を探索する。
【００５６】
ルール選択部２０３は、探索された弱識別器の信頼度を算出し、複数の分割ルールから、信頼度が高い弱識別器に対応する分割ルールを選択する。例えば、ルール選択部２０３は、弱識別器記憶部２２３に記憶された分割ルールの中で最も信頼度の高い分割ルールを選択する。ルール選択部２０３は、選択した分割ルールと、選択した分割ルールに付随する弱識別器と、信頼度と、を弱識別器記憶部２２４に記憶する。
【００５７】
更新部２０４は、弱識別器記憶部２２４に保存された分割ルールと、当該分割ルールに付随する弱識別器と、信頼度と、を用いて学習データの重みを更新する。
【００５８】
判定部２０５は、弱識別器の探索を終了するか否かの判定を行う。
【００５９】
分割部２０１、探索部２０２、ルール選択部２０３、更新部２０４、および、判定部２０５は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００６０】
次に、このように構成された学習装置２００による学習処理について図８を用いて説明する。図８は、第２の実施形態における学習処理の一例を示すフローチャートである。
【００６１】
第２の実施形態では第１の実施形態と同様に、学習データ記憶部２２１に保存してある入力パターン（学習データ）は、音声波形から得られる音声特徴量ＭＦＣＣ１２次元とする。また、前後の音素コンテキストをサブクラス属性として使用する。第１の実施形態と同様に、本実施形態の入力パターンやサブクラス属性はこれらに限定されるものではなく、どのように抽出された入力パターンでもよいし、入力パターンを何れかのサブクラスに決定できるようなサブクラス属性であれば何でもよい。
【００６２】
以下では、入力パターンが音素“ａ”であるか否かを識別する２クラス識別器の学習を行う例を説明する。本実施形態は２クラス識別に限定されるものではなく、多クラス識別にも拡張可能である。
【００６３】
学習データ記憶部２２１は、複数の学習データを保存している。各学習データは、例えば、“ａ”か”ａではない”というクラスラベルを持つとともに、“前の音素コンテキストがｕ”、“後ろの音素コンテキストがｉ“というような前後の音素コンテキストをサブクラス属性として持つ、ＭＦＣＣ１２次元のベクトルデータである。また、各学習データはそれぞれ重み係数を持つ。Ｎ回目における各データの重み係数は、（Ｎ−１）回目の学習処理の中で更新部２０４によって決定される。
【００６４】
Ｎ＝１回目に関しては、“ａ”のクラスラベルを持つ学習データに対する重みは、“ａ”のクラスラベルを持った学習データの総数の逆数を２で割った値（初期データ重み）を用いる。また、“ａではない”のクラスラベルを持つデータに対する重みは、“ａではない”のクラスラベルを持った学習データの総数の逆数を２で割ったもの用いる。
【００６５】
なお、重みの初期値（初期データ重み）はこれに限定されるものではない。例えば、予め、強調したいデータなどに対して大きい重みを付けるなどをして意図的に初期データの重みを変化させてもよい。
【００６６】
Ｎ（Ｎ＞０）回目の弱識別器学習ステップそれぞれで、分割部２０１は、ルール記憶部２２２から分割ルールを１つ取り出す（ステップＳ２０１）。以下では分割ルールとして、“前の音素コンテキストがｕであるか否か”、“後ろの音素コンテキストがｅであるか否か”、“前の音素コンテキストがａであるか否か”という分割ルールを用いる例を説明する。
【００６７】
分割部２０１は、取り出した分割ルール（例えば、“前の音素コンテキストがｕであるか否か”という分割ルールｄ）によって学習データを複数のサブクラスデータに分割する（ステップＳ２０２）。２クラス識別の場合は、学習データは２つのサブクラスデータに分割される。
【００６８】
探索部２０２は、分割ルールｄによって得られる各サブクラスデータに対して適合度の高い弱識別器を算出する（ステップＳ２０３）。各サブクラスデータに対して弱識別器を算出する手法は、従来のＡｄａＢｏｏｓｔの弱識別器算出方法とほぼ同じである。以下に、従来のＡｄａＢｏｏｓｔの学習方法について説明する。
【００６９】
Ｎ個の学習データ（ｘ１、ｙ１）、・・・、（ｘｉ，ｙｉ）、・・・、（ｘＮ、ｙＮ）（１≦ｉ≦Ｎ）が存在するものとする。ここでｘｉは何らかの特徴をもつデータであり、ｙｉ∈（１、−１）はｘｉが属するクラスラベルである。一般的にはＡｄａＢｏｏｓｔによって検出する対象を１のクラスラベルとし、その他を−１のクラスラベルとする。このとき、以下のステップＡ１〜Ａ２によりＡｄａＢｏｏｓｔの学習処理を実行する。
【００７０】
ステップＡ１：学習データの重みＤｏ（ｉ）を以下の（４）式で初期化する。
【数１】
2014174693.tif 000003
【００７１】
ステップＡ２：重みを考慮したｔ回目の学習データの重み分布Ｄｔにおいて、学習データに対する誤り率εｔ（以下の（５）式）が最小になるように弱識別器ｈｔ（ｘ）を学習する。
【数２】
2014174693.tif 000004
【００７２】
ステップＡ３：信頼度αｔをεｔから算出する（以下の（６）式）。
【数３】
2014174693.tif 000005
【００７３】
ステップＡ４：学習データの重みを更新する（以下の（７）式）。
【数４】
2014174693.tif 000006
【００７４】
ステップＡ５：学習データの重みが１になるよう正規化処理を行う（以下の（８）式）。
【数５】
2014174693.tif 000007
【００７５】
ステップＡ２〜ステップＡ５をＴ回繰り返し、弱識別器および信頼度をＴ個求める。最終的な強識別器Ｈ（ｘ）は、選択されたＴ個の弱識別器の信頼度を重みとした重み付き和となる（以下の（９）式）。
【数６】
2014174693.tif 000008
【００７６】
このようにして、Ｈ（ｘ）＞０ならば、入力ｘは検出対象であり、それ以外ならば入力xは検出対象ではないことを識別する識別関数が導かれる。
【００７７】
従来のＡｄａＢｏｏｓｔでは、重みを考慮したＮ回目の学習データ重み分布ＤＮにおいて、誤り率εN（（５）式）が最小になるように弱識別器ｈＮ（ｘ）を学習した。本実施形態では、分割ルールｄ（前の音素コンテキストが“ｕ”であるか、など）によって学習重み分布（学習データ）を分割して得られるサブクラス重み分布ＤＮｄ０、ＤＮｄ１（サブクラスデータ）に対して、誤り率εＮｄ０、εＮｄ１が最小となる弱識別器ｈＮｄ０（ｘ）、ｈＮｄ１（ｘ）を求める。
【００７８】
最適な弱識別器は、Ｄｅｃｉｓｉｏｎ  Ｓｔｕｍｐと同様の方法で求めることができる。例えば、ＭＦＣＣの１２次元を順々に探索し、“ａ”か“ａではない”というクラス識別率が最も高くなる次元と閾値を探索することにより求められる。
【００７９】
閾値に関しては、学習データ記憶部２２１に記憶されている学習データの値を全探索することで最適な閾値を得る。探索部２０２は、算出された弱識別器（例えば、最適な次元、および、閾値とその閾値に対して大きいほうか小さいほうのいずれが“ａ”であると識別されるかを示す情報）を、Ｎ回目の弱識別器学習ステップにおける該当分割ルールｄに紐付けて弱識別器記憶部２２３に保存する。
【００８０】
このようにして、各分割ルールによって定められるサブクラス（サブクラスデータ）に対して最適な弱識別器が求められる。
【００８１】
探索部２０２は、すべての分割ルールを処理したか否かを判定する（ステップＳ２０４）。すべての分割ルールを処理していない場合（ステップＳ２０４：Ｎｏ）、分割部２０１は、次の分割ルールを読み出して処理を繰り返す。なお、すべての分割ルールの探索を探索部２０２による探索の打ち切りの条件とするのではなく、各サブクラスデータに対する弱識別器の適合度などによって探索を打ち切ってもよい。
【００８２】
すべての分割ルールを処理した場合（ステップＳ２０４：Ｙｅｓ）、ルール選択部２０３は、最適な分割ルールを弱識別器記憶部２２３から選択する（ステップＳ２０５）。弱識別器記憶部２２３には、Ｎ回目の弱識別器学習ステップにおいて、すべての分割ルールに紐付けられた各サブクラスの弱識別器が保存されている。ルール選択部２０３は、これらの弱識別器を各サブクラスデータに適用し、全学習データ重み分布ＤＮにおいて、誤り率εN（（５）式）が最小になるような分割ルールを選択する。
【００８３】
ルール選択部２０３は、選択された分割ルールと、信頼度αＮとを弱識別器記憶部２２４に保存する（ステップＳ２０６）。信頼度αＮは、選択された分割ルールに紐付けされた弱識別器と、誤り率εNとを用いて（６）式から得られる。ルール選択部２０３は、その後、弱識別器記憶部２２３に保存されているデータを消去する。
【００８４】
なお、弱識別器記憶部２２４に保存する信頼度は、全学習データ重み分布ＤＮにおける誤り率εNから得られる単一の信頼度αＮに限定されるものではない。例えば、サブクラス重み分布ＤＮｄ０、ＤＮｄ１に対する誤り率εNｄｏ、εNｄ１から（６）式を用いて得られる複数の信頼度αＮｄ０、αＮｄ１等を保存して用いてもよい。
【００８５】
次に、更新部２０４は、弱識別器記憶部２２４に保存してある分割ルールと、当該分割ルールに紐付けされた弱識別器と、信頼度と、から学習データに対する重み（重み係数）を算出する。更新部２０４は、算出した重み係数で、学習データ記憶部２２１に記憶されている学習データの重み係数を更新する（ステップＳ２０７）。更新部２０４は、例えば、弱識別器記憶部２２４に保存してある弱識別器と信頼度αＮと学習データ記憶部２２１に保存してあるクラスラベルとを用いて、（７）式および（８）式より、学習データ重み分布ＤＮ＋１を求める。
【００８６】
判定部２０５は、終了条件を満たすか否かを判定する（ステップＳ２０８）。例えば、判定部２０５は、予め定められた回数の弱識別器学習ステップが終了したかを終了条件とする、終了条件を満たさない場合（ステップＳ２０８：Ｎｏ）、ステップＳ２０１に戻り処理が繰り返される。終了条件を満たす場合（ステップＳ２０８：Ｙｅｓ）、学習処理が終了する。
【００８７】
このような学習処理により、サブクラスを考慮した識別器を学習することが可能となる。本実施形態では基本的なＤｅｃｉｓｉｏｎ  ＳｔｕｍｐによるＡｄａＢｏｏｓｔを用いた弱識別器学習の説明を行ったが、適用可能な手法はこれに限定されるものではない。Ｒｅａｌ−ＡｄａＢｏｏｓｔや、Ｇｅｎｔｌｅ  Ｂｏｏｓｔなどを含む、ＡｄａＢｏｏｓｔの発展系のＢｏｏｓｔｉｎｇ手法などを適用してもよい。また弱識別器として入力パターンの共起性などを考慮する手法（例えば、輝度勾配方向共起ヒストグラム）なども適用することができる。また全ステップの学習でサブクラスを考慮する必要はなく、一部がサブクラスを考慮しない従来の学習手法（従来のＡｄａＢｏｏｓｔ）でもよい。
【００８８】
以上説明したとおり、第１から第２の実施形態によれば、サブクラスを使った、より高精度な識別が可能となる。
【００８９】
次に、第１または第２の実施形態にかかる装置（パターン識別装置、学習装置）のハードウェア構成について図９を用いて説明する。図９は、第１または第２の実施形態にかかる装置のハードウェア構成を示す説明図である。
【００９０】
第１または第２の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００９１】
第１または第２の実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００９２】
第１または第２の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００９３】
さらに、第１または第２の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１または第２の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００９４】
第１または第２の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００９５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９６】
１００  音声認識装置
１０１  音声入力部
１０２  出力部
１１０  認識処理部
１１１  候補生成部
１１２  識別部
１１３  候補選択部
１２１  記憶部
２００  学習装置
２０１  分割部
２０２  探索部
２０３  ルール選択部
２０４  更新部
２０５  判定部
２２１  学習データ記憶部
２２２  ルール記憶部
２２３，２２４  弱識別器記憶部
５０１  受付部
５０２  決定部
５０３  実行部
５０４  算出部
５０５  判定部
５２１  ルール記憶部
５２２  弱識別器記憶部
５２３  出力記憶部
【図１】
2014174693.tif 000009
【図２】
2014174693.tif 000010
【図３】
2014174693.tif 000011
【図４】
2014174693.tif 000012
【図５】
2014174693.tif 000013
【図６】
2014174693.tif 000014
【図７】
2014174693.tif 000015
【図８】
2014174693.tif 000016
【図９】
2014174693.tif 000017