(57)【特許請求の範囲】
【請求項１】
関数および当該関数の暫定解を入力し、入力された関数の暫定解における一階微分および二階微分を算出する微分情報抽出部と、
前記暫定解に基づいて、前記関数における解の更新を継続するか否か判定する終了条件判定部と、
前記暫定解並びに前記一階微分および前記二階微分に基づいて、前記暫定解の更新回数を決定する更新回数決定部と、
前記一階微分および前記二階微分に基づいて、決定された前記更新回数分、前記暫定解を更新する処理を繰り返し、更新された暫定解を出力する暫定解更新部とを備え、
前記終了条件判定部は、前記更新された暫定解に基づいて、前記関数における解の更新を継続するか否か判定する
ことを特徴とする確率的最適化装置。
【請求項２】
更新回数決定部は、二階微分行列の最大固有値から関数のパラメータを推定し、推定されたパラメータを用いて、解の更新回数を決定する
請求項１記載の確率的最適化装置。
【請求項３】
暫定解更新部は、確率的に関数を指定することにより、微分情報を近似する
請求項１または請求項２記載の確率的最適化装置。
【請求項４】
暫定解更新部は、更新回数が決定されたときの暫定解である第一の暫定解と現在の暫定解である第二の暫定解との差分を、第二の暫定解における二階微分行列に乗じ、第一の暫定解における一階微分ベクトルを加算した値を用いて、現在の暫定解である第二の暫定解を更新する
請求項１から請求項３のうちのいずれか１項に記載の確率的最適化装置。
【請求項５】
暫定解更新部は、算出された各第二の暫定解の平均を出力する
請求項４記載の確率的最適化装置。
【請求項６】
終了条件判定部は、暫定解が最適解に収束したと判断できる場合に、解の更新を終了すると判定する
請求項１から請求項５のうちのいずれか１項に記載の確率的最適化装置。
【請求項７】
関数および当該関数の暫定解を入力し、入力された関数の暫定解における一階微分および二階微分を算出し、
前記暫定解並びに前記一階微分および前記二階微分に基づいて、前記暫定解の更新回数を決定し、
前記一階微分および前記二階微分に基づいて、決定された前記更新回数分、前記暫定解を更新する処理を繰り返し、
前記更新された暫定解に基づいて、前記関数における解の更新を継続するか否か判定し、
更新された暫定解を出力する
ことを特徴とする確率的最適化方法。
【請求項８】
二階微分行列の最大固有値から関数のパラメータを推定し、推定されたパラメータを用いて、解の更新回数を決定する
請求項７記載の確率的最適化方法。
【請求項９】
コンピュータに、
関数および当該関数の暫定解を入力し、入力された関数の暫定解における一階微分および二階微分を算出する微分情報抽出処理、
前記暫定解に基づいて、前記関数における解の更新を継続するか否か判定する終了条件判定処理、
前記暫定解並びに前記一階微分および前記二階微分に基づいて、前記暫定解の更新回数を決定する更新回数決定処理、および、
前記一階微分および前記二階微分に基づいて、決定された前記更新回数分、前記暫定解を更新する処理を繰り返し、更新された暫定解を出力する暫定解更新処理を実行させ、
前記終了条件判定処理で、前記更新された暫定解に基づいて、前記関数における解の更新を継続するか否か判定させる
ための確率的最適化プログラム。
【請求項１０】
コンピュータに、
更新回数決定処理で、二階微分行列の最大固有値から関数のパラメータを推定させ、推定されたパラメータを用いて、解の更新回数を決定させる
請求項９記載の確率的最適化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、確率的最適化を行う確率的最適化装置、確率的最適化方法、および確率的最適化プログラムに関する。
【背景技術】
【０００２】
数理最適化技術の一つとして、確率的最適化が知られている。確率的最適化は、機械学習などで現れるような、多くの関数の総和からなる関数の値を最小化するときに用いられる技術である。機械学習は、コンピュータを用いても関数の評価や計算に多大な時間を要するため、関数の値を最小化する時間を低減させつつ、より精度の高い結果を出力することが求められている。【０００３】
例えば、非特許文献１には、予測分散を用いて確率的勾配を加速的に降下させる方法が記載されている。非特許文献１に記載された方法では、何回かに一回確率的でない一階微分を計算し、その後もその情報を利用することで、一般的な確率的最適化に比べ、解の改善を行う回数を低減させている。また、関数の構造を表すパラメータが分かっていない場合に、解を改善する方法も各種知られている（非特許文献２、非特許文献３参照）。【０００４】
なお、特許文献１には、効率的な学習を実現する学習装置が記載されている。特許文献１に記載された学習装置は、一次勾配の標準偏差で学習率を除算して学習率を調整することで、少ない繰り返し回数でパラメータを収束させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１７／１８３５８７号
【非特許文献】
【０００６】
【非特許文献１】Johnson, R., & Zhang, T., ”Accelerating stochastic gradient descent using predictive variance reduction”, Advances in neural information processing systems, pp.315-323, 2013.
【非特許文献２】Allen-Zhu, Z., & Yuan, Y., “Improved SVRG for non-strongly-convex or sum-of-non-convex objectives”, International conference on machine learning pp.1080-1089, 2016.
【非特許文献３】Xu, Y., Lin, Q., & Yang, T., ”Adaptive SVRG Methods under Error Bound Conditions with Unknown Growth Parameter”, Advances in Neural Information Processing Systems, pp.3279-3289, 2017.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１に記載された方法では、何回に一回、確率的でない勾配の計算が必要かは、最小化する関数の構造に依存する。すなわち、非特許文献１に記載された方法は、関数の構造を表すパラメータが既知であることが前提になっている。しかし、関数の構造を表すパラメータが、必ずしも既知でない場合も存在する。【０００８】
一方、非特許文献２および非特許文献３に記載された方法は、関数の構造を表すパラメータが与えられていない場合でも、解を改善することが可能である。しかし、一般的な確率的最適化では、関数の構造を表すパラメータが与えられていない場合、必要な解の改善回数が、関数の構造を表すパラメータが与えられている場合の解の改善回数に比べて非常に多くなってしまうという問題がある。これは、関数の構造を表すパラメータが一階微分情報のベクトルだけでは推定できないためである。【０００９】
このように、上述する一般的な方法では、最終的な解を得るまでに行われる計算の改善回数（更新回数）が非常に増大し、時間がかかってしまう恐れがある。そのため、関数の構造の表すパラメータが与えられていない場合であっても、所望の精度を満たす最終的な解を得るまでの更新回数を低減できることが好ましい。【００１０】
そこで、本発明は、関数の構造の表すパラメータが与えられていない場合であっても、所望の精度を満たす最終的な解を得るまでの更新回数を低減できる確率的最適化装置、確率的最適化方法、および確率的最適化プログラムを目的とする。
【課題を解決するための手段】
【００１１】
本発明による確率的最適化装置は、関数およびその関数の暫定解を入力し、入力された関数の暫定解における一階微分および二階微分を算出する微分情報抽出部と、暫定解に基づいて、関数における解の更新を継続するか否か判定する終了条件判定部と、暫定解並びに一階微分および二階微分に基づいて、暫定解の更新回数を決定する更新回数決定部と、一階微分および二階微分に基づいて、決定された更新回数分、暫定解を更新する処理を繰り返し、更新された暫定解を出力する暫定解更新部とを備え、終了条件判定部が、更新された暫定解に基づいて、関数における解の更新を継続するか否か判定する  ことを特徴とする。【００１２】
本発明による確率的最適化方法は、関数およびその関数の暫定解を入力し、入力された関数の暫定解における一階微分および二階微分を算出し、暫定解並びに一階微分および二階微分に基づいて、暫定解の更新回数を決定し、一階微分および二階微分に基づいて、決定された更新回数分、暫定解を更新する処理を繰り返し、更新された暫定解に基づいて、関数における解の更新を継続するか否か判定し、更新された暫定解を出力することを特徴とする。【００１３】
本発明による確率的最適化プログラムは、コンピュータに、関数およびその関数の暫定解を入力し、入力された関数の暫定解における一階微分および二階微分を算出する微分情報抽出処理、暫定解に基づいて、関数における解の更新を継続するか否か判定する終了条件判定処理、暫定解並びに一階微分および二階微分に基づいて、暫定解の更新回数を決定する更新回数決定処理、および、一階微分および二階微分に基づいて、決定された更新回数分、暫定解を更新する処理を繰り返し、更新された暫定解を出力する暫定解更新処理を実行させ、終了条件判定処理で、更新された暫定解に基づいて、関数における解の更新を継続するか否か判定させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、関数の構造の表すパラメータが与えられていない場合であっても、所望の精度を満たす最終的な解を得るまでの更新回数を低減できる。
【図面の簡単な説明】
【００１５】
【図１】本発明による確率的最適化装置の一実施形態を示すブロック図である。
【図２】確率的最適化装置の動作例を示すフローチャートである。
【図３】本発明による確率的最適化装置の概要を示すブロック図である。
【図４】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面を参照して説明する。
【００１７】
図１は、本発明による確率的最適化装置の一実施形態を示すブロック図である。なお、図１に例示する一方向性の矢印は、ある信号（データ）の流れの方向を端的に示したものであり、方向性を排除するものではない。
【００１８】
本実施形態の確率的最適化装置１００は、微分情報抽出部１０と、終了条件判定部２０と、改善回数決定部３０と、暫定解改善部４０とを備えている。なお、確率的最適化装置１００が、関数情報を記憶する関数情報記憶部５０を備えていてもよい。
【００１９】
関数情報記憶部５０が記憶する関数情報は、最適化を行う対象の関数を示す情報であり、関数そのものを表す情報であってもよく、関数を指定する情報であってもよい。関数情報記憶部５０は、例えば、磁気ディスク等により実現される。
【００２０】
微分情報抽出部１０は、関数、および、その関数の暫定解を初期解１１として入力する。なお、上述するように、入力される関数は、関数そのものを示す情報であってもよく、関数を指定する情報であってもよい。そして、微分情報抽出部１０は、入力された関数の暫定解における微分情報を出力する。具体的には、微分情報抽出部１０は、入力された関数の暫定解における一階微分の情報および二階微分の情報を算出する。
【００２１】
終了条件判定部２０は、暫定解に基づいて、入力された関数における解を改善するため、解の更新を継続するか否か判定する。具体的には、終了条件判定部２０は、暫定解が最適解に収束したと判断できる場合に、解の更新を終了すると判定する。このとき、終了条件判定部２０は、微分情報を用いて解の更新を継続するか否か判定してもよい。終了条件判定部２０は、例えば、一階微分のノルムが十分小さい場合に解の更新を終了すると判定してもよい。
【００２２】
また、終了条件判定部２０は、二階微分の情報を用いて解の更新を継続するか否か判定してもよい。二階微分の情報から終了条件を判定する方法として、例えば、Ｎｅｗｔｏｎ  ｄｅｃｒｅｍｅｎｔを用いる方法が挙げられる。Ｎｅｗｔｏｎ  ｄｅｃｒｅｍｅｎｔは、以下に示す式１で定義される。
【００２３】
【数１】
0006927425.tif 000002
【００２４】
また、終了条件は、以下に示す式２で定義される。終了条件判定部２０は、式２の左辺の値が十分小さくなった時に、解の更新を終了すると判定してもよい。
【００２５】
【数２】
0006927425.tif 000003
【００２６】
改善回数決定部３０は、微分情報抽出部１０によって抽出された暫定解における微分情報（すなわち、一階微分の情報および二階微分の情報）に基づいて、解の改善を行うための更新回数を決定する。具体的には、改善回数決定部３０は、二階微分行列の最大固有値を関数のパラメータＬの推定値として、予め定めた基準に基づいて、解の更新回数を決定する。
【００２７】
改善回数決定部３０は、例えば、非特許文献１に記載された以下の式３に示す基準に基づいて、解の更新回数を決定してもよい。式３において、ｍは更新回数を示し、ηは学習率を示す。なお、γは、パラメータである。
【００２８】
【数３】
0006927425.tif 000004
【００２９】
改善回数決定部３０は、決定した更新回数を暫定解とともに暫定解改善部４０に出力する。
【００３０】
暫定解改善部４０は、暫定解および解の更新回数を入力として、入力された回数だけ暫定解を更新してから、その結果を出力する。暫定解改善部４０は、暫定解を改善するために、微分情報抽出部１０が抽出した微分情報を用いる。具体的には、暫定解改善部４０は、更新後の暫定解をｙとしたとき、以下に例示する式４に基づいて暫定解を更新する。
【００３１】
ｙ＝ｙ−（Ｈ（ｙ−ｘ）＋ｇ）／Ｌ    （式４）
【００３２】
式４において、ｘは、更新回数が決定されたときの暫定解である。すなわち、ｙは、現在の暫定解と言える。また、Ｈは、ｙにおける二階微分行列であり、ｇは、ｘにおける一階微分ベクトルである。なお、Ｈは、確率的であってもよい。また、Ｌは、更新回数が決定されたときに推定された関数のパラメータである。
【００３３】
すなわち、暫定解改善部４０は、更新回数が決定されたときの暫定解ｘ（以下、第一の暫定解と記す。）と現在の暫定解ｙ（以下、第二の暫定解と記す。）との差分を、第二の暫定解における二階微分行列に乗じ、第一の暫定解における一階微分ベクトルを加算した値を用いて、現在の暫定解である第二の暫定解を更新する。
【００３４】
暫定解改善部４０は、決定した更新回数分、上記式４に基づいて暫定解を更新する。そして、暫定解改善部４０は、ｘに基づいて順次算出されたｙ（ただし、ｘを除く）の平均を最終的な暫定解（すなわち、最適解１２）として出力してもよい。
【００３５】
さらに、暫定解改善部４０は、微分情報を近似する方法として、確率的に関数を指定する方法を用いてもよい。これは、目的関数がいくつもの関数（以下、部分関数と記す。）の和（または平均）で表されていることがあり、そのような場合、関数の微分情報は、全ての部分関数の微分情報の和（または平均）になる。部分関数の数が多くなると、関数の微分情報を求めるために高いコストが必要になる。そのため、暫定解改善部４０は、一部の部分関数だけを確率的に選んで、それらの関数の微分情報を用いることで、本来求めたい微分情報を近似してもよい。なお、この方法は、一階微分の場合、確率的勾配などとも呼ばれる。なお、後述する実施例で想定する関数も、データごとに定まる関数の平均である。
【００３６】
微分情報抽出部１０と、終了条件判定部２０と、改善回数決定部３０と、暫定解改善部４０とは、プログラム（確率的最適化プログラム）に従って動作するコンピュータのプロセッサ（例えば、ＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（field-programmable gate array ））によって実現される。
【００３７】
例えば、プログラムは、確率的最適化装置が備える記憶部（図示せず）に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、微分情報抽出部１０、終了条件判定部２０、改善回数決定部３０および暫定解改善部４０として動作してもよい。また、確率的最適化装置の機能がＳａａＳ（Software as a Service ）形式で提供されてもよい。
【００３８】
微分情報抽出部１０と、終了条件判定部２０と、改善回数決定部３０と、暫定解改善部４０とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【００３９】
また、確率的最適化装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００４０】
次に、本実施形態の確率的最適化装置の動作を説明する。図２は、本実施形態の確率的最適化装置の動作例を示すフローチャートである。まず、終了条件判定部２０は、初期解を受け取り、これを暫定解として設定する（ステップＳ１１）。そして、終了条件判定部２０は、解を更新するか否か判定する（ステップＳ１２）。解を更新しないと判定された場合（ステップＳ１２におけるＮｏ）、暫定解改善部４０は、暫定解を最適解として出力し（ステップＳ１５）、処理を終了する。
【００４１】
一方、解を更新すると判定された場合（ステップＳ１２におけるＹｅｓ）、改善回数決定部３０は、暫定解を微分情報抽出部１０に入力し、微分情報抽出部１０は、入力された暫定解に基づいて関数の微分情報を取得する。そして、改善回数決定部３０は、抽出された微分情報（具体的には、一階微分の情報と二階微分の情報の両方）に基づいて、解の更新回数を決定する（ステップＳ１３）。
【００４２】
暫定解改善部４０は、暫定解での微分情報を用いて、決定された更新回数だけ暫定解を更新する。そして、暫定解改善部４０は、更新後の暫定解を終了条件判定部２０に出力する（ステップＳ１４）。以降、終了条件判定部２０が暫定解をさらに更新するか否か判定するステップＳ１２以降の処理が繰り返される。
【００４３】
以上のように、本実施形態では、微分情報抽出部１０が、関数およびその関数の暫定解を入力し、入力された関数の暫定解における一階微分および二階微分を算出する。そして、改善回数決定部３０が、暫定解並びに一階微分および二階微分に基づいて、暫定解の更新回数を決定し、暫定解改善部４０が、一階微分および二階微分に基づいて、決定された更新回数分、暫定解を更新する処理を繰り返す。終了条件判定部２０が、更新された暫定解に基づいて、関数における解の更新を継続するか否か判定し、解の更新を終了すると判定された場合、暫定解改善部４０が、更新された暫定解を最適解として出力する。よって、関数の構造の表すパラメータが与えられていない場合であっても、所望の精度を満たす最終的な解を得るまでの更新回数を低減できる。
【００４４】
すなわち、本実施形態では、関数の構造を表すパラメータが与えられていない場合でも、必要な解の更新回数と最終的な解の精度を、関数の構造を表すパラメータが与えられている場合の確率的最適化と同等にすることが可能になる。なぜなら、強凸パラメータや勾配のリプシッツ連続性に対するリプシッツ定数といった、関数の構造を表すパラメータは、一階微分情報のベクトルだけでは推定できない。その一方、二階微分情報の行列も含めた場合、行列の固有値から関数の構造を表すパラメータを推定できるためである。
【実施例】
【００４５】
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。本実施例では、以下に例示するデータに基づいて生成されるロジスティクス回帰に、Ｌ２正則化項を加えたモデルを学習することを考える。表１に例示するデータは、特徴量を示すデータであり、表２に例示するデータは、表１に例示するデータの教師データである。【００４６】
【表１】
0006927425.tif 000005
【００４７】
具体的には、上述するデータを用いて、以下の式５に例示する目的関数を解く。【００４８】
【数４】
0006927425.tif 000006
【００４９】
以下、関数の構造の表すパラメータが与えられている場合と、関数の構造の表すパラメータが与えられていない場合とを比較するため、非特許文献１に記載された方法と比較して説明する。非特許文献１に記載された方法で解の更新回数を決めるために必要なパラメータは、以下の式６および式７に示す２つであり、上記の式３に示す基準によると、更新回数は１６１回である。
Ｌ＝1.20714093025    （式６）
γ＝1.0              （式７）【００５０】
次に、本発明の確率的最適化方法の説明をするため、上記の式６に示すパラメータが未知（式７に示すパラメータは既知）である場合を考える。まず、確率的最適化装置１００が任意の初期解を入力し、終了条件判定部２０が、終了するか否か判定する。本実施例では、終了条件を「一階微分のノルムが充分小さい場合に終了する」とした。初期解がこの条件を満たしていない場合、改善回数決定部３０が、更新回数を決定する処理を行う。【００５１】
改善回数決定部３０は、上記式５に示す目的関数の二階微分行列の最大固有値から、パラメータＬを推定する。具体的には、改善回数決定部３０は、上記式５に示す目的関数の二階微分行列の最大固有値から、以下の式８に示すパラメータＬを推定した。【００５２】
Ｌ＝1.12299639326  （式８）【００５３】
推定したパラメータＬの値およびγ＝1.0 から、改善回数決定部３０は、非特許文献１に記載された基準（すなわち、上記の式３に示す基準）に基づいて、解の更新回数を１６１回と決定する。すなわち、この結果は、関数の構造を表すパラメータが与えられて場合と同じである。すなわち、暫定解の改善方法が非特許文献１に記載された方法と同じならば、改善方法と更新回数が同じであるため、最終的に同じ解を得ることができる。【００５４】
なお、暫定解の改善方法として、上記の式５に示す目的関数を暫定解で二次近似した関数に対して非特許文献１に記載された改善方法を使用したとする。この場合、非特許文献１に記載された方法と異なり、二階微分の情報が必要になる。このとき、上記の式６に示すパラメータが既知であったとして、非特許文献１に記載された方法を用いた場合、処理時間は約１．１秒であり、最適値は、約０．７８７２９１３であった。【００５５】
一方、上記の式６に示すパラメータが与えられていないと想定して暫定解を、本発明における確率的最適化方法で更新した場合、処理時間は約０．７秒であり、最適値は、約０．７８７２９１２であった。以上のことからも、本発明における確率的最適方法を用いた方が、非特許文献１に記載された方法を用いるよりも、短い時間で同等の解が得られていることが確認できる。【００５６】
なお、例えば、非特許文献２および非特許文献３に記載された方法では、Ｌの値が既知でγの値が未知の場合にしか扱うことができない。言い換えると、非特許文献２および非特許文献３に記載された方法では、Ｌを推定できない。【００５７】
次に、本発明の概要を説明する。図３は、本発明による確率的最適化装置の概要を示すブロック図である。本発明による確率的最適化装置８０（例えば、確率的最適化装置１００）は、関数およびその関数の暫定解を入力し、入力された関数の暫定解における一階微分および二階微分を算出する微分情報抽出部８１（例えば、微分情報抽出部１０）と、暫定解に基づいて、関数における解の更新を継続するか否か判定する終了条件判定部８２（例えば、終了条件判定部２０）と、暫定解並びに一階微分および二階微分に基づいて、暫定解の更新回数を決定する更新回数決定部８３（例えば、改善回数決定部３０）と、一階微分および二階微分に基づいて、決定された更新回数分、暫定解を更新する処理を繰り返し、更新された暫定解を出力する暫定解更新部８４（例えば、暫定解改善部４０）とを備えている。【００５８】
そして、終了条件判定部８２は、更新された暫定解に基づいて、関数における解の更新を継続するか否か判定する。【００５９】
そのような構成により、関数の構造の表すパラメータが与えられていない場合であっても、所望の精度を満たす最終的な解を得るまでの更新回数を低減できる。すなわち、本発明によれば、関数の構造を表すパラメータが与えられていない場合でも、解の更新回数と最終的な解を、関数の構造を表すパラメータが与えられている場合と同等の精度にすることができる。【００６０】
また、更新回数決定部８３は、二階微分行列の最大固有値から関数のパラメータを推定し、推定されたパラメータを用いて、解の更新回数を決定してもよい。【００６１】
また、暫定解更新部８４は、確率的に関数を指定することにより、微分情報を近似してもよい。【００６２】
また、暫定解更新部８４は、更新回数が決定されたときの暫定解である第一の暫定解（例えば、式４におけるｘ）と現在の暫定解である第二の暫定解（例えば、式４におけるｙ）との差分を、第二の暫定解（ｙ）における二階微分行列（例えば、式４におけるＨ）に乗じ、第一の暫定解（ｘ）における一階微分ベクトル（例えば、式４におけるｇ）を加算した値を用いて、現在の暫定解である第二の暫定解（ｙ）を更新してもよい。【００６３】
その際、暫定解更新部８４は、算出された各第二の暫定解の平均を出力してもよい。【００６４】
また、終了条件判定部８２は、暫定解が最適解に収束したと判断できる場合に、解の更新を終了すると判定してもよい。【００６５】
図４は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ１０００は、プロセッサ１００１、主記憶装置１００２、補助記憶装置１００３、インタフェース１００４を備える。【００６６】
上述の確率的最適化装置は、コンピュータ１０００に実装される。そして、上述した各処理部の動作は、プログラム（確率的最適化プログラム）の形式で補助記憶装置１００３に記憶されている。プロセッサ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、当該プログラムに従って上記処理を実行する。【００６７】
なお、少なくとも１つの実施形態において、補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read-only memory ）、ＤＶＤ−ＲＯＭ（Read-only memory）、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００が当該プログラムを主記憶装置１００２に展開し、上記処理を実行しても良い。【００６８】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【産業上の利用可能性】
【００６９】
本発明は、確率的最適化を行う装置に好適に適用される。例えば、機械学習の分野で用いられる予測モデルを学習する用途に、本発明を適用できる。
【符号の説明】
【００７０】
１０  微分情報抽出部
２０  終了条件判定部
３０  改善回数決定部
４０  暫定解改善部
５０  関数情報記憶部
１００  確率的最適化装置
【図１】
0006927425.tif 000007
【図２】
0006927425.tif 000008
【図３】
0006927425.tif 000009
【図４】
0006927425.tif 000010