説明

パーセプトロン学習装置、パーセプトロン学習装置におけるパラメータ学習方法、パーセプトロン学習プログラム、記録媒体

【課題】認識精度が高いパラメータを得ることができるパーセプトロン学習装置を提供する。
【解決手段】正解系列から得られる素性と、仮説から得られる素性との相互において単語の不一致の発生率に対応した値を持つ評価関数Sを求め、この評価関数により正解系列から得られた素性の値と、仮説から得られた素性の値に重み付けを施し、重み付けされた素性の値によってパラメータα(j)の値を更新し、重み付けされたパラメータα(j)の値を用いてパーセプトロンアルゴリズム解析を行い、最も大きいスコア値を示す仮説を検出し、最も大きいスコア値を示す仮説から最適なパラメータα(j)の値を学習する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明はパターン識別に用いられるパーセプトロン学習装置、パーセプトロン装置におけるパラメータ学習方法、パーセプトロン学習プログラム、記録媒体に関する。
【背景技術】
【0002】
従来よりパターン識別(図形の識別、単語列の認識等)の分野でパーセプトロン装置が広く用いられている(非特許文献1)。系列の識別に広く用いられているパーセプトロンアルゴリズムでは、素性系列上での識別学習が行われる。
素性系列は識別対象となる系列から抽出されるベクトルである。つまり、パーセプトロンアルゴリズムは、識別対象の系列ではなく、素性系列の識別誤りが小さくなるようにパラメータの学習を行なっている。
【0003】
図4に従来のパーセプトロン学習装置の構成を示す。10−1は従来のパーセプトロン学習装置を示す。ここでは単語列を入力系列として学習する場合を例示して説明する。従来のパーセプトロン学習装置10−1は例えば音声認識において入力音声の正解単語列(もしくは最も正解単語列に近い仮説)を正解系列yKとし、これに対応する他の仮説系列を学習データとして読み込むデータ入力手段11と、パーセプトロンアルゴリズムに用いられているパラメータαの全ての値を初期値、例えばα={0}に設定するパラメータ初期設定手段12と、データ入力手段11に取り込まれた正解系列yK及びそれに対応する仮説系列から素性値を算出する素性値算出手段13と、ある仮説から得られた素性値とパラメータαの積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析手段15と、素性値算出手段13で算出した素性値φ(yK,i,j)とφ(zK*,i,j)を用いてパラメータαの値を更新するパラメータ更新手段17−1と、データ入力手段11に取り込んだ学習データの全てについて学習したか否かを判定し、学習データの全てに関して再帰的に学習を実行させるループ制御手段18とによって構成され、その学習結果としてパラメータαを出力する。
【0004】
図5にパーセプトロン学習装置10−1の処理手順を説明するためのフローチャートを示す。
【0005】
ステップSP5-1で学習データ入力手段11が学習データを取り込む。
【0006】
ステップSP5-2でパラメータ初期設定手段12がパラメータαの全ての値を初期値α={0}に設定する。
【0007】
ステップSP5-3で素性値算出手段13はデータ入力手段11に取り込まれた正解系列と、それに対応する仮説系列から素性値を算出する。
【0008】
ステップSP5-4でパーセプトロンアルゴリズム解析手段15がパラメータαが与えられた条件の基で、ある仮説から得られた素性との累積加算値で与えられたスコアを最大化する仮説zK*を求める。
【0009】
ステップSP5-5でパラメータ更新手段17−1は素性値φ(yK,i,j)とφ(zK*,i,j)を用いてパラメータαの値を更新する。
【0010】
ステップSP5-6でループ制御手段18は学習データの中の全ての仮説について学習を実行したか否かを判定し、学習が未である仮説が存在すれば再度ステップSP5-4に戻りパラメータαの更新を繰り返す。全ての仮説に関して処理が完了すると、予め設定した学習の繰り返し回数Tに達したか否かをステップSP5-7で判定し、学習の繰り返し回数がT回に達した時点で学習を終了する。
【0011】
図6に図5に示した処理手順を実行するためのプログラムの記載例を示す。L−1は学習データの読み込みを実行する行、行L−2はパラメータαの初期化処理を行なう行、行L−4はT回の学習繰り返しを制御する行、行L−5は全K組の学習用データを順次適用する行、行L−6はパーセプトロンアルゴリズムの解析処理を実行する行である。この行L−6でスコアが最大化される仮説zK*が求められる。行L−7に示される各素性のインデックスjに対し、行L−8でパラメータα(j)の更新処理を実行する。
【0012】
ここで素性値算出手段13で実行する素性値算出方法について説明する。
ある仮説W=“おーい_お茶_ちょうだい”が与えられたとする。このとき単語の1〜3個の並びを抽出すると、“おーい”、“お茶”、“おーい_お茶”、“ちょうだい”、“お茶_ちょうだい”、“おーい_お茶_ちょうだい”が得られる。ここで素性値をその単語の並びが得られたか否かで「1」または「0」の2値で表すと、この例の場合、“おーい_お茶”に対応する素性値φはφ(W,i=2,j=おーい_お茶)=1となる。“おーい_おじや”に対応する素性値φはφ(W,i=2,j=おーい_おじや)=0である。ここでiは素性が得られた位置、jは素性を表すインデックスを表わす。
位置iにおける素性の例:(位置i-2から位置iの単語3つの組)、(位置i-1から位置iの単語2つの組)、(位置iの単語)
【0013】
【表1】

