(57)【要約】【課題】少ない評価回数で、上位パラメータ、及び下位パラメータの最適化を行うことができるようにする。【解決手段】最適化装置１０は、評価用データ、上位パラメータｚ、及び下位パラメータｘに基づいて計算を行い、計算結果の評価を表す評価値を出力する評価部３００と、上位パラメータｚ及び下位パラメータｘを最適化する最適化部１００と、評価部３００による処理と、評価部３００による処理とを繰り返すことにより得られる、最適化された上位パラメータｚ及び下位パラメータｘを出力する出力部４００とを備える。最適化部１００は、評価値ｙ、上位パラメータｚ、及び下位パラメータｘの組み合わせに基づいて評価値ｙを予測するためのモデルを学習し、評価部３００が次に評価する上位パラメータｚを選択し、学習したモデルに基づいて、選択された上位パラメータｚに対応する下位パラメータｘから、評価部３００が次に評価する下位パラメータｘを決定する。【選択図】図１
2020071712.tif 000002
【特許請求の範囲】
【請求項１】
評価用データを入力として計算するときに用いられる上位パラメータ、及び前記上位パラメータの影響を受ける下位パラメータを最適化する最適化装置であって、
前記評価用データ、前記上位パラメータ、及び前記下位パラメータに基づいて、前記計算を行い、計算結果の評価を表す評価値を出力する評価部と、
前記上位パラメータ及び前記下位パラメータを最適化する最適化部と、
前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化された前記上位パラメータ及び前記下位パラメータを出力する出力部と、
を備え、
前記最適化部は、前記評価値、前記上位パラメータ、及び前記下位パラメータの組み合わせに基づいて、評価値を予測するためのモデルを学習し、前記評価部が次に評価する前記上位パラメータを選択し、学習した前記モデルに基づいて、前記選択された前記上位パラメータに対応する前記下位パラメータから、前記評価部が次に評価する前記下位パラメータを決定する、
最適化装置。
【請求項２】
前記最適化部は、前記モデルを用いて、前記下位パラメータの各々について前記評価値を予測し、前記下位パラメータに対する前記評価値の予測を変数とする獲得関数を計算し、前記獲得関数が最大または最小となる前記下位パラメータを、前記評価部が次に評価する前記下位パラメータとして決定する、
請求項１に記載の最適化装置。
【請求項３】
前記モデルは、ガウス過程を用いる確率モデルである、
請求項１または請求項２に記載の最適化装置。
【請求項４】
前記最適化部は、前記評価部による処理により得られた、前記評価値、前記上位パラメータ、及び前記下位パラメータに基づいて、前記モデルを学習する、
請求項１から請求項３のいずれか１項に記載の最適化装置。
【請求項５】
歩行者の誘導を制御するための誘導装置と、前記歩行者の状況の計算に必要な評価用データを入力として計算するときに用いられる上位パラメータ、及び前記上位パラメータの影響を受ける下位パラメータを最適化する最適化装置と、を備える誘導システムであって、
前記誘導装置は、
前記最適化装置により得られた前記上位パラメータ及び前記下位パラメータを用いて、前記歩行者の誘導を制御する制御部を含み、
前記最適化装置は、
前記評価用データ、前記上位パラメータ、及び前記下位パラメータに基づいて、前記計算を行い、計算結果の評価を表す評価値を出力する評価部と、
前記上位パラメータ及び前記下位パラメータを最適化する最適化部と、
前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化された前記上位パラメータ及び前記下位パラメータを出力する出力部と、
を含み、
前記最適化部は、前記評価値、前記上位パラメータ、及び前記下位パラメータの組み合わせに基づいて、評価値を予測するためのモデルを学習し、前記評価部が次に評価する前記上位パラメータを選択し、学習した前記モデルに基づいて、前記選択された前記上位パラメータに対応する前記下位パラメータから、前記評価部が次に評価する前記下位パラメータを決定する、
誘導システム。
【請求項６】
評価用データを入力として計算するときに用いられる上位パラメータ、及び前記上位パラメータの影響を受ける下位パラメータを最適化する最適化方法であって、
評価部が、前記評価用データ、前記上位パラメータ、及び前記下位パラメータに基づいて、前記計算を行い、計算結果の評価を表す評価値を出力するステップと、
最適化部が、前記上位パラメータ及び前記下位パラメータを最適化するステップと、
出力部が、前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化された前記上位パラメータ及び前記下位パラメータを出力するステップと、
を備え、
前記最適化部が最適化するステップは、前記評価値、前記上位パラメータ、及び前記下位パラメータの組み合わせに基づいて、評価値を予測するためのモデルを学習し、前記評価部が次に評価する前記上位パラメータを選択し、学習した前記モデルに基づいて、前記選択された前記上位パラメータに対応する前記下位パラメータから、前記評価部が次に評価する前記下位パラメータを決定するステップ
を含む最適化方法。
【請求項７】
コンピュータを、請求項１から請求項４のいずれか１項に記載の最適化装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、最適化装置、誘導システム、最適化方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、機械学習やシミュレーションなどにおいて、パラメータの調整の重要性が増してきている。例えば、機械学習では予め決めるパラメータが存在する。また、人や車のシミュレーションなどでも、予め決めるパラメータが存在する（非特許文献１）。機械学習やシミュレーションの結果を、ここでは評価値と呼ぶ。このような機械学習やシミュレーションでは、評価値がより適切なものになるように、パラメータを調整する問題が存在する。例えば、評価値は値が大きいものが良い場合、パラメータを試行錯誤しながら、評価値が最大になるようにパラメータを決定する、つまりパラメータを最適化することが必要である。近年の機械学習やシミュレーションの高度化に伴い、１回の評価にかかる時間は大きい。そこで、パラメータを少ない試行錯誤で最適化する技術が提案されている（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Krajzewicz, D., Brockfeld, E., Mikat, J., Ringel, J., Rossel, C., Tuchscheerer, W., Wagner, P., and Wosler, R.: Simulation of modern Traffic Lights Control Systems using the open source Traffic Simulation SUMO, Proceedings of the 3rd Industrial Simulation Conference 2005, pp. 299-302 (2005).
【０００４】
【非特許文献２】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).
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は上記のパラメータの最適化問題のうち、パラメータに階層的な依存関係がある場合を対象とする。階層的な依存関係とは、あるパラメータの値によって、ある他のパラメータを考慮する必要が出てくるものをいう。
【０００６】
例えば、人の誘導を考える。人の誘導を行うかどうかを１つのパラメータとしたとき、人の誘導を行う場合は、どのように誘導を行うのか、誘導の仕方を決める新しいパラメータが必要となる。この、誘導の仕方を指定する新しいパラメータは、誘導を行わない場合は考慮する必要もなく、シミュレーションの結果に影響を及ぼさない。これが、パラメータに階層的な依存関係がある場合である。
【０００７】
また、別の例として機械学習を考える。機械学習の１種にニューラルネットが存在する。ニューラルネットは、ネットワークの層の数というパラメータがある。ここで、ネットワークの層の数が２であるとき、３層目のネットワークに関係するパラメータは考慮する必要がない。一方、ネットワークの層の数が３になると、３層目のネットワークに関係するパラメータを考慮する必要がある。これが、パラメータに階層的な依存関係がある場合である。
【０００８】
これらの例の場合、パラメータを２種類に分けることができる。他のパラメータに影響を与えるパラメータと、他のパラメータに影響を受けるパラメータとである。そこで、前者を上位パラメータ、後者を下位パラメータと呼ぶ。上記の例であれば、人の誘導を行うか否か、及びネットワークの層の数の各々は、上位パラメータである。また、誘導の仕方、及び各層のネットワークに関係するパラメータの各々は、下位パラメータである。
【０００９】
このように、パラメータに階層的な依存関係がある場合、上位パラメータ、及び下位パラメータを共に最適化する必要がある。
【００１０】
本開示は、上記の点に鑑みてなされたものであり、少ない評価回数で、上位パラメータ、及び下位パラメータの最適化を行うことができる、最適化装置、誘導システム、最適化方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本開示の第１の態様の最適化装置は、評価用データを入力として計算するときに用いられる上位パラメータ、及び前記上位パラメータの影響を受ける下位パラメータを最適化する最適化装置であって、前記評価用データ、前記上位パラメータ、及び前記下位パラメータに基づいて、前記計算を行い、計算結果の評価を表す評価値を出力する評価部と、前記上位パラメータ及び前記下位パラメータを最適化する最適化部と、前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化された前記上位パラメータ及び前記下位パラメータを出力する出力部と、を備え、前記最適化部は、前記評価値、前記上位パラメータ、及び前記下位パラメータの組み合わせに基づいて、評価値を予測するためのモデルを学習し、前記評価部が次に評価する前記上位パラメータを選択し、学習した前記モデルに基づいて、前記選択された前記上位パラメータに対応する前記下位パラメータから、前記評価部が次に評価する前記下位パラメータを決定する。
【００１２】
本開示の第２の態様の最適化装置は、第１の態様の最適化装置において、前記最適化部は、前記モデルを用いて、前記下位パラメータの各々について前記評価値を予測し、前記下位パラメータに対する前記評価値の予測を変数とする獲得関数を計算し、前記獲得関数が最大または最小となる前記下位パラメータを、前記評価部が次に評価する前記下位パラメータとして決定する。
【００１３】
本開示の第３の態様の最適化装置は、第１の態様または第２の態様の最適化装置において、前記モデルは、ガウス過程を用いる確率モデルである。
【００１４】
本開示の第４の態様の最適化装置は、第１の態様から第３の態様のいずれか１態様の最適化装置において、前記最適化部は、前記評価部による処理により得られた、前記評価値、前記上位パラメータ、及び前記下位パラメータに基づいて、前記モデルを学習する。
【００１５】
上記目的を達成するために、本開示の第５の態様の誘導システムは、歩行者の誘導を制御するための誘導装置と、前記歩行者の状況の計算に必要な評価用データを入力として計算するときに用いられる上位パラメータ、及び前記上位パラメータの影響を受ける下位パラメータを最適化する最適化装置と、を備える誘導システムであって、前記誘導装置は、前記最適化装置により得られた前記上位パラメータ及び前記下位パラメータを用いて、前記歩行者の誘導を制御する制御部を含み、前記最適化装置は、前記評価用データ、前記上位パラメータ、及び前記下位パラメータに基づいて、前記計算を行い、計算結果の評価を表す評価値を出力する評価部と、前記上位パラメータ及び前記下位パラメータを最適化する最適化部と、前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化された前記上位パラメータ及び前記下位パラメータを出力する出力部と、を含み、前記最適化部は、前記評価値、前記上位パラメータ、及び前記下位パラメータの組み合わせに基づいて、評価値を予測するためのモデルを学習し、前記評価部が次に評価する前記上位パラメータを選択し、学習した前記モデルに基づいて、前記選択された前記上位パラメータに対応する前記下位パラメータから、前記評価部が次に評価する前記下位パラメータを決定する。
【００１６】
上記目的を達成するために、本開示の第６の態様の最適化方法は、評価用データを入力として計算するときに用いられる上位パラメータ、及び前記上位パラメータの影響を受ける下位パラメータを最適化する最適化方法であって、評価部が、前記評価用データ、前記上位パラメータ、及び前記下位パラメータに基づいて、前記計算を行い、計算結果の評価を表す評価値を出力するステップと、最適化部が、前記上位パラメータ及び前記下位パラメータを最適化するステップと、出力部が、前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化された前記上位パラメータ及び前記下位パラメータを出力するステップと、を備え、前記最適化部が最適化するステップは、前記評価値、前記上位パラメータ、及び前記下位パラメータの組み合わせに基づいて、評価値を予測するためのモデルを学習し、前記評価部が次に評価する前記上位パラメータを選択し、学習した前記モデルに基づいて、前記選択された前記上位パラメータに対応する前記下位パラメータから、前記評価部が次に評価する前記下位パラメータを決定するステップを含む。
【００１７】
上記目的を達成するために、本開示の第７態様のプログラムは、コンピュータを、第１の態様から第４の態様のいずれか１態様に記載の最適化装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１８】
本開示によれば、少ない評価回数で、上位パラメータ、及び下位パラメータの最適化を行うことができる、という効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】実施形態の誘導システムの一例の構成を示すブロック図である
【図２】実施形態のパラメータ及び評価値記憶部に記憶される情報の一部の例を示す図である。
【図３】実施形態の最適化装置における最適化処理ルーチンの一例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本開示の実施形態を詳細に説明する。一例として、本実施形態では、歩行者の流れ、いわゆる人流のシミュレーション（以下、「人流シミュレーション」という）を行った結果から計算される評価値に基づいて、歩行者を誘導する誘導装置のパラメータを最適化する誘導システムに対し、本開示の最適化装置を適用した形態について説明する。
【００２１】
＜本実施形態の誘導システムの構成＞
図１は、本実施形態の誘導システムの一例の構成を示すブロック図である。図１に示すように、本実施形態の誘導システム１は、最適化装置１０及び誘導装置５０を備える。
【００２２】
一例として、本実施形態の最適化装置１０は、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、後述する最適化処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭ（Read Only Memory）と、を含むコンピュータで構成することができる。具体的には、上記プログラムを実行したＣＰＵが、図１に示した最適化装置１０の最適化部１００、評価部３００、及び出力部４００として機能する。
【００２３】
図１に示すように本実施形態の最適化装置１０は、最適化部１００、評価用データ記憶部２００、評価部３００、及び出力部４００を備える。
【００２４】
評価用データ記憶部２００は、評価部３００が人流シミュレーションを行うために必要な評価用データを記憶する。評価用データは、誘導を行うに当たり、歩行者の状況の計算に必要なデータであり、例えば、道路の形状、歩行者の進行速度、歩行者の人数、各歩行者のシミュレーション区間への進入時間、それらの歩行者のルート、及び人流シミュレーションの開始時間や終了時間等が挙げられるが、これらに限定されるものではない。これらの評価用データは、任意のタイミングで最適化装置１０の外部から評価用データ記憶部２００に入力され、評価部３００の指示に応じて評価部３００に出力される。
【００２５】
評価部３００は、評価用データと、上位パラメータｚ及び下位パラメータｘとに基づいて、人流シミュレーションを行い、評価値ｙを導出する。
【００２６】
本実施形態では一例として、上位パラメータｚは、歩行者の誘導を行うか否かについてのパラメータとし、下位パラメータｘは、誘導を行う場合における誘導方法を決定するパラメータとしている。また一例として、人流シミュレーションの結果である評価値ｙは、歩行者が目的地に到達するまでに要した時間としている。
【００２７】
具体的には、評価部３００には、評価用データ記憶部２００から取得した評価用データが入力される。
【００２８】
また、評価部３００には、パラメータ決定部１５０から、次回の人流シミュレーションにおける上位パラメータｚ及び下位パラメータｘが入力される。換言すると、人流シミュレーションの回数をｔとすると、評価部３００には、パラメータ決定部１５０から、ｔ＋１回目の人流シミュレーションの上位パラメータｚｔ＋１、及び下位パラメータｘｔ＋１が入力される。なお、シミュレーションの回数を表すｔは、評価部３００により評価を行った順番、つまり人流シミュレーションの順番を示す。
【００２９】
最適化部１００は、評価部３００における人流シミュレーションの上位パラメータｚ、及び下位パラメータｘを最適化する。図１に示すように、本実施形態の最適化部１００は、パラメータ及び評価値記憶部１１０、モデル学習部１２０、下位パラメータ選択部１３０、上位パラメータ選択部１４０、及びパラメータ決定部１５０を含む。
【００３０】
パラメータ及び評価値記憶部１１０は、評価部３００から入力された、評価部３００が過去に行った人流シミュレーションのデータを記憶する。具体的には、パラメータ及び評価値記憶部１１０が記憶するデータは、ｔ回目（ｔ＝０，１，２，…）に選択された上位パラメータｚｔ、ｔ回目に選択された下位パラメータｘｔ、及びｔ回目の評価値ｙｔである。ｔ＝０，１，２，…における、上位パラメータｚｔ、下位パラメータｘｔ、及び評価値ｙｔの集合を、各々Ｚ，Ｘ，Ｙと表す。図２に記憶する情報の一部の例を示す。
【００３１】
また、パラメータ及び評価値記憶部１１０は、上位パラメータｚと下位パラメータｘとの階層的な依存関係の対応表も記憶する。依存関係の対応表は、任意のタイミングで最適化装置１０の外部からパラメータ及び評価値記憶部１１０に入力される。
【００３２】
モデル学習部１２０は、パラメータ及び評価値記憶部１１０に記憶された上位パラメータｚの集合Ｚ，下位パラメータｘの集合Ｘ，及び評価値ｙの集合Ｙに基づいて、モデルの学習を行う。
【００３３】
具体的には、モデル学習部１２０は、パラメータ及び評価値記憶部１１０に記憶された上位パラメータｚの集合Ｚ，下位パラメータｘの集合Ｘ，及び評価値ｙの集合Ｙを取得する。そして、最適化装置１０は、上位パラメータｚの集合Ｚ，下位パラメータｘの集合Ｘ，及び評価値ｙの集合Ｙに基づいて、モデルの一例として、確率モデルであるガウス過程を学習する（参考文献１）。さらに、モデル学習部１２０は、学習したモデルを下位パラメータ選択部１３０に出力する。
【００３４】
［参考文献１］Rasmussen, C. E. and Williams, C. K. I.: Gaussian processes for machine learning, MIT Press (2006).
【００３５】
ガウス過程による回帰を用いると、任意の入力ｘに対して、未知の評価値ｙを正規分布の形で確率分布として推論することができる。また、ｘに関するカーネルは何でもよい。一例として、下記（１）式で表されるガウスカーネルがある（非特許文献２）。また、下記（１）式におけるθは、実数をとるパラメータである。θの一例として、ガウス過程の周辺尤度が最大になる値に点推定した値を用いる（参考文献１）。
【００３６】
【数１】
2020071712.tif 000003
【００３７】
なお、本実施形態の最適化装置１０では、下位パラメータｘに対して評価値ｙを推定するモデルを学習することにより、パラメータ及び評価値記憶部１１０に記憶されている、上位パラメータｚと下位パラメータｘとの階層的な依存関係の対応表により、上位パラメータｚ及び下位パラメータｘに対して評価値ｙを推定するモデルが学習される。
【００３８】
そして、モデル学習部１２０は、学習されたガウス過程のモデルを下位パラメータ選択部１３０に出力する。
【００３９】
上位パラメータ選択部１４０は、次の評価で用いる上位パラメータの候補ｚｔ＋１を選択し、下位パラメータ選択部１３０に出力する。
【００４０】
下位パラメータ選択部１３０は、モデル学習部１２０から入力されたモデルであるガウス過程回帰を行い、評価部３００において、次に、下位パラメータｘｔ＋１を用いて人流シミュレーションするべき度合いを表す、関数を計算する。これを、獲得関数α（ｘ）と呼ぶ。獲得関数α（ｘ）の一例として、下記（２）式に表されるupper confidence boundがある（非特許文献２）。
【００４１】
【数２】
2020071712.tif 000004
【００４２】
ここで、μｔ（ｘ）、及びσｔ（ｘ）は、それぞれガウス過程で回帰した平均と分散であり、βｔ＋１はパラメータである。例えば
2020071712.tif 000005
とすることができる。
【００４３】
そして、次の評価で用いる上位パラメータｚｔ＋１が与えられた条件において、獲得関数α（ｘ）が最大となる下位パラメータｘｔ＋１をパラメータ決定部１５０に出力する。ここで、上位パラメータｚｔ＋１が与えられたときに下位パラメータｘｔ＋１が取り得る値の集合を
2020071712.tif 000006
と置くと、獲得関数α（ｘ）が最大となる下位パラメータｘｔ＋１は、下記（３）式で表される。
【００４４】
【数３】
2020071712.tif 000007
【００４５】
また、下位パラメータ選択部１３０は、パラメータ及び評価値記憶部１１０に記憶されている、上位パラメータｚと下位パラメータｘとの階層的な依存関係の対応表を参照し、全ての上位パラメータの候補
2020071712.tif 000008
について、上位パラメータの候補
2020071712.tif 000009
が与えられた条件において、獲得関数α（ｘ）が最大となる下位パラメータの候補
2020071712.tif 000010
をパラメータ決定部１５０に出力する。ここで、上位パラメータの候補
2020071712.tif 000011
が与えられたときに下位パラメータｘが取り得る値の集合を
2020071712.tif 000012
と置くと、獲得関数α（ｘ）が最大となる下位パラメータの候補
2020071712.tif 000013
は、下記（４）式で表される。
【００４６】
【数４】
2020071712.tif 000014
【００４７】
さらに、下位パラメータ選択部１３０は、全ての下位パラメータの候補
2020071712.tif 000015
に対して、
2020071712.tif 000016
とｘｔ＋１とを比較し、いずれが、次に人流シミュレーションを行うのに好ましい下位パラメータｘであるか否かを判断する。ここで、好ましいものであると判断する根拠の一例として、獲得関数α（ｘ）の値が大きい方が好ましいとすることができる。つまり、下位パラメータ選択部１３０は、獲得関数α（ｘｔ＋１）と獲得関数
2020071712.tif 000017
とを比較し、いずれが好ましいかを表す情報を比較結果としてパラメータ決定部１５０に出力する。
【００４８】
パラメータ決定部１５０は、下位パラメータ選択部１３０から入力された上位パラメータの候補
2020071712.tif 000018
及び下位パラメータの候補
2020071712.tif 000019
から、上位パラメータｚｔ＋１、及び下位パラメータｘｔ＋１を決定する。
【００４９】
具体的には、パラメータ決定部１５０は、下記（５）式に表すように、下位パラメータｘｔ＋１を、下位パラメータ候補
2020071712.tif 000020
に置き換える。また、下記（６）式に表すように、上位パラメータｚｔ＋１を、上位パラメータ候補
2020071712.tif 000021
に置き換える。
【００５０】
【数５】
2020071712.tif 000022
【００５１】
さらに、パラメータ決定部１５０は、上記（５）式及び（６）式により得られた上位パラメータｚｔ＋１、及び下位パラメータｘｔ＋１から、上位パラメータの候補
2020071712.tif 000023
、及び下位パラメータの候補
2020071712.tif 000024
の選択が十分であるか否かを判断する。ここで、候補の選択が十分であるか否かを判断する方法の一例として、前回上位パラメータｚｔ＋１及び下位パラメータｘｔ＋１を選択した際に、全ての下位パラメータの候補
2020071712.tif 000025
の中で、下位パラメータｘｔ＋１より好ましいものが存在しなかった場合に、上位パラメータの候補
2020071712.tif 000026
、及び下位パラメータの候補
2020071712.tif 000027
の選択が十分であると判断する方法が挙げられる。パラメータ決定部１５０は、候補の選択が十分であると判断した場合、上位パラメータｚｔ＋１、及び下位パラメータｘｔ＋１の情報を評価用データ記憶部２００に出力する。一方、パラメータ決定部１５０は、候補の選択が十分ではないと判断した場合、上位パラメータの候補
2020071712.tif 000028
を、上位パラメータ選択部１４０に出力する。
【００５２】
出力部４００は、最適な上位パラメータｚ及び下位パラメータｘを最適化装置１０の外部に出力する。具体的には、本実施形態の出力部４００は、パラメータ及び評価値記憶部１１０に記憶されている評価値を参照し、評価値が最大となる場合の上位パラメータｚ及び下位パラメータｘを、最適な上位パラメータｚ及び下位パラメータｘとして、誘導装置５０に出力する。
【００５３】
誘導装置５０は、歩行者の誘導を制御するための装置である。上位パラメータｚ及び下位パラメータｘを指定することで、誘導を行うか否か、より具体的には、複数の所定場所の各々において誘導を行うか否か、及び誘導を行う場合は、誘導の仕方についてが、一意に決定される。
【００５４】
一例として、本実施形態の誘導装置５０は、ＣＰＵと、ＲＡＭと、歩行者の誘導を制御するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することができる。具体的には、上記プログラムを実行したＣＰＵが、図１に示した誘導装置５０の入力部５００及び制御部５１０として機能する。
【００５５】
図１に示すように、本実施形態の誘導装置５０は、入力部５００及び制御部５１０を備える。
【００５６】
入力部５００は、最適化装置１０の出力部４００から、上位パラメータｚ及び下位パラメータｘを取得する。そのため、入力部５００には、出力部４００から上位パラメータｚ及び下位パラメータｘが入力される。入力部５００は、入力された上位パラメータｚ及び下位パラメータｘを、制御部５１０へ出力する。
【００５７】
制御部５１０は、入力部５００から入力された上位パラメータｚ及び下位パラメータｘを用いて、歩行者の誘導を制御する。具体的には、制御部５１０は、上位パラメータｚ及び下位パラメータｘに基づき、歩行者の誘導を行う場所、及び誘導行う場所においての歩行者の誘導の仕方を表す情報を誘導装置５０の外部に出力する。
【００５８】
＜本実施形態の最適化装置の作用＞
次に、本実施形態の最適化装置１０の作用について図面を参照して説明する。図３は、本実施形態の最適化装置において実行される最適化処理ルーチンの一例を示すフローチャートである。
【００５９】
図３に示した最適化処理ルーチンは、例えば、評価用データが評価用データ記憶部２００に記憶されたタイミングや、最適化装置１０の外部から最適化処理ルーチンの実行指示を受け付けたタイミング等、任意のタイミングで実行される。なお、本実施形態の最適化装置１０では、最適化処理ルーチンの実行前に、人流シミュレーションを行うために必要な評価用データを、評価用データ記憶部２００に予め記憶させた状態としておく。
【００６０】
図３のステップＳ１００で評価部３００は、パラメータ及び評価値記憶部１１０から、人流シミュレーションに必要な評価用データを取得する。
【００６１】
次のステップＳ１０２で評価部３００は、パラメータ及び評価値記憶部１１０に、上位パラメータｚ、下位パラメータｘ、及び評価値ｙの初期値を記憶させる。本実施形態の最適化装置１０では、任意の上位パラメータｚ、下位パラメータｘを用いて評価部３００により人流シミュレーションを行い、得られた評価値ｙと、上位パラメータｚ及び下位パラメータｘとを、１組以上、初期値としてパラメータ及び評価値記憶部１１０に記憶させる。なお、任意の上位パラメータｚ及び下位パラメータｘは、特に限定されず、例えば、適用する人流シミュレーションで取り得る値ならばよく、ランダムな値であってもよい。
【００６２】
次のステップＳ１０４で評価部３００は、繰り返し回数ｔ＝０を設定する。
【００６３】
次のステップＳ１０６でモデル学習部１２０は、パラメータ及び評価値記憶部１１０からＸ，Ｚ，Ｙを取得する。
【００６４】
次のステップＳ１０８で、モデル学習部１２０は、Ｘ，Ｚ，Ｙから、上述したようにモデルを構築する。そして、モデル学習部１２０は、学習されたガウス過程のモデルを下位パラメータ選択部１３０に出力する。
【００６５】
次のステップＳ１１０で上位パラメータ選択部１４０は、次に人流シミュレーションを行う際の上位パラメータｚｔ＋１を１つ選択する。選択の一例として、前回、評価部３００が評価を行った際の上位パラメータｚｔが挙げられる。
【００６６】
次のステップＳ１１２で下位パラメータ選択部１３０は、学習されたモデルに基づいて、上述したように、上記（２）式により、獲得関数α（ｘ）を構築する。
【００６７】
次のステップＳ１１４で上位パラメータ選択部１４０は、上位パラメータの候補
2020071712.tif 000029
を１つまたは１つ以上選択する。選択方法の一例として、上位パラメータｚｔ＋１の周辺の点を全て選択する方法等が挙げられる。
【００６８】
次のステップＳ１１６で下位パラメータ選択部１３０は、上述したように、上記（４）式により、全ての上位パラメータの候補
2020071712.tif 000030
について、上位パラメータの候補
2020071712.tif 000031
が与えられた条件において、獲得関数α（ｘ）が最大となる下位パラメータの候補
2020071712.tif 000032
を導出し、パラメータ決定部１５０に出力する。
【００６９】
次のステップＳ１１８で下位パラメータ選択部１３０は、上位パラメータの候補
2020071712.tif 000033
及び下位パラメータの候補
2020071712.tif 000034
の各々が、上位パラメータｚｔ＋１及び下位パラメータｘｔ＋１の各々より良い（好ましい）か否かを判定する。本実施形態の下位パラメータ選択部１３０は、上述したように、下位パラメータ選択部１３０は、獲得関数α（ｘｔ＋１）と獲得関数
2020071712.tif 000035
とを比較し、値が大きい方を好ましいとし、いずれが好ましいかを表す情報を比較結果としてパラメータ決定部１５０に出力する。
【００７０】
従って、ステップＳ１１８では、獲得関数
2020071712.tif 000036
の方が、獲得関数α（ｘ）よりも大きい場合、肯定判定となり、ステップＳ１２０へ移行する。
【００７１】
ステップＳ１２０でパラメータ決定部１５０は、上述したように、上記（５）式及び（６）式に表すように、下位パラメータｘｔ＋１を、下位パラメータ候補
2020071712.tif 000037
に置き換え、上位パラメータｚｔ＋１を、上位パラメータ候補
2020071712.tif 000038
に置き換えたあと、ステップＳ１２２へ移行する。
【００７２】
一方、ステップＳ１１８において、獲得関数
2020071712.tif 000039
の方が、獲得関数α（ｘ）よりも小さい場合、否定判定となり、ステップＳ１２２へ移行する。
【００７３】
ステップＳ１２２でパラメータ決定部１５０は、上述したように、上位パラメータの候補
2020071712.tif 000040
、及び下位パラメータの候補
2020071712.tif 000041
の選択が十分であるか否かを判定する。
【００７４】
候補の選択が十分ではない場合、ステップＳ１２２の判定が否定判定となり、ステップＳ１１４に戻り、ステップＳ１１４〜Ｓ１２０の処理を繰り返す。一方、候補の選択が十分な場合、ステップＳ１２２の判定が肯定判定となり、ステップＳ１２４へ移行する。この場合、パラメータ決定部１５０は、上位パラメータｚｔ＋１、及び位パラメータｘｔ＋１を、評価部３００へ出力する。
【００７５】
ステップＳ１２４で評価部３００は、評価用データ記憶部２００から取得した評価用データと、パラメータ決定部１５０から入力された上位パラメータｚｔ＋１、及び位パラメータｘｔ＋１と、を用いて、人流シミュレーションを実行する。評価部３００は、人流シミュレーションの結果得られた、１つまたは１つ以上の評価値ｙｔ＋１と、上位パラメータｚｔ＋１及び下位パラメータｘｔ＋１とを、パラメータ及び評価値記憶部１１０に出力する。
【００７６】
次のステップＳ１２６で評価部３００は、現在の人流シミュレーションを行った回数ｔが、予め定めた人流シミュレーションを繰り返す最大回数を超えているか否かを判断する。繰り返しの最大回数の一例としては、１０００回が挙げられる。
【００７７】
回数ｔが最大回数を超えていない場合、ステップＳ１２６の判定が否定判定となり、ステップＳ１２８へ移行する。ステップＳ１２８で評価部３００は、ｔ＝ｔ＋１とした後、ステップＳ１０６に戻り、ステップＳ１０６〜Ｓ１２４の処理を繰り返す。一方、回数ｔが最大回数を超えている場合、ステップＳ１２６の判定が肯定判定となり、ステップＳ１３０へ移行する。
【００７８】
ステップＳ１３０で出力部４００は、パラメータ及び評価値記憶部１１０を参照し、評価値ｙが最大値となる、上位パラメータｚ及び下位パラメータｘを、誘導装置５０に出力し、本最適化処理ルーチンを終了する。
【００７９】
以上説明したように、本実施形態の最適化装置１０は、評価用データを入力として計算するときに用いられる上位パラメータｚ、及び上位パラメータｚの影響を受ける下位パラメータｘを最適化する最適化装置である。最適化装置１０は、評価用データ、上位パラメータｚ、及び下位パラメータｘに基づいて、計算を行い、計算結果の評価を表す評価値を出力する評価部３００と、上位パラメータｚ及び下位パラメータｘを最適化する最適化部１００と、評価部３００による処理と、評価部３００による処理とを繰り返すことにより得られる、最適化された上位パラメータｚ及び下位パラメータｘを出力する出力部４００と、を備える。最適化部１００は、評価値ｙ、上位パラメータｚ、及び下位パラメータｘの組み合わせに基づいて、評価値ｙを予測するためのモデルを学習し、評価部３００が次に評価する上位パラメータｚを選択し、学習したモデルに基づいて、選択された上位パラメータｚに対応する下位パラメータｘから、評価部３００が次に評価する下位パラメータｘを決定する。
【００８０】
本実施形態の最適化装置１０では、パラメータの最適化の方針を２段階に分け、徐々に１段階目の処理から２段階目の処理に移行する。ここで１段階目とは、限られたパラメータの候補の中から、最適なものを見つける処理のことをいう。また、２段階目とは、全体のパラメータの候補の中から、最適なものを見つける処理のことをいう。本実施形態の最適化装置１０では、上位パラメータｚを限定することで、評価値ｙの予測を実施することにより、１段階目の処理を高速に行うことを可能とする。また、最適化装置１０では、１段階目の処理を行うことで２段階目の処理が容易になる。
【００８１】
従った、本実施形態の最適化装置１０によれば、少ない評価回数で、上位パラメータｚ、及び下位パラメータｘの最適化を行うことができる。
【００８２】
また、本実施形態の誘導システム１は、歩行者の誘導を制御するための誘導装置５０と、歩行者の状況の計算に必要な評価用データを入力として計算するときに用いられる上位パラメータｚ、及び上位パラメータｚの影響を受ける下位パラメータｘを最適化する最適化装置１０と、を備える誘導システムである。誘導装置５０は、最適化装置１０により得られた上位パラメータｚ及び下位パラメータｘを用いて、歩行者の誘導を制御する制御部５１０を含む。最適化装置１０は、評価用データ、上位パラメータｚ、及び下位パラメータｘに基づいて、計算を行い、計算結果の評価を表す評価値ｙを出力する評価部３００と、上位パラメータｚ及び下位パラメータｘを最適化する最適化部１００と、評価部３００による処理と、最適化部１００による処理とを繰り返すことにより得られる、最適化された上位パラメータｚ及び下位パラメータｘを出力する出力部４００と、を含む。最適化部１００は、評価値ｙ、上位パラメータｚ、及び下位パラメータｘの組み合わせに基づいて、評価値ｙを予測するためのモデルを学習し、評価部３００が次に評価する上位パラメータｚを選択し、学習したモデルに基づいて、選択された上位パラメータｚに対応する下位パラメータｘから、評価部３００が次に評価する下位パラメータｘを決定する。
【００８３】
なお、本開示は、上記実施形態に限定されるものではなく、この本開示の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８４】
上記実施形態の最適化装置１０では、最適な評価値ｙが最大値である場合の、上位パラメータｚ及び下位パラメータｘを最適化する形態について説明したが、当該形態に限定されない。例えば、最適化装置１０は、最適な評価値ｙが最小値である場合の、上位パラメータｚ及び下位パラメータｘを最適化する形態であってもよい。なお、獲得関数α（ｘ）は、最適な評価値ｙを最大値及び最小値等、どのような値とするかにより適宜、定められる。例えば、最適な評価値ｙが最小値である場合、獲得関数α（ｘ）は、上記（２）式に代わり、下記（７）式で表される。
【００８５】
【数６】
2020071712.tif 000042
【００８６】
また、上記実施形態では、最適化装置１０を、上位パラメータｚを歩行者の誘導を行うか否か、及び下位パラメータｘを誘導の仕方とした人流シミュレーションに適用した形態について説明したが、これに限定されるものではない。
【００８７】
例えば、他の実施形態として最適化装置１０は、上位パラメータｚを信号機を制御するか否か、及び下位パラメータｘを信号の切り替えタイミング、評価値ｙを目的地までの到達時間等とした交通シミュレーションに適用することができる。また例えば、他の実施形態として最適化装置１０は、上位パラメータｚをネットワークの層の数、または処理のパイプライン、下位パラメータｘをアルゴリズムのハイパーパラメータ、評価値ｙを推論の正解率等とした機械学習に適用することができる。
【００８８】
また、本実施形態では、上記プログラムが予めインストールされている形態について説明したが、当該プログラムを、コンピュータが読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００８９】
１  誘導システム
１０  最適化装置
５０  誘導装置
１００  最適化部
１１０  パラメータ及び評価値記憶部
１２０  モデル学習部
１３０  下位パラメータ選択部
１４０  上位パラメータ選択部
１５０  パラメータ決定部
２００  評価用データ記憶部
３００  評価部
４００  出力部
５００  入力部
５１０  制御部
【図１】
2020071712.tif 000043
【図２】
2020071712.tif 000044
【図３】
2020071712.tif 000045