JP2020181318A - 最適化装置、最適化方法、及びプログラム - Google Patents

最適化装置、最適化方法、及びプログラム Download PDF

Info

Publication number
JP2020181318A
JP2020181318A JP2019083042A JP2019083042A JP2020181318A JP 2020181318 A JP2020181318 A JP 2020181318A JP 2019083042 A JP2019083042 A JP 2019083042A JP 2019083042 A JP2019083042 A JP 2019083042A JP 2020181318 A JP2020181318 A JP 2020181318A
Authority
JP
Japan
Prior art keywords
evaluation
value
parameter
values
unit
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.)
Pending
Application number
JP2019083042A
Other languages
English (en)
Inventor
秀剛 伊藤
Hidetake Ito
秀剛 伊藤
達史 松林
Tatsufumi Matsubayashi
達史 松林
浩之 戸田
Hiroyuki Toda
浩之 戸田
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
Priority to JP2019083042A priority Critical patent/JP2020181318A/ja
Priority to PCT/JP2020/017067 priority patent/WO2020218246A1/ja
Priority to US17/605,663 priority patent/US20220207401A1/en
Publication of JP2020181318A publication Critical patent/JP2020181318A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques

Abstract

【課題】複数個のパラメータの値を同時に選択して、パラメータの最適化の高速化を図ることができるようにする。【解決手段】最適化装置10は、評価用データ及び評価対象のパラメータの値に基づいて計算を行い、計算結果の評価を表す評価値を出力する評価部120と、評価部120により出力された評価値、及びパラメータの値の組合せに基づいて、パラメータの値に対する評価値を予測するためのモデルを学習し、学習したモデルに基づいて、評価部120が次に評価するパラメータの値を複数決定する選択部100と、評価部120による処理と、選択部100による決定とを繰り返すことにより得られる、最適化されたパラメータの値を出力する出力部160と、を備える。最適化装置10の評価部120は、選択部100によって複数決定されたパラメータの値の各々について、評価用データ及びパラメータの値に基づいて計算を行い、評価値を出力することを並列に行う。【選択図】図1

Description

