(57)【要約】【課題】システムパラメータを記憶するための記憶容量を削減することができるようにする。【解決手段】教師データ入力部１によって、複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを入力する。そして、学習部３によって、教師データ入力部１により入力された教師データと、スコア関数とに基づいて、複数のシステムパラメータの各々の値が、予め定められた有限個の離散値の集合に含まれる制約を満たし、かつ、最適化され複数のシステムパラメータを学習する。【選択図】図３
2015026217.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対する出力データのスコアを決定するためのスコア関数を用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムにおいて設定される、複数のシステムパラメータを学習するシステムパラメータ学習装置であって、
複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを入力する教師データ入力部と、
前記教師データ入力部により入力された前記教師データと、前記スコア関数とに基づいて、前記複数のシステムパラメータの各々の値が、予め定められた有限個の離散値の集合に含まれる制約を満たし、かつ、最適化された前記複数のシステムパラメータを学習する学習部と
を含むシステムパラメータ学習装置。
【請求項２】
前記学習部は、以下の式に従って、前記最適化されたＮ個のシステムパラメータ’ｗ＾を学習する請求項１記載のシステムパラメータ学習装置。
【数１】
2015026217.tif 000023
ただし、Ｌ（Φ（）、ｗ＾、Ｄ）は、前記教師データＤの入力データｘｉに対してシステムパラメータｗ＾を用いて前記所定の情報処理を行ったときに得られる出力データが、前記教師データＤの正解出力データｙｉとどの程度間違っているかを示す値を返すリスク関数であり、Ω（ｗ＾）は、正則化項であり、ＳＮは、前記Ｎ個のシステムパラメータの各々についての前記有限個の離散値の直積集合である。
【請求項３】
前記学習部は、以下の式に従って、前記最適化されたＮ個のシステムパラメータ’ｗ＾を学習する請求項２記載のシステムパラメータ学習装置。
【数２】
2015026217.tif 000024
ただし、α＾は、ラグランジュ未定乗数であり、ρは、予め定められたチューニングパラメータであり、ｕ＾は、補助パラメータである。
【請求項４】
前記学習部によって学習された前記複数のシステムパラメータに基づいて、値が同一となるシステムパラメータでグループを構成し、各グループにインデックス番号を付与し、各グループについて、前記グループを構成するシステムパラメータの各々を、前記グループに付与された前記インデックス番号のシステムパラメータに変換し、前記インデックス番号のシステムパラメータを保存する重複パラメータ圧縮部を更に含む請求項１〜３の何れか１項に記載のシステムパラメータ学習装置。
【請求項５】
前記複数のシステムパラメータは、入力データｘ＾及び出力データｙ＾に対する複数の素性抽出関数ｆｄ（ｘ＾、ｙ＾）の重みであって、
前記重複パラメータ圧縮部は、各グループについて、前記グループを構成するシステムパラメータの各々を、前記グループに付与された前記インデックス番号のシステムパラメータに変換し、前記インデックス番号のシステムパラメータを保存すると共に、以下の式に示すように、前記スコア関数を定義して保存する請求項４記載のシステムパラメータ学習装置。
【数３】
2015026217.tif 000025
ただし、Φ（ｘ＾，ｙ＾；ｗ＾）はスコア関数であり、ｖｋは、グループに付与されたインデックス番号ｋのシステムパラメータである。
【請求項６】
入力データを受け付ける入力部と、
前記スコア関数と、請求項４又は５記載のシステムパラメータ学習装置によって保存された各グループの前記インデックス番号のシステムパラメータとに基づいて、前記入力データに対して、前記所定の情報処理を行って出力データを出力する情報処理部と、
を含む情報処理装置。
【請求項７】
教師データ入力部と、学習部とを含み、入力データに対する出力データのスコアを決定するためのスコア関数を用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムにおいて設定される、複数のシステムパラメータを学習するシステムパラメータ学習装置におけるシステムパラメータ学習方法であって、
前記教師データ入力部によって、複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを入力するステップと、
前記学習部によって、前記教師データ入力部により入力された前記教師データと、前記スコア関数とに基づいて、前記複数のシステムパラメータの各々の値が、予め定められた有限個の離散値の集合に含まれる制約を満たし、かつ、最適化された前記複数のシステムパラメータを学習するステップと
を含むシステムパラメータ学習方法。
【請求項８】
入力部、及び情報処理部を含む情報処理装置における情報処理方法であって、
前記入力部によって、入力データを受け付けるステップと、
前記情報処理部によって、前記スコア関数と、請求項４又は５記載のシステムパラメータ学習装置によって保存された各グループの前記インデックス番号のシステムパラメータとに基づいて、前記入力データに対して、前記所定の情報処理を行って出力データを出力するステップと、
を含む情報処理方法。
【請求項９】
コンピュータを、請求項１〜請求項５の何れか１項記載のシステムパラメータ学習装置の各部として機能させるためのプログラム。
【請求項１０】
コンピュータを、請求項６に記載の情報処理装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムパラメータ学習装置、情報処理装置、方法、及びプログラムに係り、特に、システムパラメータを学習するシステムパラメータ学習装置、情報処理装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
図１１に示すような、音声認識、機械翻訳、文字認識、物体認識、ＤＮＡの構造予測などといった情報処理における識別問題は、図１２に示すように、入力が与えられた時に、出力を予測するシステムとみなすことができる。
【０００３】
これらのシステムは一般的に、実行フェーズと構築フェーズに分けることができる。構築フェーズとは、人手により事前にシステムを設計し、システムパラメータ等を決定する作業を指す。そして、実行フェーズでは、構築フェーズで定義された設計に基づき入力を処理し、出力はシステムパラメータに依存して決定される。
【０００４】
構築フェーズでは、様々な方法でシステムを構築することができる。例えば、人手により変換規則を記述しておいて、その規則に則って入力を出力へ変換し、それを出力する方法が考えられる。
【０００５】
ただし、変換規則を人手により準備するのは網羅性や整合性を保持するためのコストが非常にかかるため、図１３に示すように、データから自動的にシステムを構築する機械学習手法を用いてシステムを自動構築する方法を用いるのが近年では主流である。
【０００６】
構築フェーズでは、まず、対象とするシステムの入力とそれに対応する出力のペアを用意する。これは、一般に、正解データ或いは教師データとよばれる。教師データとは、教師データ中の入力がシステムに入力された際に、どのような出力がされるべきかを表したデータと言える。次に、この教師データを使って、システムを構築する。必要な要件は、教師データ中の入力に対して、正しい出力が行えるシステムであることである。そこで、機械学習に基づく構築フェーズは、教師データを使って、教師データを正しく判別できるようなシステムパラメータの集合を学習することに帰着する。
【０００７】
以上の処理を数式的に表すと以下のようになる。
まず実行フェーズを示す。ｘ＾を一つの入力を表すこととし、Ｘを、システムが受け付ける取り得る全ての入力ｘ＾の集合とする。なお、記号に付された「＾」は、当該記号が行列または多次元配列またはベクトルであることを表わしている。同様に、ｙ＾を一つの出力を表すこととし、Ｙを、システムが許容する取り得る全ての出力ｙ＾の集合とする。また、Ｙ（ｘ）を、ｘ＾が与えられた時に取り得る全ての出力ｙ＾の集合とする。よって、ｘ＾∈Ｘ、ｙ＾∈Ｙ（ｘ＾)⊆Ｙの関係が成り立つ。
【０００８】
次に、ｗ＾をシステムパラメータの集合をベクトル表記したものとする。ここで、ｗｄをベクトルｗ＾のｄ番目の要素であり、同時にｄ番目のシステムパラメータとする。つまり、ｗ＾＝（ｗ１，．．．，ｗＮ）かつｄ＝｛１，．．．，Ｎ｝の関係が成り立つ。ただし、システムパラメータ数はＮであり、ｗ＾はＮ次元ベクトルとする。この時、入力ｘ＾が与えられた時に出力ｙ＾を返すシステムを以下のように書きあらわすことができる。
【０００９】
【数１】
2015026217.tif 000003
【００１０】
ただし、Φ（ｘ＾，ｙ＾；ｗ＾）は、ｘ＾からｙ＾へ変換する際のスコアを決定する関数であり、ここでは、単にスコア関数と呼ぶ。つまり、ｘ＾が与えられた際に得られる可能性がある全ての出力ｙ＾の中で、この変換スコアが最も高くなるｙ＾が出力として採用されることになる。つまり、ｗ＾は、どの出力が選ばれるかを制御するシステムパラメータであり、システム全体の性能を決定する要因と言える。よって、システムパラメータｗ＾をいかに精度よく求めるかという事が、構築フェーズの最大の要件となる。ここで言う精度よくとは、あらゆる入力に対して可能な限り多くの正しい出力を行うことが可能なｗ＾を求めることを意味する。なお、記号の前に付された「’」は、当該記号が推定された値であることを表わしている。
【００１１】
次に、構築フェーズについて述べる。実際に、あらゆる可能な入力に対して最良のパラメータｗ＾を求めることは非常に困難を伴う。それは、実際に、あらゆる可能な入力を列挙することが事実上困難でありことに起因する。そこで、パターン認識の分野では、実データに基づいてｗ＾を決定する。まず、教師データをＤで表す。教師データは入力ｘ＾、出力ｙ＾のペアの集合で構成される。つまり、Ｄ＝｛（ｘ＾ｉ，ｙ＾ｉ）｝Ｎｉ＝１である。このとき、ｘｉを、教師データ中のｉ番目の入力データ、ｙｉを、ｉ番目の入力に対応する出力データとする。
システムパラメータの学習は、以下の最適化問題を解くことで得られる。
【００１２】
【数２】
2015026217.tif 000004
【００１３】
このとき、Ｌ（Φ（），ｗ＾，Ｄ）は、リスク関数や損失関数とよばれ、教師データ内の入力に対してどの程度正しい出力を得られるかといった値を返す関数である。現在のシステムパラメータｗ＾を用いて、実際に上記（１）式を用いて判別を行なってみて、より多く間違える場合には、より大きな値となるような関数を用いる。Ω（ｗ＾）は、一般に正則化項とよばれ、教師データが有限個しかない状況で、教師データに現れないデータに対してもより正しく判別できるように、システムパラメータが教師データに過適応しないように、ペナルティを与える項である。例えば、パラメータのＬ２ノルムがなるべく小さくなるような制約を課すことで、パラメータが極端に大きな値をとらないように制限するといったことが、よく用いられる。最終的に、上記（２）式で得られる’ｗ＾は、正則化項の条件のもとで，教師データを最もよく識別することができるパラメータの集合と言える。
【００１４】
以上が、本発明で対象とする情報処理システムの実行フェーズと構築フェーズを数式的に定義したものである。
【００１５】
上記式（２）に基づいたシステムパラメータの獲得は、パターン認識では教師あり学習と呼ばれる。この時、学習後のシステムパラメータ’ｗ＾は、実数値で表される。よって、構築フェーズ終了時に’ｗ＾の値をファイルなどに書き出しておき、実行フェーズでは、書きだしたファイルを読み込んでスコア関数を計算し、出力を得る。
つまり、パラメータ数が多くなればなるほど、その情報を保持するために必要なファイルサイズは大きくなる。
【００１６】
ファイルサイズは、そのまま実行時のメモリ占有量と同じとなる。メモリ占有量は、携帯端末等の限定されたリソースしか持たない計算環境で、非常に大きな問題となる可能性がある。また、一般的な計算機上での実行時にも、近年のマルチコアな計算機上で同時に複数実行する際や、他のプログラムになるべく影響を与えないという観点で、メモリ占有量は極力少ないことが望まれる。この問題に対し、これまで、Ｌ１正則化項を用いることで、学習時にパラメータが極力ゼロとなるようにする、といった方策がしばしば用いられてきた（例えば、非特許文献１〜３を参照）。この方法は、パラメータがゼロになった場合は、そのパラメータに関わる項目を消去できることから、モデルサイズを削減できるといった方法論に基づいている。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】Galen Andrew and Jianfeng Gao、「Scalable Training of L1-regularized Log-linear Models」、In Zoubin Ghahra-mani, editor, Proceedings of the 24th Annual International Conference on Machine Learning (ICML 2007) Omnipress、2007、p.33-40
【非特許文献２】John Duchi and Yoram Singer、「Efficient Online and Batch Learning Using Forward Backward Splitting」、Journal of Machine Learning Research, 10（2009）、p.2899-2934
【非特許文献３】Lin Xiao、「Dual Averaging Methods for Regularized Stochastic Learning and Online Optimization」、Journal of Machine Learning Research, 11（2010）、p.2543-2596
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかし、従来法では、パラメータの値を極力ゼロにするように学習を行うが、ゼロになった値以外は従来通り残るという問題点がある。ここで、値をゼロにするのは、真にそのシステムパラメータに関わる項目に意味がない場合を除き、システムの精度を低下させる恐れがあるため、値をゼロにする効果とシステム性能はトレードオフの関係になる。つまり、なるべくゼロを多くしてモデルサイズを小さくするのが望ましいが、あまりにゼロを多くしすぎると今度はシステム性能が十分でなくなるという問題が発生する可能性がある。
【００１９】
本発明は、上記の事情を鑑みてなされたもので、システムパラメータを記憶するための記憶容量を削減することができるシステムパラメータ学習装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記の目的を達成するために本発明に係るシステムパラメータ学習装置は、入力データに対する出力データのスコアを決定するためのスコア関数を用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムにおいて設定される、複数のシステムパラメータを学習するシステムパラメータ学習装置であって、複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを入力する教師データ入力部と、前記教師データ入力部により入力された前記教師データと、前記スコア関数とに基づいて、前記複数のシステムパラメータの各々の値が、予め定められた有限個の離散値の集合に含まれる制約を満たし、かつ、最適化された前記複数のシステムパラメータを学習する学習部と、を含んで構成されている。
【００２１】
本発明に係るシステムパラメータ学習方法は、教師データ入力部と、学習部とを含み、入力データに対する出力データのスコアを決定するためのスコア関数を用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムにおいて設定される、複数のシステムパラメータを学習するシステムパラメータ学習装置におけるシステムパラメータ学習方法であって、前記教師データ入力部によって、複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを入力するステップと、前記学習部によって、前記教師データ入力部により入力された前記教師データと、前記スコア関数とに基づいて、前記複数のシステムパラメータの各々の値が、予め定められた有限個の離散値の集合に含まれる制約を満たし、かつ、最適化された前記複数のシステムパラメータを学習するステップとを含む。
【００２２】
本発明に係る前記学習部は、以下の式に従って、前記最適化されたＮ個のシステムパラメータ’ｗ＾を学習するようにすることができる。
【数３】
2015026217.tif 000005
ただし、Ｌ（Φ（）、ｗ＾、Ｄ）は、前記教師データＤの入力データｘｉに対してシステムパラメータｗ＾を用いて前記所定の情報処理を行ったときに得られる出力データが、前記教師データＤの正解出力データｙｉとどの程度間違っているかを示す値を返すリスク関数であり、Ω（ｗ＾）は、正則化項であり、ＳＮは、前記Ｎ個のシステムパラメータの各々についての前記有限個の離散値の直積集合である。
【００２３】
また、本発明に係る前記学習部は、以下の式に従って、前記最適化されたＮ個のシステムパラメータ’ｗ＾を学習するようにすることができる。
【数４】
2015026217.tif 000006
ただし、α＾は、ラグランジュ未定乗数であり、ρは、予め定められたチューニングパラメータであり、ｕ＾は、補助パラメータである。
【００２４】
また、本発明に係る前記学習部によって学習された前記複数のシステムパラメータに基づいて、値が同一となるシステムパラメータでグループを構成し、各グループにインデックス番号を付与し、各グループについて、前記グループを構成するシステムパラメータの各々を、前記グループに付与された前記インデックス番号のシステムパラメータに変換し、前記インデックス番号のシステムパラメータを保存する重複パラメータ圧縮部を更に含むようにすることができる。
【００２５】
また、本発明に係る前記複数のシステムパラメータは、入力データｘ＾及び出力データｙ＾に対する複数の素性抽出関数ｆｄ（ｘ＾、ｙ＾）の重みであって、前記重複パラメータ圧縮部は、各グループについて、前記グループを構成するシステムパラメータの各々を、前記グループに付与された前記インデックス番号のシステムパラメータに変換し、前記インデックス番号のシステムパラメータを保存すると共に、以下の式に示すように、前記スコア関数を定義して保存するようにすることができる。
【数５】
2015026217.tif 000007
ただし、Φ（ｘ＾，ｙ＾；ｗ＾）はスコア関数であり、ｖｋは、グループに付与されたインデックス番号ｋのシステムパラメータである。
【００２６】
本発明に係る情報処理装置は、入力データを受け付ける入力部と、前記スコア関数と、上記のシステムパラメータ学習装置によって保存された各グループの前記インデックス番号のシステムパラメータとに基づいて、前記入力データに対して、前記所定の情報処理を行って出力データを出力する情報処理部と、を含んで構成されている。
【００２７】
本発明に係る情報処理方法は、入力部、及び情報処理部を含む情報処理装置における情報処理方法であって、前記入力部によって、入力データを受け付けるステップと、前記情報処理部によって、前記スコア関数と、上記のシステムパラメータ学習装置によって保存された各グループの前記インデックス番号のシステムパラメータとに基づいて、前記入力データに対して、前記所定の情報処理を行って出力データを出力するステップと、を含む。
【００２８】
本発明に係る第１のプログラムは、コンピュータを、システムパラメータ学習装置の各部として機能させるためのプログラムである。
【００２９】
本発明に係る第２のプログラムは、コンピュータを、情報処理装置の各部として機能させるためのプログラムである。
【発明の効果】
【００３０】
以上説明したように、本発明のシステムパラメータ学習装置、方法、及びプログラムによれば、教師データに基づいて、複数のシステムパラメータの各々の値が、予め定められた有限個の離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメータを学習することにより、システムパラメータを記憶するための記憶容量を削減することができる、という効果が得られる。
【００３１】
また、本発明の情報処理装置、方法、及びプログラムによれば、システムパラメータ学習装置によって保存された各グループのインデックス番号のシステムパラメータに基づいて、入力データに対して、所定の情報処理を行って出力データを出力することにより、実行時に必要とされるリソースを削減することができる、という効果が得られる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態を適用する問題の例を示す図である。
【図２】素性とシステムの定義づけの一例を説明するための概念図である。
【図３】本発明の実施の形態に係るシステムパラメータ学習装置の構成を示す概略図である。
【図４】素性抽出関数の一例を説明するための第１の概念図である。
【図５】素性抽出関数の一例を説明するための第２の概念図である。
【図６】教師データに基づいて、システムパラメータ値の学習処理を説明するための概念図である。
【図７】本発明の実施の形態に係る情報処理装置の構成を示す概略図である。
【図８】本発明の実施の形態に係るシステムパラメータ学習装置におけるシステムパラメータ学習処理ルーチンの内容を示すフローチャートである。
【図９】本発明の実施の形態に係る情報処理装置における情報処理ルーチンの内容を示すフローチャートである。
【図１０】本実施の形態を用いた場合における実験結果を示す図である。
【図１１】従来技術の概要を説明するための第１の説明図である。
【図１２】従来技術の概要を説明するための第２の説明図である。
【図１３】従来技術の概要を説明するための第３の説明図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００３４】
＜概要＞
本発明に係る実施の形態は、ある入力データに対して、事前に定めたシステムの動作定義に基づいて、入力データに対応する出力データを選択し、当該出力データを返す情報処理システムを構築する技術分野に関するものであり、事前に設計されたシステムパラメータを計算機により自動的に獲得する技術、一般にパターン認識や機械学習と呼ばれる技術分野に属する。
【００３５】
対象となる情報処理システムには、例えば、音声認識、機械翻訳、文字認識、物体認識、ＤＮＡの構造予測を行う情報処理システムが挙げられる。
【００３６】
本発明に係る実施の形態では、本質的に、必要リソース量（ファイルサイズ、メモリ専有量など）は、どのような計算環境であれ少ないほうがよりよい、という一般的な考えに基づいて、学習後のモデルサイズを圧縮するという課題に取り組む。
【００３７】
本発明に係る実施の形態では、従来技術とは異なり、システムパラメータ学習後に複数のシステムパラメータが同じ値を取れば、この重複情報を利用して、実際に保持しておかなくてはいけない情報量を減らすことが可能であるという原理を利用する。
【００３８】
例えば、システムパラメータ数が５の場合に、上記（２）式で最終的に得られたシステムパラメータ集合が’ｗ＾＝（０．３，０．３，−０．６，−０．６，１．０）だったとする。すると、’ｗ＾では、０．３と−０．６が２回重複して出現するため、１番目と２番目のシステムパラメータを合わせて、また、３番目と４番目のシステムパラメータを合わせて、’ｗ＾＝（０．３，−０．６，１．０）という３つの情報が最低限あれば同じ結果が得られる。このように、重複した値が多ければ多いほど等価な情報についての情報量を減らして保持することが可能であることがわかる。
【００３９】
つまり、本実施の形態では、上記（２）式のシステムパラメータの学習を行う際に、複数のシステムパラメータの各々の値が同じ値を取るように、所定の制約を追加して、システムパラメータの学習を行うことで、結果として得られるシステムパラメータの各々の値が重複するようにする。
【００４０】
そして、得られたシステムパラメータに対して、同じ値を持つシステムパラメータを一つにまとめることで、保持すべき情報量を削減する。最後に、削減したシステムパラメータを用いて、実際に情報処理システムを実行する。
【００４１】
以上をまとめると、本実施の形態では、大きく分けて以下の３つの処理で構成される。
【００４２】
１．第１の処理として、通常のシステムパラメータ学習時に最終的に得られるシステムパラメータの値が同じになるようなシステムパラメータの獲得処理
２．第２の処理として、得られたシステムパラメータの重複する値を一つにまとめて保持しておくべき情報量を最小限にするシステムパラメータの圧縮処理
３．第３の処理として、最小限に圧縮したシステムパラメータを用いて、情報処理システムを実行フェーズで動作させる処理
【００４３】
より具体的には、第１の処理では、上記（２）式のシステムパラメータ学習問題を、以下の問題に置き換える。
本実施の形態では、以下の（３）式に従って、最適化されたＮ個のシステムパラメータ’ｗ＾を学習する。
【００４４】
【数６】
2015026217.tif 000008
【００４５】
ただし、Ｌ（Φ（）、ｗ＾、Ｄ）は、教師データＤの入力データｘｉに対してシステムパラメータｗ＾を用いて所定の情報処理を行ったときに得られる出力データ'ｙｉが、正解出力データｙｉとどの程度間違っているかを示す値を返すリスク関数であり、Ω（ｗ＾）は、正則化項であり、ＳＮは、Ｎ個のシステムパラメータの各々についての有限個の離散値の直積集合である。
【００４６】
上記（２）式との違いは、単純に制約項ｗ＾∈ＳＮが増えただけである。この制約は、システムパラメータｗ＾がある任意の離散集合ＳＮの要素となる場合にだけ解として認めるということを意味している。つまり、上記（２）式と同等の最適化問題を解くが、解は制約を満たしている必要がある。この制約は、システムパラメータの値をなるべく重複してとるように設計するために、有限個の離散値からなる集合Ｓの直積集合ＳＮで構成する。ただし、効率的な計算のために、離散値の集合Ｓは、必ずゼロを含むことと、ゼロを中心として対称となる値（例えば１と−１，５と−５など）が必ず含まれることとする。
【００４７】
第２の処理として、同じ値となったシステムパラメータを一つにまとめる。これは、構築フェーズの後処理的な位置づけになる。例えば、ｗｉ＝ｗｊ＝ｗｋとなったと仮定する。つまり、ｉ，ｊ，ｋ番目のシステムパラメータ(システムパラメータベクトルの要素) が同じ値となったとき、ｗｉ，ｗｊ，ｗｋを削除し、新たにｗｌとするといった処理に相当する。ただし、新たに追加したｗｌはｗｉなどと同じ値であり、インデックスｉ，ｊ，ｋはインデックスｌに新たに振り直されたとみなすことと等価である。このように、同じ値を保持していても冗長な情報なので、それらを一つにまとめて新たに割り振ったインデックスを、元の値のインデックスが指すことで、同じ情報を得られるようにする。こうすることで、従来と同じ形式のシステムパラメータでありながら、システムパラメータの値が重複した分を減らした、システムパラメータの集合を獲得することができる。
【００４８】
第３の処理は、得られたシステムパラメータを用いて実際にシステムを動作させる。この処理は、第２の処理で、従来と同じ形式のシステムパラメータを得るようにすることで、処理としては、従来と同等の上記（１）式の処理が使える。
【００４９】
以下では、図１に示すような、自然言語処理の固有表現抽出と係り受け解析に対する問題について、本発明の実施の形態を適用した場合を想定して説明する。これらの問題は、構造予測問題と呼ばれ、グラフ構造などに変換されたものを入力として受け取り、同じくグラフ構造で表されるものを出力とする問題とみなすことができる。
【００５０】
以下で説明する、構築および実行フェーズでは、図２に示すように、最初にそれぞれの入力と出力の特徴付ける素性の定義を人手にて与える。ここでは、素性は関数として定義することを想定するため、素性抽出関数の集合を定義することと等価である。また、上記図２に示すように、ある入力データが与えられた場合に、どのような出力データが出力されるかといった、システムの動作定義も人手にて与える。これは、実際に解く問題、ここでは固有表現抽出や係り受け解析、の問題の定義に従って自動的に決まるものである。
【００５１】
＜システムパラメータ学習装置のシステム構成＞
本発明の実施の形態に係るシステムパラメータ学習装置１００は、ＣＰＵと、ＲＡＭと、後述するシステムパラメータ学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図３に示すように、システムパラメータ学習装置１００は、教師データ入力部１と、演算部２と、システムパラメータ記憶部４とを備えている。
【００５２】
教師データ入力部１は、教師データの入力を受け付ける。ここで、教師データは、上記図１で示したように、予め定められた入力データと、当該入力データに対する正解出力データとの複数ペアである。また、教師データ入力部１は、後述する学習部３で用いるパラメータρの入力を受け付ける。パラメータρは、人手によって予め与えられる。
【００５３】
演算部２は、教師データベース２０、学習部３、及び重複パラメータ圧縮部４０を備えている。
【００５４】
教師データベース２０には、教師データ入力部１により受け付けた教師データが格納される。
【００５５】
学習部３は、教師データベース２０に格納された教師データと、予め定められたスコア関数とに基づいて、複数のシステムパラメータを学習する。具体的には、学習部３は、教師データとスコア関数とに基づいて、複数のシステムパラメータの各々の値が、予め定められた有限個の離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメータを学習する。学習部３は、初期化部３０、システムパラメータ更新部３２、補助パラメータ更新部３４、未定乗数更新部３６、及び収束判定部３８を備えている。
【００５６】
学習部３における学習アルゴリズムでは、目的関数を最小化するシステムパラメータｗ＾＝（ｗ１，ｗ２，．．．ｗＮ）を学習する。具体的には、正解データと教師あり学習アルゴリズムを人手により決定し、それを構築フェーズの設定として与える。以下では、システムパラメータｗ＾を学習するための目的関数について最初に説明する。
【００５７】
ここでは、素性を抽出するための素性抽出関数ｆを、入力データｘ＾と出力データｙ＾の組み合わせで定義される関数とする。個々の素性抽出関数は、ｆｄ（ｘ＾，ｙ＾）の形式の関数であり、任意の実数値を返す関数である。ここで、ｗ＾と同様に、素性抽出関数の集合をベクトル表記ｆ＾（ｘ＾，ｙ＾）で表す。このとき、ｆｄ（ｘ＾，ｙ＾）は、ｆ＾（ｘ＾，ｙ＾）のｄ番目の要素を表す。素性抽出関数によって抽出される素性の例を、図４、及び図５に示す。
【００５８】
また、上記の素性抽出関数の数が、システムパラメータの数Ｎとなるように設計すると、スコア関数（）は以下の（４）式のように線形関数として定義できる。
【００５９】
【数７】
2015026217.tif 000009
【００６０】
つまり、システムパラメータｗ＾ｄは素性抽出関数ｆｄの重みであり、値が大きければ、素性抽出関数ｆｄがよりシステムの出力データの選択に影響をおよぼし、マイナス側に大きければ、システムが出力データｙ＾をより選ばないような重み付けをしたことに相当する。つまりここでのシステムパラメータは素性の重みを決める値である。学習部３では、図６に示すように教師あり学習アルゴリズムによってシステムパラメータの学習を行う。
【００６１】
目的関数は上記（３）式で表わされるが、上記（３）式は、解に離散制約が入るので、基本的に離散最適化問題となり、厳密に解を求めるのが非常に困難な問題の系になる。しかし、双対分解に基づく方法（例えば、参考文献１（Stephen Boyd, Neal Parikh, Eric Chu, BorjaPeleato, and Jonathan Eckstein、「Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers」、2011、Foundations and Trends in Machine Learning）を参照）を活用することで効率的な解法が得られる。まず、双対分解に基づいて上記（３）式の制約を分解する。
【００６２】
【数８】
2015026217.tif 000010
【００６３】
ここで、ｕ＾は、補助パラメータである。これは、等式制約ｗ＾＝ｕ＾を用いて従来の最適化問題と制約を分離したことになる。次に、上記参考文献１の拡張ラグランジュ緩和を用いて制約を目的関数に代入する。
【００６４】
【数９】
2015026217.tif 000011
【００６５】
α＾はラグランジュ乗数である。上記参考文献１にしたがって、初期化部３０、システムパラメータ更新部３２、補助パラメータ更新部３４、未定乗数更新部３６、及び収束判定部３８における処理によって、上記（６）式に示す目的関数を最適化することにより、本実施の形態では、値が重複したシステムパラメータが得られる。
【００６６】
リスク関数は、基本的にどのような関数を用いてもよいが、ここでは、凸関数であることに限定する。本実施の形態では、リスク関数として、以下の（７）式に示すヒンジ損失関数を用いる。
【００６７】
【数１０】
2015026217.tif 000012
【００６８】
ここで、Ｅ（ｙ＾，’ｙ＾）は、ｙ＾と’ｙ＾とがどの程度違っているかを示す関数である。ｙ＾と’ｙ＾との違いが大きい程、Ｅ（ｙ＾，’ｙ＾）は０以上の大きい値となり、ｙ＾と’ｙ＾とが同一である場合にＥ（ｙ＾，’ｙ＾）は０となる。
【００６９】
また、リスク関数と同様に、正則化項も凸関数であることとする。例えば、正則化項について、以下の（８）式に示すＬ１ノルム正則化項を用いる。
【００７０】
【数１１】
2015026217.tif 000013
【００７１】
リスク関数、及び目的関数が凸関数であるため、上記（７）式の最適化問題は基本的に凸最適化であり、大域的な最適解が必ず存在する。
【００７２】
初期化部３０は、最適化に用いる３種類のパラメータｗ＾、ｕ＾、α＾を全て０にセットする。以下繰り返し計算となるため、繰り返し回数を管理する変数をｔとし、ｔ＝０とする。
【００７３】
システムパラメータ更新部３２は、初期化部３０で初期化された３種類のパラメータｗ＾、ｕ＾（ｔ）、α＾（ｔ）、又は後述する各処理で前回更新された３種類のパラメータｗ＾、ｕ＾（ｔ）、α＾（ｔ）を用いて、以下に説明するように、システムパラメータｗ＾（ｔ）からｗ＾（ｔ＋１）へ更新する。
反復計算ｔの時点で、ｕ＾（ｔ）とα＾（ｔ）を固定したときのｗ＾の最適解は、目的関数Ｏ（ｗ＾，ｕ＾（ｔ），α＾（ｔ）；Ｄ）を最小にするｗ＾を見つける問題である。
【００７４】
【数１２】
2015026217.tif 000014
【００７５】
定義にしたがって、ｗ＾に関係する項のみを取り出すと、以下の式になる。
【００７６】
【数１３】
2015026217.tif 000015
【００７７】
この最適化問題は、上記（２）式にＬ２ノルム正則化項が追加された最適化問題とみなすことができる。この問題は、上記（２）式が凸最適化問題であれば、必ず凸最適化問題となるため、上記（２）式を解く方法を用いて容易に解くことができる。
そこで、システムパラメータ更新部３２は、初期化部３０で初期化された３種類のパラメータｗ＾、ｕ＾（ｔ）、α＾（ｔ）、又は後述する各処理で前回更新された３種類のパラメータｗ＾、ｕ＾（ｔ）、α＾（ｔ）を用いて、上記（１０）式に従って、システムパラメータｗ＾（ｔ）からｗ＾（ｔ＋１）へ更新する。
【００７８】
補助パラメータ更新部３４は、システムパラメータ更新部３２で更新されたｗ＾（ｔ＋１）と、初期化部３０で初期化されたパラメータα＾（ｔ）、又は前回更新されたパラメータα＾（ｔ）とを用いて、以下に説明するように、補助パラメータｕ＾（ｔ）からｕ＾（ｔ＋１）へ更新する。
ｗ＾（ｔ＋１）とα＾（ｔ）を固定したときｕ＾の最適解は、目的関数Ｏ（ｗ＾（ｔ＋１）、ｕ＾，α＾（ｔ）；Ｄ）に制約ｕ＾∈ＳＮが追加された最適化問題の解である。まず、ｕ＾に関連する項だけ集めると、以下の目的関数となる。
【００７９】
【数１４】
2015026217.tif 000016
【００８０】
まず、制約が無い場合を考えると、目的関数Ｏ（ｗ＾，ｕ＾，α＾；Ｄ）のｕ＾に関する勾配が零ベクトルになる点である。その関係から以下の関係式が得られる。
【００８１】
【数１５】
2015026217.tif 000017
【００８２】
次に、制約を考慮すると、上記式（１１）から、制約が無い場合の最適解ｕ＾＝ｗ＾（ｔ＋１）＋α＾（ｔ）からＬ２距離で最も近いＳＮに属する点であることがわかる。よって、ｕ＾＝ｗ＾（ｔ＋１）＋α＾（ｔ）から最も近いＳＮに属する点を見つける処理を行えばよい。
【００８３】
ＳＮがＳの直積集合であることから、各軸に並行に格子状に並んだ点がＳＮに含まれる点であるため、Ｌ２距離で最も近い点は、単純にパラメータ毎に最も近いＳに含まれる点を見つける問題に帰着できる。このことから、各パラメータに対して独立に処理が可能であり、非常に効率的に求めることができる。
以上より、補助パラメータ更新部３４は、システムパラメータ更新部３２で更新されたｗ＾（ｔ＋１）と、初期化部３０で初期化されたパラメータα＾（ｔ）、又は前回更新されたパラメータα＾（ｔ）とを用いて、上記（１３）式に従って、ｕ＾を計算し、計算されたｕ＾に最も近い点を、ＳＮに属する点から見つけて、補助パラメータｕ＾（ｔ）からｕ＾（ｔ＋１）へ更新する。
【００８４】
未定乗数更新部３６は、システムパラメータ更新部３２で更新されたｗ＾（ｔ＋１）と、補助パラメータ更新部３４で更新されたｕ＾（ｔ＋１）と、初期化部３０で初期化されたパラメータα＾（ｔ）、又は前回更新されたパラメータα＾（ｔ）とを用いて、以下に説明するように、ラグランジュ未定乗数α＾を更新する。
ｗ＾（ｔ＋１）とｕ＾（ｔ＋１）を固定したときの最適値の方向は、目的関数Ｏ（ｗ＾（ｔ＋１），ｕ＾（ｔ＋１），α＾；Ｄ）のα＾に関する勾配方向である。
【００８５】
【数１６】
2015026217.tif 000018
【００８６】
この関係から以下の更新式を得る。
【００８７】
【数１７】
2015026217.tif 000019
【００８８】
以上より、未定乗数更新部３６は、システムパラメータ更新部３２で更新されたｗ＾（ｔ＋１）と、補助パラメータ更新部３４で更新されたｕ＾（ｔ＋１）と、初期化部３０で初期化されたパラメータα＾（ｔ）、又は前回更新されたパラメータα＾（ｔ）とを用いて、上記（１５）式に従って、ラグランジュ未定乗数α＾（ｔ）からα＾（ｔ＋１）へ更新する。
【００８９】
収束判定部３８は、予め定められた条件が満たされたか否かを判定し、当該条件が満たされるまで、システムパラメータ更新部３２、補助パラメータ更新部３４及び未定乗数更新部３６による更新処理を繰り返す。具体的には、収束判定部３８は、上記の各処理によって得られたシステムパラメータｗ＾が最適値になっているか判定する。より詳細には、二つの小さな正の実数ε１、ε２をあたえ、以下の（１６）式を満たした際に収束したと判定する（上記参考文献１参照）。
【００９０】
【数１８】
2015026217.tif 000020
【００９１】
そして、収束判定部３８による収束判定で、収束していなかった場合は、ｔ＝ｔ＋１としてシステムパラメータ更新部３２に戻る。収束していると判定された場合は、後述する重複パラメータ圧縮部４０に移る。
【００９２】
重複パラメータ圧縮部４０は、学習部３によって学習された複数のシステムパラメータに基づいて、値が同一となるシステムパラメータでグループを構成し、各グループにインデックス番号を付与し、各グループについて、グループを構成するシステムパラメータの各々を、当該グループに付与されたインデックス番号のシステムパラメータに変換し、当該インデックス番号のシステムパラメータを、後述するシステムパラメータ記憶部４に保存する。具体的には、上記（４）式で定義したように、スコア関数には線形式を仮定したので、ｗｉ＝ｗｊ＝，，，となるような、同じ値を取るシステムパラメータでグループを構築する。仮に、Ｋ個のグループができたと仮定すると、各グループに１からＫまでのインデックス番号を付け｛ｇ’ｋ｝Ｋｋ＝１のようにＫ個のグループの集合を構築する。ここで、ｗｉ＝ｗｊ＝ｗｌの時に、ｇ’ｋをシステムパラメータの元の番号の集合と考え、ｇ’ｋ＝｛ｉ，ｊ，ｌ｝と定義する。つまり、元のシステムパラメータ番号から、そのシステムパラメータと同じ値になるグループのインデックス番号への変換を、一時的に記憶しておくことを意味する。また、ｖｋをｋ番目のグループの値とする、つまり、ｗｉ＝ｗｊ＝ｗｌでｇ’ｋ＝｛ｉ，ｊ，ｌ｝の時、ｗｉ＝ｗｊ＝ｗｌ＝ｖｋである。
【００９３】
また、重複パラメータ圧縮部４０は、このインデックス番号の変換を素性関数ｆにも同じように適用する。このときに、新しくｇｋを以下の（１７）式のように、元の素性抽出関数の単純な線形結合で定義する。
【００９４】
【数１９】
2015026217.tif 000021
【００９５】
すると、上記式（４）のスコア関数は、
【００９６】
【数２０】
2015026217.tif 000022
【００９７】
という関係が成り立つ。ここで、複数のシステムパラメータｗ＾は、入力データｘ＾及び出力データｙ＾に対する複数の素性抽出関数ｆｄ（ｘ＾、ｙ＾）の重みとなる。つまり、もともとの線形関数ΣＮｄ＝１ｗｄｆｄ＾（ｘ＾，ｙ＾）は、新たな線形関数ΣＫｋ＝１ｖｋｇｋ（ｘ＾，ｙ＾）と等価で変換できる。ただし、Ｋはグループの数なので、Ｎと比べると圧倒的に少ない数になっていることが想定できる。また、ｇｋはグループ内に属する素性関数の総和なので、事前に容易に計算できる。
以上のように、重複パラメータ圧縮部４０は、各グループについて、当該グループを構成するシステムパラメータの各々を、当該グループに付与された当該インデックス番号のシステムパラメータに変換し、当該インデックス番号のシステムパラメータを保存すると共に、上記の（１７）式に示すように、スコア関数を定義する。
【００９８】
よって、システムパラメータ更新部３２により得られた重複が多くあるシステムパラメータの集合から、重複部分を融合し、等価だが無駄のない形式に圧縮することで、大幅にモデルサイズを削減することができる。また追加の処理として、ｗｄ＝０になる場合、ｆｄは出力の選択に何も寄与しないので、素性関数の定義そのものを削除することが可能である。この処理もここで合わせて行う。
【００９９】
システムパラメータ記憶部４には、重複パラメータ圧縮部４０によって圧縮されたシステムパラメータｖｋと、新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とが格納される。
【０１００】
＜情報処理装置のシステム構成＞
前述のシステムパラメータ学習装置１００で得られた圧縮されたシステムパラメータを用いて、情報処理装置２００によって、未知の入力データに対して所定の情報処理を行う。システムパラメータの圧縮を行う場合と、仮にシステムパラメータの圧縮をしなかった場合とで、処理結果は完全に一致する。よって、圧縮を行うことによって、モデルのサイズ（システムパラメータ自体のサイズ）を大幅に削減できる分、実行時に必要とされるリソースを削減できるというメリットだけを享受することができる。
図７は、本発明の実施の形態に係る情報処理装置２００を示すブロック図である。この情報処理装置２００は、ＣＰＵと、ＲＡＭと、後述する情報処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【０１０１】
本実施の形態に係る情報処理装置２００は、図７に示すように、入力部５と、システムパラメータ記憶部６と、情報処理部７と、出力部８とを備えている。
【０１０２】
入力部５は、入力データｘ＾を受け付ける。
【０１０３】
システムパラメータ記憶部６には、上記システムパラメータ学習装置によって圧縮されたシステムパラメータｖｋと、新たに定義されたスコア関数ｇｋとが格納される。
【０１０４】
情報処理部７は、システムパラメータ記憶部６に格納された、インデックス番号ｋのシステムパラメータｖｋと、新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とに基づいて、入力部５により受け付けた入力データｘ＾に対して、所定の情報処理を行う。具体的には、情報処理部７は、入力部５により受け付けた入力データｘ＾と、システムパラメータ記憶部６に格納された、インデックス番号ｋのシステムパラメータｖｋと、新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とに基づいて、所定の最適化手法を用いて、スコア関数Φ（ｘ＾，ｙ＾；ｗ＾）が最大となる出力データｙ＾を算出する。
【０１０５】
出力部８は、情報処理部７によって算出された出力データｙ＾を結果として出力する。
【０１０６】
＜システムパラメータ学習装置の作用＞
次に、本実施の形態に係るシステムパラメータ学習装置１００の作用について説明する。まず、教師データと、パラメータρとが、システムパラメータ学習装置１００に入力されると、システムパラメータ学習装置１００によって、入力された教師データが、教師データベース２０へ格納される。
【０１０７】
そして、システムパラメータ学習装置１００によって、図８に示すシステムパラメータ学習処理ルーチンが実行される。
【０１０８】
まず、ステップＳ１００において、初期化部３０によって、最適化に用いる３種類の最適化変数ｗ＾、ｕ＾、α＾を全て０にセットし、初期化する。
【０１０９】
次に、ステップＳ１０２において、初期化部３０によって、繰り返し回数を管理する変数ｔを、ｔ＝０と設定し、初期化する。
【０１１０】
ステップＳ１０４において、システムパラメータ更新部３２によって、上記ステップＳ１００で初期化された３種類のパラメータｗ＾、ｕ＾（ｔ）、α＾（ｔ）、又は後述する各ステップで前回更新された３種類のパラメータｗ＾、ｕ＾（ｔ）、α＾（ｔ）を用いて、上記（１０）式に従って、システムパラメータｗ＾（ｔ）からｗ＾（ｔ＋１）へ更新する。
【０１１１】
ステップＳ１０６において、補助パラメータ更新部３４によって、上記ステップＳ１０４で更新されたｗ＾（ｔ＋１）と、上記ステップＳ１００で初期化されたパラメータα＾（ｔ）、又は後述するステップＳ１０８で前回更新されたパラメータα＾（ｔ）とを用いて、上記（１３）式に従って、ｕ＾を計算し、計算されたｕ＾に最も近い点を、ＳＮに属する点から見つけて、補助パラメータｕ＾（ｔ）からｕ＾（ｔ＋１）へ更新する。
【０１１２】
ステップＳ１０８において、未定乗数更新部３６によって、上記ステップＳ１０４で更新されたｗ＾（ｔ＋１）と、上記ステップＳ１０６で更新されたｕ＾（ｔ＋１）と、上記ステップＳ１００で初期化されたパラメータα＾（ｔ）、又は本ステップＳ１０８で前回更新されたパラメータα＾（ｔ）とを用いて、上記（１５）式に従って、ラグランジュ未定乗数α＾（ｔ）からα＾（ｔ＋１）へ更新する。
【０１１３】
ステップＳ１１０において、収束判定部３８によって、上記ステップＳ１０４で更新されたｗ＾（ｔ＋１）と、前回更新されたｗ＾（ｔ）と、上記ステップＳ１０６で更新されたｕ＾（ｔ＋１）と、前回更新されたｕ＾（ｔ）とに基づいて、上記（１６）式に示す収束条件を満たしているか否かを判定する。そして、収束していないと判定された場合には、ステップＳ１１２で繰り返しを管理する変数ｔをインクリメントして、ステップＳ１０４へ移行し、上記ステップＳ１０４〜ステップＳ１０８の各処理を繰り返す。収束したと判定された場合には、ステップＳ１１４へ移行する。
【０１１４】
ステップＳ１１４において、重複パラメータ圧縮部４０によって、上記ステップＳ１０４の更新処理によって最終的に得られたシステムパラメータｗ＾の値に基づいて、値が同一となるシステムパラメータでグループを構成し、各グループについて、グループを構成するシステムパラメータの各々を、当該グループに付与された当該インデックス番号のシステムパラメータに変換し、当該インデックス番号のシステムパラメータをシステムパラメータ記憶部４に保存すると共に、上記の（１８）式に示すように、新たなスコア関数を定義して、システムパラメータ記憶部４に保存して、システムパラメータ学習処理ルーチンを終了する。
【０１１５】
＜情報処理装置の作用＞
次に、本実施の形態に係る情報処理装置２００の作用について説明する。まず、システムパラメータ学習装置１００のシステムパラメータ記憶部４に記憶されているシステムパラメータｖｋの各々と新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とが、情報処理装置２００に入力されると、システムパラメータ記憶部６に格納される。そして、対象としての入力データｘ＾が情報処理装置２００に入力されると、情報処理装置２００によって、図９に示す実行処理ルーチンが実行される。
【０１１６】
まず、ステップＳ２００において、入力部５によって、入力データｘ＾を受け付ける。
【０１１７】
次に、ステップＳ２０２において、情報処理部７によって、システムパラメータ記憶部６に記憶されたシステムパラメータｖｋの各々と、新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とを読み込む。
【０１１８】
ステップＳ２０４において、情報処理部７によって、上記ステップＳ２００で受け付けた入力データｘ＾と、上記ステップＳ２０２で読み込んだシステムパラメータｖｋの各々及びスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とに基づいて、所定の最適化手法を用いて、スコア関数Φ（ｘ＾，ｙ＾；ｗ＾）が最大となる出力データｙ＾を算出する。
【０１１９】
ステップＳ２０６において、出力部８によって、上記ステップＳ２０４で算出された出力データｙ＾を結果として出力して、情報処理ルーチンを終了する。
【０１２０】
＜実験結果＞
次に、本実施の形態の実験結果を示す。実際にテキスト処理の問題では、識別する際に入力と出力を特徴付ける、いわゆる素性として単語等の離散シンボル的なものを扱うため、全体の素性数が数百万から、数十億程度まで利用されることが往々にしてあり得る。図１０に、自然言語処理の構文解析と固有表現抽出問題において、本実施の形態で説明した手法を用いた際の効果を示す。
【０１２１】
図１０中の横軸は、グループの数を表し、縦軸は、システムの解析精度を表している。この図からもわかるように、本実施の形態の方法を用いると、グループの数を２から８といった非常に少ない数で従来と同等の解析精度を得ることができる。
【０１２２】
以上説明したように、本発明の実施の形態に係るシステムパラメータ学習装置によれば、教師データに基づいて、複数のシステムパラメータの各々の値が、予め定められた有限個の離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメータを学習することにより、値が重複するようにシステムパラメータを学習することができ、学習されたシステムパラメータを圧縮することにより、システムパラメータを記憶するための記憶容量を削減することができる。
【０１２３】
また、本発明の実施の形態に係る情報処理装置によれば、システムパラメータ学習装置によって学習された、圧縮されたシステムパラメータに基づいて、入力データに対して、所定の情報処理を行って出力データを出力することにより、モデルのサイズ（システムパラメータ自体のサイズ）を大幅に削減できる分、実行時に必要とされるリソースを削減できる。
【０１２４】
また、従来とほぼ同等の精度を保ちつつシステムパラメータ自体のサイズを大幅に削減することが可能となる。具体的には、システムパラメータ数１億のモデルの場合は、１００，０００，０００ｘ８ｂｙｔｅ＝８００，０００，０００ｂｙｔｅであるので、８００ＭＢの容量を必要とする。しかし、本実施の形態を用いることで、システムパラメータのユニークな値を、例えば、８程度といった非常に小さい値にまで削減できる。この場合、８×８ｂｙｔｅ＝６４ｂｙｔｅであり、計算上は、約１２５０万分の１程度に圧縮できたことになる。
【０１２５】
また、従来技術で示した方法との違いとしては、従来技術では、「同じ値を取るように」といった概念は存在しないため、このような大幅なモデルサイズの削減はできない。逆に、本実施の形態の「同じ値を取るようにする」、といった概念の中には、従来技術の方策である極力ゼロを取るという概念も含まれる。これは、本実施の形態では、同じ値を取るという考えの中に、値がゼロになる点でも同じ値をなるべくとるようにする、という考えが含まれるからである。つまり、本実施の形態は、従来技術を包含する上位概念と考えることができる。また、その効果も、単に従来技術のようにゼロを増やすだけでなく、ゼロ以外の値に対しても大幅に必要情報量を削減できることから、従来技術に比べて、システム性能を大幅に落とすことなく、大幅なサイズ削減を可能とする。
【０１２６】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１２７】
例えば、システムパラメータ記憶部４、６及び教師データベース２０は、外部に設けられ、システムパラメータ学習装置１００及び情報処理装置２００とネットワークで接続されていてもよい。
【０１２８】
また、上記実施の形態では、システムパラメータ学習装置１００と情報処理装置２００とを別々の装置として構成する場合を例に説明したが、システムパラメータ学習装置１００と情報処理装置２００とを１つの装置として構成してもよい。
【０１２９】
上述のシステムパラメータ学習装置１００及び情報処理装置２００は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１３０】
例えば、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１３１】
１     教師データ入力部
２     演算部
３     学習部
４、６ システムパラメータ記憶部
５     入力部
７     情報処理部
８     出力部
２０   教師データベース
３０   初期化部
３２   システムパラメータ更新部
３４   補助パラメータ更新部
３６   未定乗数更新部
３８   収束判定部
４０   重複パラメータ圧縮部
１００ システムパラメータ学習装置
２００ 情報処理装置
【図１】
2015026217.tif 000026
【図２】
2015026217.tif 000027
【図３】
2015026217.tif 000028
【図４】
2015026217.tif 000029
【図５】
2015026217.tif 000030
【図６】
2015026217.tif 000031
【図７】
2015026217.tif 000032
【図８】
2015026217.tif 000033
【図９】
2015026217.tif 000034
【図１２】
2015026217.tif 000035
【図１０】
2015026217.tif 000036
【図１１】
2015026217.tif 000037
【図１３】
2015026217.tif 000038