(57)【要約】【課題】自動で適切な高圧縮モデルを獲得することができる。【解決手段】教師データ入力部１０により、複数の入力データの各々と複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付け、学習部４０により、受け付けた教師データと、スコア関数とに基づいて、複数のシステムパラメタの各々の値が、所定個の実数値ｖi（ｉ＝１，・・・，ζ）と実数値−ｖi（ｉ＝１，・・・，ζ）と０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメタを学習する。【選択図】図３
2015162113.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対する出力データのスコアを決定するためのスコア関数を用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムにおいて設定される、複数のシステムパラメタを学習するシステムパラメタ学習装置であって、
複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付ける教師データ入力部と、
前記教師データ入力部により受け付けた前記教師データと、前記スコア関数とに基づいて、前記複数のシステムパラメタの各々の値が、所定個の実数値ｖi（ｉ＝１，・・・，ζ）と実数値−ｖi（ｉ＝１，・・・，ζ）と０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された前記複数のシステムパラメタを学習する学習部と
を含む、システムパラメタ学習装置。
【請求項２】
前記学習部は、以下の（１）式に従って、前記最適化されたＮ個のシステムパラメタｗ＾を学習する請求項１記載のシステムパラメタ学習装置。
【数１】
2015162113.tif 000043
ただし、
【数２】
2015162113.tif 000044
は、前記教師データ
【数３】
2015162113.tif 000045
の入力データｘｉに対してシステムパラメタｗ＾を用いて前記所定の情報処理を行ったときに得られる出力データが、前記教師データ
【数４】
2015162113.tif 000046
の正解出力データｙｉとどの程度間違っているかを示す値を返すリスク関数であり、Ω（ｗ＾）は、正則化項であり、
【数５】
2015162113.tif 000047
は、前記Ｎ個のシステムパラメタの各々についての前記離散値の直積集合である。
【請求項３】
前記学習部は、以下の（２）式に従って、前記最適化されたＮ個のシステムパラメタｗ＾を学習する請求項２記載のシステムパラメタ学習装置。
【数６】
2015162113.tif 000048
ただし、α＾は、ラグランジュ未定乗数であり、ρは、予め定められたチューニングパラメタであり、ｕ＾は、補助パラメタである。
【請求項４】
前記学習部によって学習された前記複数のシステムパラメタに基づいて、値が同一となるシステムパラメタでグループを構成し、各グループにインデックス番号を付与し、各グループについて、前記グループを構成するシステムパラメタの各々を、前記グループに付与された前記インデックス番号のシステムパラメタに変換し、前記インデックス番号のシステムパラメタを保存する重複パラメタ圧縮部を更に含む請求項１〜３の何れか１項記載のシステムパラメタ学習装置。
【請求項５】
前記複数のシステムパラメタは、入力データｘ＾及び出力データｙ＾に対する複数の素性抽出関数ｆｄ（ｘ＾，ｙ＾）の重みであって、
前記重複パラメタ圧縮部は、各グループについて、前記グループを構成するシステムパラメタの各々を、前記グループに付与された前記インデックス番号のシステムパラメタに変換し、前記インデックス番号のシステムパラメタを保存すると共に、以下の（３）式に示すように、前記スコア関数を定義して保存する請求項４記載のシステムパラメタ学習装置。
【数７】
2015162113.tif 000049
ただし、Φ（ｘ＾，ｙ＾；ｗ＾）はスコア関数であり、ｖｋは、グループに付与されたインデックス番号ｋのシステムパラメタである。
【請求項６】
入力データを受け付ける入力部と、
前記スコア関数と、請求項４又は５記載のシステムパラメタ学習装置によって保存された各グループの前記インデックス番号のシステムパラメタとに基づいて、前記入力部において受け付けた入力データに対して、前記所定の情報処理を行って出力データを出力する情報処理部と、
を含む、情報処理装置。
【請求項７】
教師データ入力部と、学習部とを含む、入力データに対する出力データのスコアを決定するためのスコア関数を用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムにおいて設定される、複数のシステムパラメタを学習するシステムパラメタ学習装置におけるシステムパラメタ学習方法であって、
前記教師データ入力部が、複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付け、
前記学習部が、前記教師データ入力部により受け付けた前記教師データと、前記スコア関数とに基づいて、前記複数のシステムパラメタの各々の値が、所定個の実数値ｖi（ｉ＝１，・・・，ζ）と実数値−ｖi（ｉ＝１，・・・，ζ）と０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された前記複数のシステムパラメタを学習する
システムパラメタ学習方法。
【請求項８】
コンピュータを、請求項１から請求項５の何れか１項記載のシステムパラメタ学習装置又は請求項６記載の情報処理装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムパラメタ学習装置、情報処理装置、方法、及びプログラムに係り、特に、システムパラメタを学習するシステムパラメタ学習装置、情報処理装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
図１３に示すような、音声認識、機械翻訳、文字認識、物体認識、ＤＮＡの構造予測などといった情報処理における識別問題は、図１４に示すように、入力が与えられたときに、出力を予測するシステムとみなすことができる。
【０００３】
これらのシステムは一般的に、実行フェーズと構築フェーズにわけることができる。構築フェーズとは、人手により事前にシステムを設計し、システムパラメタ等を決定する作業を指す。実行フェーズとは、構築フェーズで定義された設計に基づき入力を処理し、出力はシステムパラメタに依存して決定される。
【０００４】
構築フェーズでは、様々な方法でシステムを構築することができる。例えば、人手により変換規則を記述しておいて、その規則に則って入力を出力へ変換し、それを出力する方法が考えられる。ただし、変換規則を人手により準備するのは網羅性や整合性を保持するためのコストが非常にかかるため、図１５に示すように、データから自動的にシステムを構築する機械学習手法を用いてシステムを自動構築する方法を用いるのが近年では主流である。
【０００５】
構築フェーズでは、まず、対象とするシステムの入力とそれに対応する出力のペアを用意する。これは、一般的に、正解データ或いは教師データとよばれる。教師データとは、教師データ中の入力がシステムに入力された際に、どのような出力がされるべきかを表したデータである。次に、この教師データを用いてシステムを構築する。必要な要件は、教師データ中の入力に対して、正しい出力が行えるシステムであることである。そこで、機械学習に基づく構築フェーズでは、教師データを用いて、教師データを正しく判別できるようなシステムパラメタの集合を学習することに帰着する。
【０００６】
以上の処理を数式的に表すと以下のようになる。まず、実行フェーズを示す。ｘ＾を一つの入力を表すこととし、Χを、システムが受け付けるとり得る全ての入力ｘ＾の集合とする。なお、記号に付された「＾」は、当該記号が行列、多次元配列、又はベクトルであることを表している。同様に、ｙ＾を一つの出力を表すこととし、Ｙを、システムが許容するとり得る全ての出力ｙ＾の集合とする。また、Ｙ（ｘ＾）を、ｘ＾が与えられたときにとり得る全ての出力ｙ＾の集合とする。よって、ｘ＾∈Χ、ｙ＾∈Ｙ（ｘ＾）⊆Ｙの関係が成り立つ。
【０００７】
次に、ｗ＾をシステムパラメタの集合をベクトル表記したものとする。ここで、ｗｄをベクトルｗ＾のｄ番目の要素であり、同時にｄ番目のシステムパラメタとする。つまり、ｗ＾＝（ｗ１，．．．，ｗＮ）かつｄ＝｛１，．．．，Ｎ｝の関係が成り立つ。ただし、システムパラメタ数はＮであり、ｗ＾はＮ次元ベクトルとする。
【０００８】
このとき、入力ｘ＾が与えられたときに出力ｙ＾を返すシステムを下記（１）式に表すことができる。
【０００９】
【数１】
2015162113.tif 000003
【００１０】
ただし、Φ（ｘ＾，ｙ＾：ｗ＾）は、ｘ＾からｙ＾へ変換する際のスコアを決定する関数であり、ここでは、単にスコア関数と呼ぶ。つまり、ｘ＾が与えられた際に得られる可能性がある全ての出力ｙ＾の中で、この変換スコアが最も高くなるｙ＾が出力として採用されることになる。そのため、ｗ＾は、どの出力が選ばれるかを制御するシステムパラメタであり、システム全体の性能を決定する要因といえる。よって、システムパラメタｗ＾をいかに精度よく求めるかという事が、構築フェーズの最大の要件となる。ここで、精度よくとは、あらゆる入力に対して可能な限り多くの正しい出力を行うことが可能なｗ＾を求めることを意味する。なお、記号の前に付された「＊」は、当該記号が推定された値であることを表している。
【００１１】
次に、構築フェーズについて説明する。実際に、あらゆる可能な入力に対して最良のパラメタｗ＾を求めることは非常に困難を伴う。それは、実際に、あらゆる可能な入力を列挙することが事実上困難であることに起因する。そこで、パターン認識の分野では、実データに基づいてｗ＾を決定する。まず、教師データを
【００１２】
【数２】
2015162113.tif 000004
【００１３】
で表す。教師データは入力ｘ＾、出力ｙ＾のペアの集合で構成される。つまり、
【００１４】
【数３】
2015162113.tif 000005
【００１５】
このとき、ｘ＾ｉを、教師データ中のｉ番目の入力データとし、ｙ＾ｉをｉ番目の入力に対応する出力とする。システムパラメタの学習は、下記（２）式の最適化問題を解くことで得られる。
【００１６】
【数４】
2015162113.tif 000006
【００１７】
このとき、
【００１８】
【数５】
2015162113.tif 000007
【００１９】
は、リスク関数や損失関数とよばれ、教師データ内の入力に対してどの程度正しい出力を得られるかといった値を返す関数である。現在のパラメタｗ＾を用いて、実際に上記（１）式を用いて判別を行ってみて、より多く間違える場合には、より大きな値となるような関数を用いる。Ω（ｗ＾）は、一般に正則化項とよばれ、教師データが有限個しかない状況で、教師データに現れないデータに対してもより正しく判別できるように、システムパラメタが教師データに過適応しないように、ペナルティを与える項である。例えば、パラメタのＬ２−ノルムがなるべく小さくなるような制約を課すことで、パラメタが極端に大きな値をとらないように制限するといったことが、よく用いられる。最終的に、上記（２）式で得られる＊ｗ＾は、教師データを最もよく識別することができるパラメタの集合といえる。
【００２０】
以上が、本発明で対象とする情報処理システムの実行フェーズと構築フェーズを数式的に定義したものである。
【００２１】
上記（２）式に基づいたシステムパラメタの獲得は、パターン認識では教師あり学習と呼ばれる。このとき、学習後のシステムパラメタ＊ｗ＾は、実数値で表される。よって、構築フェーズ終了時にｗ＾の値をファイルなどに書き出しておき、実行フェーズでは、書き出したファイルを読み込んでスコア関数を計算し、出力を得る。つまり、パラメタ数が多くなればなるほど、その情報を保持するために必要なファイルサイズは大きくなる。
【００２２】
ファイルサイズは、そのまま実行時のメモリ占有量と同じとなる。メモリ占有量は、携帯端末等の限定されたリソースしか持たない計算環境で、非常に大きな問題となる可能性がある。また、一般的な計算機上での実行時にも、近年のマルチコアな計算機上で同時に複数実行する際や、他のプログラムになるべく影響を与えないという観点で、メモリ占有量は極力少ないことが望まれる。つまり本質的に、プログラム実行時の必要リソース量（ファイルサイズ、メモリ専有量など）は、どのような計算環境であれ少ないほうがよりよい、ということがいえる。この考えに基づいて学習後のモデルサイズを、学習の工程で圧縮するという課題が近年盛んに取り組まれている。
【００２３】
最も単純な方法として、Ｌ１正則化項の効果を用いて学習後のモデル圧縮を行う方法がある（非特許文献１）。この方法の原理は、Ｌ１正則化項が学習時にパラメタが極力ゼロとなるようにする効果があるため、パラメタがゼロになった場合は、そのパラメタに関わる項目をモデルから消去できることから、モデルサイズを削減できる。
【００２４】
また、モデル圧縮が可能な方法として、システムパラメタ学習後に複数のパラメタが同じ値を取れば、この重複情報を利用して、実際に保持しておかなくてはいけない情報量を減らすことが可能であるという原理を利用する方法がある（非特許文献２）。このように、情報処理システムの精度を極力落とさずに学習モデルの圧縮を行うことは、実用上非常に大きな課題であり、様々な工夫により改善がなされている。
【先行技術文献】
【非特許文献】
【００２５】
【非特許文献１】Lin Xiao. Dual Averaging Methods for Regularized Stochastic Learning and Online Optimization. Journal of Machine Learning Research, 11:2543-2596, 2010.
【非特許文献２】Jun Suzuki and Masaaki Nagata. Supervised Model Learning with Feature Grouping based on a Discrete Constraint. Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics, 18-23,2013.
【発明の概要】
【発明が解決しようとする課題】
【００２６】
しかし、非特許文献１記載の技術は、値をゼロにするのは、真にそのシステムパラメタに関わる項目に意味がない場合を除き、システムの精度を低下させる恐れがあるため、値をゼロにする効果とシステムの精度はトレードオフの関係になる。つまり、なるべくゼロを多くしてモデルサイズを圧縮したいが、あまりにゼロを多くしすぎる設定で学習を行うと、今度はシステム精度が不十分になるという問題点が存在する。
【００２７】
また、非特許文献２記載の技術は、非常に効果が高いことが示されているが、一方、実際にモデルを作成する際には、システムの精度を落とさずにどこまでモデルを圧縮可能かは自明ではなく、実際に試行錯誤的に試してみて、開発データなどで最も良い結果を最終的に選択するといった方法がとられる。実際にこの作業は、学習データ量が多くなればなるほど、非常に高コストになり、運用上問題が発生する。結果として、試行錯誤のコストを割くことが出来なかったがゆえに、本来得られる可能性があった高精度かつ高圧縮なモデルを発見できず、結果として、高圧縮なモデルを用いることができなかったり、逆に、精度を落とす結果となったりすることがしばしばおこるという問題点がある。
【００２８】
本発明では、上記問題点を解決するために成されたものであり、自動で適切な高圧縮モデルを獲得することができるシステムパラメタ学習装置、方法、及びプログラムを提供することを目的とする。
【００２９】
また、実行時に必要とされるリソースを削減することができる情報処理装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３０】
上記目的を達成するために、第１の発明に係るシステムパラメタ学習装置は、入力データに対する出力データのスコアを決定するためのスコア関数を用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムにおいて設定される、複数のシステムパラメタを学習するシステムパラメタ学習装置であって、複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付ける教師データ入力部と、前記教師データ入力部により受け付けた前記教師データと、前記スコア関数とに基づいて、前記複数のシステムパラメタの各々の値が、所定個の実数値ｖi（ｉ＝１，・・・，ζ）と実数値−ｖi（ｉ＝１，・・・，ζ）と０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された前記複数のシステムパラメタを学習する学習部と、を含んで構成されている。
【００３１】
第２の発明に係るシステムパラメタ学習方法は、教師データ入力部と、学習部とを含む、入力データに対する出力データのスコアを決定するためのスコア関数を用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムにおいて設定される、複数のシステムパラメタを学習するシステムパラメタ学習装置におけるシステムパラメタ学習方法であって、前記教師データ入力部が、複数の入力データの各々と前記複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付け、前記学習部が、前記教師データ入力部により受け付けた前記教師データと、前記スコア関数とに基づいて、前記複数のシステムパラメタの各々の値が、前記所定個の実数値ｖi（ｉ＝１，・・・，ζ）と実数値−ｖi（ｉ＝１，・・・，ζ）と０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された前記複数のシステムパラメタを学習する。
【００３２】
第１及び第２の発明によれば、教師データ入力部により、複数の入力データの各々と複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付け、学習部により、受け付けた教師データと、スコア関数とに基づいて、複数のシステムパラメタの各々の値が、所定個の実数値ｖi（ｉ＝１，・・・，ζ）と実数値−ｖi（ｉ＝１，・・・，ζ）と０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメタを学習する。
【００３３】
このように、複数の入力データの各々と複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付け、受け付けた教師データと、スコア関数とに基づいて、複数のシステムパラメタの各々の値が、所定個の実数値ｖiと実数値−ｖiと０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメタを学習することによって、自動で適切な高圧縮モデルを獲得することができる。
【００３４】
第３の発明に係る情報処理装置は、入力データを受け付ける入力部と、前記スコア関数と、第１の発明のシステムパラメタ学習装置によって保存された各グループの前記インデックス番号のシステムパラメタとに基づいて、前記入力部において受け付けた入力データに対して、前記所定の情報処理を行って出力データを出力する情報処理部と、を含んで構成されている。
【００３５】
また、本発明のプログラムは、コンピュータを、上記のシステムパラメタ学習装置又は情報処理装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００３６】
以上説明したように、本発明のパラメタ学習装置、方法、及びプログラムによれば、複数の入力データの各々と複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付け、受け付けた教師データと、スコア関数とに基づいて、複数のシステムパラメタの各々の値が、所定個の実数値ｖiと実数値−ｖiと０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメタを学習することによって、自動で適切な高圧縮モデルを獲得することができる。
【００３７】
また、本発明の情報処理装置によれば、システムパラメタ学習装置によって保存された各グループのインデックス番号のシステムパラメタに基づいて、入力データに対して、所定の情報処理を行って出力データを出力することにより、実行時に必要とされるリソースを削減することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態を適用する問題の例を示す図である。
【図２】素性とシステムの定義づけの一例を説明するための概念図である。
【図３】本発明の実施の形態に係るシステムパラメタ学習装置の構成を示すブロック図である。
【図４】素性抽出関数の一例を説明するための第１の概念図である。
【図５】素性抽出関数の一例を説明するための第２の概念図である。
【図６】教師データに基づいて、システムパラメタ値の学習処理を説明するための概念図である。
【図７】超平面への写像問題の例を示す図である。
【図８】一次元のｋ−ｍｅａｎｓと等価の処理の例を示す図である。
【図９】本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。
【図１０】本発明の実施の形態に係るシステムパラメタ学習装置におけるシステムパラメタ学習処理ルーチンの内容を示すフローチャートである。
【図１１】本発明の実施の形態に係る情報処理装置における情報処理ルーチンの内容を示すフローチャートである。
【図１２】本実施の形態を用いた場合における実験結果を示す図である。
【図１３】従来技術の概要を説明するための第１の説明図である。
【図１４】従来技術の概要を説明するための第２の説明図である。
【図１５】従来技術の概要を説明するための第３の説明図である。
【発明を実施するための形態】
【００３９】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００４０】
＜本発明の原理＞
【００４１】
本発明に係る実施の形態は、非特許文献２によるモデル圧縮の枠組みに、学習データから自動で高精度かつ高圧縮モデルを構築する処理装置を追加する。
【００４２】
まず、非特許文献２のモデル圧縮処理装置を持った機械学習装置の仕組みを説明する。基本的な考えは、システムパラメタ学習後に複数のパラメタが同じ値をとれば、この重複情報を利用して、実際に保持しておかなくてはいけない情報量を減らすことが可能であるという原理を利用している。例えば、パラメタ数が５の時に、上記（２）式で最終的に得られたパラメタ集合が＊ｗ＾＝（０．３，０．３，−０．６，−０．６，１．０）だったとする。すると、＊ｗ＾では、０．３と−０．６が２回重複して出現するため、１番目と２番目のパラメタを合わせて、また、３番目と４番目のパラメタを合わせて、＊ｗ＾＝（０．３，−０．６，１．０）という３つの情報が最低限あれば同じ結果が得られる。このように、重複した値が多ければ多いほど等価な情報を情報量を減らして保持することが可能であることがわかる。
【００４３】
つまり、上記（２）式のシステムパラメタの学習を行う際に、「システムパラメタの値がなるべく多く同じ値をとるようにする」という制約を追加して、システムパラメタの学習を行うことで、結果として得られるシステムパラメタの値の重複がより多くなるようにする。
【００４４】
そして、次に、得られたパラメタに対して、同じ値を持つパラメタを一つにまとめることで、保持すべき情報量を削減する。最後に、削減したパラメタを用いて、実際にシステムを実行する。まとめると、従来の方法は、大きく分けて以下の１〜３の３つの処理で構成される。
【００４５】
１．第１の処理として、通常のシステムパラメタ学習時に最終的に得られるパラメタの値をなるべく同じになるようなシステムパラメタの獲得処理。
２．第２の処理として、得られたシステムパラメタの重複する値を一つにまとめて保持しておくべき情報量を最小限にするシステムパラメタの圧縮処理。
３．第３の処理として、最小限に圧縮したシステムパラメタを用いて、システムを実行フェーズで動作させる処理。
【００４６】
より具体的には、第１の処理は、上記（２）式のシステムパラメタ学習問題を、下記（３）式の問題に置き換える。
【００４７】
【数６】
2015162113.tif 000008
【００４８】
上記（２）式と上記（３）式との違いは、単純に制約項
【００４９】
【数７】
2015162113.tif 000009
【００５０】
が増えただけである。この制約は、システムパラメタｗ＾がある任意の離散集合
【００５１】
【数８】
2015162113.tif 000010
【００５２】
の要素となる場合にだけ解として認めるということを意味している。つまり、上記（２）式と同等の最適化問題を解くが、解は制約を満たしている必要がある。この制約は、パラメタの値をなるべく重複してとるように設計するために、有限個の離散値
【００５３】
【数９】
2015162113.tif 000011
【００５４】
の直積集合
【００５５】
【数１０】
2015162113.tif 000012
【００５６】
で構成する。
【００５７】
第２の処理として、同じ値になったパラメタを一つにまとめる。これは、構築フェーズの後処理的な位置づけになる。これは、例えば、ｗｉ＝ｗｊ＝ｗｋとなったと仮定すると、つまり、ｉ，ｊ，ｋ番目のシステムパラメタ（パラメタベクトルの要素）が同じ値となったとき、ｗｉ，ｗｊ，ｗｋを削除し、新たにｗｌとするといった処理に相当する。ただし、新たに追加したｗｌはｗｉなどと同じ値であり、インデックスｉ，ｊ，ｋはインデックスｌに新たに振りなおされたとみなすことと等価である。このように、同じ値を保持していても冗長な情報なので、それらを一つにまとめて新たに割り振ったインデックスを、元の値のインデックスが指すことで、同じ情報を得られるようにする。こうすることで、従来と同じ形式のシステムパラメタでありながら、システムパラメタの値が重複した分を減らした、システムパラメタの集合を獲得することができる。
【００５８】
第３の処理は、得られたシステムパラメタを用いて実際にシステムを動作させる。この処理は、第２の処理で、従来と同じ形式のシステムパラメタを得るようにすることで、処理としては、従来と同等の上記（１）式が使える。
【００５９】
本発明に係る実施の形態は、主に上記第１の処理を変更する。従来の方法では、制約
【００６０】
【数１１】
2015162113.tif 000013
【００６１】
に現れる集合
【００６２】
【数１２】
2015162113.tif 000014
【００６３】
は手動で決める必要がある。つまり、この集合の定義がシステム精度に大きく影響を与える。また、この定義は、データや対象タスクによって変わるものであり、事前に最適な定義を与えることは困難である。場合によっては、人間の事前知識等により、高精度なモデルを構築可能な定義を導出できる場合もありえるが、一般論としては、非常に難しくセンシティブな作業となるため、人手コスト等の面で大きな課題となる。本発明に係る実施の形態では、この定義を決める部分も最適化問題に含めて考えることで、データから自動的に決定する。
【００６４】
具体的には、制約
【００６５】
【数１３】
2015162113.tif 000015
【００６６】
を、制約
【００６７】
【数１４】
2015162113.tif 000016
【００６８】
に変更し、上記（３）式を、下記（４）式のように再定義する。
【００６９】
【数１５】
2015162113.tif 000017
【００７０】
上記（４）式の意味は、制約として取り得る値は、０と±ｖｉのみとなり、ｖｉは、ζ種類の実数値となる。例えば、ζ＝４を予め指定した場合は、モデル内のパラメタ各ｗ＾の取り得る値は零を含めて９種類となる。また、このときの取り得る値の制約ｖｉもデータから自動に決定される。
【００７１】
以下では、図１に示すような、自然言語処理の固有表現抽出と係り受け解析に対する問題について、本発明の実施の形態を適用した場合を想定して説明する。これらの問題は、構造予測問題と呼ばれ、グラフ構造などに変換されたものを入力として受け取り、同じくグラフ構造で表されるものを出力とする問題とみなすことができる。
【００７２】
以下で説明する、構築及び実行フェーズでは、図２に示すように、最初にそれぞれの入力と出力の特徴付ける素性の定義を人手にて与える。ここでは、素性は関数として定義することを想定するため、素性抽出関数の集合を定義することと等価である。また、ある入力が与えられたときに、どのような出力がなされるかといった、システムの動作定義も人手にて与える。これは、実際に解く問題、ここでは固有表現抽出や係り受け解析、の問題の定義にしたがって自動的に決まるものである。
【００７３】
＜システムパラメタ学習装置のシステム構成＞
次に、本発明の実施の形態に係るシステムパラメタ学習装置の構成について説明する。図３に示すように、本発明の実施の形態に係るシステムパラメタ学習装置１００は、ＣＰＵと、ＲＡＭと、後述するシステムパラメタ学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このシステムパラメタ学習装置１００は、機能的には図３に示すように教師データ入力部１０と、演算部２０と、システムパラメタ記憶部９０とを備えている。
【００７４】
教師データ入力部１０は、教師データの入力を受け付ける。ここで、教師データは、上記図１で示したように、予め定められた入力データと、当該入力データに対する正解出力データとの複数ペアである。また、教師データ入力部１０は、後述する学習部４０で用いるチューニングパラメタρの入力を受け付ける。なお、パラメタρは、人手によって予め与えられる。
【００７５】
演算部２０は、教師データベース３０と、学習部４０と、重複パラメタ圧縮部６０とを備えている。
【００７６】
教師データベース３０には、教師データ入力部１０により受け付けた教師データが格納される。
【００７７】
学習部４０は、教師データベース３０に格納された教師データと、予め定められたスコア関数とに基づいて、複数のシステムパラメタを学習する。具体的には、学習部４０は、教師データとスコア関数とに基づいて、複数のシステムパラメタの各々の値が、個数ζが予め定められた実数値ｖｉ（ｉ＝１，…，ζ）と実数値−ｖｉ（ｉ＝１，…，ζ）と０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメタを学習する。学習部４０は、初期化部５０、システムパラメタ更新部５２、補助パラメタ更新部５４、未定乗数更新部５６、及び収束判定部５８を備えている。
【００７８】
学習部４０における学習アルゴリズムでは、目的関数を最小化するシステムパラメタｗ＾＝（ｗ１，ｗ２，…，ｗＮ）を学習する。具体的には、正解データと教師あり学習アルゴリズムを人手により決定し、それを構築フェーズの設定として与える。以下では、システムパラメタｗ＾を学習するための目的関数について最初に説明する。
【００７９】
ここでは、素性を抽出するための素性抽出関数ｆを、入力データｘ＾と出力データｙ＾の組み合わせで定義される関数とする。個々の素性抽出関数は、ｆｄ（ｘ＾，ｙ＾）の形式の関数であり、任意の実数値を返す関数である。ここで、ｗ＾と同様に、素性抽出関数の集合をベクトル表記ｆ＾（ｘ＾，ｙ＾）で表す。このとき、ｆｄ（ｘ＾，ｙ＾）は、ｆ＾（ｘ＾，ｙ＾）のｄ番目の要素を表す。素性抽出関数によって抽出される素性の例を、図４、及び図５に示す。
【００８０】
また、上記の素性抽出関数の数が、システムパラメタの数Ｎとなるように設計すると、スコア関数（）は以下の（５）式のように線形関数として定義できる。
【００８１】
【数１６】
2015162113.tif 000018
【００８２】
つまり、システムパラメタｗｄは素性抽出関数ｆｄの重みであり、値が大きければ、素性抽出関数ｆｄがよりシステムの出力データの選択に影響をおよぼし、マイナス側に大きければ、システムが出力データｙ＾をより選ばないような重み付けをしたことに相当する。つまりここでのシステムパラメタは素性の重みを決める値である。学習部４０では、図６に示すように教師あり学習アルゴリズムによってシステムパラメタの学習を行う。
【００８３】
目的関数は上記（４）式で表わされるが、上記（４）式は、解に離散制約が入るので、基本的に離散最適化問題となり、厳密に解を求めるのが非常に困難な問題の系になる。しかし、双対分解に基づく方法を活用することで効率的な解法が得られる（例えば、非特許文献３： Stephen Boyd, Neal Parikh, Eric Chu, Borja Peleato, and Jonathan Eckstein、「Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers」,2011,Foundations and Trends in Machine Learning）。まず、双対分解に基づいて上記（４）式の制約を分解する。
【００８４】
【数１７】
2015162113.tif 000019
【００８５】
ここで、ｕ＾は、補助パラメタである。これは、等式制約ｗ＾＝ｕ＾を用いて従来の最適化問題と制約を分離したことになる。次に、上記非特許文献３の拡張ラグランジュ緩和を用いて制約を目的関数に代入する。
【００８６】
【数１８】
2015162113.tif 000020
【００８７】
α＾はラグランジュ乗数である。上記非特許文献３にしたがって、初期化部５０、システムパラメタ更新部５２、補助パラメタ更新部５４、未定乗数更新部５６、及び収束判定部５８における処理によって、上記（７）式に示す目的関数を最適化することにより、本実施の形態では、値が重複したシステムパラメタが得られる。
【００８８】
リスク関数は、基本的にどのような関数を用いてもよいが、ここでは、凸関数であることに限定する。本実施の形態では、リスク関数として、以下の（８）式に示すヒンジ損失関数を用いる。
【００８９】
【数１９】
2015162113.tif 000021
【００９０】
ここで、Ｅ（ｙ＾，＊ｙ＾）は、ｙ＾と＊ｙ＾とがどの程度違っているかを示す関数である。ｙ＾と＊ｙ＾との違いが大きい程、Ｅ（ｙ＾，＊ｙ＾）は０以上の大きい値となり、ｙ＾と＊ｙ＾とが同一である場合にＥ（ｙ＾，＊ｙ＾）は０となる。
【００９１】
また、リスク関数と同様に、正則化項も凸関数であることとする。例えば、正則化項について、以下の（９）式に示すＬ１−ノルム正則化項を用いる。
【００９２】
【数２０】
2015162113.tif 000022
【００９３】
リスク関数、及び目的関数が凸関数であるため、上記（２）式の最適化問題は基本的に凸最適化であり、大域的な最適解が必ず存在する。
【００９４】
初期化部５０は、最適化に用いる３種類のパラメタｗ＾、ｕ＾、α＾を全て０にセットする。以下繰り返し計算となるため、繰り返し回数を管理する変数をｔとし、ｔ＝０とする。
【００９５】
システムパラメタ更新部５２は、初期化部５０で初期化された３種類のパラメタｗ＾、ｕ＾（ｔ）、α＾（ｔ）、又は後述する各処理で前回更新された３種類のパラメタｗ＾、ｕ＾（ｔ）、α＾（ｔ）を用いて、以下に説明するように、システムパラメタｗ＾（ｔ）からｗ＾（ｔ＋１）へ更新する。
【００９６】
反復計算ｔの時点で、ｕ＾（ｔ）とα＾（ｔ）を固定したときのｗ＾の最適解は、目的関数
【数２１】
2015162113.tif 000023
【００９７】
を最小にするｗ^を見つける問題の解である。
【００９８】
【数２２】
2015162113.tif 000024
【００９９】
定義に従って、上記（１０）式から、ｗ＾に関係する項のみを取り出すと、下記（１１）式となる。
【０１００】
【数２３】
2015162113.tif 000025
【０１０１】
この最適化問題は、上記（２）式にＬ２−ノルム正則化項が追加された最適化問題とみなすことができる。この問題は、上記（２）式が凸最適化問題であれば、必ず凸最適化問題となるため、上記（２）式を解く方法を用いて容易に解くことができる。
【０１０２】
そこで、システムパラメタ更新部５２は、初期化部５０で初期化された３種類のパラメタｗ＾、ｕ＾（ｔ）、α＾（ｔ）、又は後述する各処理で前回更新された３種類のパラメタｗ＾、ｕ＾（ｔ）、α＾（ｔ）を用いて、上記（１１）式に従って、システムパラメタｗ＾（ｔ）からｗ＾（ｔ＋１）へ更新する。
【０１０３】
補助パラメタ更新部５４は、システムパラメタ更新部５２で更新されたｗ＾（ｔ＋１）と、初期化部５０で初期化されたパラメタα＾（ｔ）、又は前回更新されたパラメタα＾（ｔ）とを用いて、以下に説明するように、補助パラメタｕ＾（ｔ）からｕ＾（ｔ＋１）へ更新する。
【０１０４】
ｗ＾（ｔ＋１）とα＾（ｔ）を固定したときｕ＾の最適解は、目的関数
【数２４】
2015162113.tif 000026
【０１０５】
に制約
【０１０６】
【数２５】
2015162113.tif 000027
【０１０７】
が追加された最適化問題の解である。まず、ｕ＾に関連する項だけ集めると、下記（１２）式に表す目的関数となる。
【０１０８】
【数２６】
2015162113.tif 000028
【０１０９】
まず、制約が無い場合を考えると、目的関数
【０１１０】
【数２７】
2015162113.tif 000029
【０１１１】
のｕ＾に関する勾配が零ベクトルになる点である。その関係から下記（１３）式及び下記（１４）式の関係式が得られる。
【０１１２】
【数２８】
2015162113.tif 000030
【０１１３】
次に、制約を考慮すると、上記（１２）式から、制約が無い場合の最適解ｕ＾＝ｗ＾（ｔ＋１）＋α（ｔ）からζの自由度を持った超平面への写像問題と捉えることができる。よって、図７に示すように、ｕ＾＝ｗ＾（ｔ＋１）＋α（ｔ）から最も近い超平面上の点を見つける処理を行えばよい。実際にこの処理は、図８に示すように、一次元のｋ−ｍｅａｎｓと等価の処理になる（非特許文献４：Haizhou Wang and Mingzhou Song. Ckmeans.1d.dp: Optimal k-means Clustering in One Dimension by Dynamic Programming. The R Journal, 3(2):29.33, 2011.）。このことから、各パラメタに対して独立に処理が可能であり、非常に効率的に求めることができる。
【０１１４】
未定乗数更新部５６は、システムパラメタ更新部５２で更新されたｗ＾（ｔ＋１）と、補助パラメタ更新部５４で更新されたｕ＾（ｔ＋１）と、初期化部５０で初期化されたパラメタα＾（ｔ）、又は前回更新されたパラメタα＾（ｔ）とを用いて、以下に説明するように、ラグランジュ未定乗数α＾を更新する。
【０１１５】
ｗ＾（ｔ＋１）とｕ＾（ｔ＋１）を固定したときの最適値の方向は、目的関数
【０１１６】
【数２９】
2015162113.tif 000031
【０１１７】
のα＾に関する勾配方向である。
【０１１８】
【数３０】
2015162113.tif 000032
【０１１９】
上記（１５）式から下記（１６）式の更新式を得る。
【０１２０】
【数３１】
2015162113.tif 000033
【０１２１】
以上より、未定乗数更新部５６は、システムパラメタ更新部５２で更新されたｗ＾（ｔ＋１）と、補助パラメタ更新部５４で更新されたｕ＾（ｔ＋１）と、初期化部５０で初期化されたパラメタα＾（ｔ）、又は前回更新されたパラメタα＾（ｔ）とを用いて、上記（１６）式に従って、ラグランジュ未定乗数α＾（ｔ）からα＾（ｔ＋１）へ更新する。
【０１２２】
収束判定部５８は、予め定められた条件が満たされたか否かを判定し、当該条件が満たされるまで、システムパラメタ更新部５２、補助パラメタ更新部５４及び未定乗数更新部５６による更新処理を繰り返す。具体的には、収束判定部５８は、上記の各処理によって得られたシステムパラメタｗ＾が最適値になっているか判定する。より詳細には、二つの小さな正の実数ε１、ε２をあたえ、下記（１７）式、及び下記（１８）式を満たした際に収束したと判定する（上記非特許文献３参照）。
【０１２３】
【数３２】
2015162113.tif 000034
【０１２４】
そして、収束判定部５８による収束判定で、収束していなかった場合は、ｔ＝ｔ＋１としてシステムパラメタ更新部５２に戻る。収束していると判定された場合は、後述する重複パラメタ圧縮部６０に移る。
【０１２５】
重複パラメタ圧縮部６０は、学習部４０によって学習された複数のシステムパラメタに基づいて、値が同一となるシステムパラメタでグループを構成し、各グループにインデックス番号を付与し、各グループについて、グループを構成するシステムパラメタの各々を、当該グループに付与されたインデックス番号のシステムパラメタに変換し、当該インデックス番号のシステムパラメタを、後述するシステムパラメタ記憶部９０に記憶する。具体的には、上記（５）式で定義したように、スコア関数には線形式を仮定したので、ｗｉ＝ｗｊ＝，，，となるような、同じ値を取るシステムパラメタでグループを構築する。
【０１２６】
仮に、Ｋ個のグループができたと仮定すると、各グループに１からＫまでのインデックス番号を付け
【０１２７】
【数３３】
2015162113.tif 000035
【０１２８】
のようにＫ個のグループの集合を構築する。ここで、ｗｉ＝ｗｊ＝ｗｌの時に、
【０１２９】
【数３４】
2015162113.tif 000036
【０１３０】
をシステムパラメタの元の番号の集合と考え、
【０１３１】
【数３５】
2015162113.tif 000037
【０１３２】
と定義する。つまり、元のシステムパラメタ番号から、そのシステムパラメタと同じ値になるグループのインデックス番号への変換を、一時的に記憶しておくことを意味する。また、ｖｋをｋ番目のグループの値とする、つまり、ｗｉ＝ｗｊ＝ｗｌで
【０１３３】
【数３６】
2015162113.tif 000038
【０１３４】
のとき、ｗｉ＝ｗｊ＝ｗｌ＝ｖｋである。
【０１３５】
また、重複パラメタ圧縮部６０は、このインデックス番号の変換を素性関数ｆにも同じように適用する。このときに、新しくｇｋを以下の（１９）式のように、元の素性抽出関数の単純な線形結合で定義する。
【０１３６】
【数３７】
2015162113.tif 000039
【０１３７】
すると、上記（５）式のスコア関数は、
【０１３８】
【数３８】
2015162113.tif 000040
【０１３９】
という関係が成り立つ。ここで、複数のシステムパラメタｗ＾は、入力データｘ＾及び出力データｙ＾に対する複数の素性抽出関数ｆｄ（ｘ＾、ｙ＾）の重みとなる。つまり、もともとの線形関数ΣＮｄ＝１ｗｄｆｄ（ｘ＾，ｙ＾）は、新たな線形関数ΣＫｋ＝１ｖｋｇｋ（ｘ＾，ｙ＾）と等価で変換できる。ただし、Ｋはグループの数なので、Ｎと比べると圧倒的に少ない数になっていることが想定できる。また、ｇｋはグループ内に属する素性関数の総和なので、事前に容易に計算できる。
【０１４０】
以上のように、重複パラメタ圧縮部６０は、各グループについて、当該グループを構成するシステムパラメタの各々を、当該グループに付与された当該インデックス番号のシステムパラメタに変換し、当該インデックス番号のシステムパラメタを保存すると共に、上記の（２０）式に示すように、スコア関数を定義する。
【０１４１】
よって、システムパラメタ更新部５２により得られた重複が多くあるシステムパラメタの集合から、重複部分を融合し、等価だが無駄のない形式に圧縮することで、大幅にモデルサイズを削減することができる。また追加の処理として、ｗｄ＝０になる場合、ｆｄは出力の選択に何も寄与しないので、素性関数の定義そのものを削除することが可能である。この処理もここで合わせて行う。
【０１４２】
システムパラメタ記憶部９０には、重複パラメタ圧縮部６０によって圧縮されたシステムパラメタｖｋと、新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とが格納される。
【０１４３】
＜情報処理装置のシステム構成＞
前述のシステムパラメタ学習装置１００で得られた圧縮されたシステムパラメタを用いて、情報処理装置２００によって、未知の入力データに対して所定の情報処理を行う。システムパラメタの圧縮を行う場合と、仮にシステムパラメタの圧縮をしなかった場合とで、処理結果は完全に一致する。よって、圧縮を行うことによって、モデルのサイズ（システムパラメタ自体のサイズ）を大幅に削減できる分、実行時に必要とされるリソースを削減できるというメリットだけを享受することができる。
【０１４４】
図９は、本発明の実施の形態に係る情報処理装置２００を示すブロック図である。この情報処理装置２００は、ＣＰＵと、ＲＡＭと、後述する情報処理ルーチンを実行するためのプログラムを記憶したＲＯＭと、を備えたコンピュータで構成され、機能的には次に示すように構成されている。
【０１４５】
本実施の形態に係る情報処理装置２００は、図９に示すように、入力部２１０と、システムパラメタ記憶部２２０と、情報処理部２３０と、出力部２４０とを備えている。
【０１４６】
入力部２１０は、入力データｘ＾を受け付ける。
【０１４７】
システムパラメタ記憶部２２０には、上記システムパラメタ学習装置１００によって圧縮されたシステムパラメタｖｋと、新たに定義されたスコア関数ｇｋとが格納される。
【０１４８】
情報処理部２３０は、システムパラメタ記憶部２２０に格納された、インデックス番号ｋのシステムパラメタｖｋと、新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とに基づいて、入力部２１０により受け付けた入力データｘ＾に対して、所定の情報処理を行う。具体的には、情報処理部２３０は、入力部２１０により受け付けた入力データｘ＾と、システムパラメタ記憶部２２０に格納された、インデックス番号ｋのシステムパラメタｖｋと、新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とに基づいて、所定の最適化手法を用いて、スコア関数Φ（ｘ＾，ｙ＾；ｗ＾）が最大となる出力データｙ＾を算出する。
【０１４９】
出力部２４０は、情報処理部２３０によって算出された出力データｙ＾を結果として出力する。
＜システムパラメタ学習装置の作用＞
次に、本実施の形態に係るシステムパラメタ学習装置１００の作用について説明する。まず、教師データと、パラメタρと、実数値の個数を表すパラメタζとが、システムパラメタ学習装置１００に入力されると、システムパラメタ学習装置１００によって、入力された教師データが、教師データベース３０へ格納される。
【０１５０】
そして、システムパラメタ学習装置１００によって、図１０に示すシステムパラメタ学習処理ルーチンが実行される。
【０１５１】
まず、ステップＳ１００において、初期化部５０によって、最適化に用いる３種類の最適化変数ｗ＾、ｕ＾、α＾を全て０にセットし、初期化する。
【０１５２】
次に、ステップＳ１０２において、初期化部５０によって、繰り返し回数を管理する変数ｔを、ｔ＝０と設定し、初期化する。
【０１５３】
ステップＳ１０４において、システムパラメタ更新部５２によって、上記ステップＳ１００で初期化された３種類のパラメタｗ＾、ｕ＾（ｔ）、α＾（ｔ）、又は後述する各ステップで前回更新された３種類のパラメタｗ＾、ｕ＾（ｔ）、α＾（ｔ）を用いて、上記（１１）式に従って、システムパラメタｗ＾（ｔ）からｗ＾（ｔ＋１）へ更新する。
【０１５４】
ステップＳ１０６において、補助パラメタ更新部５４によって、上記ステップＳ１０４で更新されたｗ＾（ｔ＋１）と、上記ステップＳ１００で初期化されたパラメタα＾（ｔ）、又は後述するステップＳ１０８で前回更新されたパラメタα＾（ｔ）とを用いて、上記（１４）式に従って、ｕ＾を計算し、計算されたｕ＾から最も近い超平面上の点を見つけて、補助パラメタｕ＾（ｔ）からｕ＾（ｔ＋１）へ更新する。
【０１５５】
ステップＳ１０８において、未定乗数更新部５６によって、上記ステップＳ１０４で更新されたｗ＾（ｔ＋１）と、上記ステップＳ１０６で更新されたｕ＾（ｔ＋１）と、上記ステップＳ１００で初期化されたパラメタα＾（ｔ）、又は本ステップＳ１０８で前回更新されたパラメタα＾（ｔ）とを用いて、上記（１６）式に従って、ラグランジュ未定乗数α＾（ｔ）からα＾（ｔ＋１）へ更新する。
【０１５６】
ステップＳ１１０において、収束判定部５８によって、上記ステップＳ１０４で更新されたｗ＾（ｔ＋１）と、前回更新されたｗ＾（ｔ）と、上記ステップＳ１０６で更新されたｕ＾（ｔ＋１）と、前回更新されたｕ＾（ｔ）とに基づいて、上記（１７）式、及び上記（１８）式に示す収束条件を満たしているか否かを判定する。そして、収束していないと判定された場合には、ステップＳ１１２で繰り返しを管理する変数ｔをインクリメントして、ステップＳ１０４へ移行し、上記ステップＳ１０４〜ステップＳ１０８の各処理を繰り返す。収束したと判定された場合には、ステップＳ１１４へ移行する。
【０１５７】
ステップＳ１１４において、重複パラメタ圧縮部６０によって、上記ステップＳ１０４の更新処理によって最終的に得られたシステムパラメタｗ＾の値に基づいて、値が同一となるシステムパラメタでグループを構成し、各グループについて、グループを構成するシステムパラメタの各々を、当該グループに付与された当該インデックス番号のシステムパラメタに変換し、当該インデックス番号のシステムパラメタをシステムパラメタ記憶部９０に保存すると共に、上記の（２０）式に示すように、新たなスコア関数を定義して、システムパラメタ記憶部９０に保存して、システムパラメタ学習処理ルーチンを終了する。
【０１５８】
＜情報処理装置の作用＞
次に、本実施の形態に係る情報処理装置２００の作用について説明する。まず、システムパラメタ学習装置１００のシステムパラメタ記憶部９０に記憶されているシステムパラメタｖｋの各々と新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とが、情報処理装置２００に入力されると、システムパラメタ記憶部９０に格納される。そして、対象としての入力データｘ＾が情報処理装置２００に入力されると、情報処理装置２００によって、図１１に示す実行処理ルーチンが実行される。
【０１５９】
まず、ステップＳ２００において、入力部２１０によって、入力データｘ＾を受け付ける。
【０１６０】
次に、ステップＳ２０２において、情報処理部２３０によって、システムパラメタ記憶部２２０に記憶されたシステムパラメタｖｋの各々と、新たに定義されたスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とを読み込む。
【０１６１】
ステップＳ２０４において、情報処理部２３０によって、上記ステップＳ２００で受け付けた入力データｘ＾と、上記ステップＳ２０２で読み込んだシステムパラメタｖｋの各々及びスコア関数Φ（ｘ＾，ｙ＾；ｗ＾）とに基づいて、所定の最適化手法を用いて、スコア関数Φ（ｘ＾，ｙ＾；ｗ＾）が最大となる出力データｙ＾を算出する。
【０１６２】
ステップＳ２０６において、出力部２４０によって、上記ステップＳ２０４で算出された出力データｙ＾を結果として出力して、情報処理ルーチンを終了する。
【０１６３】
＜実験結果＞
次に、本実施の形態の実験結果を示す。実際にテキスト処理の問題では、識別する際に入力と出力を特徴付ける、いわゆる素性として単語等の離散シンボル的なものを扱うため、全体の素性数が数百万から、数十億程度まで利用されることが往々にしてあり得る。図１２に、自然言語処理の構文解析と固有表現抽出問題において、本実施の形態で説明した手法を用いた際の効果を示す。
【０１６４】
図１２中の横軸は、グループの数を表し、縦軸は、システムの解析精度を表している。この図からもわかるように、本実施の形態の方法を用いると、グループの数を２から８といった非常に少ない数で従来と同等の解析精度を得ることができる。
【０１６５】
次に、この実験データにおけるモデル学習の一回あたりの試行でおよそ６時間かかる。ここでの結果を得るために人手で調整した定義はおおよそ２０回程度に及んだ。一方、本実施の形態の方法を用いると、特に試行錯誤をせずに、一回で同じ結果を出すことが可能である。これは単純計算で、モデル作成コストがおよそ２０分の１にできたことと等価である。
【０１６６】
以上説明したように、本発明の実施の形態に係るシステムパラメタ学習装置によれば、複数の入力データの各々と複数の入力データに対する複数の正解出力データの各々とのペアである教師データを受け付け、受け付けた教師データと、スコア関数とに基づいて、複数のシステムパラメタの各々の値が、個数が予め定められた実数値ｖiと実数値−ｖiと０とからなる離散値の集合に含まれる制約を満たし、かつ、最適化された複数のシステムパラメタを学習することによって、自動で適切な高圧縮モデルを獲得することができる。
【０１６７】
また、本発明の実施の形態に係る情報処理装置によれば、システムパラメタ学習装置によって学習された、圧縮されたシステムパラメタに基づいて、入力データに対して、所定の情報処理を行って出力データを出力することにより、モデルのサイズ（システムパラメタ自体のサイズ）を大幅に削減できる分、実行時に必要とされるリソースを削減できる。
【０１６８】
また、従来とほぼ同等の精度を保ちつつシステムパラメタ自体のサイズを大幅に削減することが可能となる。具体的には、システムパラメタ数１億のモデルの場合は、１００，０００，０００ｘ８ｂｙｔｅ＝８００，０００，０００ｂｙｔｅであるので、８００ＭＢの容量を必要とする。しかし、本実施の形態を用いることで、システムパラメタ値の種類数を、例えば、８程度といった非常に小さい値にまで削減できる。この場合、８×８ｂｙｔｅ＝６４ｂｙｔｅであり、計算上は、約１２５０万分の１程度に圧縮できたことになる。
【０１６９】
また、従来技術で示した方法との違いとしては、従来技術では、
【０１７０】
【数３９】
2015162113.tif 000041
【０１７１】
中に現れる集合
【０１７２】
【数４０】
2015162113.tif 000042
【０１７３】
の定義
【０１７４】
を人手により調整して得る。この時、試行錯誤により、よい定義を発見しなくてはいけないため、一般的には、数十回の試行を逐次または並列実行し、その中で最も開発セットの結果がよいものを選択する方法を用いる。一方、本実施の形態においては、人手による調整が不要であり、かつ、たった一回の試行でほぼ確実に従来技術と同レベルの精度と圧縮率を保ったモデルを獲得することが可能となる。これにより、モデル構築および選択の速度とコストが従来に比べて数から数十分の一程度に削減できるため、実用上非常に価値の高い効果を与えることができる。
【０１７５】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１７６】
例えば、システムパラメタ記憶部９０、２２０及び教師データベース３０は、外部に設けられ、システムパラメタ学習装置１００及び情報処理装置２００とネットワークで接続されていてもよい。
【０１７７】
また、上記実施の形態では、システムパラメタ学習装置１００と情報処理装置２００とを別々の装置として構成する場合を例に説明したが、システムパラメタ学習装置１００と情報処理装置２００とを１つの装置として構成してもよい。
【０１７８】
上述のシステムパラメタ学習装置１００及び情報処理装置２００は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１７９】
例えば、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１８０】
１０   教師データ入力部
２０   演算部
３０   教師データベース
４０   学習部
５０   初期化部
５２   システムパラメタ更新部
５４   補助パラメタ更新部
５６   未定乗数更新部
５８   収束判定部
６０   重複パラメタ圧縮部
９０   システムパラメタ記憶部
１００ システムパラメタ学習装置
２００ 情報処理装置
２１０ 入力部
２２０ システムパラメタ記憶部
２３０ 情報処理部
２４０ 出力部
【図２】
2015162113.tif 000050
【図３】
2015162113.tif 000051
【図４】
2015162113.tif 000052
【図５】
2015162113.tif 000053
【図６】
2015162113.tif 000054
【図９】
2015162113.tif 000055
【図１０】
2015162113.tif 000056
【図１１】
2015162113.tif 000057
【図１４】
2015162113.tif 000058
【図１】
2015162113.tif 000059
【図７】
2015162113.tif 000060
【図８】
2015162113.tif 000061
【図１２】
2015162113.tif 000062
【図１３】
2015162113.tif 000063
【図１５】
2015162113.tif 000064