本開示は、最適化装置、最適化方法、及びプログラムに関する。
人間行動や気象など、様々なシミュレーションでは、自動的に決定されず人手にて事前に指定するべきパラメータが存在する。同様のパラメータは機械学習、ロボット制御、実験計画にも見られ、それらのパラメータを自動的に最適化する技術である、ベイズ最適化が提案されている(非特許文献1)。ベイズ最適化では、何かしらの評価値を用意し、その評価値が最大または最小になるようにパラメータを調整する。
Shahriari, B., Swersky, K.,Wang, Z., Adams, R. P. and Freitas, de N.: Taking the human out of the loop: A review of bayesian optimization, Proceedings of the IEEE, Vol. 104, No. 1, pp. 148-175 (2016).
本開示は、ベイズ最適化を対象とする。ベイズ最適化は、パラメータの選択と、そのパラメータの評価値の取得、の2つの操作を繰り返す。このうち、パラメータの評価値の取得はマルチコアのCPUや複数のGPUを用いることで複数個並列に処理することが可能である。しかし、ベイズ最適化は複数個のパラメータの値を同時に選択することができないため、並列処理を有効に活用することができない。よって、複数個のパラメータの値を同時に選択する手法が必要である。
本開示は、上記の点に鑑みてなされたものであり、複数個のパラメータの値を同時に選択して、パラメータの最適化の高速化を図ることができる、最適化装置、最適化方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、本開示の第1の態様の最適化装置は、評価用データ及び評価対象のパラメータの値に基づいて計算を行い、計算結果の評価を表す評価値を出力する評価部と、前記評価部により出力された前記評価値、及び前記パラメータの値の組合せに基づいて、前記パラメータの値に対する前記評価値を予測するためのモデルを学習し、学習した前記モデルに基づいて、前記評価部が次に評価する前記パラメータの値を複数決定する選択部と、前記評価部による処理と、前記選択部による決定とを繰り返すことにより得られる、最適化された前記パラメータの値を出力する出力部と、を備え、前記評価部は、前記選択部によって複数決定された前記パラメータの値の各々について、前記評価用データ及び前記パラメータの値に基づいて計算を行い、前記評価値を出力することを並列に行う。
本開示の第2の態様の最適化装置は、第1の態様の最適化装置において、前記選択部は、前記評価部により出力された前記評価値、及び前記パラメータの値の組合せに基づいて、前記モデルを学習し、学習した前記モデルから得られる前記評価値の予測値の平均及び分散を用いた関数である獲得関数を用いて、所定の方法で決定したパラメータの値を初期値として、勾配法を用いて前記獲得関数の極大値を取るパラメータの値を得ることを複数回繰り返し、前記獲得関数の極大値を取るパラメータの値のうち、前記獲得関数の値が大きいパラメータの値を複数個選択することにより、前記評価部が次に評価する前記パラメータの値を複数決定する。
本開示の第3の態様の最適化装置は、第2の態様の最適化装置において、前記パラメータは複数の要素を含み、前記選択部は、一部の要素に関して、前記モデルを学習し、前記モデルから得られる前記獲得関数を用いて、前記獲得関数の極大値を取る前記一部の要素の値を得ることを複数回繰り返し、他の一部の要素に関して、前記モデルを学習し、前記モデルから得られる前記獲得関数を用いて、前記獲得関数の極大値を取る前記他の一部の要素の値を得ることを複数回繰り返し、複数回得た前記一部の要素の値と、複数回得た前記他の一部の要素の値とを組み合わせて得られる前記パラメータの値から、前記評価部が次に評価する前記パラメータの値を複数決定する。
本開示の第4の態様の最適化装置は、第1の態様から第3の態様のいずれか1態様の最適化装置において、前記評価部は、少なくとも1つの計算装置を用いて前記計算を行い、計算結果の評価を表す評価値を出力することを並列に行う。
本開示の第5の態様の最適化装置は、第1の態様から第4の態様のいずれか1態様の最適化装置において、前記モデルは、ガウス過程を用いる確率モデルである。
上記目的を達成するために、本開示の第6の態様の最適化方法は、評価部が、評価用データ及び評価対象のパラメータの値に基づいて計算を行い、計算結果の評価を表す評価値を出力し、選択部が、前記評価部により出力された前記評価値、及び前記パラメータの値の組合せに基づいて、前記パラメータの値に対する前記評価値を予測するためのモデルを学習し、学習した前記モデルに基づいて、前記評価部が次に評価する前記パラメータの値を複数決定し、出力部が、前記評価部による処理と、前記選択部による決定とを繰り返すことにより得られる、最適化された前記パラメータの値を出力することを含み、前記評価部が出力することでは、前記選択部によって複数決定された前記パラメータの値の各々について、前記評価用データ及び前記パラメータの値に基づいて計算を行い、前記評価値を出力することを並列に行う。
上記目的を達成するために、本開示の第7の態様のプログラムは、評価用データ及び評価対象のパラメータの値に基づいて計算を行い、計算結果の評価を表す評価値を出力し、前記出力された前記評価値、及び前記パラメータの値の組合せに基づいて、前記パラメータの値に対する前記評価値を予測するためのモデルを学習し、学習した前記モデルに基づいて、次に評価する前記パラメータの値を複数決定することを繰り返すことにより得られる、最適化された前記パラメータの値を出力する最適化処理であって、前記評価値を出力することでは、複数決定された前記パラメータの値の各々について、前記評価用データ及び前記パラメータの値に基づいて計算を行い、前記評価値を出力することを並列に行う前記最適化処理を、コンピュータに実行させるためのプログラムである。
本開示によれば、複数個のパラメータの値を同時に選択して、パラメータの最適化の高速化を図ることができる、という効果が得られる。
実施形態の最適化装置の一例の構成を示すブロック図である 実施形態のパラメータ・評価値蓄積部に記憶される情報の一部の例を示す図である。 最適化装置として機能するコンピュータの一例の概略ブロック図である。 実施形態の最適化装置における最適化処理ルーチンの一例を示すフローチャートである。 複数個のパラメータの値を選択する方法を説明するための図である。
以下、図面を参照して本開示の実施形態を詳細に説明する。一例として、本実施形態では、歩行者の流れ、いわゆる人流のシミュレーション(以下、「人流シミュレーション」という)を行った結果から計算される評価値に基づいて、歩行者を誘導する誘導装置のパラメータを最適化する最適化装置に対し、本開示の最適化装置を適用した形態について説明する。
本開示の例において、計算は人流シミュレーションを行うことに相当し、パラメータxは誘導の仕方を決定する方法に相当する。パラメータxは複数要素(次元)のパラメータであり、要素数はDであるとする。つまりx=(x1,…,xD)であり、x1,x2,…は1つ目,2つ目,…のパラメータの要素である。ここで、tは繰り返し回数を示し、kはその繰り返しにおける選択されたパラメータを1から順に並べたときの順番であるとして、パラメータの値をxt,kと表す。またKを1回の繰り返しにて選択するパラメータの値の個数であるとする。
<本実施形態の最適化装置の構成>
図1は、本実施形態の最適化装置の一例の構成を示すブロック図である。
一例として、本実施形態の最適化装置10は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する最適化処理ルーチンを実行するためのプログラムや各種データを記憶したROM(Read Only Memory)と、を含むコンピュータで構成することができる。具体的には、上記プログラムを実行したCPUが、図1に示した最適化装置10の選択部100、評価部120、及び出力部160として機能する。
図1に示すように本実施形態の最適化装置10は、選択部100、評価用データ蓄積部110、評価部120、パラメータ・評価値蓄積部130、及び出力部160を備える。
評価用データ蓄積部110は、評価部120が人流シミュレーションを行うために必要な評価用データを記憶する。評価用データは、誘導を行うに当たり、歩行者の状況の計算に必要なデータであり、例えば、道路の形状、歩行者の進行速度、歩行者の人数、各歩行者のシミュレーション区間への進入時間、それらの歩行者のルート、及び人流シミュレーションの開始時間や終了時間等が挙げられるが、これらに限定されるものではない。これらの評価用データは、任意のタイミングで最適化装置10の外部から評価用データ蓄積部110に入力され、評価部120の指示に応じて評価部120に出力される。
評価部120は、評価対象のパラメータの値xt,k(k=1,2,…,K)と、評価用データ蓄積部110から得られた評価用データと、に基づいて、人流シミュレーションを行い、評価対象のパラメータの値xt,k毎に、評価値yt,kを導出する。
本実施形態では一例として、人流シミュレーションの結果である評価値yは、歩行者が目的地に到達するまでに要した時間としている。
具体的には、評価部120には、評価用データ蓄積部110から取得した評価用データが入力される。
また、評価部120には、選択部100から、次回の人流シミュレーションにおけるK個のパラメータの値xt,k(k=1,2,・・・,K)が入力される。換言すると、人流シミュレーションの回数をtとすると、評価部120には、選択部100から、t+1回目の人流シミュレーションのK個のパラメータの値xt,k(k=1,2,…,K)が入力される。
評価部120は、複数の計算装置200を用いて、評価対象のパラメータの値xt,k(k=1,2,…,K)と、評価用データ蓄積部110から得られた評価用データと、に基づく人流シミュレーションを並列に行い、評価対象のパラメータの値xt,k毎に、評価値yt,kを導出する。ここで、複数の計算装置200は、並列処理が可能な複数個のCPU又はGPUを備えた一つの装置であってもよい。
パラメータ・評価値蓄積部130は、評価部120から入力された、評価部120が過去に行った人流シミュレーションのデータを記憶する。具体的には、パラメータ・評価値蓄積部130が記憶するデータは、t回目(t=0,1,2,…)に選択されたk番目のパラメータの値xt,k、及びt回目のk番目の評価値yt,kである。t=1,2,…、k=1,2,…,Kにおけるxt,kの集合と、t=0、k=1,2,…,nにおけるxt,kの集合を合わせた集合をXと表す。t=1,2,…、k=1,2,…,Kにおけるyt,kの集合と、t=0、k=1,2,…,nにおけるyt,kの集合を合わせた集合をYと表す。図2に、パラメータ・評価値蓄積部130に格納する情報の一部の例を示す。
選択部100は、評価部120により出力された評価値yt,k、及びパラメータの値xt,kの組合せに基づいて、評価値を予測するためのモデルを学習し、学習したモデルに基づいて、評価部120が次に評価するパラメータの値を複数個決定する。
具体的には、選択部100は、モデル当てはめ部140及び評価パラメータ決定部150を備えている。
モデル当てはめ部140は、パラメータ・評価値蓄積部130から受け取ったX,Y、もしくはX,Yの一部から、評価値を予測するためのモデルを学習し、評価パラメータ決定部150に出力する。
評価パラメータ決定部150は、モデル当てはめ部140から受け取ったモデルから得られる評価値の予測値の平均及び分散を用いた関数である獲得関数を用いて、所定の方法で決定したパラメータの値を初期値として、勾配法を用いて獲得関数の極大値を取るパラメータの値を得ることを複数回繰り返し、獲得関数の極大値を取るパラメータの値のうち、獲得関数の値が大きいパラメータの値を複数個選択することにより、次に評価をすべきパラメータの値xt,k(k=1,2,…,K)を選択し、それを評価部120に出力する。
出力部160は、評価部120による処理と、選択部100による決定とを繰り返すことにより得られる、最適化されたパラメータの値を出力する。出力先の例は、歩行者の誘導装置である。
最適化装置10は、一例として、図3に示すコンピュータ84によって実現される。コンピュータ84は、CPU(Central Processing Unit)86、メモリ88、プログラム82を記憶した記憶部92、モニタを含む表示部94、及びキーボードやマウスを含む入力部96を含んでいる。CPU86は、ハードウェアであるプロセッサの一例である。CPU86、メモリ88、記憶部92、表示部94、及び入力部96はバス98を介して互いに接続されている。
記憶部92はHDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現される。記憶部92には、コンピュータ84を最適化装置10として機能させるためのプログラム82が記憶されている。また、記憶部92には、入力部96により入力されたデータ、及びプログラム82の実行中の中間データなどが記憶される。CPU86は、プログラム82を記憶部92から読み出してメモリ88に展開し、プログラム82を実行する。なお、プログラム82をコンピュータ可読媒体に格納して提供してもよい。
<本実施形態の最適化装置の作用>
次に、本実施形態の最適化装置10の作用について図面を参照して説明する。図4は、本実施形態の最適化装置において実行される最適化処理ルーチンの一例を示すフローチャートである。
図4に示した最適化処理ルーチンは、例えば、評価用データが評価用データ蓄積部110に記憶されたタイミングや、最適化装置10の外部から最適化処理ルーチンの実行指示を受け付けたタイミング等、任意のタイミングで実行される。なお、本実施形態の最適化装置10では、最適化処理ルーチンの実行前に、人流シミュレーションを行うために必要な評価用データを、評価用データ蓄積部110に予め記憶させた状態としておく。
図4のステップS100で評価部120は、パラメータ・評価値蓄積部130から、人流シミュレーションに必要な評価用データを取得する。また、評価部120は、複数の計算装置200を用いて、後述のモデルの学習を行うデータを生成するための予備評価をn回行い、パラメータの値x0,k、評価値y0,kを得る。ここでk=1,2,…,nである。nの値は任意である。また、予備評価を行うパラメータの設定の仕方は任意である。例えば、ランダムなサンプリングによってパラメータを選択したり、人手により選択したりする方法がある。
ステップS110で選択部100は、繰り返し回数t=1を設定する。下記では繰り返し回数がt回目である時の実施の形態を述べる。
ステップS120でモデル当てはめ部140は、パラメータ・評価値蓄積部130から過去の繰り返しにおけるパラメータと評価値のデータ集合X,Yを取得する。
ステップS130でモデル当てはめ部140は、データ集合X,Yからモデルを構築する。モデルの一例としてガウス過程を用いる確率モデルがある。ガウス過程による回帰を用いると、任意の入力xに対して、未知の指標yを正規分布の形で確率分布として推論することができる。つまり、評価値の予測値の平均μ(x)と予測値の分散(これは予測値に対する確信度を表す)σ(x)を得ることができる。ガウス過程は、複数の点の関係性を表すカーネルという関数を用いる。カーネルは何でもよい。一例として、式(1)で表されるガウスカーネルがある。