位置i=5における素性は{(の+親+は),(親+は),(は)}となる。
【0014】
図4に示したパラメータ更新手段17−1、図5に示したステップSP5-6で行われるパラメータ更新処理は図6に示す行L-8から明らかなように正解系列yKと仮説zK*の双方に素性が存在するとき、更新値は「0」となり、パラメータα(j)の値は更新されない。正解系列yKにのみ素性が存在した場合は更新値は「+1」となり、パラメータα(j)の値は+1されプラス値側に更新される。仮説zK*のみに素性が存在する場合は更新値は「−1」となり、パラメータα(j)の値は−1されマイナス値側に更新される。ただし、実際の学習時には学習率η(>0)を乗じ、±ηずつ更新される場合もある。パラメータα(j)の値は6行目のパーセプトロンアルゴリズム解析時に利用され素性値φ(zK,i,j)とパラメータα(j)との積の累計加算値が最大となる仮説zK*を求め、この条件を満たすパラメータα(j)の値を学習値として保存し、パターン識別時に利用する。
【0015】
実際のパターン識別時には、得られたパラメータαを直接利用するのではなく、平均パラメータαave(j)=Σk,tαkt(j)/KTを用いた方がテストセットに対し頑健で精度良く解析できることが知られている。ただし、αkt(j)は、t番目のループにおいて、k番目のデータを学習し終えた際のパラメータα(j)である。
【非特許文献1】Michael Collins. “Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with Perceptron Algorithms,” Proceedings of the Conference on Empirical Methods for Natural Language Processing, pp. 1-8. 2002.
【発明の開示】
【発明が解決しようとする課題】
【0016】
従来のパーセプトロンアルゴリズムでは、各系列から得られる素性系列の差が小さくなるように学習されているが、この学習方法によれば識別対象の系列ではなく、素性系列の識別誤りが小さくなるように学習を行なうことになる。この学習方法によれば素性系列の各要素の識別に関わる影響力を直接的に考慮することができないことになり、識別問題の解法として妥当ではない。
【0017】
この発明の目的は識別対象となる系列の識別誤り率を小さくするこように学習を行ない、正当な識別問題の解法を提供しようとするものである。
【課題を解決するための手段】
【0018】
この発明では正解系列からみた系列のスコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び系列のスコアを最大化する仮説からみた正解系列との差分を表わす評価関数S(zK*,i,j)を算出する評価関数算出手段を設け、この評価関数算出手段で算出した評価関数を素性値に乗算し、評価関数により素性値に重み付けを行ない、パラメータα(j)の更新値に修正を加え、パラメータα(j)の学習を適正に行わせるように構成する。
【0019】
具体的にはこの発明によるパーセプトロン学習装置は正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力手段と、パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定手段と、データ入力手段に取り込まれた正解系列と、それに対応する仮説系列から素性値を算出する素性値算出手段と、パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析手段と、正解系列からみたスコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、スコアを最大化する仮説からみた正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出手段と、素性値算出手段で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、評価関数算出手段で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新手段と、パーセプトロンアルゴリズム解析手段の解析処理と、パラメータ更新手段の更新処理とを全学習データに対して再帰的に実行させるループ制御手段とを備える構成とした。
【0020】
この発明によるパーセプトロン学習装置は更に前記記載のパーセプトロン学習装置において、評価関数を表す差分は、正解系列とスコアを最大化する仮説との間の相対的な識別誤り率によって定めることを特徴とする。
更に、この発明によるパーセプトロン学習装置は更に前記記載のパーセプトロン学習装置において、評価関数を表す差分は、正解系列とスコアを最大化する仮説との間の相対的な識別誤り数によって定めることを特徴とする。
【0021】
この発明によるパーセプトロン学習装置におけるパラメータ学習方法は、正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力処理と、パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定処理と、データ入力処理に取り込まれた正解系列と、それに対応する仮説系列から素性値を算出する素性値算出処理と、パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析処理と、正解系列からみたスコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、スコアを最大化する仮説からみた正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出処理と、素性値算出処理で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、評価関数算出処理で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新処理と、パーセプトロンアルゴリズム解析処理の解析処理と、パラメータ更新処理の更新処理とを全学習データに対して再帰的に実行するループ制御処理とを含むことを特徴とする。
【発明の効果】
【0022】
図7に図8に示す実験条件に従って従来のパーセプトロン学習方法で学習したパラメータを利用してパターン認識を行った場合の単語誤り率と、同様に図8に示す実験条件に従って本発明によるパーセプトロン学習装置で学習したパラメータを利用してパターン認識を行った場合の、単語誤り率を示す。図7に示す曲線Aは従来技術による単語誤り率、曲線Bはこの発明による単語誤り率を示す。尚、図7において、横軸λは後に説明するスケーリングパラメータを示す。図7から明らかなようにこの発明によるパーセプトロン学習装置で学習したパラメータα(j)を用いることにより低い単語誤り率を得ることができた。この結果認識性能の高い音声認識装置、或いはパターン認識装置等を構成することができる利点が得られる。
【発明を実施するための最良の形態】
【0023】
この発明によるパーセプトロン学習装置は全体をハードウェアによって構成することもできるが、最も簡素に実現するにはコンピュータにこの発明によるパーセプトロン学習プログラムをインストールし、コンピュータをパーセプトロン学習装置として機能させる実施形態が最良である。
【0024】
コンピュータにこの発明によるパーセプトロン学習装置として機能させた場合、コンピュータにはコンピュータにインストールしたパーセプトロン学習プログラムにより正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力手段と、パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定手段と、データ入力手段に取り込まれた正解系列と、それに対応する仮説系列から素性値を算出する素性値算出手段と、パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析手段と、正解系列からみたスコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、スコアを最大化する仮説からみた正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出手段と、素性値算出手段で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、評価関数算出手段で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新手段と、パーセプトロンアルゴリズム解析手段の解析処理と、パラメータ更新手段の更新処理とを全学習データに対して再帰的に実行させるループ制御手段とを構築し、コンピュータをパーセプトロン学習装置として機能させる実施形態が採られる。
【実施例1】
【0025】
図1にこの発明によるパーセプトロン学習装置10−2の実施例を示す。この発明によるパーセプトロン学習装置10−2の特徴とする構成はパーセプトロンアルゴリズム解析手段15の後段に評価関数算出手段16を設けた点と、この評価関数算出手段16で算出した評価関数を用いてパラメータ更新手段は、重み付けされたパラメータ更新処理を実行する重み付けパラメータ更新手段17−2とした点である。
【0026】
図2に示すフローチャートではステップSP1−5で実行する評価関数算出処理と、ステップSP1−6で実行する重み付け乗算に基づくパラメータαの更新処理に特徴を有する。その他の構成は図4に示した従来のパーセプトロン学習装置10−1と、図5に示したフローチャートと同じであるから、ここではこの発明の特徴とする部分についてのみ説明することにする。
【0027】
従来のパーセプトロンアルゴリズムでは単に素性系列の差を小さくするように学習していたが、しかし、識別対象となる系列とは異なるため、各素性が識別対象となる系列(xk,yk)の識別誤り率に対しどの程度影響するかを考慮し、この誤り率を小さくするように学習を行った方が、問題の性質を陽に表現しているといえる。
【0028】
そこで、この発明では各素性の識別誤りへの影響力を表現する評価関数S(z,i,j)を導入し、評価関数Sを用いて素性値φに重み付けを施し、パラメータα(j)の更新値に修正を加える。
ここで評価関数算出手段14で実行する評価関数の算出方法について説明する。この例では各素性の抽出範囲における正解系列ykと仮説zkとの相対的な単語不一致数にしたがって評価関数Sを算出する例を示す。
【0029】
【表2】

