JP6099099B2 - 収束判定装置、方法、及びプログラム - Google Patents

収束判定装置、方法、及びプログラム Download PDF

Info

Publication number
JP6099099B2
JP6099099B2 JP2014039036A JP2014039036A JP6099099B2 JP 6099099 B2 JP6099099 B2 JP 6099099B2 JP 2014039036 A JP2014039036 A JP 2014039036A JP 2014039036 A JP2014039036 A JP 2014039036A JP 6099099 B2 JP6099099 B2 JP 6099099B2
Authority
JP
Japan
Prior art keywords
posterior distribution
variational
acvb
cvb
convergence determination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014039036A
Other languages
English (en)
Other versions
JP2015162233A (ja
Inventor
勝彦 石黒
勝彦 石黒
一誠 佐藤
一誠 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
University of Tokyo NUC
Original Assignee
Nippon Telegraph and Telephone Corp
University of Tokyo NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, University of Tokyo NUC filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014039036A priority Critical patent/JP6099099B2/ja
Publication of JP2015162233A publication Critical patent/JP2015162233A/ja
Application granted granted Critical
Publication of JP6099099B2 publication Critical patent/JP6099099B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、収束判定装置、方法、及びプログラムに係り、特に、変分事後分布の推論が収束したか否かを判定する収束判定装置、方法、及びプログラムに関する。
近年、デジタルデータのストレージ容量の拡大、通信速度の向上、計算能力の向上によって、10年前とは桁違いの量のデータ処理が可能となった。このような大量のデータは、統計的機械学習の利用によって客観的・統計的に健全に高精度のデータ予測、コンテンツ認識、知識発見などに役立てることができる。このような統計的機械学習技術の利用はビッグデータ、データサイエンティスト等の概念の流行に従って、研究者だけでなくビジネス上の実務でも必要な技術となっている。
統計的機械学習技術では、大量のデータに対して何らかの数学的・統計的なモデルを仮定する。これらのモデルは隠れ変数やパラメータと呼ばれる未知量によってその振る舞いがコントロールされる。統計的機械学習技術の目的は、図3に示すように、(i)目的に応じたより良い確率モデルの開発および選択、(ii)目的および所与のデータに最もフィットする未知量を探す推論(推定)手法に大きく大別することができる。
実世界の事象を観測したデータは多くの揺らぎや不確定性を含んでいる。このようなデータのモデリングには確率に基づく非決定的な数理モデルが最もよく使われている。そして、これら確率モデルの未知量推定の手法として幾つもの推論手法が提案されてきた。その中でも理論上もっとも正確な推定解を与えることが保証されているのがGibbsサンプラーを含むマルコフチェインモンテカルロ(MCMC)法である。MCMC法の与える解は、無限回の確率的シミュレーション(サンプリングと呼ばれる)を行うことでモデルの真の解に収束することが示されている。しかし、現実的には無限回の演算は不可能であり、またその推論が収束したのかどうかの判定も困難である。
一方、モデルを近似することで有限回の計算で必ず局所解に到達することを保証した推論手法も存在する。その一つが変分ベイズ法である。変分ベイズ法は有名なEMアルゴリズムをより高精度にした決定的繰り返し計算手法であり、繰り返しのうちに必ず局所最適解に到達する。また、アルゴリズムには初期値設定以外に確率的揺らぎを含む部分がない上に、必ず局所最適解に到達することが保証されているため、自動的に推論の収束を判定することが可能である。
近年、Gibbsサンプラーおよび変分ベイズ法をさらに改良する「周辺化」と呼ばれる技術が広く用いられるようになっている。通常、確率モデルでは多くのパラメータと隠れ変数は複雑に絡み合っており、その確率的変動の影響を陽に検算することが困難である。しかし、共役性と呼ばれる特性を満たすモデルの組み合わせでは、その確率的揺らぎの影響を全て事前に計算することが可能である。周辺化とは、パラメータの確率的影響を事前に解析的に計算して、そのパラメータを推論の計算対象から除外する技術である。この周辺化は推論手法の計算の高速化および高精度化への寄与が期待できる。
特に周辺化を施した変分ベイズ法、「周辺化変分ベイズ(Collapsed Variational Bayes, CVB)」法(以下、単にCVB法と称する。)は、現実的な有限サンプル・有限時間の範囲内では、周辺化したGibbsサンプラーよりもしばしば高速により高精度の解を得ることが多数の研究で報告されている(非特許文献1)。以上推論手法の関係を図4に示す。
これまでCVB法を使った確率モデルの推論は、トピックモデルと呼ばれる手法で多数研究されてきた(非特許文献1、2)。また、トピックモデルではない確率モデルへの応用も検討されている(非特許文献3)。これらの検証では、多くのデータセットにおいて周辺化Gibbs法よりも良い解が得られる事、またさらに計算を高速化するCVB0法(非特許文献2)などが提案されてきた。
Teh, Newman, and Welling, "A Collapsed Variational Bayesian Inference Algorithm for Latent Dirichlet Allocation", Advances in Neural Information Processing Systems 19, 2007. Asuncion, Welling, Smyth, and Teh, "On Smoothing and Inference for Topic Models", in Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence, 2009. Wang and Blunsom, "Collapsed Variational Bayesian Inference for PCFGs", in Proceedings of the 17th Conference on Computational Natural Language Learning, pp. 173-182, 2013.
しかし、非特許文献1〜3に代表される文献では、CVB法の収束非保証性については議論されてこなかった。CVB法は決定的繰り返し手法であるが、元となった変分ベイズ法と異なり、理論的な収束保証が発見されていない。したがって、CVB法を使う場合には、適当な基準により自動収束判定を実施しているため、その信頼性は低くなってしまう、という問題があった。
本発明は、上記の事情を鑑みてなされたもので、周辺化変分ベイズ法による推論の収束を判定することができる収束判定装置、方法、及びプログラムを提供することを目的とする。
上記の目的を達成するために本発明に係る収束判定装置は、パラメータの周辺化により前記パラメータを推論の計算対象から除外する変分ベイズ法である周辺化変分ベイズ法に従って、学習データについての周辺化不可であるパラメータに関する事後分布を表す変分事後分布を推論する学習装置であって、前記学習データに基づいて、前記変分事後分布を繰り返し更新することにより前記変分事後分布を推論する学習装置から、前記変分事後分布の更新を繰り返す毎に、前記更新された変分事後分布の入力を受け付ける入力部と、前記入力部によって前記変分事後分布を受け付ける毎に、前記変分事後分布に基づいて、前記変分事後分布の平均を表す平均化CVB事後分布を繰り返し計算するACVB事後分布計算部と、前記ACVB事後分布計算部によって計算された前記平均化CVB事後分布の変化量と、予め定められた閾値とに基づいて、前記学習装置による前記変分事後分布の推論が収束したか否かを判定する収束判定部と、を含んで構成されている。
本発明に係る収束判定方法は、入力部、ACVB事後分布計算部、及び収束判定部を含む収束判定装置における収束判定方法であって、前記入力部が、パラメータの周辺化により前記パラメータを推論の計算対象から除外する変分ベイズ法である周辺化変分ベイズ法に従って、学習データについての周辺化不可であるパラメータに関する事後分布を表す変分事後分布を推論する学習装置であって、前記学習データに基づいて、前記変分事後分布を繰り返し更新することにより前記変分事後分布を推論する学習装置から、前記変分事後分布の更新を繰り返す毎に、前記更新された変分事後分布の入力を受け付けるステップと、前記ACVB事後分布計算部が、前記入力部によって前記変分事後分布を受け付ける毎に、前記変分事後分布に基づいて、前記変分事後分布の平均を表す平均化CVB事後分布を繰り返し計算するステップと、前記収束判定部が、前記ACVB事後分布計算部によって計算された前記平均化CVB事後分布の変化量と、予め定められた閾値とに基づいて、前記学習装置による前記変分事後分布の推論が収束したか否かを判定するステップと、を含む。
本発明の前記ACVB事後分布計算部は、前記入力部によって前記変分事後分布を受け付ける毎に、前記受け付けた前記変分事後分布と、前記計算された前記平均化CVB事後分布との重み付き平均を計算することにより、前記平均化CVB事後分布を繰り返し計算するようにすることができる。
本発明の前記ACVB事後分布計算部は、前記ACVB事後分布計算部による計算の繰り返し回数が多いほど、前記変分事後分布に対する重みを小さくし、前記平均化CVB事後分布に対する重みを大きくして、前記重み付き平均を計算することにより、前記平均化CVB事後分布を計算するようにすることができる。
本発明の前記ACVB事後分布計算部は、前記学習装置による前記変分事後分布の更新の繰り返し回数が予め定められた値よりも大きい場合に、前記入力部によって前記変分事後分布を受け付ける毎に、前記変分事後分布に基づいて、前記平均化CVB事後分布を繰り返し計算するようにすることができる。
本発明に係るプログラムは、コンピュータを、上記の収束判定装置の各部として機能させるためのプログラムである。
以上説明したように、本発明の収束判定装置、方法、及びプログラムによれば、周辺化変分ベイズ法に従って変分事後分布を推論する学習装置から、変分事後分布を受け付ける毎に、変分事後分布の平均を表す平均化CVB事後分布を繰り返し計算し、計算された平均化CVB事後分布の変化量と、予め定められた閾値とに基づいて、学習装置による変分事後分布の推論が収束したか否かを判定することにより、周辺化変分ベイズ法による推論の収束を判定することができる、という効果が得られる。
本発明の実施の形態に係る収束判定装置の構成を示す概略図である。 本発明の実施の形態に係る収束判定装置における収束判定処理ルーチンの内容を示すフローチャートである。 統計的機械学習技術の目的を示す図である。 推論手法の関係を示す図である。
本発明の実施の形態は、様々なデータモデリングの未知量推定(推論)に使われる「周辺化変分ベイズ法」(CVB法)を利用するものである。周辺化変分ベイズ法とは、パラメータの周辺化により、当該パラメータを推論の計算対象から除外する変分ベイズ法のことである。本実施の形態は、一般のCVB法を利用する推論器に適用することで、推論の収束を保証して自動的な収束判定を可能にする。まず、本発明の実施の形態の概要について説明する。
<概要>
本発明の実施の形態は、CVB法を利用した推論器の欠点の一つである、収束保証の問題を解決する。一般のCVB法を利用する推論器に、本発明の実施の形態を追加的に適用することで、推論の収束を保証して自動的な収束判定を可能にする。理論的には、本発明の実施の形態の保証する収束解は、「もしCVBが収束するのであれば」達成される解に一致する。
また、本発明の実施の形態の最小の構成では、1つの単純な閾値パラメータを設定するだけで良く、この閾値パラメータによって収束への速度をある程度コントロールすることが可能である。なお、以降では、本実施の形態で提案する収束保証アルゴリズムを、ACVB(Averaged CVB、平均化CVB)法と呼ぶこととする。
本発明の実施の形態のポイントは、以下の(1)〜(3)である。
(1)モデルに関わらず、周辺化変分ベイズ法を利用した推論器すべてに適用できる点。
(2)推論の収束が理論的に保証されていない周辺化変分ベイズ法による推論に補助的に適用することで推論収束の保証を与える点。
(3)最小の構成では、一つの単純な閾値パラメータだけを与えれば良い点。
本発明の実施の形態で利用するアルゴリズムであるACVB法は、任意のモデルに対するCVB推論器に付加的に適用される。従って、利用者は自身の目的・タスクにふさわしいモデルを事前に選定し、そのモデルのCVB学習器を準備する必要がある。このモデルおよびCVB学習器をまとめてCVB学習装置と呼称する。なお、このCVB学習装置自体は、本発明の実施の形態に係る収束判定装置には含まない。CVB学習装置の構成方法は、上記非特許文献2、3及び参考文献(Blei, Ng,and Jordan,“Latent Dirichlet Allocation”,Journal of Machine Learning Research,Vol. 3,p.993-1022,2003)などに記載の方法と同様の方法であるため、説明を省略する。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<システム構成>
図1は、本発明の実施の形態に係る収束判定装置100を示すブロック図の一例である。収束判定装置100は、CPUと、RAMと、後述する収束判定処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には、収束判定装置100は、入力部10と、ACVB計算部20と、出力部30と、を備えている。
図1に示すように、入力部10は、CVB学習装置200から、変分事後分布q(Z)の入力を受け付ける。変分事後分布q(Z)は、学習データについての周辺化不可であるパラメータZに関する事後分布を表す。
ここで、CVB学習装置200は、周辺化変分ベイズ法に従って、学習データに基づいて、変分事後分布q(Z)を繰り返し更新することにより変分事後分布q(Z)を推論する装置である。なお、入力部10は、CVB学習装置200が変分事後分布q(Z)の更新を繰り返す毎に、更新された変分事後分布q(Z)の入力を受け付ける。
また、入力部10は、CVB学習装置200による変分事後分布q(Z)の更新の繰り返し回数を受け付ける。
以下、CVB学習装置200について簡単に説明する。
CVB学習装置200の構成は、ユーザの目的やタスクに依存するものの、最低限以下を備えるものとする。
CVB学習装置200に入力される学習データXは、目的に応じたものが適宜入力される。
変分事後分布q(Z)は、上記図4でいうところの、「周辺化が不可能な未知量Z」の推定値を意味する。CVB法では、通常、Zに確率値が入力される。なお、未知量(パラメータ)Zはベクトルであり、Z=[z(1),…,z(K)]である。
例えば、ある未知量z(i)の値がkとなる確率が0.1、lとなる確率が0.05、…といった具合である。
なお、未知量の種類の数(すなわちiの取れる範囲)や取りうる値の形式(kやlが連続値か離散値かシンボルか)などは、本発明では特に限定されない。CVB学習装置200による変分事後分布q(Z)の更新の繰り返し回数は、CVB法で導出される決定的繰り返し計算を何回繰り返したかを表す。上記の変分事後分布は繰り返して再計算され、更新され続ける。
ACVB計算部20は、入力部10によって受け付けた変分事後分布q(Z)に基づいて、CVB学習装置200の学習が収束したか否かを判定する。ACVB計算部20は、ACVB事後分布計算部22と、ACVB記憶部24と、定数記憶部26と、収束判定部28とを備えている。
ACVB事後分布計算部22は、CVB学習装置200による変分事後分布q(Z)の更新の繰り返し回数が予め定められた値より大きい場合に、入力部10によって変分事後分布q(Z)を受け付ける毎に、当該変分事後分布q(Z)に基づいて、変分事後分布q(Z)の平均を表す平均化CVB事後分布r(Z)(以下、ACVB事後分布r(Z)と称する。)を繰り返し計算する。
ACVB事後分布r(Z)は、CVB学習装置200が計算する変分事後分布q(Z)に基づいて計算される量で、q(Z)よりも収束判定に有利な性質を持つ。ACVB事後分布r(Z)の要素数はq(Z)と一致しており、q(Z)の中の1要素q(z(i))に対応してr(z(i))が存在する。
ここで、CVB学習装置200の更新の繰り返し回数をt、ACVB事後分布計算部22による計算の繰り返し回数をs、予め定められた値をBとすると、ACVB事後分布計算部22による計算の繰り返し回数sは、以下の式(1)に示すように割り引いて計算される。なお、以下では、CVB学習装置200による変分事後分布q(Z)の更新の繰り返し回数をCVB繰り返し回数tと称し、ACVB事後分布計算部22による計算の繰り返し回数をACVB繰り返し回数sと称する。
なお、CVB繰り返し回数tが予め定められた値Bよりも大きい場合に、ACVB事後分布r(Z)を繰り返し計算することを、以下、バーンインと称する。バーンインとは、MCMC法などで用いられるテクニックで、簡単に言うと繰り返し計算の最初の方の計算結果は棄却する方法である。これは、一般に推論の初期の結果はばらつきが大きく、あまり良い解ではないためである。本実施の形態の場合、例えば、予め定められた値B(以下、ACVBバーンイン回数Bと称する。)を自然数に設定する。そして、CVB繰り返し回数tがACVBバーンイン回数B以上になるまでは、ACVB事後分布の計算を行わない、ということである。CVB繰り返し回数tがACVBバーンイン回数B以上に到達したらそこからACVB事後分布の計算を開始する。その際、後述する式(2)、(3)、(4)のACVB繰り返し回数sは上記式(1)のように割り引いて計算する。
なお、ACVB事後分布r(Z)の初期値は、CVB繰り返し回数tがACVBバーンイン回数Bに到達したときに、ACVB繰り返し回数sをs=0から始めると、自然にその時点の変分事後分布q(Z)の値で初期化される。
具体的には、ACVB事後分布計算部22は、以下の式(2)に示すように、ACVB繰り返し回数sが多いほど、変分事後分布q(Z)に対する重みを小さくし、ACVB事後分布r(Z)に対する重みを大きくして、重み付き平均を計算することにより、ACVB事後分布r(Z)を計算する。
すなわち、ACVB事後分布計算部22は、入力部10によって変分事後分布q(Z)を受け付ける毎に、受け付けた変分事後分布q(Z)と、q(Z)を受け付けた時点でACVB記憶部24に記憶されているACVB事後分布r(Z)との重み付き平均を計算することにより、ACVB事後分布r(Z)を繰り返し計算する。なお、上記式(2)に示すように、ACVB繰り返し回数sを用いて重みは表現される。
ACVB記憶部24には、ACVB事後分布計算部22によって計算されたACVB事後分布r(Z)と、ACVB繰り返し回数sとが記憶される。
定数記憶部26には、閾値パラメータAと、上述のバーンイン処理のためのACVBバーンイン回数Bとが格納されている。閾値パラメータAは、収束判定部28において収束を判定するための値である。1回のACVB事後分布計算部22による計算で、ACVB事後分布r(Z)の絶対的、あるいは相対的な変化の大きさが、閾値パラメータA(例えば相対的に5%)を下回った(あるいは上回った)時に収束と判定するための基準である。
ACVBバーンイン回数Bは、上述のとおり、CVB学習装置200による学習がB回繰り返しを完了するまでACVB事後分布計算部22による計算を実施しない、といった処理に利用できる。
収束判定部28は、ACVB事後分布計算部22によって計算されたACVB事後分布r(Z)の変化量に基づいて、CVB学習装置200による変分事後分布q(Z)の推論が収束したか否かを判定する。具体的には、収束判定部28は、入力部10によって変分事後分布q(Z)を受け付けた時点でACVB記憶部24に記憶されているACVB事後分布r(Z)、ACVB事後分布計算部22で再計算されたACVB事後分布r(Z)、及び閾値パラメータAに基づいて、以下の式(3)、(4)に示すように、ACVB事後分布の収束判定を行う。
以下の式(3)、(4)では、入力部10によって受け付けた変分事後分布q(Z)を用いて計算されたs回目のACVB事後分布の計算結果をr(Z;s)とし、ACVB記憶部24に記憶されているs−1回目のACVB事後分布の計算結果をr(Z;s−1)としている。
収束判定部28は、上記式(3)が満たされた場合には、CVB学習装置200による変分事後分布q(Z)の推論が収束したと判定し、収束したこと示す情報を出力する。
また、収束判定部28は、上記式(4)が満たされた場合には、CVB学習装置200による変分事後分布q(Z)の学習が収束していないと判定し、ACVB事後分布計算部22で再計算されたACVB事後分布r(Z)をACVB記憶部24に記憶させると共に、ACVB繰り返し回数sなどをそれぞれ適宜更新して定数記憶部26に記憶させる。また収束判定部28は、収束していないこと示す情報を出力する。
出力部30は、収束判定部28によって出力された、収束したこと示す情報又は収束していないこと示す情報をCVB学習装置200に向けて出力する。また、出力部30は、収束判定部28によって収束していないと判定された場合には、ACVB記憶部24に記憶されたACVB事後分布r(Z)をユーザに出力する。
CVB学習装置200は、収束したこと示す情報を受け付けた場合には、推論を終了する。また、CVB学習装置200は、収束していないこと示す情報を受け付けた場合には、推論を続ける。
<典型的な動作の流れと計算式>
次に、CVB学習装置200による学習、ACVB事後分布計算部22による計算の説明と共に、上記で説明した各部がどのように処理を行うか、及び具体的な計算式を説明する。なお、以下の説明では、ACVB繰り返し回数sを単にsと称し、CVB繰り返し回数tを単にtと称する。
CVB学習装置200において対象とする最も単純なモデルでは、例えばN個の学習データがあった場合に、それらをK個のクラスに識別したいとする。この場合、典型的なCVB法ではi=1,…,N個の隠れ変数(未知量)を推定する。i番目の隠れ変数z(i)は、i番目のデータがK個のクラスのうち、どれに所属しているかを表現する。たとえば、z(i)=1ならばi番目のデータは1番目のクラスに所属、z(i)=3ならば3番目のクラス、といった具合である。このz(i)は未知なので、CVBではz(i)はどのクラスの番号になりそうか、という確率を計算する。これが変分事後分布q(Z)である。
たとえば、q(z(i)=1)=0.1、q(z(i) = 3)=0.8、であれば、0.8の確率でi番目のデータはクラス3に所属すると考える。このように、変分事後分布q(Z)にはi個のデータそれぞれについてK種のクラスに入る確率が記録される。具体的な形はモデルや学習データによって異なる。
CVB学習装置200では、このq(Z)を、学習データXを使って繰り返し計算し、更新していく。更新式をf、t回目の繰り返し計算の結果をq(Z;t)と書くと、以下の式(5)として表現される。
すなわち、t回目の繰り返し計算の際にはt−1回目の更新結果のq(Z)を元にする。t=1、つまり最初の更新時には、適当に設定した変分事後分布q(Z)の初期値から計算を始める。
上記式(5)内のfの具体的な式はモデルやデータによって異なり、本発明では限定されない。
本実施の形態で提案するACVB事後分布は、繰り返し計算された変分事後分布q(Z)の重み付き平均をとって、その値の変動を吟味して収束判定を下す。重み付き平均は、ACVB繰り返し回数sの増加とともに変動しにくくなるように設計されており、したがって重み付き平均は有限回のうちに収束に向かうことになる。
最も単純な処理の例を、以下に示す。
いま、CVB学習装置200がt回目の繰り返しを終えて、q(Z;t)を変分事後分布として更新保存しているとする。すなわちq(Z)=q(Z;t)となっている。
この時、ACVB事後分布計算部22は、上記式(2)でs回目のACVB事後分布の再計算結果r(Z;s)を決定する。
ここで、上記式(2)におけるr(Z)は、現在ACVB事後分布としてACVB記憶部24に保存されている値、すなわちr(Z;s−1)である。単純にはs=tとなるように設定しても良い。なお、s=1の場合には適当に初期化したr(Z)の値をr(Z;0)として使う。
続いて、収束判定部28で、このs回目のACVB事後分布計算部22による計算で収束したかどうかを判定する。
これには、先ほど求めたr(Z;s)とr(Z;s−1)、すなわち、再計算されたr(Z;s)と現在ACVB記憶部24に保存されているr(Z)との相違を計算し、その変化分が閾値パラメータAを下回る(あるいは上回る)場合に収束したと判定する。
最も簡単な例では、相対変化量が利用できる。最初の例だと、q(Z)、r(Z)、r(Z;s)はいずれもN×K個の確率値(すなわち0以上1以下の連続値)からなるベクトルと考えられるので、上記式(3)、(4)にある通り、差分ベクトルの2乗ノルムとr(Z)の2乗ノルムの比率を計算し、比率が閾値(例えば1%)未満ならば収束と判定する。
収束判定部28によって収束したと判定された場合、出力部30によって収束したことをCVB学習装置200に通知する。CVB学習装置200は収束したことを示す情報の通知を受けて、これ以上の更新を止めて、ユーザに所望の出力を提示する。また、収束判定装置100も、ACVB記憶部24に保存されたACVB事後分布r(Z)に基づいて、同様にユーザに所望の出力を提示する。
収束判定部28によって収束しなかったと判定された場合、r(Z;s)をACVB事後分布r(Z)としてACVB記憶部24に保存すると共に、ACVB事後分布の計算の繰り返し回数sを1増やして更新し、定数記憶部26に記憶させる。そして、出力部30によって、収束しなかったこと示す情報をCVB学習装置200に通知する。CVB学習装置200は、収束しなかったこと示す情報の通知を受けてCVB学習装置200による学習の繰り返し回数tを1増やすとともに再度、変分事後分布q(Z)の繰り返し計算を行う。
以上の処理を収束判定が出るまで繰り返す。
また、上記式(2)はこの式の通りでなくても良い。ただし、有限の繰り返し回数で収束に向かうことが保証できるようにr(Z)およびq(Z)の重みをsの増加に応じて逓減させることが重要である。なお、上記式(2)を使った場合、「真にCVBが収束する場合には」r(Z)は真のq(Z)に一致することが証明できる。ただし、CVBが収束するかどうかはまだ明らかになっていない。
上記式(3)、(4)についてもこれに限らず、L1ノルムの比率、あるいは分子項のみ(つまり絶対変化量)などについて、閾値判定を行ってもよい。
<収束判定装置の動作>
次に、本発明の実施の形態に係る収束判定装置100の作用について説明する。まず、CVB学習装置200が、学習データに基づいて、CVB法に従って、変分事後分布q(Z;t)を繰り返し更新し、更新する毎に、変分事後分布q(Z;t)を収束判定装置100へ出力する。CVB学習装置200から、変分事後分布q(Z;t)とCVB繰り返し回数tとの入力を受け付けると、収束判定装置100において、図2に示す収束判定処理ルーチンが実行される。
まず、ステップS100において、入力部10によって、変分事後分布q(Z;t)とCVB繰り返し回数tとの入力を受け付ける。
そして、ステップS102において、ACVB事後分布計算部22によって、上記ステップS100で受け付けたCVB繰り返し回数tがACVBバーンイン回数B以上か否かを判定する。CVB繰り返し回数tがACVBバーンイン回数B以上である場合には、ステップS104へ進む。一方、CVB繰り返し回数tがACVBバーンイン回数B未満である場合には、ステップS100へ戻る。
次のステップS104において、ACVB事後分布計算部22によって、上記式(1)に従って、ACVB繰り返し回数sを算出する。
ステップS106において、ACVB事後分布計算部22によって、上記ステップS100で受け付けた変分事後分布q(Z;t)と、上記ステップS104で算出されたACVB繰り返し回数sと、前回のステップS110でACVB記憶部24に記憶されたACVB事後分布r(Z;s−1)とに基づいて、上記式(2)に従って、ACVB事後分布r(Z;s)を計算する。
ステップS108において、上記ステップS106で計算されたACVB事後分布r(Z;s)と、前回のステップS110でACVB記憶部24に記憶されたACVB事後分布r(Z;s−1)と、閾値パラメータAとに基づいて、上記式(3)、(4)に従って、CVB学習装置200による変分事後分布q(Z;t)の推論が収束したか否かを判定する。上記式(3)を満たす場合には、CVB学習装置200による変分事後分布q(Z;t)の推論が収束したと判定し、ステップS114へ移行する。一方、上記式(4)を満たす場合には、CVB学習装置200による変分事後分布q(Z;t)の推論が収束していないと判定し、ステップS110へ進む。
ステップS110において、上記ステップS106で計算されたACVB事後分布r(Z;s)をACVB事後分布r(Z)としてACVB記憶部24に記憶させると共に、ACVB事後分布の計算の繰り返し回数sを1増やして更新し、ACVB記憶部24に記憶させる。
ステップS112において、出力部30によって、推論が収束していないことを示す情報を、CVB学習装置200へ出力する。
ステップS114において、出力部30によって、推論が収束したこと示す情報を、CVB学習装置200へ出力する。また、出力部30によって、ACVB記憶部24に記憶されたACVB事後分布r(Z)を出力し、収束判定処理ルーチンを終了する。
CVB学習装置200は、出力部30から出力された情報に基づいて、変分事後分布q(Z)を繰り返し更新するか否かを決定する。出力部30から出力された情報が、収束したこと示す情報である場合には、変分事後分布q(Z)の更新を終了し、推論を終了する。一方、出力部30から出力された情報が、収束していないことを示す情報である場合には、変分事後分布q(Z)を更新し、推論を続ける。
<実施例>
本発明の実施の形態のより具体的な適用例を示すために、データ解析を行うモデルをLatent Dirichlet Allocation (LDA、上記参考文献)と想定して、その場合の本実施の形態に係る収束判定装置の挙動を具体的に説明する。
LDAはBag-of-Words形式のデータ解析に用いられる確率モデルである。この形式では、データセットは「文書」と呼ばれるデータ群の集合である。各文書内には「単語」と呼ばれる観測データが多数入っている。典型的には、新聞記事データセットを考える。このときデータセットはある1日の新聞のテキスト情報、「文書」はその日のある記事内のテキスト情報、「単語」はある記事内に利用された言葉である。
LDAの目的は、このデータセットが与えられたときに、各「文書」内の「単語」をクラスタリングすることである。このクラスタはトピックと呼ばれており、新聞記事のような文書テキストデータの場合、「話題」や「文脈」に推定したことになる。たとえば、あるトピック(クラスタ)にアサインされた単語の多くが「ゴール」「ワールドカップ」「ホームラン」などといった単語の場合、そのトピックは「スポーツ」に関する話題であると判断できる。逆に、ある文書(記事)の中の単語(記事内に出てくる言葉)の多くがLDAによってスポーツトピックにアサインされた場合、その記事はスポーツに関する内容であろうことが推測できる。
LDAは典型的な確率モデルであり、未知のパラメータおよび隠れ変数の値によって観測されたBag-of-Words形式データが制御されると考える。与えられたデータセットに対し最適な未知パラメータおよび隠れ変数を推定することがLDA解析のタスクとなる。
LDAの未知数推定には様々な手法が利用できるが、上記非特許文献2,3及び参考文献などによってCVB法による推定が最も精度が良いことが知られている。ここではLDAをCVB法によって推定すると仮定して、その際に、本発明の実施の形態で説明した収束判定装置100がどのように動作するかを説明する。
まず、LDAの場合、入力されるBag-of-Words形式データが学習データXとなる。次に推定する変分事後分布q(Z)は、Bag-of-Words形式データ内の各「記事」内の各「単語」をどのトピック(クラスタ)にアサインするか、という情報である。
具体的には、d番目の記事内に登場するi番目の単語が、k番目のトピックにアサインされた、ということをz(d,i)=kと表現する。このとき、LDAのCVB法による推定では、学習データXが与えられたときに、このデータの表現上最も適切な「z(d,i)=kとなる確率」を計算する。これをq(z(d,i)=k)と表現する。q(Z)は全てのd,i,kについてq(z(d,i,)=k)を計算した集合である。具体的にどのようにq(Z)を計算するかは上記非特許文献2,3及び参考文献に記載されている。
ここで、上記非特許文献2,3及び参考文献などに記載の方法でq(Z)を繰り返し更新計算する際に、本発明の実施の形態に係る収束判定装置を同時に利用する。
たとえばACVBバーンイン回数BをB=10と設定、また閾値パラメータAをA=0.01と事前に入力する。
ACVB計算部20では、CVB繰り返し回数tを監視し、例えばt=Bとなった時点でACVBの計算を開始する。ACVB計算部20ではCVB法の繰り返し計算が1度完了するごとに、更新されたq(Z)の結果を受け取って上記式(2)に従ってACVB事後分布r(Z;s)を繰り返し計算する。繰り返しのたびにACVB繰り返し回数sを1ずつインクリメントする。r(Z)の初期値は、バーンイン終了後、ACVB繰り返し回数sをs=0から始めると、自然にその時点のq(Z)の値で初期化される。そして、計算のたびに、収束判定部で上記式(3)、(4)の成立を確認する。
上記式(3)が成立した場合、ACVB事後分布を出力してCVB学習装置200に推定の収束を通知する。CVB学習装置200では、たとえばこの収束通知を受けて推定を終了して所望の出力をユーザに提供する。
上記式(4)が成立した場合は、ACVB事後分布の更新結果をACVB記憶部24に保存して、CVB学習装置200に推定が収束していないことを通知する。CVB学習装置200では、たとえばこの通知を受けて再びCVBの繰り返し計算を行ってq(Z)を更新する。
先に述べたとおり、提案する本実施の形態の計算によって、理論的には繰り返し計算の収束の保証のないCVB法による推定を確実に収束させることが可能となる。
以上説明したように、本発明の実施の形態に係る収束判定装置によれば、周辺化変分ベイズ法に従って変分事後分布を推論する学習装置から、変分事後分布を受け付ける毎に、変分事後分布の平均を表すACVB事後分布を繰り返し計算し、計算されたACVB事後分布の変化量と、閾値パラメータAとに基づいて、学習装置による変分事後分布の推論が収束したか否かを判定することにより、周辺化変分ベイズ法による推論の収束を判定することができる。
また、本発明の実施の形態に係る収束判定装置によれば、収束が保証されるため、推論の計算がいつまで経っても終了しない、という事態を回避することができる。
また、周辺化変分ベイズ法を利用する推論器全てで、人手による推論収束判定を不要として、自動的に収束を判定させることができる。
また、単純な一つの閾値パラメータによって、収束の速度を変えることができる。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、本実施の形態では、収束判定装置100とCVB学習装置200とを別々の装置として構成する場合を例に説明したが、収束判定装置100とCVB学習装置200とを1つの装置として構成してもよい。
また、上述の収束判定装置100は、ACVB記憶部24、及び定数記憶部26を備えている場合について説明したが、例えばACVB記憶部24、及び定数記憶部26の少なくとも1つが収束判定装置100の外部装置に設けられ、収束判定装置100は、外部装置と通信手段を用いて通信することにより、ACVB記憶部24、及び定数記憶部26を参照するようにしてもよい。
また、上述の収束判定装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
10 入力部
20 ACVB計算部
22 ACVB事後分布計算部
24 ACVB記憶部
26 定数記憶部
28 収束判定部
30 出力部
100 収束判定装置
200 CVB学習装置

Claims (6)

  1. パラメータの周辺化により前記パラメータを推論の計算対象から除外する変分ベイズ法である周辺化変分ベイズ法に従って、学習データについての周辺化不可であるパラメータに関する事後分布を表す変分事後分布を推論する学習装置であって、前記学習データに基づいて、前記変分事後分布を繰り返し更新することにより前記変分事後分布を推論する学習装置から、前記変分事後分布の更新を繰り返す毎に、前記更新された変分事後分布の入力を受け付ける入力部と、
    前記入力部によって前記変分事後分布を受け付ける毎に、前記変分事後分布に基づいて、前記変分事後分布の平均を表す平均化CVB事後分布を繰り返し計算するACVB事後分布計算部と、
    前記ACVB事後分布計算部によって計算された前記平均化CVB事後分布の変化量と、予め定められた閾値とに基づいて、前記学習装置による前記変分事後分布の推論が収束したか否かを判定する収束判定部と、
    を含む収束判定装置。
  2. 前記ACVB事後分布計算部は、前記入力部によって前記変分事後分布を受け付ける毎に、前記受け付けた前記変分事後分布と、前記計算された前記平均化CVB事後分布との重み付き平均を計算することにより、前記平均化CVB事後分布を繰り返し計算する請求項1記載の収束判定装置。
  3. 前記ACVB事後分布計算部は、前記ACVB事後分布計算部による計算の繰り返し回数が多いほど、前記変分事後分布に対する重みを小さくし、前記平均化CVB事後分布に対する重みを大きくして、前記重み付き平均を計算することにより、前記平均化CVB事後分布を計算する請求項1又は請求項2に記載の収束判定装置。
  4. 前記ACVB事後分布計算部は、前記学習装置による前記変分事後分布の更新の繰り返し回数が予め定められた値よりも大きい場合に、前記入力部によって前記変分事後分布を受け付ける毎に、前記変分事後分布に基づいて、前記平均化CVB事後分布を繰り返し計算する請求項1〜請求項3の何れか1項に記載の収束判定装置。
  5. 入力部、ACVB事後分布計算部、及び収束判定部を含む収束判定装置における収束判定方法であって、
    前記入力部が、パラメータの周辺化により前記パラメータを推論の計算対象から除外する変分ベイズ法である周辺化変分ベイズ法に従って、学習データについての周辺化不可であるパラメータに関する事後分布を表す変分事後分布を推論する学習装置であって、前記学習データに基づいて、前記変分事後分布を繰り返し更新することにより前記変分事後分布を推論する学習装置から、前記変分事後分布の更新を繰り返す毎に、前記更新された変分事後分布の入力を受け付けるステップと、
    前記ACVB事後分布計算部が、前記入力部によって前記変分事後分布を受け付ける毎に、前記変分事後分布に基づいて、前記変分事後分布の平均を表す平均化CVB事後分布を繰り返し計算するステップと、
    前記収束判定部が、前記ACVB事後分布計算部によって計算された前記平均化CVB事後分布の変化量と、予め定められた閾値とに基づいて、前記学習装置による前記変分事後分布の推論が収束したか否かを判定するステップと、
    を含む収束判定方法。
  6. コンピュータを、請求項1〜請求項4の何れか1項記載の収束判定装置の各部として機能させるためのプログラム。
JP2014039036A 2014-02-28 2014-02-28 収束判定装置、方法、及びプログラム Active JP6099099B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014039036A JP6099099B2 (ja) 2014-02-28 2014-02-28 収束判定装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014039036A JP6099099B2 (ja) 2014-02-28 2014-02-28 収束判定装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015162233A JP2015162233A (ja) 2015-09-07
JP6099099B2 true JP6099099B2 (ja) 2017-03-22

Family

ID=54185245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014039036A Active JP6099099B2 (ja) 2014-02-28 2014-02-28 収束判定装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6099099B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620555B2 (en) * 2018-10-26 2023-04-04 Samsung Electronics Co., Ltd Method and apparatus for stochastic inference between multiple random variables via common representation

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6740193B2 (ja) * 2017-09-12 2020-08-12 日本電信電話株式会社 パラメータ推定装置、パラメータ推定方法及びパラメータ推定プログラム
US11140450B2 (en) * 2017-11-28 2021-10-05 Rovi Guides, Inc. Methods and systems for recommending content in context of a conversation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4478769B2 (ja) * 2004-02-23 2010-06-09 独立行政法人産業技術総合研究所 情報処理装置、情報処理方法
JP2012058972A (ja) * 2010-09-08 2012-03-22 Sony Corp 評価予測装置、評価予測方法、及びプログラム
JP5684084B2 (ja) * 2011-10-04 2015-03-11 日本電信電話株式会社 誤分類検出装置、方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620555B2 (en) * 2018-10-26 2023-04-04 Samsung Electronics Co., Ltd Method and apparatus for stochastic inference between multiple random variables via common representation

Also Published As

Publication number Publication date
JP2015162233A (ja) 2015-09-07

Similar Documents

Publication Publication Date Title
CN110582784B (zh) 使用先行搜索来训练动作选择神经网络
JP6824382B2 (ja) 複数の機械学習タスクに関する機械学習モデルのトレーニング
JP6483667B2 (ja) ベイズの最適化を実施するためのシステムおよび方法
US20170213150A1 (en) Reinforcement learning using a partitioned input state space
Semenkin et al. Fuzzy rule bases automated design with self-configuring evolutionary algorithm
CN113326852A (zh) 模型训练方法、装置、设备、存储介质及程序产品
Sandhu et al. Bayesian model selection using automatic relevance determination for nonlinear dynamical systems
JP6172317B2 (ja) 混合モデル選択の方法及び装置
JP6099099B2 (ja) 収束判定装置、方法、及びプログラム
Dass et al. Laplace based approximate posterior inference for differential equation models
JP6468364B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
Petelin et al. Evolving Gaussian process models for predicting chaotic time-series
CN108921207B (zh) 一种超参数确定方法、装置及设备
JP6190771B2 (ja) パラメータ推定方法、装置、及びプログラム
Mongwe et al. Utilising partial momentum refreshment in separable shadow Hamiltonian hybrid Monte Carlo
Paassen et al. Gaussian process prediction for time series of structured data.
Harde et al. Design and implementation of ACO feature selection algorithm for data stream mining
CN115345303A (zh) 卷积神经网络权重调优方法、装置、存储介质和电子设备
Abdallah et al. Fatigue assessment of a wind turbine blade when output from multiple aero-elastic simulators are available
de Angelis et al. Line sampling for assessing structural reliability with imprecise failure probabilities
Wang et al. Altering Gaussian process to Student-t process for maximum distribution construction
Asaad et al. Stochastic Gradient Hamiltonian Monte Carlo on Bayesian Time Series Modeling
JP6558860B2 (ja) 推定装置、予測装置、方法、及びプログラム
Nikolaev et al. Nonlinear filtering of asymmetric stochastic volatility models and value-at-risk estimation
Bauwens et al. Bayesian methods

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170215

R150 Certificate of patent or registration of utility model

Ref document number: 6099099

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250