(1)
ここでθは0より大きい実数をとるハイパーパラメータである。θの一例として、ガウス過程の周辺尤度が最大になる値に点推定した値を用いる。
ステップS140〜ステップS160では、評価パラメータ決定部150が、評価を行うパラメータの値xt,k (k=1,2,…K)を選択する。この時、受け取ったモデルを用いて、パラメータの評価値の予測値を得て、そしてこのパラメータを実際に評価するべき度合いを数値化する。この数値化を行う関数は獲得関数α(x)と呼ばれる。獲得関数の一例として、式(2)に表されるupper confidence boundがある。ここで、μ(x)とσ(x)はそれぞれモデルで予測した平均と分散であり、β(t)はパラメータであり、一例としてβ(t)=log tとする。

(2)
上記の式は、最大化を行う場合であり、最小化を行う場合はμ(x)を−μ(x)に置き換える。
パラメータを選択するプロセスは以下である。まず、ステップS140で評価パラメータ決定部150が、j=1とする。
そして、ステップS150で評価パラメータ決定部150が、適当なパラメータxjを初期値として設定する。xjの設定方法はランダムサンプリングなどが考えられるがどのような方法でも構わない。そして、評価パラメータ決定部150が、xjを入力の初期値として、勾配法(例えばL-BFGS-B)を用いて獲得関数α(x)の極大値xj,mを得る。このとき、後述する手法1を採用する場合には、勾配法にてパラメータxの全要素に対して最適化を行う。一方、後述する手法2を採用する場合には、一部のパラメータの要素のみ(例えば、D=3のときに1つ目と2つ目の要素のみ)を選択し、その要素のみ最適化を行って、一部の次元に対する獲得関数の極大値をxj,mとして得る。
その後、評価パラメータ決定部150が、j=j+1とする。
ステップS160で、評価パラメータ決定部150が、jが最大回数Jを超えているか否かを判定する。jが最大回数Jを超えている場合には、評価パラメータ決定部150が、ステップS170に移行し、そうでない場合には、評価パラメータ決定部150が、ステップS150に戻る。よってステップS150の処理は複数回行われることになる。ここで、獲得関数α(x)は一般的には多峰性を持つ、非凸な関数であるため、極大値は最大値であるとは限らない。よって、設定されるxjの値によって、得られるxj,mは異なりうる。また、手法2を採用して、一部の要素のみを選択してから勾配法にて最適化した場合は、選択した要素によっても、得られるxj,mは異なる。
ステップS170で、評価パラメータ決定部150が、j=1,..,Jにおけるxj,mを用いてk=1,2,…,Kにおけるxt,kを決定する。これには、基本である手法1と、派生である手法2の、2種類の手法ある。
まず手法1について説明する。最初にxjによっては複数のjにてxj,mが同じパラメータを表している場合があり、これを重複しているものとみなし、この重複がなくなるようにパラメータの値を除外したものをパラメータの値の集合Xmとして得る。この状態で得られたパラメータの値の集合Xmの要素は全て異なるパラメータの値を表している。そして、Xmの要素であるパラメータの値xj,mの獲得関数の値を計算し、この値が大きい順にK個選択しこれをk=1,2,…,Kにおけるパラメータの値xt,kとする。図5に選択するパラメータの値の例(4個のパラメータの値を選択する場合)を示す。
図5に示すように、獲得関数は多峰関数であり、最大値の他に極大値が存在する。これらは、最大値の次に優先して調べるべきパラメータである。本実施の形態では、この極大値を、獲得関数の値が大きい順に複数個選択することで、複数個のパラメータの値の選択を行えるようにする。
次に手法2について説明する。これはステップS150にてパラメータの一部の要素のみを勾配法にて最適化した場合に適用できる方法である。最初にxj,mの重複を除外することは手法1と同一である。次に、xj,mを得る時に最適化した一部の要素だけをxj,mから取り出す。そして、当該一部の要素とは違う他の一部の要素を最適化した、別のxj,mから同様に最適化した要素だけを取り出し、要素同士を組み合わせることによって新しいパラメータの値を得る。これを考えられる要素の組合せ全てで行い、得られたパラメータの値の集合をXmとする。
具体的には、高次元のベイズ最適化として、以下の式に示すように、高次元関数fを低次元関数f(1)...f(M)の足し合わせであると仮定し、最適化を実行する手法を用いる。
このとき、それぞれの低次元関数f(1)...f(M)に関する獲得関数の各々について、当該獲得関数の極大値をk個とってくると、kのM乗種類だけ、パラメータの値の組合せが得られる。これらの組合せの中から、高次元関数fの獲得関数の値が大きい順に複数個のパラメータの値を選択する。
例えば、J=4,D=2であり、j=1,2ではxjの1つ目の要素のみを勾配法で最適化しxj,mを得て、j=3,4ではxjの2つ目の要素のみを勾配法で最適化しxj,mを得た場合を考える。この時、x1,mとx2,mの1つ目の要素のみを取り出したものであるx1,m,1とx2,m,1を取り出し、またx3,mとx4,mの2つ目の要素のみを取り出したものであるx3,m,2とx4,m,2を取り出す。これらを組み合わせる組合せとして4通り考えられる。つまり、x1,m,1とx3,m,2を組み合わせるもの、x2,m,1とx3,m,2を組み合わせるもの、x1,m,1とx3,m,2を組み合わせるもの、x2,m,1とx4,m,2を組み合わせるものがある。よって、Xm={(x1,m,1,x3,m,2),(x2,m,1,x3,m,2),(x1,m,1,x4,m,2),(x2,m,1,x4,m,2)}である。あとは、この集合Xmを用いて手法1と同様に全要素についての獲得関数の値が大きい順にk=1,2,…,Kにおけるパラメータの値xt,kを選択する。
ステップS180で評価部120は、評価用データ蓄積部110から送信された評価を行うために必要なデータと、評価パラメータ決定部150から送信されたk=1,2,…,Kにおけるパラメータxt,kを用いて、複数の計算装置200により評価を並列に行い、評価値yt,k(k=1,2,…,K)を得る。そして、評価部120は、パラメータ・評価値蓄積部130に、パラメータxt,kと評価値yt,kを格納する。このとき、評価を実施するための複数の計算装置200を用いることで、並列処理を用いて評価値yt,kを複数のkに対して同時に取得する。
ステップS190で、出力部160が、繰り返し回数が規定の最大数を超えているか判断し、超えていない場合はステップS120に戻り、超えている場合は、本最適化処理ルーチンを終了する。繰り返し回数の最大数の一例は1000回である。本最適化処理ルーチンの終了時は、出力部160にて評価値が最良のパラメータの値を出力する。
以上説明したように、本実施形態の最適化装置10は、評価用データ及び評価対象のパラメータの値に基づいて計算を行い、計算結果の評価を表す評価値を出力する評価部120と、評価部120により出力された評価値、及びパラメータの値の組合せに基づいて、パラメータの値に対する評価値を予測するためのモデルを学習し、学習したモデルに基づいて、評価部120が次に評価するパラメータの値を複数決定する選択部100と、評価部120による処理と、選択部100による決定とを繰り返すことにより得られる、最適化されたパラメータの値を出力する出力部160と、を備える。最適化装置10の評価部120は、選択部100によって複数決定されたパラメータの値の各々について、評価用データ及びパラメータの値に基づいて計算を行い、評価値を出力することを並列に行う。
本実施形態の最適化装置10では、一回の繰り返しで、複数個のパラメータの値を選択し、それらを並列処理で評価することで、少ない繰り返し回数で最適化を行う。従って、本実施形態の最適化装置10によれば、複数個のパラメータの値を同時に選択して、パラメータの最適化の高速化を図ることができる。
なお、本開示は、上記実施形態に限定されるものではなく、この本開示の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
上記実施形態では、最適化装置10を、パラメータxを誘導の仕方とした人流シミュレーションに適用した形態について説明したが、これに限定されるものではない。
例えば、他の実施形態として最適化装置10は、パラメータxを信号の切り替えタイミング、評価値yを目的地までの到達時間等とした交通シミュレーションに適用することができる。また例えば、他の実施形態として最適化装置10は、パラメータxをアルゴリズムのハイパーパラメータ、評価値yを推論の正解率等とした機械学習に適用することができる。
また、本実施形態では、上記プログラムが予めインストールされている形態について説明したが、当該プログラムを、コンピュータが読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
10 最適化装置
100 選択部
110 評価用データ蓄積部
120 評価部
130 パラメータ・評価値蓄積部
140 モデル当てはめ部
150 評価パラメータ決定部
160 出力部
200 計算装置