【0030】
・正解系列ykの位置iyk=5における各素性の相対的な単語不一致数S(yk,i=5,(の+親+は))=2,S(yk,i=5,(親+は))=1,S(yk,i=5,(は))=1,
・ 仮説zkの位置izk=4における各素性の相対的な単語不一致数S(zk,i=4,(私+親+と))=2,S(zk,i=4,(親+と))=1,S(zk,i=4,(と))=1,
これらの単語不一致数Sが重み付けパラメータ更新手段17−2に引き渡され、図3に示す行L−8で素性値φ(yk,i,j)とφ(zk*,i,j)のそれぞれに乗算され、重み付けされたパラメータα(j)としてその数値を更新する。
重み付けされたパラメータα(j)を行なう行L−8で実行するパーセプトロンアルゴリズム解析に用いることにより正解率の高い仮説を検出できることとなり、良質のパラメータα(j)の学習効果を得ることができる。
【0031】
上述では評価関数を正解系列と仮説との間の相対的な単語不一致数を基に算出したが、誤り率を用いることができる。誤り率とは先に説明した不一致の単語数と、素性抽出範囲の単語数との比で求めること等もできる。但し、評価関数Sを不一致の単語数で求める場合には整数演算のみで処理できるから、高速演算が可能であるが、単語の不一致発生率を基に評価関数Sを算出する場合には小数点を含む演算が必要となる不利益が発生する。
【0032】
学習で得られたパラメータα(j)の利用例
以下に学習で得られたパラメータα(j)を用いたパーセプトロンアルゴリズムの利用例を説明する。ここでは音声認識結果の認識精度をパーセプトロンアルゴリズム解析によって更に高めることを目的とした利用方法について説明する。
音声認識装置では複数の仮説を出力する。各仮説には既に
【数1】

