JP7310884B2 - パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム - Google Patents

パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム Download PDF

Info

Publication number
JP7310884B2
JP7310884B2 JP2021520026A JP2021520026A JP7310884B2 JP 7310884 B2 JP7310884 B2 JP 7310884B2 JP 2021520026 A JP2021520026 A JP 2021520026A JP 2021520026 A JP2021520026 A JP 2021520026A JP 7310884 B2 JP7310884 B2 JP 7310884B2
Authority
JP
Japan
Prior art keywords
function
optimum
objective function
value
partial
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
JP2021520026A
Other languages
English (en)
Other versions
JPWO2020235104A1 (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
Original Assignee
Nippon Telegraph and Telephone Corp
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 filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020235104A1 publication Critical patent/JPWO2020235104A1/ja
Application granted granted Critical
Publication of JP7310884B2 publication Critical patent/JP7310884B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Physiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

開示の技術は、パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラムに関する。
IoTの普及により、沢山の人やものの情報を収集できるようになってきており、取得した情報を、観光や交通、医療分野等に活かす動きが活発化している。データ解析手法として、機械学習やシミュレーション等の技術が利用されているが、これらに最適なパラメータを探索するためには、膨大な計算コストがかかることも多い。そこで、効率的なパラメータ探索の一手法として、ベイズ最適化が存在する(非特許文献1)。
ベイズ最適化は、観測情報から得られる関数の事後分布を元に、ブラックボックス関数の最適値(最大値または最小値)を求める手法である。ベイズ最適化は、観測対象とするパラメータを、確率分布をもとに決定することで、無作為にパラメータを選定するランダムサーチなどに比べて効率的に最適値が求まることが知られている。しかし、ベイズ最適化を用いても、特にパラメータが高次元であったり、とりうる値の範囲が大きかったりする場合、計算コストがかかるという問題は依然存在している。例えば、1回の探索に7分かかる場合、100回試行すれば10時間以上かかることになる。
例えば、加法構造を仮定した分解手法がある。加法構造を仮定した分解手法は、いくつかの低次元部分関数に分解可能な手法である。加法構造を仮定した分解手法は、高速化の一手法であり、関数の加法構造を仮定し、それぞれの部分関数を最適化する手法である。
また、例えば非特許文献2は、分割した部分集合が互いに素であると仮定しており、部分関数の獲得関数の計算を個別に行うことが可能である。部分関数に分割することで、探索次元数が下がるため、少ない観測点を元にした探索数で最適解を見つけることが期待できる。
また、非特許文献3は、分割した部分集合が互いに素である必要のないモデルを仮定しており、より幅広い状況への適応が可能である。
J.Snoek, H.Larochelle, R.P.Adams. Practical Bayesian optimization of machine learning algorithms. In Advances in Neural Information Processing Systems (NIPS), 2012. Kandasamy, K., Schneider, J., Poczos, B.: High Dimensional
Bayesian Optimisation and Bandits via Additive Models. In: Proceedings of the 32nd International Conference on Machine Learning (ICML), vol. 37, pp.295{304 (2015)
Rolland, P., Scarlett, J., Bogunovic, I., and Cevher, V.: Highdimensional Bayesian optimization via additive models with overlapping groups.International Conference on Articial Intelligence and Statistics (AISTATS),pp. 298{307 (2018)
上記技術の知見を利用すれば、パラメータ探索の高速化が期待できる。しかし、非特許文献2の分解手法では、変数間に重複がある場合に適応できない。また、非特許文献3の手法では、部分関数の獲得関数の計算を低階層から順番に行う必要があるため、獲得関数の計算を並列処理することができず、並列処理による効率的な探索を行うことができない。
開示の技術は、上記の点に鑑みてなされたものであり、最適な入力パラメータを高速に求めることができるパラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラムを提供することを目的とする。
本開示の第1態様は、パラメータ推定装置であって、部分関数の各々の数と、前記部分関数の各々に対する変数とを決定する関数分解部と、決定した前記数分の部分関数最適化実行部の各々であって、前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出する部分関数最適化実行部の各々と、前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する最適値決定部と、を含む。
本開示の本開示の第2態様は、パラメータ推定方法であって、部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、決定した前記数分の部分関数の各々において、前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、ことを含む処理をコンピュータが実行することを特徴とする。
本開示の本開示の第3態様は、パラメータ推定プログラムであって、部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、決定した前記数分の部分関数の各々において、前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、ことをコンピュータに実行させる。
開示の技術によれば、最適な入力パラメータを高速に求めることができる。
本実施形態のパラメータ推定装置の構成の一例を示すブロック図である。 パラメータ推定装置のハードウェア構成を示すブロック図である。 データをデータベーステーブルに記録した分解情報DBの一例を示す図である。 データをデータベーステーブルに記録した部分関数最適化DBの一例を示す図である。 データをデータベーステーブルに記録した部分関数最適値DBの一例を示す図である。 データをデータベーステーブルに記録した最適化DBの一例を示す図である。 データをデータベーステーブルに記録した最適値DBの一例を示す図である。 本開示の実施形態に係るパラメータ推定装置におけるパラメータ推定処理を示すフローチャートである。 部分関数最適化処理を示すフローチャートである。 最適値決定処理を示すフローチャートである。
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
上記課題に対して、本開示の実施形態では、分解手法を用いたベイズ最適化において、分解した部分集合が互いに素である必要のないモデルを仮定し、さらに分解した部分集合の最適化を並列処理できる手法を提案する。
本開示の実施形態では、部分関数ごとに最適化を行うことで、ベイズ最適化の高速化を実現する。また、部分関数の変数が重複した場合でも、全体の最適値を採用することで最適値を一意に決めることができる。また、関数を分解することで、ベイズ最適化が適応困難な高次元でのパラメータ探索を可能とする。
ベイズ最適化を高速化できれば、観光、交通、及び医療分野等において、推定結果を用いたより早い意思決定等が可能となる。
[前提条件]
ここで、本開示の実施形態の前提条件について説明する。本実施形態では、局所的な場所で観察された通行人数yをもとに、実際の人流に近い人流シミュレーションを再現する入力パラメータxの推定を行う問題を例に説明する。
本問題では、入力パラメータxおよびfを以下のように定義する。
x:各ルートRを通るエージェント数を要素とするD次元ベクトル
f:xを入力としたシミュレーションの出力データysimと、実際の観測値yobsの差
上記定義から、本問題は、以下(1)式のxを求める最適化問題と考えることができる。なお、複数観測地点がある場合を想定し、各観測地点の誤差f(i)の合計とする。

・・・(1)
そして、例えば観測地点が2箇所存在する場合を想定し、以下(2)式の加法構造を仮定する。

・・・(2)
以上のように局所的な場所で観察された通行人数をもとに、実際の人流に近い人流シミュレーションを再現するパラメータの推定を行う例を用いて説明するが、機械学習やシミュレーションのパラメータ推定を行う他のデータ、事例に用いても良い。また、(2)式の加法構造を仮定し、部分関数の並列数N=2を例に説明するが、並列数は関数の加法構造に応じて自由に設定して良い。なお、並列数だけ部分関数があるとする。
以上の前提条件をもとに、以下、本開示の実施形態の構成および作用について詳細に説明する。
<本開示の実施形態に係るパラメータ推定装置の構成>
次に、本開示の実施形態に係るパラメータ推定装置の構成について説明する。
図1は、本実施形態のパラメータ推定装置100の構成の一例を示すブロック図である。
図1に示すように、パラメータ推定装置100は、関数分解部101と、最適化実行部102とを含んで構成されている。
関数分解部101は、関数分解決定部110と、分解情報DB120と、を含んで構成されている。
最適化実行部102は、部分関数最適化実行部130(130~130)と、最適値決定部150と、部分関数最適化DB160と、部分関数最適値DB170と、最適化DB180と、最適値DB190とを含んで構成されている。
図2は、パラメータ推定装置100のハードウェア構成を示すブロック図である。
図2に示すように、パラメータ推定装置100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、パラメータ推定プログラムが格納されている。
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
通信インタフェース17は、端末等の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
次に、パラメータ推定装置100の各機能構成について説明する。各機能構成は、CPU11がROM12又はストレージ14に記憶されたパラメータ推定プログラムを読み出し、RAM13に展開して実行することにより実現される。
関数分解部101は、関数の分解情報を受け付けて、部分関数の各々の数と、部分関数の各々に対する変数とを決定する。部分関数の数はN個であり、以下、N(1,...,N)を部分関数の番号とする。また、本実施形態はN=2である。決定した、部分関数の各々の数及び変数は分解情報DB120に記録する。変数は、部分関数に影響を与える変数である。分解情報は、ユーザからの入力により受け付けるが、ユーザから受け付けずに自動的に判断した分解情報を用いてもよい。以下で説明する最適化手法は、ベイズ最適化を用いた例を説明する。
最適化実行部102は、決定した部分関数の数分の部分関数最適化実行部130(130~130)の各々を作成し、部分関数最適化実行部130の各々の処理を並列に実行する。部分関数最適化実行部130の各々の各処理は同様であるため、以下では1つの部分関数最適化実行部130の処理について説明する。
部分関数最適化実行部130は、部分関数の各々のうちの1の部分関数について、変数について選んだ入力パラメータxを、シミュレータに入力し、目的関数値を取得することを繰り返す。シミュレータは、最適化手法に対応した所定の装置であればよく、予め与えられた観測値に関する目的関数値を出力する所定の装置を用いる。次に、部分関数最適化実行部130は、取得した目的関数値に基づいて1つ以上の次の観測対象パラメータxnextを決定し、決定した次の観測対象パラメータxnextをシミュレータに入力し、目的関数値を取得する。次の観測対象パラメータxnextは、入力パラメータxと目的関数値との関係を表す関数を、確率モデル、例えばガウス過程により関数近似し、関数近似した関数と、目的関数値が最適となる入力パラメータxを用いた獲得関数αを用いて決定する。そして、部分関数最適化実行部130は、上記各々の処理で取得した目的関数値に基づいて、部分関数の最適入力パラメータ及び目的関数最適値を算出する。
最適値決定部150は、部分関数の各々の最適入力パラメータの変数を組み合わせ、全体の関数の最適値候補の各々を算出する。最適値決定部150は、算出した最適値候補の各々のうち、目的関数最適値に基づく目的関数値が最適となる最適値候補によって、全体の関数についての最適入力パラメータを決定する。また、最適値決定部150は、部分関数最適化実行部130による次の観測対象パラメータxnextを用いた目的関数値の取得及び部分関数の最適入力パラメータ及び目的関数最適値の算出、並びに上記の最適値決定部150による処理を所定の回数繰り返させる。
分解情報DB120は、ID、部分関数の番号、及び変数を記録しておくデータベースである。図3は、データをデータベーステーブルに記録した分解情報DB120の一例を示す図である。
部分関数最適化DB160は、ID、部分関数の番号、部分関数の入力パラメータ、及び部分関数及び当該入力パラメータについて取得された目的関数値を記録しておくデータベースである。図4は、データをデータベーステーブルに記録した部分関数最適化DB160の一例を示す図である。部分関数の入力パラメータには、入力パラメータの変数が記録される。目的関数値には、部分関数最適化実行部130で当該入力パラメータについて取得された値が記録される。
部分関数最適値DB170は、ID、部分関数の番号、部分関数の最適入力パラメータ、及び当該最適入力パラメータについて取得された目的関数最適値を記録しておくデータベースである。図5は、データをデータベーステーブルに記録した部分関数最適値DB170の一例を示す図である。部分関数の最適入力パラメータ及び目的関数最適値は、部分関数最適化実行部130で算出された値が記録される。部分関数最適値DB170には、部分関数の数Nだけ値を記録するため、レコード数は部分関数の数Nと一致する。部分関数の最適入力パラメータには、最適入力パラメータの変数が記録される。目的関数最適値には、部分関数最適化実行部130で当該最適入力パラメータについて取得された値が記録される。
最適化DB180は、ID、入力パラメータ、及び目的関数値を記録しておくデータベースである。図6は、データをデータベーステーブルに記録した最適化DB180の一例を示す図である。入力パラメータには、最適値候補の入力パラメータの変数が記録される。目的関数値には、最適値候補について取得された値が記録される。
最適値DB190は、ID、全体の関数の最適入力パラメータ、及び当該最適入力パラメータについて取得された目的関数最適値を記録しておくデータベースである。図7は、データをデータベーステーブルに記録した最適値DB190の一例を示す図である。最適入力パラメータには、最適値候補のうちの最適値の入力パラメータの変数が記録される。目的関数値には、最適値候補の最適値の値が記録される。
<本開示の実施形態に係るパラメータ推定装置の作用>
次に、本開示の実施形態に係るパラメータ推定装置100の作用について説明する。図8は、本開示の実施形態に係るパラメータ推定装置100におけるパラメータ推定処理を示すフローチャートである。CPU11がROM12又はストレージ14からパラメータ推定プログラムを読み出して、RAM13に展開して実行することにより、パラメータ推定処理が行なわれる。パラメータ推定装置100は、入力として関数の分解情報を受け付けて以下の処理を行う。
S100では、CPU11が、関数の分解情報を受け付けて、部分関数の各々の数と、部分関数の各々に対する変数とを決定する。
S102では、CPU11が、部分関数最適化実行部130として、部分関数の各々のうちの1の部分関数について、変数について選んだ入力パラメータxを、シミュレータに入力し、目的関数値を取得することを繰り返す。取得した目的関数値に基づいて1つ以上の次の観測対象パラメータxnextを決定し、決定した次の観測対象パラメータxnextをシミュレータに入力し、目的関数値を取得する。上記各々の処理で取得した目的関数値に基づいて、部分関数の最適入力パラメータ及び目的関数最適値を算出する。以上のように、最適入力パラメータ及び目的関数最適値を算出する処理を並列に実行する。
S104では、CPU11が、最適値決定部150として、部分関数の各々の最適入力パラメータの変数を組み合わせ、全体の関数の最適値候補の各々を算出する。算出した最適値候補の各々のうち、目的関数最適値に基づく目的関数値が最適となる最適値候補によって、全体の関数についての最適入力パラメータを決定する。
S106では、CPU11が、最適値決定部150として、最適化実行部102のS102及びS104の実行回数が閾値以上かを判定し、閾値以上であればS108へ移行し、閾値未満であればS102に戻って処理を繰り返す。最適化実行回数が初回か否かに応じてS102の処理が異なるが、詳細については後述する。これにより、S102による次の観測対象パラメータxnextを用いた目的関数値の取得及び部分関数の最適入力パラメータ及び目的関数最適値の算出、並びにS104による処理を所定の回数繰り返させる。
S108では、最適値DB190の最適入力パラメータを出力して処理を終了する。詳細には、最適値DB190のレコードを取得し、最適入力パラメータxを含む(1,x,f(1)(x))を最適パラメータ情報として出力する。
以下、上記S102及びS104の処理の詳細について説明する。
図9は、S102の部分関数最適化処理を示すフローチャートである。部分関数最適化処理は、CPU11が部分関数最適化実行部130として実行する。以下は、部分関数の番号1の部分関数1について実行する場合を例に説明する。
S801では、CPU11が、部分関数最適化実行部130の部分関数最適化処理の実行回数が1回目か否かを判定し、1回目の場合にはS810に移行し、2回目以降の場合には、S860に移行する。
S810では、CPU11が、ランダムサーチ実行回数をRとする。Rの値は、予め部分関数最適化DB160等のDBに保存した値を用いても良いし、ユーザから入力を受け付けた値を用いても良い。
以下のS820の処理ステップは、R回だけ繰り返し実行する。
S820では、CPU11が、分解情報DB120の部分関数1の変数について、ランダムにパラメータxを選び、シミュレータに入力して目的関数値f(1)(x)を取得する。そして、部分関数最適化DB160のレコードに(1,x,f(1)(x))を追加する。
S830では、CPU11が、部分関数最適化DB160の部分関数1のデータに基づいて、入力パラメータxと目的関数値f(1)(x)との関係を表す関数fをガウス過程により関数近似する。
ここで、関数fがガウス過程に従うとすると、任意の部分集合は次のガウス分布に従う。
P(f)=N(f|0,Knn
ただし、Knnはn×nの分散共分散行列であり、その(d,d′)要素kdd′はカーネル関数k(・,・)を用いて、k(x,x′)で表される。そして、y=f(x)が与えられたもとでの未知の入力変数xの出力変数yの事後確率は、以下(3)式のガウス分布で与えられる。

・・・(3)
ただし、Cnn=Knn+σと定義し、Iはn×nの単位行列を表す。よって、(3)式を用いて予測ができる。
S840では、CPU11が、以下(4)式に従い、(5)式を満たす可能性が高い次の観測対象パラメータxnextを決定する。この時、xnextは一つではなくて、可能性が高い順に複数選んでもよい。

・・・(4)

・・・(5)
ここで、αは獲得関数と呼ばれ、いくつかの関数が提案されている(非特許文献1)。例えば、EI(Expected Improvement)を用いる場合、獲得関数は以下(6)で計算できる。

・・・(6)
ここで、μは平均、σは標準偏差、Φ及びφは標準正規分布のCDFおよびPDFであり、S630でガウス過程により近似した関数fを用いて導出される。

は過去の最適なパラメータxbestであり、最適化実行部102の処理の繰り返し実行が初回の場合には、当該部分関数1の部分関数最適値DB170の最適入力パラメータを用いる。2回目以降の場合には最適値DB190の最適入力パラメータを用いる。
S850では、CPU11が、入力パラメータxをx=xnextとしてシミュレータに入力し、目的関数値f(1)(x)を取得する。そして、部分関数最適化DB160に(1,x,f(1)(x))を追加する。
以上が、部分関数最適化処理の1回目の処理である。以下、S860~S890は2回目以降の処理である。
S860では、CPU11が、部分関数最適化DB160の部分関数1のデータに基づき、目的関数f(1)(x)をガウス過程により関数近似する。S830と同様である。
S870では、CPU11が、獲得関数を用いて、上記(5)式を満たす可能性が高い次の観測対象パラメータxnextを決定する。この時、xnextは一つではなくて、可能性が高い順に複数選んでもよい。また、獲得関数計算の際は、最適値周辺が探索されやすいように、最適値DB190から最適入力パラメータの情報を取得し、獲得関数を加工する、又は探索範囲を限定する等の手段を用いる。獲得関数の加工方法としては、以下(7)式のように、最適入力パラメータxfbestを平均とするガウス分布を獲得関数に加える方法等が考えられる。

・・・(7)
また、探索範囲を限定する方法としては、最適入力パラメータxfbest周辺に関数を制限する方法等を用いても良い。さらに、獲得関数に加工や制限を加えるのではなく、S860の関数近似の段階で、加工や制限を加えても良い。このように、部分関数最適化実行部130は、繰り返しの一つの前の最適値決定部150による処理で決定された全体の関数についての最適入力パラメータの周辺を優先するように、次の観測対象パラメータを決定する。
S880では、CPU11が、入力パラメータxをx=xnextとしてシミュレータに入力し、目的関数値f(1)(x)を取得する。そして、部分関数最適化DB160に(1,x,f(1)(x))を追加する。
S890では、CPU11が、部分関数最適化DB160の部分関数1のデータをもとに、以下(8)式に従って部分関数1の最適入力パラメータxを算出し、部分関数最適値DB170の部分関数1のレコードを(1,x,f(1)(x))で更新する。

・・・(8)
なお、本実施形態では、S830~S850、又はS860~S880を、1サイクルのみ実施しているが、複数サイクル実施した後に、S890に進んでも良い。
以上が、S102の部分関数最適化処理の説明である。
図10は、S104の最適値決定処理を示すフローチャートである。最適値決定処理は、CPU11が最適値決定部150として実行する。
S910では、CPU11が、部分関数最適値DB170から部分関数の各々のレコードを取得する。
S920では、CPU11が、取得した各変数の最適値を組み合わせて、全体の関数の最適値候補D=f{x|i=1,...,C}を算出する。ただし、Cは部分関数の組み合わせの数であり、x=(x1i,x2i,x3i)等で表される。最適値候補の算出には組み合わせ以外にも、各変数の最適値候補が競合した場合、最適値同士の平均を取るなど、様々な方法が考えられる。
S930では、CPI11が、元の関数を求めるシミュレータに最適値候補を入力し、最適値を求め、最適化DB180に結果を保存する。また、部分関数の目的関数値も部分関数最適化DB160に保存する。S940では、以下(9)式で全体の関数の最適入力パラメータxを算出し、(1,x,f(x))の値で最適値DB190を更新する。

・・・(9)
以降は、ステップ106へ移行する。
以上が、S104の最適値決定処理の説明である。
以上説明したように本実施形態のパラメータ推定装置100によれば、部分関数ごとに最適入力パラメータ及び目的関数最適値を算出する処理を並列に実行する。算出結果から全体の関数について最適値候補を算出して、全体の関数についての最適入力パラメータ及び目的関数最適値を算出する。これにより、ベイズ最適化を高速化できる。
なお、本開示は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、本手法は、ベイズ最適化以外のブラックボックス最適化手法にも適用可能である。例えば、遺伝的アルゴリズム(GA)や進化戦略(ES)などへの適応が考えられる。
上述した実施形態では、ベイズ最適化において、ガウス過程による近似を用いる場合を例に説明したが、ランダムフォレストなど、別の確率モデルを用いた近似手法を用いてもよい。
上述した実施形態では、ベイズ最適化に適用した場合に、所定の装置をシミュレータとして、入力パラメータをシミュレータに入力して目的関数値を得る場合を例に説明したが、各々の最適化手法に対応した所定の装置に入力し、目的関数値を取得すればよい。
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したマルチタスク学習を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、マルチタスク学習を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
また、上記各実施形態では、マルチタスク学習プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、
決定した前記数分の部分関数の各々において、
前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、
前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、
ように構成されているパラメータ推定装置。
(付記項2)
部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、
決定した前記数分の部分関数の各々において、
前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、
前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、
ことをコンピュータに実行させるパラメータ推定プログラムを記憶した非一時的記憶媒体。
100 パラメータ推定装置
101 関数分解部
102 最適化実行部
110 関数分解決定部
130 部分関数最適化実行部
150 最適値決定部
120 分解情報DB
160 部分関数最適化DB
170 部分関数最適値DB
180 最適化DB
190 最適値DB

Claims (8)

  1. 部分関数の各々の数と、前記部分関数の各々に対する変数とを決定する関数分解部と、
    決定した前記数分の部分関数最適化実行部の各々であって、
    前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
    取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
    取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出する部分関数最適化実行部の各々と、
    前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する最適値決定部と、
    を含むパラメータ推定装置。
  2. 前記所定の入力パラメータと前記目的関数値との関係を表す関数を、確率モデルにより近似し、前記近似した関数と、前記目的関数値が最適となる前記所定の入力パラメータを用いた獲得関数を用いて、次の観測対象パラメータを決定する請求項1に記載のパラメータ推定装置。
  3. 前記最適値決定部は、
    前記部分関数最適化実行部による前記次の観測対象パラメータを用いた目的関数値の取得、前記部分関数の最適入力パラメータ及び目的関数最適値の算出、並びに前記最適値決定部による処理を所定の回数繰り返させる請求項1又は請求項2に記載のパラメータ推定装置。
  4. 前記繰り返させる場合において、前記部分関数最適化実行部は、繰り返しの一つの前の前記最適値決定部による処理で決定された前記全体の関数についての最適入力パラメータの周辺を優先するように、前記次の観測対象パラメータを決定する請求項3に記載のパラメータ推定装置。
  5. 部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、
    決定した前記数分の部分関数の各々において、前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
    決定した前記数分の部分関数の各々において、取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
    決定した前記数分の部分関数の各々において、取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、
    前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、
    ことを含む処理をコンピュータが実行することを特徴とするパラメータ推定方法。
  6. 前記所定の入力パラメータと前記目的関数値との関係を表す関数を、確率モデルにより近似し、前記近似した関数と、前記目的関数値が最適となる前記所定の入力パラメータを用いた獲得関数を用いて、次の観測対象パラメータを決定する請求項5に記載のパラメータ推定方法。
  7. 前記次の観測対象パラメータを用いた目的関数値の取得、前記部分関数の最適入力パラメータ及び目的関数最適値の算出、並びに前記全体の関数についての最適入力パラメータとして決定するための処理を所定の回数繰り返させる請求項5又は請求項6に記載のパラメータ推定方法。
  8. 部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、
    決定した前記数分の部分関数の各々において、前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
    決定した前記数分の部分関数の各々において、取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
    決定した前記数分の部分関数の各々において、取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、
    前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、
    ことをコンピュータに実行させるパラメータ推定プログラム。
JP2021520026A 2019-05-23 2019-05-23 パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム Active JP7310884B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020540 WO2020235104A1 (ja) 2019-05-23 2019-05-23 パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム

Publications (2)

Publication Number Publication Date
JPWO2020235104A1 JPWO2020235104A1 (ja) 2020-11-26
JP7310884B2 true JP7310884B2 (ja) 2023-07-19

Family

ID=73459433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021520026A Active JP7310884B2 (ja) 2019-05-23 2019-05-23 パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム

Country Status (3)

Country Link
US (1) US20220222542A1 (ja)
JP (1) JP7310884B2 (ja)
WO (1) WO2020235104A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10317857B2 (en) * 2013-03-15 2019-06-11 Rockwell Automation Technologies, Inc. Sequential deterministic optimization based control system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016523402A (ja) 2013-05-30 2016-08-08 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法
JP2018156619A (ja) 2017-03-16 2018-10-04 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016523402A (ja) 2013-05-30 2016-08-08 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法
JP2018156619A (ja) 2017-03-16 2018-10-04 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HOANG, Trong Nghia ほか,"Decentralized High-Dimensional Bayesian Optimization with Factor Graphs",arXiv.org [オンライン],arXiv:1711.07033v3,Cornell University,2018年,[検索日 2019.08.07], インターネット: <URL: https://arxiv.org/pdf/1711.07033v3.pdf>

Also Published As

Publication number Publication date
US20220222542A1 (en) 2022-07-14
JPWO2020235104A1 (ja) 2020-11-26
WO2020235104A1 (ja) 2020-11-26

Similar Documents

Publication Publication Date Title
Probst et al. Tunability: Importance of hyperparameters of machine learning algorithms
Kleijnen Design and analysis of simulation experiments
Baumann et al. Reliable estimation of prediction errors for QSAR models under model uncertainty using double cross-validation
Dasari et al. Random forest surrogate models to support design space exploration in aerospace use-case
Al-Janabi et al. Empirical rapid and accurate prediction model for data mining tasks in cloud computing environments
Češka et al. PRISM-PSY: precise GPU-accelerated parameter synthesis for stochastic systems
CN112805769B (zh) 秘密s型函数计算系统、装置、方法及记录介质
JP2009265730A (ja) 情報処理装置および方法、並びにプログラム
CN108280513B (zh) 模型生成方法和装置
Schmidt et al. Order-independent constraint-based causal structure learning for gaussian distribution models using GPUs
JP7310884B2 (ja) パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム
JP7283065B2 (ja) 推定装置、最適化装置、推定方法、最適化方法、及びプログラム
JP2019016193A (ja) 分析方法、分析装置及び分析プログラム
JP6669075B2 (ja) 領域線形モデル最適化システム、方法およびプログラム
Yazıcı et al. A computational approach to nonparametric regression: bootstrapping CMARS method
CN114399025A (zh) 一种图神经网络解释方法、系统、终端以及存储介质
JP6992343B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP6743902B2 (ja) マルチタスク関係学習システム、方法およびプログラム
CN112154495B (zh) 秘密批量近似系统及方法、秘密计算装置、记录介质
Müller et al. On generalized surrogate duality in mixed-integer nonlinear programming
JP7131356B2 (ja) 最適化装置、最適化プログラムおよび最適化方法
JP6992821B2 (ja) 分類木生成方法、分類木生成装置および分類木生成プログラム
Wacker et al. Local random feature approximations of the gaussian kernel
Mansouri et al. PAC: Privacy-preserving arrhythmia classification with neural networks
JPWO2016056503A1 (ja) 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230206

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: 20230606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R150 Certificate of patent or registration of utility model

Ref document number: 7310884

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150