Claims (7)

  1. 評価用データ及び評価対象のパラメータの値に基づいて計算を行い、計算結果の評価を表す評価値を出力する評価部と、
    前記評価部により出力された前記評価値、及び前記パラメータの値の組合せに基づいて、前記パラメータの値に対する前記評価値を予測するためのモデルを学習し、学習した前記モデルに基づいて、前記評価部が次に評価する前記パラメータの値を複数決定する選択部と、
    前記評価部による処理と、前記選択部による決定とを繰り返すことにより得られる、最適化された前記パラメータの値を出力する出力部と、
    を備え、
    前記評価部は、前記選択部によって複数決定された前記パラメータの値の各々について、前記評価用データ及び前記パラメータの値に基づいて計算を行い、前記評価値を出力することを並列に行う
    最適化装置。
  2. 前記選択部は、
    前記評価部により出力された前記評価値、及び前記パラメータの値の組合せに基づいて、前記モデルを学習し、学習した前記モデルから得られる前記評価値の予測値の平均及び分散を用いた関数である獲得関数を用いて、所定の方法で決定したパラメータの値を初期値として、勾配法を用いて前記獲得関数の極大値を取るパラメータの値を得ることを複数回繰り返し、前記獲得関数の極大値を取るパラメータの値のうち、前記獲得関数の値が大きいパラメータの値を複数個選択することにより、前記評価部が次に評価する前記パラメータの値を複数決定する請求項1記載の最適化装置。
  3. 前記パラメータは複数の要素を含み、
    前記選択部は、一部の要素に関して、前記モデルを学習し、前記モデルから得られる前記獲得関数を用いて、前記獲得関数の極大値を取る前記一部の要素の値を得ることを複数回繰り返し、
    他の一部の要素に関して、前記モデルを学習し、前記モデルから得られる前記獲得関数を用いて、前記獲得関数の極大値を取る前記他の一部の要素の値を得ることを複数回繰り返し、
    複数回得た前記一部の要素の値と、複数回得た前記他の一部の要素の値とを組み合わせてえられる前記パラメータの値から、前記評価部が次に評価する前記パラメータの値を複数決定する請求項2記載の最適化装置。
  4. 前記評価部は、少なくとも1つの計算装置を用いて前記計算を行い、計算結果の評価を表す評価値を出力することを並列に行う請求項1〜請求項3の何れか1項記載の最適化装置。
  5. 前記モデルは、ガウス過程を用いる確率モデルである、
    請求項1〜請求項4の何れか1項に記載の最適化装置。
  6. 評価部が、評価用データ及び評価対象のパラメータの値に基づいて計算を行い、計算結果の評価を表す評価値を出力し、
    選択部が、前記評価部により出力された前記評価値、及び前記パラメータの値の組合せに基づいて、前記パラメータの値に対する前記評価値を予測するためのモデルを学習し、学習した前記モデルに基づいて、前記評価部が次に評価する前記パラメータの値を複数決定し、
    出力部が、前記評価部による処理と、前記選択部による決定とを繰り返すことにより得られる、最適化された前記パラメータの値を出力する
    ことを含み、
    前記評価部が出力することでは、前記選択部によって複数決定された前記パラメータの値の各々について、前記評価用データ及び前記パラメータの値に基づいて計算を行い、前記評価値を出力することを並列に行う
    最適化方法。
  7. 評価用データ及び評価対象のパラメータの値に基づいて計算を行い、計算結果の評価を表す評価値を出力し、
    前記出力された前記評価値、及び前記パラメータの値の組合せに基づいて、前記パラメータの値に対する前記評価値を予測するためのモデルを学習し、学習した前記モデルに基づいて、次に評価する前記パラメータの値を複数決定する
    ことを繰り返すことにより得られる、最適化された前記パラメータの値を出力する最適化処理であって、
    前記評価値を出力することでは、複数決定された前記パラメータの値の各々について、前記評価用データ及び前記パラメータの値に基づいて計算を行い、前記評価値を出力することを並列に行う
    前記最適化処理を、コンピュータに実行させるためのプログラム。