が付されている。一般に音声認識装置はこの
【数2】

が最も大きい仮説を最尤仮説とし、認識結果として出力している。
パーセプトロンアルゴリズムを適用する場合、各仮説に付加されている
【数3】

をパーセプトロンアルゴリズム解析によりリスコアし、リスコアの結果最も大きいスコアが得られる仮説を最終的な認識結果とするものである(参考文献1)。
【0033】
つまり、
【数4】

となる仮説zK*を最終認識結果とする。λは音声認識の
【数5】

とパーセプトロンのスコアΣi,jφ(zK,i,j)・α(j)のスケーリングを調整するパラメータであり、図7の横軸に付したスケーリングパラメータである。図7に示した例ではこのλの値を変化させ、リスコアの精度を評価する。この発明では単語誤り率がスケーリングパラメータλの値の変化に対して鋭敏である。これはこの発明において評価関数S(z,i,j)の値が大きい場合にパーセプトロンのパラメータαの値が大きく振れるため、一部のデータサンプルにオーバーフィッティングする可能性があり、その影響であると考えられる。そのための学習データが少ない場合に、従来のパーセプトロンアルゴリズムを採用した場合より単語誤り率が高くなる可能性もある。しかしながら充分なデータ量を確保できれば図7に示した結果のように単語誤り率をさらに改善することができる。
【0034】
参考文献1 Brian Roark, Murat Saraclar, Michael Collins “Corrective Language Modeling for Large Vocablary ASR with the Perceptron Algorithm,” Proceedings of ICASSP, Vol.1, pp. 749-752. 2004.
参考文献2 Kikuo Maekawa, Hanae Koiso, Sadaoki Furui, Hitoshi Isahara. ”Spontaneous Speech Corpus of Japanese,”Proceedings of The Second International Conference on Language Resources and Evaluation,pp.947-952.2000
【産業上の利用可能性】
【0035】
音声認識結果の更なる精度向上に活用することができる。
【図面の簡単な説明】
【0036】
【図1】この発明によるパーセプトロン学習装置の一実施例を説明するためのブロック図。
【図2】この発明によるパーセプトロン学習装置におけるパラメータ学習方法の手順を説明するためのフローチャート。
【図3】この発明によるパーセプトロン学習プログラムの概要を説明するための図。
【図4】従来のパーセプトロン学習装置を説明するためのブロック図。
【図5】従来のパーセプトロン学習装置におけるパラメータ学習方法の手順を説明するためのフローチャート。
【図6】従来のパーセプトロン学習プログラムの概要を説明するための図。
【図7】この発明の効果を説明するための実験例を示すグラフ。
【図8】図7に示した実験結果の実験条件を説明するための図。
【符号の説明】
【0037】
10−1 従来のパーセプトロン学習装置
10−2 この発明によるパーセプトロン学習装置
11 データ入力手段
12 パラメータ初期設定手段
13 素性値算出手段
15 パーセプトロンアルゴリズム解析手段
16 評価関数算出手段
17−1 パラメータ更新手段
17−2 重み付きパラメータ更新手段
18 ループ制御手段