JP2019083042A 2019-04-24 2019-04-24 最適化装置、最適化方法、及びプログラム Pending JP2020181318A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019083042A JP2020181318A (ja) 2019-04-24 2019-04-24 最適化装置、最適化方法、及びプログラム
PCT/JP2020/017067 WO2020218246A1 (ja) 2019-04-24 2020-04-20 最適化装置、最適化方法、及びプログラム
US17/605,663 US20220207401A1 (en) 2019-04-24 2020-04-20 Optimization device, optimization method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019083042A JP2020181318A (ja) 2019-04-24 2019-04-24 最適化装置、最適化方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2020181318A true JP2020181318A (ja) 2020-11-05

Family

ID=72942742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019083042A Pending JP2020181318A (ja) 2019-04-24 2019-04-24 最適化装置、最適化方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220207401A1 (ja)
JP (1) JP2020181318A (ja)
WO (1) WO2020218246A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7455769B2 (ja) 2021-02-02 2024-03-26 株式会社東芝 情報処理装置、情報処理方法、プログラム、および情報処理システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016523402A (ja) * 2013-05-30 2016-08-08 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法
WO2018168695A1 (ja) * 2017-03-17 2018-09-20 日本電気株式会社 分散機械学習装置、分散機械学習方法および分散機械学習記録媒体
US20190095819A1 (en) * 2017-09-27 2019-03-28 Oracle International Corporation Scalable and efficient distributed auto-tuning of machine learning and deep learning models

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016523402A (ja) * 2013-05-30 2016-08-08 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法
WO2018168695A1 (ja) * 2017-03-17 2018-09-20 日本電気株式会社 分散機械学習装置、分散機械学習方法および分散機械学習記録媒体
US20190095819A1 (en) * 2017-09-27 2019-03-28 Oracle International Corporation Scalable and efficient distributed auto-tuning of machine learning and deep learning models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7455769B2 (ja) 2021-02-02 2024-03-26 株式会社東芝 情報処理装置、情報処理方法、プログラム、および情報処理システム