【特許請求の範囲】
【請求項1】
正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力手段と、
パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定手段と、
前記データ入力手段により取り込まれた正解系列及びそれに対応する仮説系列とから素性値を算出する素性値算出手段と、
前記パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析手段と、
前記正解系列からみた前記スコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、前記スコアを最大化する仮説からみた前記正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出手段と、
前記素性値算出手段で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、前記評価関数算出手段で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新手段と、
前記パーセプトロンアルゴリズム解析手段の解析処理と、前記パラメータ更新手段の更新処理とを全学習データに対して再帰的に実行させるループ制御手段と、
を備える構成としたことを特徴とするパーセプトロン学習装置。
【請求項2】
請求項1記載のパーセプトロン学習装置において、前記評価関数を表す差分は、前記正解系列と前記スコアを最大化する仮説との間の相対的な識別誤り率によって定めることを特徴とするパーセプトロン学習装置。
【請求項3】
請求項1記載のパーセプトロン学習装置において、前記評価関数を表す差分は、前記正解系列と前記スコアを最大化する仮説との間の相対的な識別誤り数によって定めることを特徴とするパーセプトロン学習装置。
【請求項4】
正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力処理と、
パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定処理と、
前記データ入力処理により取り込まれた正解系列及びそれに対応する仮説系列とから素性値を算出する素性値算出処理と、
前記パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析処理と、
前記正解系列からみた前記スコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、前記スコアを最大化する仮説からみた前記正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出処理と、
前記素性値算出処理で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、前記評価関数算出処理で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新処理と、
前記パーセプトロンアルゴリズム解析処理の解析処理と、前記パラメータ更新処理の更新処理とを全学習データに対して再帰的に実行するループ制御処理と、
を含むことを特徴とするパーセプトロン学習装置におけるパラメータ学習方法。
【請求項5】
コンピュータが解読可能なプログラム言語によって記述され、コンピュータに請求項1乃至3の何れかに記載のパーセプトロン学習装置として機能させるパーセプトロン学習プログラム。
【請求項6】
コンピュータが読み取り可能な記録媒体によって構成され、この記録媒体に請求項5記載のパーセプトロン学習プログラムを記録した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−210242(P2008−210242A)
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願番号】特願2007−47461(P2007−47461)
【出願日】平成19年2月27日(2007.2.27)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】