Also Published As

Publication number Publication date
US20220207401A1 (en) 2022-06-30
WO2020218246A1 (ja) 2020-10-29

Similar Documents

Publication Publication Date Title
US11610131B2 (en) Ensembling of neural network models
EP3306534B1 (en) Inference device and inference method
JP6384065B2 (ja) 情報処理装置、学習方法、及び、プログラム
US11513851B2 (en) Job scheduler, job schedule control method, and storage medium
US11449731B2 (en) Update of attenuation coefficient for a model corresponding to time-series input data
JP2010092266A (ja) 学習装置、学習方法及びプログラム
JP6718500B2 (ja) 生産システムにおける出力効率の最適化
KR102215978B1 (ko) 블록체인망 상 비동기 분산 병렬형 앙상블 모델 학습 및 추론 시스템 및 그 방법
JP2021111399A (ja) 損失関数に基づいてトレーニングされたモデルの処理
CN115427968A (zh) 边缘计算设备中的鲁棒人工智能推理
JP6645441B2 (ja) 情報処理システム、情報処理方法、及び、プログラム
JP6506360B2 (ja) 教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラム
JP2019105871A (ja) 異常候補抽出プログラム、異常候補抽出方法および異常候補抽出装置
KR102134682B1 (ko) 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법
WO2020218246A1 (ja) 最適化装置、最適化方法、及びプログラム
KR20190141581A (ko) 데이터 예측을 위한 인공신경망을 학습하는 방법 및 장치
JP6743902B2 (ja) マルチタスク関係学習システム、方法およびプログラム
JP2020505672A (ja) データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム
JP2022070386A (ja) 学習方法、系列解析方法、学習装置、系列解析装置、及びプログラム
JP7073171B2 (ja) 学習装置、学習方法及びプログラム
JP6398991B2 (ja) モデル推定装置、方法およびプログラム
KR102559605B1 (ko) 함수 최적화 방법 및 장치
US20210279575A1 (en) Information processing apparatus, information processing method, and storage medium
JP6927409B2 (ja) 情報処理装置、制御方法、及びプログラム
JP7439923B2 (ja) 学習方法、学習装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230131